20/03/15

Program Pencarian Dengan Metode Interpolasi pada Bahasa Pemograman C


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.