As-salamu'alaykum wr wb.
Lama ga posting artikel nih, maaf saya sibuk CBT Produktif hehe ..
oke , postingan kali ini saya akan membahas tentang shorting di C++ / Cplusplus hehe ..
Q : Shorting itu apa sih ka?
A : Shorting atau pengurutan adalah proses penyusunan kembali suatu data yang sebelumnya sudah disusun secara teratur sesuai dengan pola dan metode tertentu. Pengurutan bisa secara ascending(urut naik) atau descending(urut turun). Perlu anda ketahui bahwa pengurutan data dalam struktur data sangatlah penting terutama untuk data yang bersifat integer, pecahan, ataupun karakter.
Q : di C++ ada berapa macam shorting ka?
A : Ada banyak, Yuk kita bahas materi shorting .. hehe
1. Radix Sort
Radix sort adalah algoritma non-comparation sort atau pengurutan tanpa perbandingan . metode ini mengklarifikisi sebuah data sesuai dengan kategori urutan tertentu. Dan setiap kategori diurutkan lagi dan seterusnya sesuai dengan kebutuhan. Kemudian bagian2 dari kategori tersebut akan digabungkan kembali.
Catatan : data yang diurutkan pertama kali yaitu berupa input nilai2 yang dimasukkan pertama kali berdasarkan radix pertamanya, lalu diteruskan atau diurutkan lagi berdasarkan radix keduanya, dst…
Pada system decimal radix adalah digit dalam angka decimal. Missal : angka 354 mempunyai 3 digit yaitu 3, 5 dan 4
Contoh algoritma radix sort untuk mengurutkan bilangan bulat positif, dengan jumlah digit maksimal 3 :
313
|
354
|
123
|
321
|
543
|
756
|
834
|
675
|
· Pertama kita harus membagi-bagi data sesuai dengan urutan terkanan
· Lihat terlebih dahulu digit yang paling besar untuk menentukan kategori berapa baris data yang akan kita urutkan, dan dicontoh ini nilai digit paling besar yaitu angka 8, sehingga kategori sebanyak 8 baris dan diawali dengan angka 0. Supaya lebih jelas lihat table dibawah :
Kategori digit 1
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
isi
|
-
|
321
|
-
|
313,123,
543
|
354,834
|
675
|
756
|
-
|
-
|
Tabel 1.1
Hasil dari kategori pertama tadi akan digabungkan kembali sesuai dengan penjelasan diatas ;
321
|
313
|
123
|
543
|
354
|
834
|
675
|
756
|
Tabel 1.2
Kemdian dilakukan pengkategorian kembali berdasarkan dengan digit yang ke-2 dengan berpatokan / melihat baris urutan dari pengkategorian yang pertama tadi yaitu (Tabel 1.2).
Kategori digit 2
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
isi
|
-
|
313
|
321,123
|
834
|
543
|
354,756
|
-
|
675
|
-
|
Tabel 1.3
Selanjutnya hasil dari pengkategorian ke-2 digabungkan kembali sehingga diperoleh :
313
|
321
|
123
|
834
|
543
|
354
|
756
|
675
|
Table 1.4
Langkah terakhir yaitu pengkategorian ke-3 berdasar digit ke-3 dengan berpatokan melihat baris urutan pengkategorian ke-2 yaitu (Tabel 1.4)
Kategori digit 3
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
isi
|
-
|
123
|
-
|
313,321,
354
|
-
|
543
|
675
|
756
|
834
|
Jadi, hasil akhirnya dapat dituliskan :
123
|
313
|
321,
|
354
|
543
|
675
|
756
|
834
|
Table 1.6
Dari proses2 yang sudah kita kerjakan menggunakan Redix Sort, sangat jelas Radix sort termasuk algoritma pengurutan tanpa pembanding yang bersifat melihat digit2 angka sebagai pengontrolnya. Sebenarnya Radix Sort dapat diimplementasikan dalam pengurutan bilangan Decimal dan bilangan bit. Namun dalam penggunaannya Radix Sort bisa dimodifikasi untuk mengurutkan data2 negatif & pecahan.
Kelebiha : merupakan algoritma pengurutan yang cepat, mudah dan sangat efektif
Kekurangan : pengguaannya terbatas pada kasus2 tertentu dan memerlukan memori tambahan yang besar dalam prosesnya mengkategorikan sebuah data.
1 Response to "Pengurutan (SORTING) di C++"
maaf disini nggak bisa di run, apa ada program yang salah
Post a Comment