Kamis, 04 Juni 2015

Searching (Sequential & Binary Search)



Searching

Search merupakan pencarian data dengan cara menelusuri data-data tersebut, tempat pencarian data dapat berupa array dalam memori (pencarian internal), bisa juga pada file pada external storage (pencarian external). Proses mendapatkan (retrieve) information berdasarkan kunci (key) tertentu dari sejumlah informasi yang telah disimpan. Kunci (key) digunakan untuk melakukan pencarian record yang diinginkan didalam suatu list


  • Sequential Search
Proses pencarian data dengan metode ini cukup sederhana dan mudah. Dalam pencarian ini proses dilakukan dengan cara mencocokan data yang akan dicari dengan semua data yang ada dalam kelompok data. Proses pencarian data dilakukan dengan mencocokan data yang dilakukan secara berurut satu demi satu dimulai dari data ke-1 hingga data pada urutan terakhir. Jika data yang dicari mempunyai nilai yang sama dengan data yang ada dalam kelompok data, berarti data telah ditemukan. Tetapi jika data yang dicari tidak ada yang cocok dengan data-data dalam sekelompok data, berarti data tersebut tidak ada dalam sekelompok data. Selanjutnya kita tinggal menampilkan hasil yang diperoleh tersebut.

Contoh Program Sequential Search :




Hasil Eksekusi Program :







  • Binary Search
Algoritma pencarian dengan Binary search dilakukan dengan cara membagi data menjadi dua bagian setiap kali terjadi proses pencarian untuk menemukan nilai tertentu dalam sebuah larik (array) linear. Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama.


Prinsip dari binary search dapat dijelaskan sebagai berikut :
1. Mula-mula diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah.
2. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah -1.
3. Jika lebih besar, proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1. Jika data sama, berarti ketemu.


Contoh Program Binary Search :



Hasil Eksekusi Program :






Sumber referensi :
Algorithms in C++ by Robert Sedgewick
Buku Pemrograman C# Abdul Kadir






















0 komentar:

Posting Komentar