SEQUENTIAL SEARCH
Berikut adalah Contoh Sequential Search :
#include
#include
main(){
int c,i,posisi;
int A[20]={32,3,4,56,65,3,7,4,7,4,3,5,7,8,4,3,6,7,8,22,};
cout<<"Data : ";
for(i=0;i<20 i="" span="">
cout<
}
cout<<"\nData yang ingin dicari : ";
cin>>c;
i=0;
posisi=0;
while(i<19 a="" amp="" c="" i="" span="">
i++;
}
if (A[i]!=c){
cout<<"Maaf data yang dicari tidak ada";
}else if(posisi=i+1)
cout<<"ditemukan pada posisi ke "<
getch();
}
#include
main(){
int c,i,posisi;
int A[20]={32,3,4,56,65,3,7,4,7,4,3,5,7,8,4,3,6,7,8,22,};
cout<<"Data : ";
for(i=0;i<20 i="" span="">
cout<
}
cout<<"\nData yang ingin dicari : ";
cin>>c;
i=0;
posisi=0;
while(i<19 a="" amp="" c="" i="" span="">
i++;
}
if (A[i]!=c){
cout<<"Maaf data yang dicari tidak ada";
}else if(posisi=i+1)
cout<<"ditemukan pada posisi ke "<
getch();
}
Binary Search
Tujuan binary search adalah memperkecil pembandingan yang harus dilakukan antara data yang dicari dengan data
yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar
ukurannya. Prinsip dasarnya
adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai
data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada
kemungkinan data tidak ditemukan). Syarat utama untuk
pencarian biner adalah data di dalam tabel harus sudah terurut, misalkan
terurut menaik.
Contoh Program Binary Search :
#include
using namespace std;
int main () {
int n, angka[12], kiri, kanan, tengah, temp, key;
bool ketemu = false;
cout<<"Masukan jumlah data : ";
cin>>n;
for(int i=0; i
{
cout<<"Angka ke - ["<
cin>>angka[i];
}
for (int i=0; i
{
for(int j=0; j< n-i-1; j++)
{
if(angka [j] > angka [j+1])
{
temp=angka[j];
angka[j]=angka[j+1];
angka[j+1]=temp;
}
}
}
cout<<"Data yang telah diurutkan adalah : ";
for(int i=0; i
{
cout<
}
cout<<"\n Masukan angka yang dicari : ";
cin>>key;
kiri=0;
kanan=n-1;
while(kiri<=kanan)
{
tengah=(kiri + kanan)/2;
if(key == angka[tengah])
{
ketemu=true;
break;
}
else if (key < angka [tengah])
{
kanan = tengah -1;
}
else
{
kiri = tengah +1;
}
}
if (ketemu == true)
cout<<"Angka ditemukan!";
else
cout<<"Angka tidak ditemukan";
return 0;
}
Sumber : academia.edu & Modul STIMIK Surabaya
0 komentar:
Posting Komentar