Teknik Pengurutan Sederhana Teknik Pengurutan Secara umum, metode pengurutan dapat dikelompokkan dalam 2 kategori yaitu metode pengurutan sederhana (elementary sorting methods) dan metode pengurutan lanjut (advanced sorting methods). Metode pengurutan sederhana meliputi: • bubble sort • selection sort • insertion sort Sedangkan metode pengurutan lanjut diantaranya adalah: • shell sort • quick sort • merge sort • radix sort Metode bubble sort merupakan metode pengurutan yang menggunakan konsep gelumbung (bubble). Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan yang mencari nilai data terbesar atau terkecil dan kemudian menempatkannya pada posisi yang sebenarnya, dimulai dari data diposisi 0 hingga data diposisi N-1. Sedangkan metode insertion sort adalah metode pengurutan yang biasa dipakai oleh pemain kartu dalam mengurutkan kartunya, yaitu menyisipkan kartu dengan nilai yang lebih kecil ke posisi sebelum kartu pembandingnya. Bubble Sort Metode bubble sort merupakan metode pengurutan yang mengambil proses dengan menggunakan bubble atau exchange. Perbandingan data dilakukan dari posisi pertama atau posisi terakhir bergeser satu persatu sampai semua data dibandingkan. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode bubble sort adalah sebagai berikut: 1. Bandingkan posisi data i = 0 dan j = 1. 2. Jika data diposisi i lebih besar daripada data diposisi j, maka data diposisi i ditukar dengan data diposisi j (swap). Jika tidak penukaran posisi tidak dilakukan. 3. Kemudian, lakukan perbandingan data diposisi i = 1 dan data diposisi j = 2. Lakukan langkah 2, begitu juga untuk data berikutnya hingga i = N-2 dan j = N-1. 4. Ulangi langkah 1, 2 dan 3 untuk data diposisi 0 sampai dengan data diposisi N-2, karena data di posisi N-1 adalah data dengan nilai terbesar. Untuk tahap selanjutnya data yang dibandingkan akan semakin berkurang sebab data dengan nilai yang lebih besar akan terposisi dibagian sebelah kanan data. Tabel berikut menjelaskan langkah per langkah bagaimana metode bubble sort ini bekerja. Struktur Data Author: Taufik Fuadi Abidin, M.Tech Ph.D 1 Tabel 1. Langkah demi langkah pengurutan dengan metode bubble sort. 44 55 12 42 94 18 06 67 Data Awal 44 12 42 55 18 06 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar tukar, seterusnya sampai data yang terbesar terletak di data ke 8 12 42 44 18 06 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar tukar, seterusnya sampai data yang terbesar terletak di data ke 7 12 42 18 06 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar tukar, seterusnya sampai data yang terbesar terletak di data ke 6 12 18 06 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar tukar, seterusnya sampai data yang terbesar terletak di data ke 5 12 06 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar tukar, seterusnya sampai data yang terbesar terletak di data ke 4 06 12 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar tukar, seterusnya sampai data yang terbesar terletak di data ke 3 06 12 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1 lebih besar tukar, seterusnya sampai data yang terbesar terletak di data ke 2 06 12 18 42 44 55 67 94 Data setelah terurut Berikut implementasi dari metode bubble sort dengan menggunakan bahasa C: void bubblesort(int arr[]) { int i,j; for (i = N; --i>=0;) { for (j = 0; j<i; j++) { if (arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } Struktur Data Author: Taufik Fuadi Abidin, M.Tech Ph.D 2