Kamis, 25 Juni 2009

Searching


Kali ini saya akan membahas tentang Searching...
Apa ya..yang pertama kali ada di kepala kita begitu mendengar kata searching?
Yupz..”mencari” pasti kata itu yang akan kita pikirkan. Kalau dalam Alogoritma dan Struktur Data, Searching adalah pencarian data dengan cara menelusuri data-data tersebut. Biasanya tempat pencarian datanya berupa array dalam memori, bisa juga pada file pada external storage. Kali ini saya akan membahas 2 jenis searching yaitu Sequential Search dan Binary Search.

Sequential Search
Sequential Search adalah teknik pencarian data dalam array dengan cara menelusuri elemen-elemen array tanpa mengurutkan data terlebih dahulu. Kalau menggunakan sequential search ada plus-minusnya atau lebih tepatnya ada enaknya ada gak enaknya. Misalnya enaknya, kalau data yang dicari berada dibaris terdepan maka waktu yang diperlukan sebentar tp yang gak enaknya toe kalau data yang di cari berada dibarisan belakang maka waktu yang diperlukan cukup lama. Biar lebih jelasnya tak kasih contoh sebagai berikut :









Dari array satu dimensi diatas dicari misalnya angka 10, jika ada maka akan muncul tulisan “ADA”, tapi jika tidak ada maka akan muncul tulisan ”TIDAK ADA”.


Binary Search

Binary Search adalah teknik pencarian data dalam array dengan cara membagi array menjadi dua bagian setiap kali terjadi proses pengurutan.
Prinsip pencariannya adalah:
1. Data diambil dari posisi 1 sampai posisi akhir N
2. Terus cari posisi data tengah dengan rumus seperti ini
(posisi awal + posisi akhir) / 2
3. Kemudian data yang dicari dibandingkan dengan data yang di tengah, sama atau lebih kecil, atau lebih besar?
4. Kalau lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi
tengah + 1
5. Kalau lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi
tengah – 1
6. Jika data sama, berarti ketemu.

Saya kasih contoh biar lebih paham lagi, misalnya sebagai berikut :
Contoh Data:
Misalnya data yang dicari 18

0 1 2 3 4 5 6 7 8
3 9 11 12 15 18 23 31 35
A B C

Karena 17 > 15 (data tengah), maka: awal = tengah + 1

0 1 2 3 4 5 6 7 8
3 9 11 12 15 18 23 31 35
A B C

Karena 17 < 23 (data tengah), maka: akhir = tengah – 1

0 1 2 3 4 5 6 7 8
3 9 11 12 15 18 23 31 35
A=B=C

Karena 18 = 18 (data tengah), maka KETEMU!

Nah...sekian dulu nie penjelasan tentang searching, sebenarnya pengen ngejelasin yang lebih lengkap lagi tapi ada daya tangan ini sudah capek ngetik. he....
Terima kasih buat para pembaca.

1 komentar:

singamasae on 28 Juni 2009 pukul 07.04 mengatakan...

design template blognya keren, sayang isinya terlalu text-book-oriented...

Posting Komentar

silahkan tulisakan komentar anda disini....

 

Adi Zone Cyber Blak Magik is Designed by productive dreams for smashing magazine Bloggerized by Ipiet © 2008