Disusun Oleh :
KELOMPOK 10
Ahmad Hosam Muzaki (2271020072)
Siful Adha (2271020070)
Assalamualaikum Wr.Wb.
Puji syukur ke hadirat Tuhan Yang Maha Esa. Atas rahmat dan hidayah-
Nya, penulis dapat menyelesaikan tugas makalah yang berjudul "Pencarian atau
Search" dengan tepat waktu.
Makalah disusun untuk memenuhi tugas Mata Pelajaran Sejarah. Selain itu,
makalah ini bertujuan menambah wawasan tentang Identitas Nasional bagi para
pembaca dan juga bagi penulis.
Dengan tersusunnya makalah ini kami menyadari masih banyak terdapat
kekurangan dan kelemahan, demi kesempurnaan makalah ini kami sangat
berharap perbaikan, kritik dan saran yang sifatnya membangun apabila terdapat
kesalahan.
Wassalamualaikum Wr.Wb.
Penyusun
i
DAFTAR ISI
KATA PENGANTAR ............................................................................................................... i
DAFTAR ISI.............................................................................................................................ii
1.3 Tujuan.......................................................................................................................... 1
3.1 Kesimpulan................................................................................................................ 12
ii
BAB 1
PENDAHULUAN
Ada banyak algoritma pencarian, Namun di materi kali ini hanya akan membahasa dua
algoritma serching. Kedua algoritma searching tersebut yaitu Binary Search dan Interpolation
Search.
1.3 Tujuan
1. Untuk Mengetahui Apa itu Algoritma Pencarian (Search).
2. Untuk Mengetahui Apa itu Binary Dan Interpolation Search
3. Untuk Mengetahui Konsep dan Penggunaan Binary Search dan Interpolation Search
1
BAB 2
PEMBAHASAN
Algoritma Pencarian adalah algoritma yang menerima sebuah argumen kunci dan
langkah-langkah tertentu akan mencari data yang disimpan dengan kunci tersebut. Setelah
proses dilaksanakan, kemungkinannya adalah data ditemukan (successful) atau tidak
ditemukan (unsuccessful).
Dalam ilmu komputer, Algoritma Pencarian adalah algoritma yang dirancang untuk
memecahkan masalah pencarian. Algoritma pencarian bekerja untuk mengambil informasi
yang disimpan dalam struktur data tertentu, atau dihitung dalam ruang pencarian domain
masalah, baik dengan nilai diskrit atau kontinu.
Algoritma pencarian berupa prosedur langkah demi langkah yang digunakan untuk
menemukan data tertentu di antara kumpulan data. Algoritma ini dapat dianggap sebagai
metode mendasar dalam operasi komputasi. Ketika sebuah sistem mencari data, perbedaan
antara aplikasi yang cepat dan yang lebih lambat seringkali terletak pada penggunaan algoritma
pencarian yang tepat.
Dalam kecerdasan buatan, teknik atau algoritma pencarian adalah metode pemecahan
masalah yang universal. Agen rasional atau agen pemecah masalah dalam AI sebagian besar
menggunakan strategi atau algoritma pencarian ini untuk memecahkan masalah tertentu dan
memberikan hasil terbaik.
2
Search space: mewakili satu set solusi yang mungkin, yang mungkin dimiliki
sistem.
Start state: keadaan asal agen saat memulai pencarian.
Goal test: Sebuah fungsi yang mengamati keadaan saat ini dan mengembalikan
apakah keadaan tujuan tercapai atau tidak.
2. Search tree: Sebuah representasi pohon dari masalah pencarian disebut search tree atau
pohon pencarian. Akar dari pohon pencarian adalah simpul akar yang sesuai dengan
keadaan awal.
3. Action: Mendeskripsikan semua tindakan yang tersedia untuk agen.
4. Transition model: Deskripsi tentang apa yang dilakukan setiap tindakan, dapat
direpresentasikan sebagai model transisi.
5. Cost: fungsi yang menetapkan biaya numerik untuk setiap jalur.
6. Solution: urutan tindakan yang mengarah dari node awal ke node tujuan.
7. Optimal solution: Jika solusi memiliki biaya terendah di antara semua solusi.
3
Algoritma pencarian ini bekerja berdasarkan prinsip menemukan nilai tengah
(M) pada array kemudian membagi menjadi dua bagian. Selanjutnya menentukan
apakah nilai yang dicari lebih kecil (L) atau lebih besar (H) dari nilai yang ingin dicari.
Apabila ditemukan kecocokan nilai maka akan mengembalikan output, jika tidak
pencarian akan terus berlanjut hingga akhir dari pembagian jumlah elemen tersebut.
4
Berikut ini program C++ Binary Search
*/
#include <iostream>
using namespace std;
#include <conio.h>
#include <iomanip>
int data[9] = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};
int cari;
void selection_sort()
{
int temp, min, i, j;
for(i=0; i<9;i++)
{
min = i;
for(j = i+1; j<9; j++)
{
if(data[j]<data[min])
{
min=j;
}
}
temp = data[i];
data[i] = data[min];
data[min] = temp;
}
}
void binarysearch()
{
5
//searching
int awal, akhir, tengah, b_flag = 0;
awal = 0;
akhir = 9;
while (b_flag == 0 && awal<=akhir)
{
tengah = (awal + akhir)/2;
if(data[tengah] == cari)
{
b_flag = 1;
break;
}
else if(data[tengah]<cari)
awal = tengah + 1;
else
akhir = tengah -1;
}
if(b_flag == 1)
cout<<"\nData ditemukan pada index ke-"<<tengah<<endl;
else
cout<<"\nData tidak ditemukan\n";
}
int main()
{
cout<<"\t 'BINARY SEARCH'"<<endl;
cout<<"\t====================="<<endl;
cout<<"\nData : ";
//tampilkan data awal
for(int x = 0; x<9; x++)
cout<<setw(5)<<data[x];
6
cout<<endl;
cout<<endl;
binarysearch();
_getche();
return EXIT_SUCCESS;
Output
'BINARY SEARCH'
=====================
Data : 2 5 8 12 16 23 38 56 72 91
Data diurutkan : 2 5 8 12 16 23 38 56 72 91
7
2.4.2 Algoritma Interpolation Search
Interpolation Search adalah pengembangan dari binary search, persamaan
keduanya yaitu sama sama digunakan untuk mencari suatu nilai pada data yang telah
terurut, sedangkan perbedaan keduanya terletak pada cara kerjanya. Binary search
mencari data dengan membagi array secara terus menerus, sedangkan pada binary
search interpolation ini mencari data dengan menggunakan Formula
Proses pencarian interpolasi (interpolation search) hampir sama dengan proses
pencarian dbinary search, dimana pencarian juga dilakukan pada kumpulan data yang
sudah urut. Akan tetapi jika pada binary search data dibagi menjadi dua bagian tiap
prosesnya.
3. Kemudian data yang dicari dibandingkan, apakah sama atau lebih kecil, atau
lebih besar?
4. Jika Data lebih besar dengan data yang dicari, maka posisi Akhir adalah - 1
5. Jika Data lebih kecil dengan data yang dicari, maka posisi Awal adalah + 1
6. Jika data sama, berarti ketemu.
8
Berikut ini Program C++ Interpolation Search
#include <iostream>
#include <conio.h>
#include <iomanip>
int main() {
int data[10];
int x;
int cari_data, posisi, awal, akhir, proses;
bool berhenti = false;
cout<<" I N T E R P O L A T I O N \n";
cout<<" SEARCH \n";
cout<<"==============================\n";
cout<<"Masukan jumlah data : ";
cin>>x;
cout<<"input data :"<<endl;
for (int i=0;i<x;i++)
{
cin>>data[i];
}
cout<<"Data: ";
for(int i = 0; i<x; i++)
cout<<setw(28)<<data[i];
cout<<endl<<endl;
awal = 0;
9
akhir = x-6;
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 indeks 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;
}
Output
'INTERPOLATION SEARCH'
=====================
10
15
19
28
31
Data : 12 14 15 19 21 28 31
Data yang dicari : 28
Data 28 pada posisi indeks ke-5
Proses Pencarian Sebanyak 1
11
BAB 3
PENUTUP
3.1 Kesimpulan
Algoritma Pencarian adalah algoritma yang menerima sebuah argumen kunci dan
langkah-langkah tertentu akan mencari data yang disimpan dengan kunci tersebut. Setelah
proses dilaksanakan, kemungkinannya adalah data ditemukan (successful) atau tidak
ditemukan (unsuccessful).
Algoritma Binary Search adalah algoritma pencarian nilai pada array/list dengan
elemen yang terurut. Algoritma ini digunakan untuk mencari elemen tertentu pada array/list
dengan elemen yang berurutan yang mana elemen yang berada di dalam array harus diurutkan
terlebih dahulu.
3.2 Saran
Demikianlah yang dapat kami sampaikan mengenai materi yang menjadi bahasan
dalam makalah ini, tentunya banyak kekurangan dan kelemahan kerena terbatasnya
pengetahuan kurangnya rujukan atau referensi yang kami peroleh hubungannya dengan
makalah ini. Penulis banyak berharap kepada para pembaca memberikan kritik dan saran yang
membangun kepada kami demi sempurnanya makalah ini. Semoga makalah ini dapat
bermanfaat bagi penulis dan para pembaca
12
DAFTAR PUSTAKA
Rahadian Ilham, (2021), Mengenal Algoritma Pencarian (searching) dan Implementasinya, sumber:
https://www.ilmusekolahan.com/2021/04/algoritma-pencarian-dan-implementasinya.html
Paul Deitel & Harvey Deitel, (2016), C how to program : with an introduction to C++. United States
13