Solusi HW - Divide and Conquer v1.0
Solusi HW - Divide and Conquer v1.0
PERSOALAN 1:
Diketahui suatu array bilangan integer sebagai berikut:
123 34 189 56 150 12 9 240
Tunjukkan bagaimana algoritma Mergesort mengurutkan array tersebut sehingga didapatkan array yang
berisi bilangan integer yang terurut secara menaik (ascending).
Tunjukkan pula contoh mekanisme yang terjadi saat tahap merging.
SOLUSI:
MERGE:
34 123 56 189 12 150 9 240
1|P a g e
SOLUSI HOMEWORK-1: STRATEGI DIVIDE & CONQUER
CII2K3 STRATEGI ALGORITMA/EAR/GENAP 2020-2021
PERSOALAN 2:
Diketahui suatu array bilangan integer sebagai berikut:
123 34 189 56 150 12 9 240
Tunjukkan bagaimana algoritma Quicksort mengurutkan array tersebut sehingga didapatkan array yang
berisi bilangan integer yang terurut secara menaik (ascending) dengan menggunakan nilai pivot:
a. 123
b. 240
SOLUSI:
Quicksort dengan pivot 123
2|P a g e
SOLUSI HOMEWORK-1: STRATEGI DIVIDE & CONQUER
CII2K3 STRATEGI ALGORITMA/EAR/GENAP 2020-2021
PERSOALAN 3:
Diketahui suatu array bilangan integer sebagai berikut:
123 34 189 56 150 12 9 240
Tunjukkan bagaimana penerapan strategi Divide & Conquer untuk mencari nilai maksimum dan
minimum pada array di atas.
SOLUSI:
Mekanisme DIVIDE
3|P a g e
SOLUSI HOMEWORK-1: STRATEGI DIVIDE & CONQUER
CII2K3 STRATEGI ALGORITMA/EAR/GENAP 2020-2021
PERSOALAN 4:
Tunjukkan bagaimana algoritma Binary Search untuk mencari integer 120 pada array berikut:
12 34 37 45 57 82 99 120 134
SOLUSI:
Nilai yang dicari, x=120.
Array berukuran 9. Elemen tengah adalah elemen ke-5, yaitu 57.
12 34 37 45 57 82 99 120 134
Bandingkan x dengan elemen tengah tsb. Karena x lebih besar dibanding 57, maka pencarian berlanjut ke
array sebelah kanan {82, 99, 120, 134}
82 99 120 134
Pencarian berikutnya pada elemen tengah pada array tsb. Bandingkan x dengan elemen tengah yaitu 99.
Karena lebih kecil dibanding x, maka pencarian berikutnya berlanjut ke array sebelah kanan.
120 134
Array berukuran n=2, maka elemen tengah didapat pada elemen ke-1, yaitu 120.
Bandingan x dengan 120, selanjutnya nyatakan bahwa x ada pada array karena x=120.
PERSOALAN 5:
a. Buat pseudocode untuk mencari posisi dari elemen terbesar dari suatu array yang berisi bilangan
sejumlah n, menggunakan strategi Divide and Conquer. Asumsikan bahwa array berisi bilangan
yang tidak terurut.
b. Bangun relasi rekurens untuk operasi perbandingan dari pseudocode tsb. Selanjutnya
selesaikan relasi rekurensi tersebut (cari order of growth-nya). Anda dapat menggunakan
Teorema Master untuk mencari solusi dari relasi rekurens yang Anda bangun.
c. Jika diberikan array sebagai berikut, tunjukkan bagaimana penerapan strategi Divide & Conquer
untuk mencari posisi dari elemen terbesar!
SOLUSI:
Relasi rekurens:
0 ,n =1
T (n) = 1 ,n = 2
2T ( n / 2) + 2 , n 2
4|P a g e
SOLUSI HOMEWORK-1: STRATEGI DIVIDE & CONQUER
CII2K3 STRATEGI ALGORITMA/EAR/GENAP 2020-2021
5|P a g e