2. Pengertian Sorting(Pengurutan)
• Pengurutan adalah suatu proses mengubah
data acak menjadi data yang teratur
dengan menggunakan metode-metode
pengurutan tertentu.
• Ada 2 jenis pengurutan data yaitu :
– Ascending
– Descending
3. Sorting
• Algoritma sorting yang akan dibahas:
1) selection sort
2) insertion sort
3) bubble sort
4) merge sort
5) quick sort
• Sorting secara
– ascending kecil – besar
– desceding besar – kecil
4. Selection Sort
Selection sort merupakan metode pengurutan dengan mencari
nilai data terkecil dimulai dari data diposisi 0 hingga diposisi N-1.
1. Cari data terkecil dalam interval j = 0 sampai dengan j = N-1
2. Jika pada posisi pos ditemukan data yang terkecil, tukarkan
data diposisi pos dengan data di posisi j.
3. Ulangi langkah 1 dan 2 dengan j = j+i sampai dengan j = N-1,
dan seterusnya sampai j = N - 1.
5.
6.
7. Insertion Sort
• Metode pengurutan selection sort sering dipakai oleh orang saat
bermain kartu bridge dalam mengurutkan kartunya, yaitu
dengan cara menyisip kartu yang lebih kecil ke urutan sebelum
posisi kartu yang dibandingkannya.
8.
9.
10. Bubble Sort
• Teknik yang diinspirasi oleh gelembung sabun yang
berada dipermukaan air. Karena berat jenis
gelembung lebih ringan dari pada air, maka
gelembung akan naik keatas.
• Bubble Sort mengurutkan data dengan cara
membandingkan elemen sekarang dengan elemen
berikutnya namun dilakukan dari belakang.
11. Algoritma Bubble Sort
1. Pengecekan mulai dari data ke-1 sampai data ke-n
2. Bandingkan data ke-n dengan data sebelumnya (n-1)
3. Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada
didepannya ( sebelumnya ) satu persatu (n-1,n-2,n-3,....dst)
4. Jika lebih besar maka tidak terjadi pemindahan
5. Ulangi langkah 2 dan 3 s/d sort optimal.
12.
13. Merge Sort
• Merge sort adalah algoritma yang digunakan untuk menyusun list
yang diberikan dengan cara membagi list yang diberikan menjadi
dua bagian yang lebih kecil.
• Kedua list yang baru ini kemudian akan disusun secara terpisah.
Setelah kedua buah list tersusun, maka akan dibentuk list baru yang
merupakan hasil penggabungan dua buah list sebelumnya
Konsep :
• Array yang belum terurut, dibagi menjadi separuh
– Proses diulang terus sampai ditemukan bagian terkecil
• Hasil dari setiap proses digabungkan :
– membandingkan elemen pertama dari setiap bagian
– hapus elemen terkecil dan letakan pada hasil
– Ulangi semua proses sampai semua elemen terurut
14. Prinsip Kerja Merge Sort
Kelompokan deret bilangan kedalam 2 bagian, 4 bagian, 8
bagian, ......dst (2n).
Urutkan secara langsung bilangan dalam kelompok tsb.
Lakukan langkah diatas untuk kondisi bilangan yg lain sampai
didapatkan urutan yg optimal
15.
16. QuickSort
Metode QuickSort sering disebut metode partition
exchange sort, Diperkenalkan oleh C.A.R. Hoare.
Quick sort adalah algoritma sorting yang berdasarkan
pembandingan dengan metoda divide-and-conqueror.
Disebut Quick Sort, karena Algoritma quick sort
mengurutkan dengan sangat cepat.
Misal ada N elemen dalam keadaan urut turun, adalah
mungkin untuk mengurutkan N elemen tersebut dengan
N/2 kali, yakni pertama kali menukarkan elemen paling kiri
dengan paling kanan, kemudian secara bertahap menuju ke
elemen yang ada di tengah. Tetapi hal ini hanya bisa
dilakukan jika kita tahu pasti bahwa urutannya adalah urut
turun.
17. Langkah-langkah quick sort :
1. SELECT
Pilih sebuah element , elemen ini kita sebut pivot
2. DIVIDE
Kemudian pisahkan data menjadi 2 bagian, bagian yang lebih kecil dari pivot dan bagian
yang lebih besar dari pivot
3. RECUR and CONQUER
Kemudian 2 bagian tersebut diurutkan secara rekursif dengan memanggil fungsi itu
sendiri, misal quicksort()
18. Contoh Quick Sort
Contoh :
5 4 3 1 3 5 7 1 5
Akan diurutkan secara Ascending
Pilih data pertama sebagai Pivot kemudian
letakkan semua angka yang lebih kecil di
kiri dan yang lebih besar di kanan
Kemudian lanjutkan untuk kedua belah sisi
sampai semua telah menjadi pivot
4 3 1 3 1 | 5 | 5 5 7
3 1 3 1 | 4 | 5 | 5 | 5 7
1 1 | 3 | 3 | 4 | 5 | 5 | 5 | 7
1 | 1 | 3 | 3 | 4 | 5 | 5 | 5 | 7
1 | 1 | 3 | 3 | 4 | 5 | 5 | 5 | 7
19.
20.
21. Tugas
• Terdapat urutan bilangan sebagai berikut :
4 9 3 10 27 11 8 14 1 5
• Urutkan bilangan tersebut menggunakan
metode :
– Insertion Sort
– Merge Sort
– Selection Sort
– Bubble Sort
– Quick Sort