SEARCHING
SEARCHING, atau biasa disebut dengan pencarian suatu
data pada sekumpulan data merupakan proses yang sangat penting. Proses
pencarian dilakukan untuk mengetahui apakah data yang dicari terdapat pada
sekumpulan data yang ada. Selain untuk mengetahui keberadaan data, informasi yang
lain yang bisa didapat adalah letak dari data tersebut. Adapun jenis pencarian
yaitu :
1. 1. Pencarian
Beruntun (Sequential Search)
2. 2. Pencarian
Bagi Dua (Binary Search)
Sequential Search : teknik pencarian data dimana data
dicari secara urut dari depan ke belakang atau dari awal sampai akhir.
berdasarkan key yang di cari Kelebihan dari proses pencarian secara sequential
ini.
Binary Search : hanya dapat dilakukan pada data yang
sudah terurut.
CODING SEQUENTIAL SEARCH
#include <stdio.h>
#include <stdlib.h>
int main()
{
int angka[]={0,90,8,7,6,5,4,3,2,1,509};
int a,cari,index,b;
index=sizeof(angka)/sizeof(int);
printf("cari yang mana akhi : "), scanf("%d", &cari);
a=0;
while(a<index){
if(angka[a]==cari){
printf("angka %d ada di index ke %d",cari,a );
return 0;
}
a++;
}
a=0;
while(a<index){
if(angka[a]!=cari){
printf("gak ketemu");
break;
}
else{
printf("");
}
a++;
}
return 0;
}
CODING BINARY SEARCH
#include<stdio.h>
int main()
{
//deklarasi variabel
int A[10], i,j,k,tkr,top,bottom,middle,tm;
//proses penginputan data
for(i=0;i<10;i++)
{
printf("Data ke-%d:",i+1);
scanf("%d",&A[i]);
}
printf("Masukkan data yang akan anda cari:");
scanf("%d",&k);
//proses pengurutan data
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if (A[i]>A[j])
{
tkr=A[i];
A[i]=A[j];
A[j]=tkr;
}
}
}
//proses pencarian data
///SEACRH
//TOP = puncak
//MIDDLE = Tengah
//bottom = bawah
tm=0;
top=9;
bottom=0;
while(top>=bottom)
{
middle=(top+bottom)/2;
if(A[middle]==k)
{
tm++;
}
if(A[middle]<k)
{
bottom=middle+1;
}
else
{
top=middle-1;
}
}
if (tm>0)
{
printf("Data %d yang dicari ada dalam array\n",k);
}
//jika tidak ditemukan
else
{
printf("Data tidak ditemukan dalam array\n");
}
getch();
return 1;
}
int main()
{
//deklarasi variabel
int A[10], i,j,k,tkr,top,bottom,middle,tm;
//proses penginputan data
for(i=0;i<10;i++)
{
printf("Data ke-%d:",i+1);
scanf("%d",&A[i]);
}
printf("Masukkan data yang akan anda cari:");
scanf("%d",&k);
//proses pengurutan data
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if (A[i]>A[j])
{
tkr=A[i];
A[i]=A[j];
A[j]=tkr;
}
}
}
//proses pencarian data
///SEACRH
//TOP = puncak
//MIDDLE = Tengah
//bottom = bawah
tm=0;
top=9;
bottom=0;
while(top>=bottom)
{
middle=(top+bottom)/2;
if(A[middle]==k)
{
tm++;
}
if(A[middle]<k)
{
bottom=middle+1;
}
else
{
top=middle-1;
}
}
if (tm>0)
{
printf("Data %d yang dicari ada dalam array\n",k);
}
//jika tidak ditemukan
else
{
printf("Data tidak ditemukan dalam array\n");
}
getch();
return 1;
}
SELENGKAPNYA BISA DIDOWNLOAD DISINI :
1.
2.
Komentar
Posting Komentar