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).
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.
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.
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.
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.
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