Senin, 11 April 2011

teknik sorting dan searching

A. Teknik Sorting (Pengurutan Data)
Dalam struktur data, teknik sorting ini sangat diperlukan untuk suatu kegiatan. Teknik ini tentunya punya kriteria tersendiri. Ada dua macam cara pengurutan data, yaitu descending order(pengurutan data dari nilai tertinggi ke nilai terendah), dan ascending order (teknik pengurutan data dari nilai terkecil ke nilai terendah). 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 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.

nilai[1]=nilai[2]
nilai[2]=nilai[1] yakinlah, kalau seperti ini program tak akan bekerja.
Jadi,,
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.OOpppsss, tapi apa yang terjadi dengan nilai[1]????? Jawabannya, ia telah tiada.

Nah, 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 penukaran 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 penukaran ini akan berhasil dilakukan sesuai pemahaman teknik sorting. Pertukaran berhasil dilakukan tanpa nilai yang hilang [1]

Metode teknik sorting ada beberapa jenis:
- Pengurutan berdasarkan perbandingan (comparison-based sorting)
• Bubble sort, exchange sort
- Pengurutan berdasarkan prioritas (priority queue sorting method)
• Selection sort, heap sort
- Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert and keep
sorted method)
• Insertion sort, tree sort
- Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer
method)
• Quick sort, merge sort
- Pengurutan berkurang menurun (diminishing increment sort method)
• Shell sort

B. Teknik Searching
Teknik searching merupakan suatu proses pencarian data dari sejumlah data yang ada. Pencarian data dapat dilakukan pada sejumlah data yang sudah terurut atau juga pada data yang sama sekali belum terurut.

Jenis-jenis teknik searching ada dua cara yakni pencarian secara linear
(sequential search) dan pencarian biner (binary search).

1. Sequential search adalah suatu teknik pencarian data dalam array ( 1 dimensi ) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.
2. Binary search merupakan salah satu metode searching, binary search hanya bisa dilakukan pada data yg telah tersort ato terurut karena proses algoritmanya yg terus menerus membagi data menjadi 2 bagian hingga angka / input yg dicari ditemukan.

Sumber:
[1] http://sangadik.blogspot.com/2009/11/teknik-sortingpengurutan-data.html
[2] http://lightluna.wordpress.com/2008/10/24/prinsip-algoritma-pada-teknik-tencarian-search-engine

0 komentar: