Anda di halaman 1dari 4

Merge Sort

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.

Algoritma Merge Sort C++ Dua Tabel


Algoritma Metode Merge sort c++ ini sebenernya lebih cepat dibandingkan heap
sort untuk tabel yang lebih besar. Tetapi, algoritma ini membutuhkan setidaknya ruang /
memori 2x lebih besar karena dilakukan secara rekursif dan juga memakai dua tabel.
Hal ini menyebabkan algoritma ini kurang banyak dipakai.

Metode Merge sort menggabungkan 2 ide utama bertujuan untuk


meningkatkan runtimenya:
1. Array kecil mengambil langkah-langkah untuk menyortir lebih sedikit
dari array besar.
2. Dan Lebih sedikit langkah yang diperlukan untuk membangun sebuah
data array terurut dari dua buah array terurut dari pada dari dua buah array tak
terurut.

Program Merge Sort


Penjelasan :

#include <iostream> berfungsi sebagai standart library input output

#include <iostream> berfungsi sebagai standart library untuk menampilkan hasil


antarmuka
.
Deklarasi Variabel

Pembatasan int a sebanyak 50 karakter.

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

Pembatasan int h,i,j,b sebanyak 50 karakter

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.

Anda mungkin juga menyukai