Selamat berjumpa lagi sahabat programmer kali ini saya akan berbagi
bagaimana membuat program pencarian dengan metode interpolasi pada bahasa pemrograman
C, perlu diingat yang sekarang saya bagi ini adalah versi dasar dari program
interpolasi, mungkin apabila saya memiliki waktu luang saya akan berbagi lagi
versi yang lebih sempurna lagi. Karena versi ini belum bisa menentukan berapa
jumlah data yang dicari atau ada pada field keberapa data yang dicari. Langsung
saja berikut adalah screenshot program dan source codenya.
Hasil Program
#include<stdio.h>
int main()
{
//deklarasi variable
int A[10], i,j,k,tkr,low,high,pos,tm;
//proses penginputan data
for(i=0;i<10;i++)
{
printf("data ke-%d:",i+1);
scanf("%d",&A[i]);
}
//Input data yang akan dicari
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 interpolasi
tm=0;
high=9;
low=0;
do
{
pos = ((k - A[low]) / (A[high] -
A[low]))*(high -low) + low;
if (A[pos] == k)
{
tm++;
break;
}
if (A[pos] > k)
high = pos-1;
else
if (A[pos] < k)
low = pos + 1;
}
while(k >= A[low] && k <=
A[high]);
if (tm>0)
{
printf("data yang dicari %d
\n",k);
printf("ada dalam array\n");
}
//jika tidak ditemukan
else
{
printf("data tidak ditemukan dalam
array\n");
}
getch();
return 1;
}
Dalam beberapa hari kedepan
mungkin saya akan berbagi lagi pencarian interpolasi yang lebih sempurna,
sekian untuk kali ini terima kasih telah berkunjung.