Pengertian Merge Sort TINJAUAN PUSTAKA

Algoritma selection sort memilih elemen maksimumminimum array, lalu menempatkan elemen maksimumminimum itu pada awal atau akhir array tergantung pada urutannya ascending descending. Selanjutnya elemen tersebut tidak disertakan pada proses selanjutnya. Karena setiap kali selection sort harus membandingkan elemen-elemen data, algoritma ini termasuk dalam comparison-based sorting. Seperti pada algoritma Bubble Sort, proses memilih nilai maksimum minimum dilakukan pada setiap pass. Jika array berukuran N, maka jumlah pass adalah N-1 Nugroho 2005. Terdapat pendekatan dalam metode pengurutan dengan Selection Sort : 1. Algoritma pengurutan maksimum maximum selection sort, yaitu memilih elemen maksimum sebagai basis pengurutan. 2. Algoritma pengurutan minimum minimum selection sort, yaitu memilih elemen minimum sebagai basis pengurutan

2.7. Pengertian Merge Sort

Metode pengurutan merge sort adalah metode pengurutan lanjut, sama dengan metode Quick Sort. Metode ini juga menggunakan konsep devide and conquer yang membagi data S dalam dua kelompok yaitu S1 dan S2 yang tidak beririsan disjoint. Proses pembagian data dilakukan secara rekursif sampai data tidak dapat dibagi lagi atau dengan kata lain data dalam sub bagian menjadi tunggal. Setelah data tidak dapat dibagi lagi, proses penggabungan merging dilakukan antara sub-sub bagian dengan memperhatikan urutan data yang diinginkan ascendingkecil ke besar atau descendingbesar ke kecil. Proses penggabungan ini dilakukan sampai semua data tergabung dan terurut sesuai urutan yang diiginkan. Kompleksitas algoritma merge sort adalah On log n Fenwa at all 2012. Secara umum, algoritma merge sort dapat diimplementasikan secara rekursif. Fungsi rekursif adalah sebuah fungsi yang didalam implementasinya memanggil dirinya sendiri. Pemanggilan diri sendiri ini berakhir jika kondisi tertentu terpenuhi terminated condition is true. Pada contoh berikut ini, terminated condition dari proses rekursif mergesort akan berakhir jika data tidak dapat dibagi lagi data tunggal telah diperoleh. Dengan kata lain, proses pembagian data dilakukan terus selama S.size 1 belum tunggal Fenwa at all 2012. Universitas Sumatera Utara Ide algoritma ini hampir mirip dengan QuickSort, yaitu melakukan partisi. Kecuali bahwa algoritma ini melakukan partisi tanpa kriteria. Jadi, data set X[l] ... X[r] di partisi langsung ke du sub data set dengan jumlah data yang sama X[l] ... X[l+r2], dan X[l+r2+1] ... X[r]. Lalu secara rekursif melakukan Merge Sort untuk masing-masing data set. Karena kedua data set itu bisa overlapping tidak seperti pada Quick Sort maka setelah kedua sub data set terurut masih memerlukan proses penggabungan Merging. Merging ini memerlukan ruang tambahan yaitu suatu array yang sama panjangnya dengan panjang kedua subset untuk menyimpan hasilnya Bhalchandra dan Deshmukh 2010. void MergeSortint l,int r { if l r { MergeSortl, l+r2; MergeSortl+r2,r; Merging; } } Algoritma ini memiliki kompleksitas On log n.

2.8. Struktur Data