Searching adalah metode pencarian informasi dalam suatu aplikasi dengan suatu
kunci (key). Pada metode searching ada 3 metode yang digunakan yaitu:
1. Pencarian Sekuensial (Sequential Search)
Pencarian sekuensial atau sering disebut pencarian liner menggunakan prinsip
sebagai berikut: data yang dibandingkan satu persatu secara berurutan dengan yang
dicari. Pada dasarnya, pencarian ini hanya melakukan pengualangan dari 1 sampai
jumlah data. Pada setiap perulangan, dibandingkan data ke-idengan yang dicari.
Apabila sama, berarti data telah ditemukan. Sebaliknya apabila sampai akhir
pengulangan, tidak ada yang sama berarti data tidak ada.
Contoh:
#include <iostream>
#include <cmath>
int main(){
int i;
int cari, ketemu;
int A[100];
ketemu=0;
for(i=0; i<=7; i++)
{
if (A[i]==cari)
{
ketemu=1;
cout<<"Data ditemukan pada indeks ke-"<<i<<endl;
}
}
if(ketemu==0)
{
cout<<"Data tidak ditemukan"<<endl;
}
2. Pencarian Beruntun dengan Sentinel
Algoritma ini adalah pengembangan dari algoritma pencarian beruntun. Sentinel
adalah elemen fiktif yang sengaja ditambahkan sesudah elemen terakhir dari larik
tersebut, jadi jika elemen terakhir dari larik L[n], maka sentinel diletakkan pada
L[n+1]. Akibatnya proses pencarian akan selalu menemukan data yangdicari, akan
tetapi harus selalu diperiksa letak data yang ditemukan apakah:
a. Diantara elemen-elemen larik sesungguhnya (antara l[1] sampai dengan l[n])
pada elemen fiktif [l[n+1]]
Contoh:
#include <iostream>
#include <iomanip>
int main() {
int A[] = {12, 24, 13, 25, 10, 13, 21, 15, 15, 18};
int bil;