Tutorial C/C++ Metode Interpolation Search

Interpolation Search adalah sebuah algoritma atau metode untuk mencari nilai key yang diberikan dalam array diindeks yang telah diperintahkan oleh nilai – nilai kunci. Metode ini didasari pada proses pencarian nomor telepon pada buku telepon yang mana manusia mencari melalui dengan nilai kunci yang terdapat pada buku. Teknik searching ini dilakukan dengan perkiraan letak data. Rumus posisi relatif kunci pencarian dihitung dengan rumus berikut ini :
Rumus Interpolation Search

- Jika data[posisi] > data yg dicari, high = pos – 1
- Jika data[posisi] < data yg dicari, high = pos + 1


Azon Profit Master


Oke, sekian pendahuluan mengenai Interpolation Search, sekarang saya ingin membagi sesuatu yang mungkin bisa bermanfaat bagi sobat - sobat..



#include<stdio.h>
#include <conio.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 clrscr();
            printf("\n 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
            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 %d yang dicari ada dalam array\n",k);
                                    printf(" ===================================");
                        }else{
                                    printf("data tidak ditemukan dalam array\n");}
                        //scanf("%d");
                       
            return(0);
}

hasil dari listing diatas jika kita menekan angka 7 maka hasilnya seperti pada gambar dibawah ini :



terima kasih sobatku semua sudah mau mampir ke blog saya ini..
selesai deh program Interpolation Search kita ini..

0 Response to "Tutorial C/C++ Metode Interpolation Search"

Post a Comment