My first Magazine pemrograman-kompetitif-dasar | Page 5
Daftar Isi
1 Perkenalan Pemrograman Kompetitif
1.1 Kompetensi Dasar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Tentang Pemrograman Kompetitif . . . . . . . . . . . . . . . . . . . . . . .
1.3 Contoh Soal Pemrograman Kompetitif . . . . . . . . . . . . . . . . . . . . .
1.3.1 Solusi Sederhana . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Solusi yang Lebih Baik . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.3 Solusi yang Lebih Baik Lagi! . . . . . . . . . . . . . . . . . . . . . . .
1.4 Mengenal Kompetisi Pemrograman . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Olimpiade Sains Nasional dan International Olympiad in Informatics
1.4.2 ACM-ICPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Penulisan Kode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Perkenalan Pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Matematika Diskret Dasar
2.1 Arimetika Modular . . . . . . . . . . . . . . . . . . . . .
2.2 Bilangan Prima . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Uji Keprimaan (Primality Testing ) . . . . . . . . .
2.2.2 Pembangkitan Bilangan Prima (Prime Generation )
2.3 FPB dan KPK . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Pigeonhole Principle (PHP) . . . . . . . . . . . . . . . .
2.5 Kombinatorika . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Aturan Perkalian dan Aturan Penjumlahan . . . .
2.5.2 Permutasi . . . . . . . . . . . . . . . . . . . . . .
2.5.3 Kombinasi . . . . . . . . . . . . . . . . . . . . . .
2.5.4 Segitiga Pascal . . . . . . . . . . . . . . . . . . .
3 Pencarian dan Pengurutan
3.1 Pencarian . . . . . . . . .
3.1.1 Sequential Search
3.1.2 Binary Search . . .
3.1.3 Rangkuman . . . .
3.2 Pengurutan . . . . . . . .
3.2.1 Bubble Sort . . .
3.2.2 Selection Sort . .
3.2.3 Insertion Sort . .
3.2.4 Counting Sort . .
3.2.5 Rangkuman . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1
1
1
2
3
4
5
7
7
8
9
9
.
.
.
.
.
.
.
.
.
.
. 11
11
12
12
13
15
15
17
17
19
22
23
.
.
.
.
.
.
.
.
.
. 25
25
25
26
29
29
30
31
32
34
37
4 Brute Force
38
4.1 Konsep Brute Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Penyelesaian dengan Teknik Brute Force . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Optimisasi Teknik Brute Force . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
iii