APA ITU SORTING ?
Sorting adalah kegiatan mengurutkan data dengan format yang diinginkan. Sedangkan algoritma
sorting adalah aturan atau langkah untuk mengurutkan data dengan urutan tertentu. Sorting menjadi
penting dalam pencarian data dan memudahkan untuk pembacaan data.
APLIKASI PENUNJANG
LANGKAH - LANGKAH PRAKTIKUM
Bubble Sort
Bubble Sort adalah salah satu sorting algorithm yang berulang kali berjalan melalui list yang akan
diurutkan, membandingkan setiap pasangan item yang berdekatan, dan menukar mereka jika mereka
berada di urutan yang salah. Nilai-nilai yang lebih kecil secara bertahap berjalan ke bagian atas array seperti gelembung yang naik dalam air, sedangkan nilai-nilai yang lebih besar tenggelam ke bagian
bawah array
Contoh :
- Function algoritma Bubble Sort

- Pemanggilan function Bubble Sort menggunakan memory allocation
Selection Sort
Selection Sort adalah salah satu sorting algorithm yang bersifat in-place (tidak memerlukan memori
tambahan) dan menggunakan konsep perbandingan antar dua elemen. Pada algoritma ini, list dibagi
menjadi dua bagian sorted-part (kiri) dan unsorted part (kanan). (Pada kondisi awal, sorted-part masih
kosong dan unsorted-part mencakup keseluruhan list.)
Langkah yang dilakukan dalam algoritma ini adalah memilih elemen paling kecil pada unsorted-part
(dengan melakukan perbandingan antar elemen), lalu meletakkannya pada bagian paling kanan dari
sorted-part. Hal ini dilakukan hingga unsorted-part kosong
Algoritma ini kurang tepat digunakan untuk data dalam jumlah banyak karena kompleksitasnya
tergantung jumlah elemen dalam list
BACA JUGA : Teori Rest Client Dan Karakteristiknya
Contoh :
- Function Algoritma Selection Sort
- Pemanggilan function Selection Sort menggunakan memory allocation
Insertion Sort
Insertion Sort adalah salah satu sorting algorithm yang bersifat in-place (tidak memerlukan memori
tambahan) dan menggunakan konsep perbandingan antar dua elemen. Pada algoritma ini, list dibagi
menjadi dua bagian sorted-part (kiri) dan unsorted-part (kanan). (Pada kondisi awal, sorted-part berisi
satu elemen paling kiri dan unsorted-part berisi sisa elemen dalam list.)
Langkah yang dilakukan dalam algoritma ini adalah menunjuk elemen paling kiri pada unsorted-part.
Elemen ini akan dibandingkan dengan elemen-elemen pada sorted-part secara berurut dan dimasukkan
(‘insert’ed) pada posisi yang benar. Hal ini dilakukan hingga unsorted-part kosong.
Algoritma ini kurang tepat digunakan untuk data dalam jumlah banyak karena kompleksitasnya
tergantung jumlah elemen dalam list
Contoh :
- Function Algoritma Insertion Sort

- Pemanggilan function Insertion Sort menggunakan memory allocation
Radix Sort
Radix Sort adalah salah satu sorting algorithm yang bersifat not-in-place (memerlukan memori
tambahan) dan menggunkan konsep perbandingan least significant digits. Pada algoritma ini, kita perlu
menyediakan array of linked list sebagai penampung sementara (bucket).
Langkah yang dilakukan dalam algoritma ini adalah memasukkan tiap elemen dalam list - elemen
ke-i sebagai digit ke-n nya ke dalam array[i], dimana n merupakan penentu yang dimulai dari least
significant digit. Iterasi dilakukan sebanyak x kali, dimana x merupakan jumlah digit paling besar sebuah
elemen dalam list.
Contoh :
Jika terdapat data array[157, 84, 2, 462, 54, 90, 23, 18] dan ingin di sort secara ascending dengan Least
Significant Digit Radix Sort:
Nilai terbesar dari data tersebut adalah 462, yang memiliki 3 digit angka, sehingga akan ada 3 kali
iterasi radix sort yang dilakukan.
Pertama, karena kita akan sortir bilangan integer, maka sediakan terlebih dahulu array of linked list
sebanyak total satuan angka yang ada, jadi Head linked list yang ada yaitu 10 (karena angka terdiri
dari 0 - 9), diberi nama variable Bucket[10] (atau Head[10] jika ingin menggunakan nama variable
yang digunakan di modul-modul minggu sebelumnya agar tidak membingungkan)
Bucket 0: NULL
Lalu, mulailah iterasi :
Iterasi pertama
Bucket 0 : 090
Bucket 1 :
Bucket 2 : 002 -> 462
Bucket 3 : 023
Bucket 4 : 084 -> 054
Bucket 5 :
Bucket 6 :
Bucket 7 : 157
Bucket 8 : 018
Bucket 9 :
Maka, Hasil array setelah iterasi pertama :
[90, 2, 462, 23, 84, 54, 157, 18]
Iterasi Kedua
Bucket 0 : 002
Bucket 1 : 018
Bucket 2 : 023
Bucket 3 :
Bucket 4 :
Bucket 5 : 054 -> 157
Bucket 6 : 462
Bucket 7 :
Bucket 8 : 084
Bucket 9 : 090
Maka, Hasil array setelah iterasi kedua :
[2, 18, 23, 54, 157, 462, 84, 90]
Iterasi Ketiga
Bucket 0 : 002 -> 018 -> 023 -> 054 -> 084 -> 090
Bucket 1 : 157
Bucket 2 :
Bucket 3 :
Bucket 4 : 462
Bucket 5 :
Bucket 6 :
Bucket 7 :
Bucket 8 :
Bucket 9 :
Maka, Hasil array setelah iterasi ketiga :
[2, 18, 23, 54, 84, 90, 157, 462]
Data telah terurut tepat setelah di iterasi ketiga
- HASIL OUTPUT PROGRAM DIATAS
Sekian Dulu materi sorting di artikel kali ini, semoga artikel ini membantu untuk pekerjaan - pekerjaan programmer lainnya. Terima Kasih
0 Post a Comment: