Académique Documents
Professionnel Documents
Culture Documents
DIVIDE DAN
CONQUER
1.
Divide and Conquer Langkah-langkah umum algoritma Divide and
merupakan algoritma Conquer :
yang berprinsip • Divide : Membagi masalah menjadi beberapa sub-
memecah-mecah masalah yang memiliki kemiripan dengan masalah
permasalahan yang semula namun berukuran lebih kecil ( idealnya
terlalu besar menjadi berukuran hampir sama ).
beberapa bagian kecil • Conquer : Dalam langkah ini kita mencoba
sehingga lebih mudah menyelesaikan masalah atau data yang telah
untuk diselesaikan. dipecahkan pada langkah pertama, dengan
menggunakan algoritma sederhana.
• Combine : Menggabungkan solusi masing-masing sub-
masalah sehingga membentuk solusi masalah semula.
Skema umum
algoritma
divide and
conquer
• Branching Factor
Branching factor dalam algoritma divide and conquer adalah jumlah dari subproblem yang
akan dibagi dari sebuah problem awal. Ini adalah langkah nyata dari algoritma divide and
Ada 4 hal conquer, didalam proses pembagian yang sebenarnya, jumlah dari branching factor harus 2
atau lebih, karena jika tidak problem tidak bisa dibagi. Banyak jenis algoritma ini termasuk
penting yang pula algoritma komputasi geometric yang memiliki branching factor berjumlah 2.
harus
• Balance
Sebuah algoritma divide and conquer dikatakan balance jika problem awal dibagi menjadi
dipahami
sub-sub problem dengan ukuran yang sama. Yang artinya jumlah dari keseluruhan ukuran
subproblem sama dengan ukuran problem awal (initial problem). Algoritma Mergesort dan
dalam strategi
binary tree, dan sama halnya dengan algoritma reduksi & prefix sum adalah beberapa
contoh algoritma divide and conquer yang seimbang (balance).
Contoh
dirancang untuk melakukan pengurutan terhadap
sekumpulan bilangan. Ide utama dari merge sort sama
dengan algoritma perhitungan total yang telah kita
PERSOALAN
sudah berisi nilai integer. Kita ingin menentukan nilai
minimum dan nilai maksimum sekaligus di dalam table
MINIMUM tersebut. Misalkan tabel A berisi elemen-elemen sebagai
berikut :
DAN
MAKSIMUM (
MINMAKS)
Misalkan tabel A berisi elemen-elemen sebagai berikut :
PERSOALAN
MINIMUM
DAN Ide dasar algoritma secara Divide and Conquer :
MAKSIMUM
(MINMAKS)
PERSOALA Algoritma MinMaks :
1. Untuk kasus n = 1 atau n = 2,
N SOLVE : Jika n = 1, maka min = maks = An. Jika n = 2, maka
bandingkan kedua elemen untuk menentukan min dan maks.
DAN
berukuran sama, yaitu bagian kiri dan bagian kanan.
CONQUER : Terapkan algoritma Divide and Conquer untuk masing-
MAKSIMUM
masing bagian, dalam hal ini min dan maks dari table bagian kiri
dinyatakan dalam peubah min1 dan maks1, dan min dan maks dari
table bagian kanan dinyatakan dalam peubah min2 dan maks2.
( MINMAKS) COMBINE : Bandingkan min1 dan min2 untuk menentukan min table
A, serta bandingkan maks1 dan maks2 untuk menentukan maks table
A.