Pembelajaran Borland Interpolation Search - Interpolation Search adalah metode pencarian seperti binary search yang itu mencari sebuah data dan elemen didalam sebuah array dengan kondisi data terurut. interpolation search akan membagi data menurut rumus :
Posisi = awal+((kunci - nilai[awal])*(akhir - awal))/(nilai[akhir]- nilai[awal])
prinsip kerja interpolation search dengan jumalah data N elemen :
- Tentukan Posisi awal = 0 dan akhir = N-1
- Hitung posisi = awal+((kunci - nilai[awal])*(akhir - awal))/(nilai[akhir]- nilai[awal])
- Bandingkan data yang akan dicari dengan elemen posisi.
- jika sama maka data ditemukan.
- jika data yang dicari lebih besar maka ubah posisi awal = posisi +1 dan posisi akhir tetap. ulangi mulai poin 2.
- jika data yang dicari lebih kecil maka ubah posisi akhir = posisi - 1 dan posisi awal tetap. ulang mulai poin 2.
Dibawah ini saya akan membuatkan programnya :
#include<iostream.h>
#include<conio.h>
void main (){
int nilai[15]={1,2,4,9,13,15,17,20};
int n=8, awal=0,akhir=n-1,posisi;
int kunci=0,ketemu=0,langakah=1;
cout<<"bilangan yang dicari :"; cin>>kunci;
while(awal <= akhir && ketemu == 0){
langkah : "<<langkah<<endl;
cout<<endl;
cout<<"langkah : "<<langakah<<endl;
posisi = awal+((kunci - nilai[awal])*(akhir - awal))/(nilai[akhir]- nilai[awal])
cout<<"data posisi index ke-"<<posisi<<" : "<<nilai[posisi]<<endl;
if (nilai[posisi]== kunci){
ketemu=1;
}else if(kunci > nilai[posisi]){
cout<<"cari di kanan.."<<endl;
awal = posisi + 1;
cout<<"awal : "<<awal<<endl;
langkah=langakh+1;
}else if(kunci < nilai[posisi]){
cout<<"cari di kiri.."<<endl;
akhir = posisi - 1;
cout<<"akhir : "<<akhirl<<endl;
langkah=langakh+1;
}
}
if (ketemu == 1){
cout<<"Bilangan Ditemukan..........."<<endl;
}
else{
cout<<"Bilangan Tidak Ditemukan..."<<endl;
}
getch();
}
Dan ini hasil dari program yang dibuat :
Ini hasil rekomendasi saya mengenai Pembelajaran Borland Interpolation Search semoga bisa bermanfaat.
0 Response to "Pembelajaran Borland Interpolation Search"
Post a Comment