Algoritma pengurutan ini dilakukan dengan cara memecah data kemudian menyelesaikan setiap bagian data kemudian data tersebut digabungkan kembali.
- hal Pertama yang dilakukan adalah data dipecah menjadi 2 bagian, pertama bagian ini merupakan setengah genap(jika datanya adalah genap) atau setengah minus satu (jika datanya adalah ganjil) dari seluruh data yang ada.
- kemudian dipecah kembali untuk masing-masing blok tadi sampai terdiri dari satu data tiap blok.
- kemudian digabungkan kembali dengan cara membandingkan pada bagian blok yang sama, apakah data pertama itu lebih besar dari pada data ke-tengah+1, jika iya maka data yang ke-tengah+1 dipindah sebagai data yang pertama, kemudian data pertama sampai tengah digeser menjadi data kedua sampai ketengah+1.
- demikian seterusnya sampai selesai menjadi suatu blok sedia kala. Sehingga didalam sebuah metode merge sort itu merupakan metode yang menggunakan fungsi rekursi untuk melakukan suatu penyelesaiannya.
Contoh penerapan merge sort.
Data sumber yang akan diurutkan adalah sebagai berikut:- langkah pertama kita bagi menjadi 3 bagian susunan elemen data yaitu 4 dengan 7, 1 dengan 2 dan 9 dengan 5.
- kemudian kita bandingan elemen pertama yaitu 4 dan 7. karena 4 sudah lebih kecil dari 7 maka posisi tetap.
- kemudian bandingkan elemen data ke 2 yaitu angka 1 dan 2. karena angka 1 lebih kecil dari 2 maka posisi tetap.
- kemudian bandingkan elemen data ke 3 yaitu angka 9 dan 5. karena angka 5 lebih kecil dari 9 maka posisi 9 ditukar dengan angka 5.
- langkah selanjutnya adalah kita bandingkan angka pertama pada elemen pertama dengan elemen 2 dan elemen 3 pertama kita bandingkan angka 4 dengan element 2 yaitu 1.
- cek angka 4 dan 1. lebh besar mana angka 4 dibandingkan dengan angka 1. karena angka 1 lebih kecil dari angka 4 maka angka 1 akan menempati posisi baru di elemen pertama.
- kemudian bandingkan angka 4 dengan 2. cek lebih kecil mana antara angka 4 dan 2?
- karena angka 2 lebih kecil dari 4 maka angka 2 ke elemen baru di posisi ke 2
- kemudian bandingkan angka 4 dengan elemen ke 3 yaitu 5.
- cek lebih kecil mana angka 4 dengan angka 5. karena angka 4 lebih kecil dari 5 maka angka 4 menempati posisi ke 3.
- lanjut ke urutan angka ke 2 pada elemen pertama yaitu angka 7. bandingkan angka 7 dan 5. lebih kecil mana antara angka 7 dan 5.
- karena angka 5 lebih kecil dari 7 maka angka 5 menempati posisi ke 4.
- lanjut ... bandingkan angka 7 dengan angka 9. lebih kecil mana antara angka 7 dan 9?
- karena angka 7 lebih kecil dari 9 maka angka 7 menempati urutan ke 5.
- karena angka 9 adalah angka terakhir maka angka 9 menempati posisi ke 6
- pengurutan dengan merge telah selesai.
contoh pemrograman merge sort.
- merge sort dalam bahasa pemrograman java
hasilnya adalah :
- Merge Sort dalam bahasa pemrograman C++
hasilnya adalah :
- Merge Sort dalam bahasa pemrograman C
hasilnya adalah :
demikian tutorial ini dibuat. semoga bermanfaat dan dapat dimanfaatkan
BACA JUGA teknik sorting yang lainnya.
REFERENSI DAFTAR PUSTAKA
|
Post A Comment:
0 comments: