Pencarian Interpolasi
Ø Algoritma Pencarian Interpolasi
1. Mulai
2. Dekelarasi data
3. Input data yang dicari (A?)
4. Program akan memeriksa setiap data dari 0 – 4
5. Jika data tersebut sama dengan data yang dicari nilai variabel jika ditemukan akan diubah bila tidak ditemukan proses akan kembali
6. Jika di temukan data akan disimpan
7. Selesai
Ø Flowchart
Kode Program
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
int main()
{
int data[100];
int cari_data, posisi, awal, akhir, proses,x[100],n;
bool berhenti = false;
cout<<"Masukan Jumlah Data : ";
cin>>n; cout<<endl;
for(int x=0; x<n; x++){
cout<<"Data ke-"<<x+1<<endl;
cin>>data[x];
}
cout<<"Data awal: ";
for(int x = 0; x<n; x++)
cout<<setw(3)<<data[x];
cout<<endl<<endl;
cout<<"Data : ";
for(int x =0; x<n; x++)
cout<<setw(3)<<data[x];
cout<<endl<<endl;
cout<<"Data yang di cari : "; cin>>cari_data;
awal = 0; akhir =x[100]*n; proses = 0;
while(berhenti != true)
{
proses++;
posisi=(((cari_data-data[awal])*(akhir-awal))/(data[akhir]-data[awal])+awal);
if(data[posisi] == cari_data)
{
cout<<"Data "<<cari_data<<" Pada posisi indexs ke- "<<posisi<<endl;
cout<<"Proses pencarian sebanyak : "<< proses<< endl;
berhenti = true;
}
else if(data[posisi]<cari_data){
awal=posisi+1;
} else{
cout<<"Data "<<cari_data<<" tidak ditemukan.\n";
berhenti=true;
}
}
return 0;
}
Hasil