High Fashioners Issue # 2 | Page 260

J. E. N. I.
Pada setiap tingkatan rekursi, pola tersebut terdiri atas 3 langkah. 1. Divide
Memilah masalah menjadi sub masalah
2. Conquer Selesaikan sub masalah tersebut secara rekursif. Jika sub-masalah tersebut cukup ringkas dan sederhana, pendekatan penyelesaian secara langsung akan lebih efektif
3. Kombinasi Mengkombinasikan solusi dari sub-masalah, yang akan membimbing menuju penyelesaian atas permasalahan utama
6.4.2 Memahami Merge Sort
Seperti yang telah dijelaskan sebelumnya, Merge sort menggunakan pola divide and conquer. Dengan hal ini deskripsi dari algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer. Berikut menjelaskan langkah kerja dari Merge sort.
1. Divide Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
2. Conquer Conquer setiap bagian dengan memanggil prosedur merge sort secara rekursif
3. Kombinasi Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.
6.4.3 Algoritma
void mergeSort( Object array [], int startIdx, int endIdx) { if( array. length!= 1) { // Membagi rangkaian data, rightArr dan leftArr mergeSort( leftArr, startIdx, midIdx); mergeSort( rightArr, midIdx + 1, endIdx); combine( leftArr, rightArr);
}
}
Pengenalan Pemrograman 2 4