Searching 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
sebelumnya tidak diketahui. Pencarian selalu dinyatakan dengan referensi
pada adanya sekelompok data yang tersimpan secara terorganisasi,
kelompok data tersebut kita sebut table.
SEQUENTIAL SEARCH
Pencarian sekuensial (sequential search) atau sering disebut pencarian
linier menggunakan prinsip sebagai berikut : data yang ada di bandingkan
satu persatu secara berurutan dengan yang dicari. Pada dasarnya,
pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah
data. Pada setiap perulangan , di bandingkan data ke-i dengan yang
dicari. Apabila sama , berarti data telah ditemukan . Sebaliknya apabila
sampai akhir pengulangan , tidak ada yang sama berarti data tidak ada.
Contoh program SEQUENTIAL SEARCH :
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
int data[8] = {3,4,8,13,11,5,2,18};
int cari,index;
int ketemu=0;
cout<<"Inputkan data yang ingin di cari = ";
cin>>cari;
for(int i=0;i<8;i++)
{
if(data[i] == cari)
{
ketemu=1;
index=1;
break;
}
}
if(ketemu == 1)
{
cout<<"Data tersedia!"<
cout<<"Data Terletak di index ke - "<
}
else cout<<"Data tidak tersedia!"<
getch();
}
#include<conio.h>
void main()
{
clrscr();
int data[8] = {3,4,8,13,11,5,2,18};
int cari,index;
int ketemu=0;
cout<<"Inputkan data yang ingin di cari = ";
cin>>cari;
for(int i=0;i<8;i++)
{
if(data[i] == cari)
{
ketemu=1;
index=1;
break;
}
}
if(ketemu == 1)
{
cout<<"Data tersedia!"<
cout<<"Data Terletak di index ke - "<
}
else cout<<"Data tidak tersedia!"<
getch();
}
BINARRY SEARCH
Salah satu syarat pencarian biner (binary search) dapat dilakukan adalah
data sudah dalam keadaan terurut. Dengan kata lain, apabila data belum
dalam keadaan terurut , pencarian biner tidak dapat dilakukan.
Contoh Program BINARRY SEARCH :
#include <iostream.h>
#include <conio.h>
int data[10] = {1,4,7,8,19,23,35,49,60,70};
int binary_search(int cari)
{
int l,r,m;
int n = 10;
l = 0;
r = n-1;
int ketemu = 0;
while(l<=r && ketemu==0)
{
m = (l+r)/2;
if ( data[m] == cari )
ketemu = 1;
else
if (cari <>
r = m-1;
else l = m+1;
}
if(ketemu == 1) return 1; else return 0;
}
void main()
{
clrscr();
int cari,hasil;
cout<<"Masukan data yang ingin dicari = ";
cin>>cari;
hasil = binary_search(cari);
if(hasil == 1)
{
cout<<"Data tersedia!"<
}
else
if(hasil == 0)
cout<<"Data tidak tersedia!"<
getch();
}
Sumber Referensi Dari :
http://www.blogyin.com/2015/03/searching-binary-search-dalam-bahasa-c.html
#include <conio.h>
int data[10] = {1,4,7,8,19,23,35,49,60,70};
int binary_search(int cari)
{
int l,r,m;
int n = 10;
l = 0;
r = n-1;
int ketemu = 0;
while(l<=r && ketemu==0)
{
m = (l+r)/2;
if ( data[m] == cari )
ketemu = 1;
else
if (cari <>
r = m-1;
else l = m+1;
}
if(ketemu == 1) return 1; else return 0;
}
void main()
{
clrscr();
int cari,hasil;
cout<<"Masukan data yang ingin dicari = ";
cin>>cari;
hasil = binary_search(cari);
if(hasil == 1)
{
cout<<"Data tersedia!"<
}
else
if(hasil == 0)
cout<<"Data tidak tersedia!"<
getch();
}
Sumber Referensi Dari :
http://www.blogyin.com/2015/03/searching-binary-search-dalam-bahasa-c.html