- PERTEMUAN 11 - SORTING (PENGURUTAN) LOGIKA DAN ALGORITMA - PERTEMUAN 11 - SORTING (PENGURUTAN)
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
Sorting Algoritma sorting yang akan dibahas: Sorting secara Straight insertion sort merge sort quick sort heap sort selection sort binary insertion sort bubble sort Sorting secara ascending kecil – besar desceding besar – kecil
Straight Insertion Sort misal: 10 2 5 7 8 11 3 2 diurutkan ascending ------------------------------------------------------------------------------- Mulai dari i = 2 10 2 5 7 8 11 3 2 ^ 2 disisipkan pada lokasi: di depan 10 jadi: 2 10 5 7 8 11 3 2 i = 3 2 10 5 7 8 11 3 2 5 disisipkan pada lokasi: di antara 2 dan 10 jadi: 2 5 10 7 8 11 3 2 i = 4 2 5 10 7 8 11 3 2 7 disisipkan pada lokasi: di antara 5 dan 10 jadi: 2 5 7 10 8 11 3 2 Dan Seterusnya
Merge Sort 10 2 5 6 23 5 6 7 2 1 n = 10 SPLIT (berdasarkan hasil n div 2) (10 2 5 6 23 )( 5 6 7 2 1) n = 5 n = 5 (10 2 )( 5 6 23 )( 5 6 )( 7 2 1) n = 2 n = 3 n = 2 n = 3 ( 10 )( 2 )( 5 )( 6 23 )( 5 )( 6 )( 7 )( 2 1 ) n=1 n=1 n=1 n=2 n=1 n=1 n=1 n=2 ( 10 )( 2 )( 5 )( 6 )( 23 )( 5 )( 6 )( 7 )( 2 )( 1 ) MERGE (Berdasarkan urutan split) ( 10 )( 2 )( 5 )( 6 23 )( 5 )( 6 )( 7 )( 1 2 ) ( 2 10 ) ( 5 6 23 ) ( 5 6 ) ( 1 2 7 ) ( 2 5 6 10 23 )( 1 2 5 6 7 ) ( 1 2 2 5 5 6 6 7 10 23 )
Heap Sort susun dalam binary tree input file sorting untuk masing-masing heap inisialisasi heap lakukan heap sort
Heap Sort Parent harus lebih besar daripada anak-anaknya, insert kiri dulu Contoh : 7 12 4 8 Phase 1 : Building Heap Insert 7 Insert 8 Insert 12 Insert 4 12 4 8 7 7 7 12 12 7 12 4 7 8 12 7 4
Heap Sort Phase 2 : Removing Heap 12 4 7 8 Phase 2 : Removing Heap (yang didelete adalah parent teratas, sebagai gantinya adalah anak terbawah yang paling kanan) Delete max (12) : Delete max (8) : 7 8 8 4 7 4 12 12 7 dan 8 ditukar karena 7<8 4 7 7 8 4 8 12 12
Heap Sort Delete Max (7) Delete Max (4) Maka Hasil Heap Sort : 4 7 8 12 4 4 7 8 7 8 12 12
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
Latihan Terdapat urutan bilangan sebagai berikut : 4 9 3 10 27 11 8 14 1 5 Urutkan bilangan tersebut menggunakan metode : Straight Insertion Sort Merge Sort Heap Sort Quick Sort
Tugas Terdapat urutan bilangan sebagai berikut : 4 9 3 10 27 11 8 14 1 5 Gunakan Binary Search untuk mencari : Angka 9 Angka 27 Angka 1