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 :
– Jika data[posisi] > data yg dicari, high = pos – 1
– Jika data[posisi] < data yg dicari, high = pos + 1
UPDATE 26 Mei 2016
Setelah melihat bahwa peminat dari artikel ini sangat banyak, saya mohon maaf karena link download sebelumnya sudah hilang. Ini saya berikan link download terbaru :
Oke, sekian pendahuluan mengenai Interpolation Search, sekarang aku ingin membagi sesuatu yang mungkin bisa bermanfaat buat temen – temen yang sedang ngerjakan tugas untuk Implementasi Interpolation Search dengan C++.
Source code dibawah ini adalah contoh implementasi dari satu fungsi yang aku buat tersendiri di luar fungsi main() yang bernilai int, dan bervalue / nilai yang dihasilkan fungsi ini adalah posisi index array dimana tempat / posisi data yang Anda cari pada suatu array / kumpulan data yang sudah ada.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <iostream>
#include <string.h>
usingnamespace std;
intmain(int argc, char *argv[]){
int tempFound = 0;
int kodeBarang[] = {101,102,201,301,401,402,501,601,602,701};
string namaBarang[] = {"Flashdisk Kingston", "Flashdisk Data Traveler", "RAM VGEN",
"VGA ATI RADEON", "Laptop Asus", "Netbook HP", "CD ROM", "Mouse",
cout <<"\n\n\tMohon maaf, barang yang Anda cari belum ada\n\t"<<endl;
}
system("pause");
return EXIT_SUCCESS;
}
#include <iostream>
#include <string.h>
using namespace std;
int main(int argc, char *argv[]){
int tempFound = 0;
int kodeBarang[] = {101,102,201,301,401,402,501,601,602,701};
string namaBarang[] = {"Flashdisk Kingston", "Flashdisk Data Traveler", "RAM VGEN",
"VGA ATI RADEON", "Laptop Asus", "Netbook HP", "CD ROM", "Mouse",
"Keyboard", "Monitor LG"};
int stokBarang[] = {5, 7, 8, 9, 2, 3, 4, 6, 4, 5};
string lokasiBarang[] = {"Rak 5B", "Rak AA", "Rak 12D", "Rak B6", "Rak VC7", "Rak AB12",
"Rak G23", "Rak K9", "Rak 5J", "Rak D5"};
int kodeKunci;
cout << "\n\tMasukkan kode barang : "; cin >> kodeKunci;
tempFound = interpolationSearch(kodeBarang, kodeKunci, (sizeof(kodeBarang)/4));
if(tempFound>=0){
cout << "\n\n\tBarang yang Anda cari ditemukan, berikut detailnya : " <<endl;
cout << endl;
cout << "\tNama Barang : " << namaBarang[tempFound] <<endl;
cout << "\tStok Barang : " << stokBarang[tempFound] <<endl;
cout << "\tLokasi : " << lokasiBarang[tempFound] <<endl <<endl;
cout << "\t";
}else{
cout << "\n\n\tMohon maaf, barang yang Anda cari belum ada\n\t" <<endl;
}
system("pause");
return EXIT_SUCCESS;
}
#include <iostream>
#include <string.h>
using namespace std;
int main(int argc, char *argv[]){
int tempFound = 0;
int kodeBarang[] = {101,102,201,301,401,402,501,601,602,701};
string namaBarang[] = {"Flashdisk Kingston", "Flashdisk Data Traveler", "RAM VGEN",
"VGA ATI RADEON", "Laptop Asus", "Netbook HP", "CD ROM", "Mouse",
"Keyboard", "Monitor LG"};
int stokBarang[] = {5, 7, 8, 9, 2, 3, 4, 6, 4, 5};
string lokasiBarang[] = {"Rak 5B", "Rak AA", "Rak 12D", "Rak B6", "Rak VC7", "Rak AB12",
"Rak G23", "Rak K9", "Rak 5J", "Rak D5"};
int kodeKunci;
cout << "\n\tMasukkan kode barang : "; cin >> kodeKunci;
tempFound = interpolationSearch(kodeBarang, kodeKunci, (sizeof(kodeBarang)/4));
if(tempFound>=0){
cout << "\n\n\tBarang yang Anda cari ditemukan, berikut detailnya : " <<endl;
cout << endl;
cout << "\tNama Barang : " << namaBarang[tempFound] <<endl;
cout << "\tStok Barang : " << stokBarang[tempFound] <<endl;
cout << "\tLokasi : " << lokasiBarang[tempFound] <<endl <<endl;
cout << "\t";
}else{
cout << "\n\n\tMohon maaf, barang yang Anda cari belum ada\n\t" <<endl;
}
system("pause");
return EXIT_SUCCESS;
}
Dari source code tersebut diatas, dapat kita lihat satu baris yang menunjukkan pemakaian dari fungsi Interpolation Search yang dibuat diluar fungsi main() c++, kode tersebut adalah tempFound = interpolationSearch(kodeBarang, kodeKunci, (sizeof(kodeBarang)/4));
Untuk source code lengkapnya silahkan download file Tugas Struktur Dataku ini, mengenai Interpolation Search dengan C++
Search Engine adalah suatu portal website yang menyediakan informasi pencarian data-data yang dibutuhkan pengunjung internet. Untuk mendapatkan informasi-informasi yang dibutuhkan, pengunjung internet masuk ke situs tersebut dan melakukan pencarian. Website search engine yang terkenal adalah Google dan Yahoo. Cara kerja search engine pertama-tama mencopy paste semua halaman website yang ada…
Pembuatan aplikasi ini bertujuan untuk memudahkan para pengunjung Toko dan juga operator sendiri dalam melakukan transaksi jual beli buku serta pendataan buku yang ada. Aplikasi yang dibuat ini merupakan sebuah aplikasi berbasis Ms. DOS. Sengaja dibuat menggunakan DOS karena aplikasi ini diprogram menggunakan Bahasa Pemrograman C++ dengan beberapa file bertipe…
Sudah familiar kah Anda dengan kata Faktor Persekutuan Terbesar (FPB) ? Pastinya sudah,,,, Namun, bagaimana cara Anda menghitungnya ??? Masih menggunakan cara lampau kah ?? Ada cara yang lumayan ampuh pake Theory Euclidean yang saya aplikasikan pada salah satu bahasa pemrograman Java, berikut contoh source codenya : import javax.swing.*; public…
In "Java"
9 thoughts on “Interpolation Search dan Contohnya – C++”
bang,tempat download source kodenya kok udah di hapus bang
bang,tempat download source kodenya kok udah di hapus bang
bisa kirimin di email saya ga bang,
tolong bang yah..
areg_noid@yahoo.com
terima kasih
Saya juga bang, tolong kirim ke e-mail saya bang, karena file sumber di ziddu ga ada.
ini e-mail saya:
hafzoro@gmail.com
terima kasih
bung kirimin ke email saya dunk source code lengkapnya..
stef_joe11@yahoo.co.id
terima kasih..
Bung ,kelemahan interpolation searcnya kog g’ ada ??
Tolong kirimin k email saya yach..
Bung ,kirimin interpolation searcnya yach.. d situ ko’ g’ ada
ini email saya
santyyuliana36@yahoo.co.id
mas q mau download sorce codenya kog g ada . . . .??
pliss kirim ke emailQ yeah . . but tugas struktur data nich . .
email wahyudy222@gmail.com
Pingback: Interpolation Searching | Ahmad Rizaqu Muttaqi's webblog
minta cpp-nya dong
kan itu tinggal copas aja ganz…