Monday, 18 February 2013

Sorting

Sorting adalah sebuah proses merangkai benda dalam urutan tertentu dan/atau dalam himpunan yang berbeda, dan oleh karena itu dia memiliki dua arti umum yang berbeda:


1.Pengurutan: merangkai benda yang sejenis, sekelas, dll, dalam urutan yang teratur.

2.Kategorisasi: pengelompokan dan pemberian label kepada benda dengan sifat yang 
   serupa. 
Algoritma sorting terdiri dari beberapa algoritma seperti Bubble sort, Quick sort, Selection  
Sort, Insertion Sort, dan Merge Sort yang dimana setiap jenis sorting ini memiliki perbedaan  
satu  sama lainnya. Berikut ini merupakan pembahasan umum mengenai jenis-jenis atau 
algoritma sorting yang telah dijelaskan diatas :
1. Bubble Sort
 Bubble Sort merupakan cara pengurutan yang sederhana. Konsep dari ide dasarnya adalah 
seperti“gelembung air” untuk elemen struktur data yangsemestinya berada pada posisi awal. 
Cara kerjanyaadalah dengan berulang-ulang melakukan traversal (proses looping) terhadap 
elemen-elemen struktur datayang belum diurutkan. Di dalam traversal tersebut,nilai dari dua 
elemen struktur data dibandingkan. Jikaternyata urutannya tidak sesuai dengan 
“pesanan”,maka dilakukan pertukaran (swap).

2. Selection Sort
Algoritma sorting sederhana yang lain adalah Selection Sort. Ide dasarnya adalah melakukan 
beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting 
ascending(menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, 
disimpan indeksnya,kemudian dilakukan pertukaran nilai elemen denganindeks yang 
disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk 
sorting descending (menurun), elemen yang paling. besar yang disimpan indeksnya kemudian 
ditukar.  
3. Quick Sort 
 Quick Sort adalah metode pengurutan data yang dikemukan pertama kali oleh C.AR Hoare  pada tahun 1962. Metode ini menggunakan strategi “pecah-pecah” dengan mekanisme seperti berikut : Larik L[p..r] (dengan indeks terkecil adalah p dan indeks terbesar yaitu r) disusun ulang (dipartisi) menjadi dua buah larik A[p..q] dan A[q+1..r] sehingga setiap elemen dalam A[q+1..r]. Selanjutnya kedua larik tersebut diurutkan secara rekursif. Dengan sendirinya kombinasi kedua larik tersebut membentuk larik dengan data yang telah urut.

 
4. Insertion Sort      
 Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua 
bagian, yang belum diurutkan (meja pertama), dan yang telah diurutkan (meja kedua). 
Elemen pertama yang diambil dari bagian array yang belum diurutkan dan kemudian 
diletakkan pada posisinya sesuai dengan bagian lain dari array yang telah diurutkan. 
langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian 
array yang belum diurutkan.
 5. Merge Sort
Merge sort 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 
ini ditemukan oleh John von Neumann pada tahun 1945.  Algoritma pengurutan data merge 
sort dilakukan dengan menggunakan cara divide and conquer yaitu dengan memecah 
kemudian menyelesaikan setiap bagian kemudian menggabungkannya kembali. 

Dengan hal ini deskripsi dari algoritma dirumuskan dalam 3 langkah berpola divide-
and-conquer. Berikut menjelaskan langkah kerja dari Merge sort.
1.  Divide 
Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
 

2.  Conquer 
Conquer setiap bagian dengan memanggil prosedur merge sort secararekursif
 

3.  Kombinasi 
Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data 
berurutan.Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana 
bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen 
tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.

No comments:

Post a Comment