Pencarian merupakan proses yang mendasar dalam
pemrograman. Pencarian (serching) merupakan tindakan untuk mendapatkan suatu
data dalam kumpulan data berdasarkan satu kunci (key) atau acuan data.
Pada umumnya dikenal tiga metode searching, antara
lain: Sequensial Search, Binary Search, dan Interpolation Serach.
Sequensial Serach
Sequensial Serach (pencarian berurutan) adalah metode
pencarian yang paling mudah. Pencarian beruntun adalah proses membandingkan
setiap elemen array satu persatu secara beruntun yang di mulai dari elemen
pertama hingga elemen yang di cari ditemukan atau hingga elem terakhir dari
array. Pencarian beruntun dapat dilakukan terhadap elemen array yang belum
terurut atau terhadap elemen array yang terurut. Perbedaan dari keduanya
terletak pada efesiensi operasi perbandingan yang di lakukan.
Dengan kata lain sequensial serach akan mencari
data dengan cara membandingkannya satu-persatu dengan data yang ada.Prosesnya
tentu saja akan singkat jika data yang diolah sedikit, dan akan lama jika data
yang di olah banyak. Metode ini di sarnkan untuk digunakan pada data yang
sedikit saja.
Contoh: Diberikan satu array nilai dengan banyak elemen 8 seperti berikut:
10
|
15
|
9
|
3
|
25
|
65
|
15
|
30
|
1 2
3 4 5 6 7 8
Misalkan nilai yang dicari adalah: X = 15
-
Kalau yang diharapkan hanya menyatakan ada atau tidak
maka pemeriksaan di lakukan terhadap 10 dan 15 maka tampil pesan "15 di
temukan".
-
Kalau yang diharapkan adalah menampilkan seluruh data
yang sama dan posisinya maka pemeriksaan dilakukan terhadap seluruh data
10,15,9,3,25,65,25,15,dan 30. Pada saat pemeriksaan di lakukan dan ternyata
sama maka posisi data yang sama tersebut akan di simpan dalam variabel
juga(tipe array) dan hitung banyaknya data yang sama. Sehingga akan tampil
pesan "15 ditemukan sebanyak 2 yaitu pada posisi 2 dan 7".
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int nilai [20];
int i, n, bilangan;
bool ketemu;
cout<<"Masukan Banyak Bilangan = ";
cin>>n;
//Membaca elemen array
for(i=0;i<n;i++)
{
cout<<"Masukan Elemen Ke-"<<i<<" =";
cin>>nilai[i];
}
//Mencetak elemen array
cout<<"\n\nDeret Bilangan =";
for(i=0;i<n;i++)
{
cout<<nilai[i]<<" ";
}
cout<<"\n\nMasukan Bilangan Yang Akan Di Cari = ";
cin>>bilangan;
//Melakukan pencarian
i=0;
do
{
if(nilai[i]==bilangan)
ketemu = true;
i++;
}
while(!(ketemu));
if(ketemu)
{
cout<<"Bilangan "<<bilangan<<" Ditemukan";
}
else
{
cout<<"Bilangan "<<bilangan<<" Tidak Ditemukan";
}
getch();
return 0;
}
Jika di compile maka akan muncul seperti gambar di bawah ini:
Sumber : Buku konsep dan implementasi struktur data dengan C++
Oleh : Lamhot Sitorus dan David J.M Sembiring
Penerbit : Andi
0 komentar:
Posting Komentar