Algorithm Divide_and_Conquer(n)
If n <= n0
Solve upa-masalah yang berukuran n ini
Else
Bagi menjadi 2 upa masalah
Divide_and_Conquer(n/2)
Divide_and_Conquer(n/2)
Combine dari 2 upa-masalah
Endif
Tentukan T(n/2) !
a. 2T(n/4)+2
b. 4T(n/2)+2
c. 2(2T(n/4)+2)+2
d. 4T(n/2)+1
e. 2(2T(n/2)+4)+2
4. Konsep mudah membagi, sulit menggabung (easy split hard join) merupakan konsep….
a. Sequential search
b. Bubble sort
c. Merge sort
d. Quick sort
e. Insertion sort
5. Konsep sulit membagi, mudah menggabung (hard split easy join) merupakan konsep….
a. Sequential search
b. Bubble sort
c. Merge sort
d. Quick sort
e. Insertion sort
a. T(n) = 2T(n-1)
b. T(n) = 2(n-1)
c. T(n) = 2(n-1)+1
d. T(n) = 2T(n-2)
e. T(n) = T(n-1)
7. Kasus terburuk (worst case) pada Quick Sort, terjadi bila pada setiap partisi pivot selalu
merupakan elemen maksimum (atau elemen minimum) tabel. Manakah T(n) yang tepat untuk
kondisi tersebut?
a. T(n) =1 n=2
= 2T(n/2)+2 n>2
b. T(n) =0 n=1
=1 n=2
= 2T(n/2)+2 n>2
c. T(n) =a n=1
= 2T(n-1)+cn n>1
d. T(n) =a n=1
= T(n-1)+cn n>1
e. T(n) =a n<1
= 2T(n-1)+cn n≥1
Tentukan T(1) !
a. 0
b. 0,5
c. 1
d. 2
e. 1,5
T(n) =a n=1
= 1+T(n/2) n>0
a. T(n)=2T(n-1)+3, n>1
b. T(n)=2T(n-1)+1, n<1
c. T(n)=2T(n-1), n>1
d. T(n)=2T(n/2)+f(n), n<1
e. T(n)=2T(n-1)+3, n>0
PERTEMUAN 10 DAA (DIVIDE AND CONQUER 2)
a. T(n)=O(n)
b. T(n)=O(n2)
c. T(n)=O(n3)
d. T(n)=O(n4)
e. T(n)=O(n5)
a. T(n) = 8T(n/2)+cn
b. T(n) = 2T(n/8)+cn
c. T(n) = 8T(n/2)+18n
d. T(n) = 8T(n/2)+cn2
e. T(n) = 8T(n/2)+n2
8. Pada algoritma Strassen, berapa banyak kah jumlah perkalian dan penjumlahan/pengurangan
yang terjadi….
a. 8 perkalian, 18 penjumlahan/pengurangan
b. 8 perkalian, 18 penjumlahan/pembagian
c. 7 perkalian, 18 penjumlahan/pengurangan
d. 7 perkalian, 18 penjumlahan/pembagian
e. 4 perkalian, 4 penjumlahan/pengurangan
9. Berapakah Big-O dari T(n) berikut!
a , n0
T ( n)
4T (n 2) cn , n 1
a. nk
b. n2
c. 2k
d. 2n
e. 2n
a. O(n)
b. O(n3)
c. O(n2)
d. O(n5)
e. O(n4)
PERTEMUAN 11 DECREASE AND CONQUER
1. Jika diketahui 1+b+b2 +b3 +...+bd =(bd+1 –1)/(b–1), manakah dari pernyataan berikut yang benar?
a. b adalah breath dan d adalah descrete
b. b adalah block dan d adalah descrete
c. b adalah branch dan d adalah depth
d. O(nd)
e. O(nbd)
Tentukan hasil traversal BFS dan DFS pada langkah setelah “a”!
a. ab dan bef
b. bef dan ab
c. af dan abg
d. abg dan af
e. ae dan bcg
6. Diketahui array A = {6, 4, 1, 8, 5} hasil langkah sorting kedua menggunakan insertion sort dari
array A adalah….
a. 4 6 1 8 5
b. 4 6 1 8 5
c. 1 6 4 8 5
d. 1 6 8 4 5
e. 1 6 8 4 5
Tentukan T(2)!
a. 0
b. 0,5
c. 1
d. 2
e. 1,5
Tentukan T(n+2) = ….
a. T(n+1) + cn
b. T(n+2) + cn
c. T(n+2) + c(n+2)
d. T(n+2) + c(n+1)
e. T(n+1) + c(n+2)
a. O(|V|)
b. O(n2)
c. O(|n|)
d. O(|VV|)
e. O(|VW|)
PERTEMUAN 12 DYNAMIC PROGRAMMING 1
3. Dua pendekatan yang digunakan oleh program dinamis manakah dari pernyataan berikut ang
tidak benar….
a. maju
b. forward
c. up-down
d. top-bottom
e. backward
4. Program dinamis ..(x).. yang bergerak mulai dari tahap 1 terus ke tahap 2, 3, dan seterusnya
sampai tahap …(y)…, (x) dan (y) masing-masing adalah…
a. maju dan mundur
b. maju dan n
c. mundur dan maju
d. mundur dan n
e. mundur dan n-1
3 9 4
4
3 1
] 4
3
4 7
5
10. Terkait knapsack benar, manakah dari pernyataan berikut ini yang kurang benar….
a. fk(y) adalah keuntungan minimum dari persoalan 0/1 Knapsack pada tahap k untuk kapasitas
karung sebesar y
b. fo(y) adalah nilai dari persoalan knapsack kosong (tidak ada persoalan knapsack) dengan
kapasitas y
c. fk(y) = -∞ adalah nilai dari persoalan knapsack untuk kapasitas negatif
d. Solusi optimum dari persoalan 0/1 Knapsack adalah fn(M)
e. Program dinamis dapat digunakan untuk menyelesaikan kasus knapsack baik 0/1 atau
fraksional
PERTEMUAN 13 DYNAMIC PROGRAMMING 2
1. Pada konsep program dinamis pada TSP, manakah dari pernyataan berikut yang benar-benar
salah….
a. Jika tur tersebut optimal maka lintasan dari simpul k ke simpul 1 juga menjadi lintasan
terpendek yang melalui simpul-simpul di dalam V – {1,k]
b. Algoritma program dinamis memecahkan masalah dengan sangat sederhana, langsung, dan
jelas (obvious way)
c. Misalkan f(i,S) adalah bobot lintasan terpendek yang berawal pada simpul i, yang melalui
semua simpul di dalam S dan berakhir pada simpul 1
d. Jika terdapat 4 kota, maka jalur yang optimal dari simpul dapat dimisalkan dengan 1,2,4,3,0
e. Nilai f{1,V-{1}} adalah bobot tur terpendek
a. 10
b. Tidak dapat ditentukan
c. 4
d. 8
e. 15
3. Pada program dinamis untuk TSP, jika diketahio f(1,(1,2,3,4), berapakah nilai |S| nya?
a. 0
b. 1
c. 2
d. 3
e. 4
4. Hasil penjabaran
berasal dari….
a. f(2, {3,4})
b. f(3, {3,4})
c. f(2, {4,4})
d. f(4, {3,2})
e. f(3, {2,4})
5. Diketahui A(10,100), B(100,5), C(5,50), tentukan bentuk kurung untuk perkalian dari hasil
perulangan yang terbaik ketika A x B x C
a. ((A) x (B) x C), 10 x 100 x 5 + 1 x 5 x 50 = 750
b. ((A) x (B x C)), 10 x 100 x 5 + 1 x 5 x 50 = 7500
c. ((A x B) x C), 10 x 100 x 5 + 10 x 5 x 50 = 75000
d. ((A x B) x (C)), 10 x 100 x 50 + 10 x 5 x 50 = 7500
e. ((A x B) x C), 10 x 100 x 5 + 10 x 5 x 50 = 7500
6. Pada MCM manakah pernyataan berikut yang benar-benar salah tentang m[i, j]
a. Merupakan besarnnya cost yang paling minimum
b. i menyatakan indeks matriks ke-0 dan j menyaakan indeks matriks ke-n
c. m[i,j] = m[i,k] + m[k+1, j] + Pi-1PkPj
d. Jika i=j maka m[i,j] = 0
e. Setelah dihitung nilai m[i,j] dan s[i,j] maka langkah selanjutnya adalah membuat
Parenthesizing perkalian.
7. Perhatikan algoritma Matrix-Chain-Order berikut, berapakahT(n) nya jika dihitung dari baris 4
sampai 7?
a. ∑𝑛−𝑥−1
𝑖=1 ∑𝑗𝑘=𝑖−1 𝑗 − 1
b. ∑𝑥−𝑛−1
𝑖=1 ∑𝑗−1
𝑘=𝑖−1 𝑗
c. ∑𝑛−𝑥−1
𝑖=1 ∑𝑖−1
𝑘=𝑛 1
d. ∑𝑛=𝑥−𝑛−𝑖
𝑖=1 ∑𝑗−𝑛
𝑘=𝑖−1 1
e. ∑𝑛−𝑥+1
𝑖=1 ∑𝑗−1
𝑘=𝑖 1
8. Perhatikan hasil m dan s berikut, tentukan Parenthesizing perkalian m[1,6] yang paling tepat!
a. 2 ∑𝑚 𝑛 𝑛
𝑖=1 + ∑𝑗=0 ∑𝑗=1 1
b. ∑𝑚 𝑛 𝑚 𝑛
𝑖=1 ∑𝑗=0 1 + ∑𝑖=1 ∑𝑗=1 1
c. ∑𝑚 𝑛 𝑚 𝑛
𝑖=1 ∑𝑗=0 ∑𝑖=1 ∑𝑗=1 1
d. ∑𝑚 𝑛 𝑚 𝑛
𝑖=1 1 + ∑𝑗=0 1 + ∑𝑖=1 ∑𝑗=1 1
e. 2 ∑𝑚 𝑛 𝑛
𝑖=1 1+∑𝑗=0 1 + ∑𝑗=1 1
10. Jika dimulai dari baris akhir dan kolom akhir manakah LCS nya?
a. BCAB
b. BCBA
c. BDAB
d. BDCA
e. ABCB