SEARCHING
Data dikumpulkan
-Informasi àdata
yang sudah diolah (dicari,
di-resume, …)
Masalah :
–Menyimpan àsulit,
mudah
pengambilannya
–Menyimpan àmudah,
sulit
pengambilannya
Pencarian Linier (Linear search)
Input : array aray dengan banyak data sebanyak ukuran.
Output : data kunci dalam array aray.
Prinsip :setiap data pada aray akan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk (worst case))
Bila pada posisi ke-i data sama dengan kunci, berarti data ditemukan pada posisi ke-i.
Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada aray.
Pencarian Biner (Binary Search)
kunci akan selalu dibandingkan dengan data yang berada di tengah (middle)
bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah data ada di sebelah “kiri”
(artinya data lebih kecil dari data di tengah) atau di sebelah “kanan” (artinya data lebih besar dari data di tengah).
Bila data ada di sebelah kiri, dilakukan pencarian dengan cara yang sama (sementara data
yang di sebelah kanan akan diabaikan).
Jadi, setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray).