Senin, 07 Juni 2010

1. Sorting

Dalam penyelesaian suatu masalah pasti terdapat banyak cara atau solusi-solusi yang dapat dilakukan, seperti halnya pembuatan program memiliki banyak tehnik atau algoritma yang dapat di gunakan salah satunya untuk kebutuhan SORTING atau PENGURUTAN kumpulan data-data. terdapat 4 algoritma atau tehnik dalam melakukan sorting.

* Straight Selection Sort. teknik sorting ini dibuat dengan cara melakukan pengecek’an 1 persatu, bila kita akan mengurutkan secara ascending maka kita lakukan pengecek’an nilai tempat yang pertama (index pertama pada array) bila lebih kecil daripada index berikutnya (index 1 dengan index 2, index 1 dengan index 3, ….. index 1 dengan index terakhi) maka kita lakukan pertukaran nilai pada array index tersebut. proses ini dilakukan terus menerus sampai pada pengecekan index terakhir – 1 dengan nidex terakhir.

* Selection Sort.Teknik sorting ini dibuat dengan cara melakukan pengecek’an 1 persatu, bila kita akan mengurutkan secara ascending maka kita lakukan pengecek’an nilai tempat yang pertama (index pertama pada array)kita bandingkan dengan semua nilai yang ada kita cari nilai minimalnya. lalu simpan index/ letak nilai minimum itu di temukan, setelah pengecekan selesai tukar index awal pengecekan dengan nilai minimum yang telah di simpan tadi. Proses ini dilakukan terus menerus sampai pada pengecekan index terakhir min 1 dengan index terakhir. beda dengan streith selection sort adalah dengan teknik ini melakukan pertukaran nilai lebih sedikit, hanya jumlah data – 1 pertukaran. jadi waktu untuk melakukan proses sorting lebih cepat.

* Bubble Sort. Teknik ini dilakukan degan pola membawa nilai terbesar menjadi nilai index terakhir array. jadi sistem ini melakukan pengecekan nilai 1 dengan 2, lalu 2 dengan 3 samapai dengan data terakhir, bila nilai index yang lebih kecil lebih besar maka akan dilakukan pertukaran. proses ini dilakuan hingga jumlah data – 1.

* Modified Bubble Sort. Teknik ini dilakukan degan pola membawa nilai terbesar menjadi nilai index terakhir array. Jadi sistem ini melakukan pengecekan nilai 1 dengan 2, lalu 2 dengan 3 samapai dengan data terakhir, bila nilai index yang lebih kecil lebih besar maka akan dilakukan pertukaran. proses ini dilakuan hingga jumlah data dikurangi 1 atau sampai program tidak melakukan pertukaran. jadi waktu untuk melakukan proses sorting lebih cepat.

Sebenarnya jika kita ingin mengimplementasikan teknik sorting ini ke dalam suatu bahasa pemograman, yang paling penting adalah, kita terlebih dahulu harus memahami konsep dari teknik Sorting itu sendiri. berikut caranya :

Untuk contoh sorting yang paling sederhana ialah :

Anggaplah kita punya nilai yaitu:
nilai [1]=15;
nilai [2]= 9;

Disini kita ingin mengurutkan dengan menggunakan teknik Ascending(pengurutan dari nilai terkecil ke nilai terendah). Tentunya kita ingin menukar kedua angka itu yaitu
nilai[1]=9;dan
nilai[2]=15
Kita tidak bisa melakukannya dengan cara seperti ini.

Demikian juga dengan bentuk ini :
nilai[1]=nilai[2]
nilai[2]=nilai[1], kalau seperti ini program tak akan bekerja.

Pemahaman langkah pertama yaitu dengan cara nilai yang tersimpan pada “nilai[1]” akan dihapus, dan kemudian diganti dengan nilai yang tersimpan pada “nilai[2]“. Sehingga sekarang antara “nilai[1] dan nilai[2]” punya nilai yang sama. Tapi yang terjadi dengan nilai[1] adalah nilai tersebut telah hilang. Dalam penukaran dua variabel, kita harus mendefinisikan variabel ke-tiga, yaitu sebuah temporary yang memegang nilai variabel agar nilai tersebut tidak hilang. Ia akan menjaga proses pembarteran nilai agar salah satu nilai tidak hilang.

Misalnya:
//Pertukaran Variabel
temp = nilai[1]; //pemegang variabel agar tidak hilang”temp”
nilai[1] = nilai[2];
nilai[2] = temp;

Proses pertukaran ini akan berhasil dilakukan sesuai pemahaman teknik sorting, dan pertukaran berhasil dilakukan tanpa nilai yang hilang.

http://andikafisma.wordpress.com/teknik-sorting-dan-teknik-searching/

Tidak ada komentar:

Posting Komentar