Searching
Pengertian pencarian (searching)
Searching merupakan proses yang sering digunakan dalam pengelolaan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan).
Search algoritma adalah algoritma yang menerima perintah A dan mencoba untuk mencari record yang mana keynya adalah A. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessfull).
Pengertian searching dalam informatika, adalah metode pencarian informasi dalam suatu aplikasi,dengan suatu kunci (key).
• Pencarian diperlukan untuk mencari informasi khusus dari table pada saat lokasi yang pasti dari informasi tersebut sebelum tidak diketahui
• Pencarian selalu dinyatakan dengan referensi pada adanya sekelompok data yang tersimpan secara terorganisasi, kelompok data tersebut kita sebut table
Pada Metode Searching (pencarian) ada dua teknik yang digunakan yaitu: sequtial search dan binary search
Pencarian Sekuensial (Sequential Shearch)
Sequential Shearching Adalah suatu teknik pencarian data dalam array yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, Pencarian ini menggunakan prinsip : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. Algoritma pencarian secara linear digunakan untuk mencari sebuah nilai pada tabel sembarang. Ada dua macam cara pencarian pada tabel. Algoritma ini mempunyai dua jenis metode yaitu dengan sentinel atau tanpa sentinel.
Kelebihan Sequential Search :
Relatif lebih cepat dan efisien untuk data yg memiliki jumlah tidak terlalu banyak.
Algoritma pemrogramannya lebih sederhana.
Kekurangan Sequential Search :
Kurang cepat untuk melakukan pencarian data dalam jumlah besar.
Pencarian Biner (Binary Seacrh).
Binary search adalah algoritma pencarian untuk data yang terurut. Pencarian dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang ada ditengah. Bila data yang ditengah sama dengan data yang dicari, berarti data ditemukan. Namun, bila data yang ditengah lebih besar dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan berada disebelah kiri dari data tengah dan data disebelah kanan data tengah dapat diabai.Upper bound dari bagian data kiri yang baru adalah indeks dari data tengah itu sendiri.Sebaliknya, bila data yang ditengah lebih kecil dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan besar berada disebelah kanan dari data tengah. Lower bound dari data disebelah kanan dari data tengah adalah indeks dari data tengah itu sendiri ditambah 1. Demikian seterusnya.
Kelebihan Binary Search :
Untuk pencarian dalam jumlah banyak (besar), waktu searching/pencarian lebih cepat karena data telah terurut.
Kekurangan Binary Search :
Data harus sudah di-sorting terlebih dahulu (keadaan terurut) agar lebih mudah dalam pencarian yang diinginkan.
Algoritma pemrogramannya lebih rumit dari sequential search.