Merge Sort C++ merupakan algoritma pengurutan dalam ilmu komputer yang
dirancang untuk memenuhi kebutuhan pengurutan atas suatu rangkaian data yang tidak
memungkinkan untuk ditampung dalam memori komputer karena jumlahnya yang terlalu
besar. Algoritma coding merge sort bahasa c++ ini membagi (split) table menjadi dua
tabel sama besar.
Masing-masing tabel diurutkan secara rekursif, dan kemudian digabungkan
kembali untuk membentuk table yang terurut. Implementasi dasar dari algoritma marge
sort c++ ini memakai tiga buah tabel, dua diantaranya untuk menyimpan elemen dari
tabel yang telah dibagi dua dan satu untuk menyimpan elemen yang telah teurut.
Namun metode program merge sort c++ ini bisa juga dilakukan langsung pada dua
tabel, sehingga menghemat ruang atau memori yang dibutuhkan.
Fungsi void merge berjenis int dan void merge_sort berjenis int low, int high
Proses mencari nilai mid atau nilai tengah dari baris data yang telah di input
Fungsi void merge berjenis int low, int mid, int high
Penjelasan metode:
52389417
Dari baris data yang masih acak diatas, kita akan urutkan menurut metode merge sort. Langkah
nya adalah sebagai berikut.
1. Pertama, dari baris diatas kita bagi menjadi dua bagian. Untuk contoh, terdapat 8 data
sehingga jika kita bagi adalah 4 dan 4. Nah kita bagi terlebih dahulu datanya sehingga menjadi
berikut
5 2 3 8 9 4 1 7
2. Setelah kita bagi menjadi dua bagian, masing-masing kita bagi dua kembali. Bagian kanan
kita bagi dua, begitu juga bagian kirinya sehingga menjadi berikut
5 2 3 8 9 4 1 7
3. Nah, berikutnya kita bandingkan masing-masing pasangan untuk kita urutkan secara
ascending. Data 5 akan kita bandingkan dengan 2, 3 dibandingkan dengan 8, 9 dibandingkan
dengan 4 dan 1 dibandingkan dengan 7.
4. Setelah kita bandingkan kita urutkan berdasarkan data terkecil hingga terbesart. Pertama
mulai dari bagian kiri.
25 38
5. Data bagian kanan sudah diurutkan seperti diatas. Lalu kita urutkan bagian kanan.
49 17
6. Data bagian kiri sudah terurut. Sekarang kita akan mulai proses penggabungan atau merge-
nya. Mulai dari bagian kiri.
2358
7. Lalu kita urutkan bagian kanan.
1479
8. Sekarang, setiap bagian sudah terurut. Waktunya menggabungkan semuanya hingga menjadi
data yang sudah fully sorted.
2 3 5 8 1 4 7 9
Kita urutkan menjadi
12345789
9. Data sudah terurut secara ascending atau menaik dengan menggunakan metode merge sort.