2013
STRUKTUR DATA
MODUL II
MERGE SORT
I. Pendahuluan
Merge Sort adalah algoritma sorting untuk menggabungkan dua kelompok data
yang
sudah terurut, kemudian digabung dan hasilnya adalah data terurut. Algoritma
Kanan-2
Bagian kin dibagi menjadi dua lagi, demikian juga bagian kanan.
Kiri-1.2
Kanan
-1.2
Kiri-2.2
Kanan-2.2
Jika sudah memperoleh satu data untuk setiap bagian, kemudian bagian kiri dan
kanan dan masing-masing bagian digabung kembali dengan meletakkannya ke dalam larik
dengan ukuran 2 kali setiap bagian. Pada bagian paling akhir, terdapat masing-masing satu
data, maka kita akan gabungkan dengan menggunakan sebuah tempat yang mempunyai
kapasitas dua data.
Teknik Informatika, Politeknik Gorontalo
2013
STRUKTUR DATA
Cara menggabungkan adalah dengan melihat data mulai dan data pertama untuk
masing-masing bagian, kemudian data dibandingkan. Yang lebih kecil ditempatkan ke
wadah terlebih dalulu.
Kin-i .2
Kanan-1 .2
Misalnya untuk memeriksa data sebelah kin kita gunakan vaniabel I dan kanan R. Karena
data[L] > data[R], maka data[R] ditempatkan terlebih dahulu. Dan karena setelah digeser
tidak ada, maka data pada posisi I langsung ditempatkan pada posisi tersebut.
Demikian juga data pada bagian kanan. Kita perlakukan dengan cara yang sama.
Kini-2.2
Kanan-2.2
Karena data[L] < data[R], maka data[L] ditempatkan terlebih dahulu. Dan karena setelah
digeser tidak ada, maka data pada posisi R Iangsung ditempatkan pada posisi tersebut.
Kita masih mempunyai dua bagian data. Kedua bagian tersebut, kita gabung dengan
menggunakan cara yang sama.
Kiri-1
L
Kanan-1
R
Kita mulai dengan menempatkan variabel L di posisi paling kin dan deretan data
Kin-i dan menempatkan vaniabel R di posisi paling kin dan data Kanan-i. Kita bandingkan
2013
STRUKTUR DATA
kedua data pada posisi I dan R. Ternyata data[L] < data[R], maka data pada posisi L
ditempatkan pada posisi pertama
3
Kemudian kita geser posisi L ke data berikutnya. Posisi L yang digeser karena data
pada posisi tersebutlah yang baru saja dimasukkan ke dalam deretan data hasil
penggabungan. Kemudian kedua data dibandingkan lagi.
Kiri-1
Kanan-1
L
Ternyata data[L] > data[R], maka data pada posisi R ditempatkan pada posisi kedua
Kanan-1
L
Ternyata data[L] > data[R], maka data pada posisi R ditempatkan pada posisi kedua
Posisi R sudah berada pada posisi terakhir, maka tidak bisa digeser lagi, sehingga posisi L
Langsung kita tempatkan pada posisi berikutnya.
2013
STRUKTUR DATA
II. Latihan
Buatlah Algoritma Merge Sort untuk mengurutkan data seperti berikut :
12 , 9 , 4, 99 , 120 , 1 , 3 , 10