Metode pencarian dalam AI terbagi menjadi blind searching dan heuristic searching. Blind searching meliputi BFS dan DFS sedangkan heuristic searching meliputi generate and test, hill climbing, dan best first search. Ketiga metode heuristic searching lebih optimal hasilnya dibanding blind searching karena memanfaatkan informasi heuristik.
1. METODE SEARCHING
DALAM ARTIFICIAL INTELLIGENCE
DISUSUN OLEH
MUHAMMAD IRFAN
NIM : TE01801033
UNIVERSITAS TEKNOLOGI SULAWESI
FAKULTAS TEKNIK
PRODI TEKNIK ELEKTRO
Tahun 2020
2. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 1
PEMBAHASAN
A. Metode pencarian dalam AI
Pencarian (searching) merupakan proses fundamental dalam pengelolaan data. Proses
pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe
sama (baik bertipe dasar atau bertipe bentukan).Searching di dalam AI (Artificial Intelligence)
adalah salah satu motode penyelesaian masalah dengan pencarian solusi pada suatu
permasalahan yang dihadapi. Teknik searching sendiri terbagi menjadi Blind searching dan
Heuristic searching.
1. Blind Searching
Blind Search atau Uninformed Search secara umum mengartikan bahwa saat proses
pencarian kita tidak memiliki clue/hint apakah hasil yang ditemukan lebih baik daripada yang
lainnya, sehingga kita tidak mengetahui apakah hasil dari eksplorasi tersebut bermanfaat
secara maksimal atau tidak.
Search Space (ruang pencarian) dieksplorasi tanpa memanfaatkan apapuun informasi
yang menyangkut pada masalah maka dari itu digunakan istilah blind search atau naive
search, dan karena metode ini masih sangat umum maka hasil yang didapat secara instrinsik
kurang efisien. Model pencarian ini memiliki tiga ciri – ciri utama yaitu:
Membangkitkan simpul berdasarkan urutan
Kalau ada solusi maka solusi akan ditemukan
Hanya memiliki informasi tentang node yang telah dibuka (node selanjutnya tidak
diketahui).
Ada banyak metode yang digunakan pada blind searching, namun pada kali ini yang
akan dibahas adalah metode BFS (Breadth First Search) dan DFS (Depth-first Search).
Karena kedua metode tersebut merupakan metode blind searching yang paling sering
digunakan
a. BFS (Breadth First Search)
Breadth-first search adalah algoritma yang melakukan pencarian secara melebar yang
mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi
3. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 2
semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul
yang belum dikunjungi dan bertetangga dengan simpul-simpul yang tadi dikunjungi,
demikian seterusnya. Jika graf berbentuk pohon berakar, maka semua simpul pada aras d
dikunjungi lebih dahulu sebelum simpul-simpul pada aras d+1.
Algoritma ini memerlukan sebuah antrian q untuk menyimpan simpul yang telah
dikunjungi. Simpul-simpul ini diperlukan sebagai acuan untuk mengunjungi simpul-simpul
yang bertetanggaan dengannya. Tiap simpul yang telah dikunjungu masuk ke dalam antrian
hanya satu kali. Algoritma ini juga membutuhkan table Boolean untuk menyimpan simpul
yang telah dikunjungi sehingga tidak ada simpul yang dikunjungi lebih dari satu kali.
Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu
antrian. Antrian ini digunakan untuk mengacu simpul-simpul yang bertetangga dengannya
yang akan dikunjungi kemudian sesuai urutan pengantrian. Untuk memperjelas cara kerja
algoritma BFS beserta antrian yang digunakannya, berikut langkah-langkah algoritma BFS:
1) Masukkan simpul ujung (akar) ke dalam antrian.
2) Ambil simpul dari awal antrian, lalu cek apakah simpul merupakan solusi.
3) Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan..
4) Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul
tersebut (simpul anak) ke dalam antrian.
5) Jika antrian kosong dan setiap simpul sudah dicek, pencarian selesai dan
mengembalikan hasil solusi tidak ditemukan.
6) Ulangi pencarian dari langkah kedua.
Contoh Metode Pencarian BFS (Breadth First Search)
4. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 3
Maka penyelesaiannya adalah:
Gambar (a) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1.
Gambar (b) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1
Gambar (c) BFS(1): 1, 2, 3, 4, 5, 6, 7, 8, 9
b. DFS (Depth First Search)
DFS (Depth First Search) adalah salah satu algoritma penelusuran struktur graf /
pohon berdasarkan kedalaman. Simpul ditelusuri dari root kemudian ke salah satu simpul
anaknya ( misalnya prioritas penelusuran berdasarkan anak pertama [simpul sebelah kiri] ),
maka penelusuran dilakukan terus melalui simpul anak pertama dari simpul anak pertama
level sebelumnya hingga mencapai level terdalam. Setelah sampai di level terdalam,
penelusuran akan kembali ke 1 level sebelumnya untuk menelusuri simpul anak kedua pada
pohon biner (simpul sebelah kanan) lalu kembali ke langkah sebelumnya dengan menelusuri
simpul anak pertama lagi sampai level terdalam danseterusnya.
Dalam implementasinya DFS dapat diselesaikan dengan cara rekursif atau dengan
bantuan struktur data stack. Untuk memperjelas cara kerja algoritma DFS beserta antrian
yang digunakannya, berikut langkah-langkah algoritma DFS:
1) Masukkan simpul root ke dalam tumpukan dengan push.
2) Ambil dan simpan isi elemen (berupa simpul pohon) dari tumpukan teratas.
3) Hapus isi stack teratas dengan prosedur pop.
4) Periksa apakah simpul pohon yang disimpan tadi memiliki anak simpul.
5) Jika ya, push semua anak simpul yang dibangkitkan ke dalam stack.
6) Jika tumpukan kosong berhenti, tapi jika tidak kembali ke langkah dua.
Contoh Metode Pencarian BFS (Depth first search)
5. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 4
Maka penyelesaiannya adalah:
Gambar (a) DFS(1): 1, 2, 4, 8, 5, 6, 3, 7
Gambar (b) DFS(1): 1, 2, 3, 6, 8, 4, 5, 7
Gambar (c) DFS(1): 1, 2, 5, 8, 9, 6, 3, 7, 4
2. Heuristic Searching
Pencarian heuristik adalah teknik pencarian AI yang menggunakan heuristik untuk
pergerakannya (berpindah). Heuristik sendiri merupakan aturan praktis yang mungkin
mengarah pada solusi. Heuristik membantu mengurangi jumlah alternatif dari bilangan
eksponensial menjadi bilangan polinomial. Secara umum, istilah heuristik digunakan untuk
saran yang sering efektif, namun tidak dalam setiap kasus. Dalam pencarian heuristik setiap
state diberi sebuah “heuristic value “(h-value) yang digunakan pencarian dalam memilih
langkah terbaik selanjutnya.
Ada banyak metode yang digunakan pada heuristic searching, namun pada kali ini
yang akan dibahas adalah metode Generate and Test, Hill Climbing dan Best First Search.
Karena ketiga metode tersebut adalah metode Heursistic Searching yang paling sering
digunakan dan paling optimal hasilnya.
a. Pembangkit dan Pengujian (generate & test)
Metode ini merupakan penggabungan antara depth first search dengan pelacakan mundur
(backtracking), yaitu bergerak kebelakang menuju pada suatu keadaan awal.
6. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 5
Algoritma:
1) Bangkitkan suatu kemungkinan solusi(membangkitkan suatu tititk tertentu atau
lintasan
2) tertentu dari keadaan awal).
3) Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara
4) membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan
5) kumpulan tujuan yang diharapkan.
6) Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.
Contoh Kasus :
Seorang salesman ingin mengunjungi n kota. Jarak tiap kota sdh diket.Kita ingin mengetahui
rute terpendek dimana setiap kota hanya boleh dikunjungi 1 kali. Misal ada 4 kota dg jarak
sbb:
Penyelesaian
7. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 6
b. Pendakian Bukit (Hill Climbing)
Metode ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja
proses pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan
berikutnya tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi
heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap
keadaan-keadaan lainnya yang mungkin.
1) Simple Hill Climbing
Hill Climbing (mendaki bukit) merupakan salah satu variasi metode buat dan uji
(generate and test) dimana umpan balik yang berasal dari prosedur uji digunakan untuk
memutuskan arah gerak dalam ruang pencarian (search).
Dalam prosedur buat dan uji yang murni, respon fungsi uji hanyalah ya atau tidak. Dalam
prosedur Hill Climbing, fungsi uji dikombinasikan dengan fungsi heuristik yang
menyediakan pengukuran kedekatan suatu keadaan yang diberikan dengan tujuan (goal).
Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan
keadaan yang baru.
a) Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada
operator baru yang akan diaplikasikan pada keadaan sekarang : Cari operator yang
belum digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.
b) Evaluasi keadaan baru tersebut :
Jika keadaan baru merupakan tujuan, keluar
8. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 7
Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka
jadikan keadaan baru tersebut menjadi keadaan sekarang.
Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan
iterasi.
2) Steepest – Ascent HC
Tentukan SUCC sebagai nilai heuristik terbaik dari successor-successor
Kerjakan tiap operator yang digunakan oleh keadaan sekarang.
o Gunakan operator tersebut dan bentuk keadan baru
o Evaluasi keadaan baru. Jika tujuan keluar, jika bukan bandingkan nilai
heuristiknya dengan SUCC. Jika lebih baik jadikan nilai heuristik keadaan
baru tersebut sebagai SUCC. Jika tidak, nilai SUCC tidak berubah.
Jika SUCC lebih baik dari nilai heuristik keadaan sekarang, ubah SUCC menjadi
keadaan sekarang. Algoritma Steepet-Ascent HC
Contoh kasus: TSP dengan Simple Hill Climbing Disini ruang keadaan berisi semua
kemungkinan lintasan yang mungkin. Operator digunakan untuk menukar posisi kota-kota
yang bersebelahan. Apabila ada n kota, dan kita ingin mencari kombinasi lintasan dengan
menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak n!/2!(n-2)! atau
sebanyak 6 kombinasi. Fungsi heuristic yang digunakan adalah panjang lintasan yang terjadi.
9. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 8
c. Best-First Search
Pencarian terbaik pertama (Best First Search) merupakan suatu cara yang
menggabungkan keuntungan atau kelebihan dari pencarian Breadth-First Search dan Depth-
First Search. Pada setiap langkah proses pencarian terbaik pertama, kita memilih node-node
dengan menerapkan fungsi heuristik yang memadai pada setiap node/simpul yang kita pilih
dengan menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya.
Terdapat dua jenis algoritma Best-First Search, yaitu:
1) Greedy Best_-First Search yang hanya memperhitungkan biaya perkiraan saja
f(n)=h(n)
2) Algoritma A* yang memperhitungkan gabuangan dua biaya, biaya sebenarnya dan
biaya perkiraan. A*=f(n)=g(n)+h(n)
Ket :
g(n) = biaya sebenarnya untuk mencapai simpul n
h(n) = perkiraan biaya dari simpul n ke goal.
f(n) = perkiraan total biaya jalur yang melalui simpul n ke goal.
Algoritma Best-First Search
a) OPEN berisi initial state dan CLOSED masih kosong.
b) Ulang sampai goal ditemukan atau sampai tidak ada nodes di dalam OPEN :
Ambil simpul terbaik yang ada di OPEN
Jika simpul tersebut sama dengan goal, maka sukses
Jika tidak, masukkan simpul tersebut ke dalam CLOSED
Bangkitkan semua suksesor dari simpul tersebut
Untuk setiap suksesor kerjakan :
o Jika suksesor tersebut belum pernah dibangkitkan, evaluasi suksesor tersebut,
tambahkan ke OPEN, dan catat parent atau orang tuanya.
o Jika suksesor tersebut sudah pernah dibangkitkan, ubah parentnya jika jalur
melalui parent ini lebih baik daripada jalur melalui parent yang sebelumnya.
Selanjutnya, perbarui biaya untuk suksesor tersebut dan nodes lain yang
berada di level bawahnya.
10. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 9
Contoh kasus:
Misalkan kita memiliki ruang pencarian seperti pada gambar berikut. Node M merupakan
keadaan awal dan node T merupakan tujuannya. Biaya edge yang menghubungkan node M
dengannode A adalah biaya yang dikeluarkan untuk bergerak dari kota M ke kota A. Nilai g
diperoleh berdasarkan biaya edge minimal. Sedangkan nilai h’ di node A merupakan hasil
perkiraan terhadap biaya yang diperlukan dari node A untuk sampai ke tujuan. h’(n) bernilai
~ jika sudah jelas tidak ada hubungan antara node n dengan node tujuan (jalan buntu). Kita
bisa merunut nilai untuk setiap node.
11. ARTIFICIAL INTELLIGENCE[ ] May 7, 2020
Metode searching Page 10
DAFTAR PUSTAKA
http://informatika.stei.itb.ac.id/~rinaldi.munir/stmik/2006-2007/bfs%20dan%20dfs.pdf
(diakses 5 mei 2020)
https://syifamss.wordpress.com/2017/12/08/metode-pencarian-buta-blind-search-metode-
pencarian-heuristik/ (diakses pasa 6 mei 2020)
http://eprints.dinus.ac.id/14269/1/slide_13b.pdf (diakses pasa 6 mei 2020)
https://socs.binus.ac.id/2017/08/24/searching-uniform-cost-search/ (diakses pasa 6 mei 2020)
https://theartificialintellegence.blogspot.com/ (diakses pasa 6 mei 2020)
Near, Rohis. 2013. Teknik searching di https://najibzot.blogspot.com/p/teknik-searching-
kecerdasan-buatan-di.html (diakses 5 mei 2020)
Prayogi, shabri. 2013. Teknik pencarian heuristik (heuristic search) di https://shabri-
prayogi.blogspot.com/2013/08/teknik-pencarian-heuristik-heuristic.html?m=1 (diakses pasa 6
mei 2020)
Sipayung, Sandy. 2015. Metode heuristik di
https://www.academia.edu/31853004/metode_heuristic (diakses pasa 6 mei 2020)