Radix Sort merupakan salah satu algoritma Non-Comparasion Sort (pengurutan tanpa pembandingan). Proses yang dilakukan dalam metode ini adalah mengklasifikasikan/menyelesaikan data sesuai dengan kategori terurut yang tertentu, dan tiap kategori dilakukan pengklasifikasian lagi, dan seterusnya sesuai kebutuhan, kemudian subkategori-kategori atau bagian-bagian dari kategori tersebut digabungkan kembali.
Secara harfiah Radix dapat diartikan sebagai posisi dalam angka, karena cara ini pertama kalinya mengurutkan nilai-nilai yang dimasukan (input) berdasarkan radix pertamanya, lalu pengurutan dilakukan berdasarkan radix keduanya, dan begitu seterusnya. Pada sistem desimal, radix adalah digit dalam angka desimal. Misalnya, angka “169” mempunyai 3 digit yaitu 1,6 dan 9.
Saya akan membeikan contoh penggunaan algoritma radix sort untuk pengurutan sebuah kumpulan bilangan bulat positif, dengan jumlah digit maksimal 3 :
121
|
076
|
823
|
367
|
232
|
434
|
742
|
936
|
274
|
Pertama kali data dibagi-bagi sesuai dengan digit terkanan :
121
|
076
|
823
|
367
|
232
|
434
|
742
|
936
|
274
|
Sehingga dapat di bentuk tabel :
Catatan : perhatikan digit yang berwarna merah yaitu berupa tanda digit yang sedang di proses atau berjalan.
121
|
076
|
823
|
367
|
232
|
434
|
742
|
936
|
274
|
Pada saat penentuan kategori lihat terlebih dahulu nilai digit yang terbesar dicontoh ini yakni nilai digit yang terbesar 9 sehingga kategori sebanyak 9 baris dan diawali dari 0. Langsung aja supaya lebih jelas perhatikan tabel dibawah ini :
Kategori Digit 1
|
Isi
|
0
|
–
|
1
|
121
|
2
|
232, 742
|
3
|
823
|
4
|
434, 274
|
5
|
–
|
6
|
076, 936
|
7
|
367
|
8
|
–
|
9
|
–
|
Hasil pengkategori pertama kemudian digabungkan kembali menurut penjelasan yang diatas:
121
|
232
|
742
|
823
|
434
|
274
|
076
|
936
|
367
|
Kemudian dilakukan pengkategorian kembali berdasarkan digit yang kedua dengan berpatokan(melihat) baris urutan pengkategorian pertama yaitu :
121
|
232
|
742
|
823
|
434
|
274
|
076
|
936
|
367
|
Kategori Digit 2
|
Isi
|
0
|
–
|
1
|
–
|
2
|
121,823
|
3
|
232, 434, 936
|
4
|
742
|
5
|
–
|
6
|
367
|
7
|
274, 076
|
8
|
–
|
9
|
–
|
Selanjutnya hasil pengkategori kedua digabungkan kembali
121
|
823
|
232
|
434
|
936
|
742
|
367
|
274
|
076
|
Kemudian langkah ketiga (terakhir), dilakukan pengkategorian kembali berdasar digit ketiga. dengan berpatokan(melihat) baris urutan pengkategorian kedua yaitu :
121
|
823
|
232
|
434
|
936
|
742
|
367
|
274
|
076
|
Kategori Digit 3
|
Isi
|
0
|
076
|
1
|
121
|
2
|
232,274
|
3
|
367
|
4
|
434
|
5
|
–
|
6
|
–
|
7
|
742
|
8
|
823
|
9
|
936
|
Jadi hasil akhirnya dapat dituliskan :
076
|
121
|
232
|
274
|
367
|
434
|
742
|
823
|
936
|
Dari langkah-langkah yang telah dilakukan dalam proses pengurutan menggunakan radix sort, jelas tampak bahwa radix sort termasuk algoritma pengurutan tanpa pembanding. Dengan sifatnya yang melihat digit-digit angka sebagai pengontrolnya, Radix Sort dapat diimplementasikan dalam pengurutan bilangan desimal dan bilangan bit. Namun dalam penggunaannya radix sort bisa dimodifikasi sehingga bisa digunakan untuk menggurutkan data data negatif dan pecahan.
Kelebihan yang dimiliki Radix Sort antara lain adalah merupakan algoritma pengurutan yang cepat, mudah, dan sangat efektif. Namun penggunaannya terbatas pada kasus-kasus tertentu dan memerlukan memori tambahan dalam prosesnya.
Sumber : rudiinformatics011.wordpress.com