Langsung ke konten utama

INTERPOLATION SEARCH

Metode Pencarian Interpolasi

Pencarian interpolasi adalah metode pencarian dengan cara mencari letak atau posisi data yang akan dicari. Teknik ini dilakukan pada data yang sudah terurut, pencarian ini tidak mencari posisi tengah seperti halnya  pencarian biner, melainkan menentukan posisi berikutnya. Algoritma pencarian interpolasi memiliki kerumitan dalam hal perhitungan untuk menentukan posisi rekaman yang akan diperiksa berikutnya dibandingkan dengan pencarian biner.

Teknis pencarian Interpolasi :
            Proses pencarian dengan metode interpolasi ini adalah menggunakan rumus yang sudah di tentukan, yaitu :
1.  Data yang dicari dikurangi dengan data awal (data yang ada pada index ke-0)
2. Hasil dari langkah pertama dikalikan dengan hasil dari pengurangan antara awal dan akhir yang sudah di tambahkan dengan awal
3. Hasil dari perkalian langkah nomor 2 dibagi dengan hasil dari pengurangan antara data awal (data yang ada pada index ke-0) dan data akhir (data yang ada pada index terakhir).
4.  Setelah hasil ditemukan, hasil di cek.
5.  Jika hasil dan data yang di cari sama maka data telah di temukan dan program selesai.
6. Jika hasil dan data yang di cari berbeda maka langkah yang harus dilakukan adalah membandingkan hasil dan data yang dicari
7.  Jika hasil lebih kecil dari data yang dicari maka index hasil ditambah dengan 1.
8.  Kemudian kembali lagi ke langkah 1 – 5
9.  Jika hasil lebih besar dari data yang dicari maka akan di tampilkan pada output bahwa data tidak ditemukan.
  
Algoritma pencarian Interpolasi :
1.  Mulai
2.  Awal <= 0
3.  Akhir <= banyakDataArray-1
4.  Cari_data ? (input bilangan)
5.  Posisi = ((cari_data - data[awal])*((akhir-awal)+awal)/(data[akhir]-data[awal])
6.  Cari_data == data[posisi] ?
7.  Jika sama, data telah ditemukan dan program selesai
8.  Jika tidak, Bandingkan :
9.  JIKA (data[posisi] < cari_data)
10. Awal = posisi + 1
11. Lakukan langkah 4,5
12. Jika data[posisi] > cari_data, tampilkan data tidak ditemukan.
13. Program selesai


Contoh untuk program pencarian intepolasi seperti dibawah :
 
Kode Program :


















 Output dari Program diatas adalah :







Komentar

Postingan populer dari blog ini

GAME BASED LEARNING

Game-Based Learning adalah metode pembelajaran yang menggunakan aplikasi permainan/game yang telah dirancang khusus untuk membantu dalam proses pembelajaran. Dengan menggunakan Game-Based Learning kita dapat memberikan stimulus pada tiga bagian penting dalam pembelajaran yaitu Emotional, Intellectual, Psycomotoric. Game-Based Learning adalah salah satu metode pembelajaran yang dirasa cocok dengan kondisi dari generasi digital sekarang ini karena tiga alasan berikut ini : Menciptakan lingkungan belajar yang menyenangkan dan membuat semakin motivasi siswa untuk belajar. Kompetisi dan kerjasama tim dalam menyelesaikan misi yang ada dalam aplikasi game juga dapat menambahkan komponen motivasi pada siswa. Umpan balik yang cepat dan spesifik memberikan kemudahan bagi siswa untuk memikirkan cara lain yang tepat untuk menyelesaikan penugasannya. Tapi memang ada dampak buruk yang bisa jadi timbul, di antaranya : Adanya anggapan bahwa ini hanya sekedar permainan/game. Jik...

ALGORITMA DAN FLOWCHART INSERTION SORT DAN BUBBLE SORT

Insertion Sort Algoritma : Mulai Ma suk kan inputan ( I = 2 ) maksudnya terdapat 2 inputan . Jika I < = 2 Jika Ya Maka inputan disebut dengan data Jika Tidak Maka prosesnya akan berhenti atau stop Temp < data { j } : sebelum penyortiran atau urutan Jika inputannya kurang dari ketentuan,maka program ini akan memintanya dengan coding         J = J – 1 Data {j+1}=temp : sesudah di sortir atau di urutkan. Selesai   Flowchart : Bubble Sort Algoritma : Tentukan Jumlah Bilangan yang akan di inputkan . Inputkan bilangan 4,2,3,8,5 . Bandingkan bilangan 1 >/< bilangan 2 . Jika benar pindahkan bilangan 2 ke bilangan sisip . Pindahkan bilangan 1 ke bilangan 2 . Pindahkan bilangan sisip ke bilangan 1 Jika tidak lanjutkan proses Bandingkan bilangan 2 >/< bilangan 3 Jika benar pindahkan bilangan 3 ke bilangan sisip Pindahkan bilangan 2 ke bilangan 3 Pindahkan bilangan sisip...