Pendahuluan
1.1 Latar Belakang
Artificial Intelligence atau kecerdasan buatan adalah kecerdasan yang ditambahkan
kepada suatu sistem yang bisa diatur dan dapat menafsirkan data eksternal dengan benar,
untuk belajar dari data tersebut, dan menggunakan pembelajaran tersebut guna mencapai
tujuan dan tugas tertentu melalui adaptasi yang fleksibel
Kecerdasan Buatan memiliki suatu metode pencarian yang biasanya dikelompokkan
menjadi 2, yaitu pencarian buta yang adalah pencarian yang tidak menggunakan informasi
awal dalam melakukan pencarian dan pencarian heuristik yang memiliki informasi awal pada
saat pencarian. Kedua pencarian ini memiliki karakteristiknya masing-masing.
Pembahasan
2.1 Pengertian Kecerdasan Buatan
A. Kecerdasan Buatan
Kecerdasan buatan adalah kecerdasan yang ditambahkan kepada suatu sistem yang bisa
diatur dalam konteks ilmiah atau bisa disebut juga intelegensi artifisial (bahasa Inggris: Artificial
Intelligence) atau hanya disingkat AI, didefinisikan sebagai kecerdasan entitas ilmiah. Andreas
Kaplan dan Michael Haenlein mendefinisikan kecerdasan buatan sebagai “kemampuan sistem
untuk menafsirkan data eksternal dengan benar, untuk belajar dari data tersebut, dan
menggunakan pembelajaran tersebut guna mencapai tujuan dan tugas tertentu melalui adaptasi
yang fleksibel”. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan
dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang
dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara
lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan saraf tiruan dan robotika.
2.2 Pencarian
A. Pengertian
Searching di dalam AI (Artificial Intelligence) adalah salah satu metode penyelesaian
masalah dengan pencarian solusi pada suatu permasalahan yang dihadapi.
Teknik searching terbagi menjadi dua, yaitu :
1. Blind Searching (Pencarian Buta)
2. Heuristic Searching (Pencarian Heuristik)
A. Pencarian Buta
Blind searching adalah model pencarian buta atau pencarian yang tidak memiliki
informasi awal , pencarian buta memiliki beberapa metode yaitu :
1.Breadth First-Search
Pencarian dengan Breadth First Search menggunakan teknik dimana langkah pertamanya
adalah root node diekspansi, setelah itu dilanjutkan semua successor dari root node juga di-
expand. Hal ini terus dilakukan berulang-ulang hingga leaf (node pada level paling bawah yang
sudah tidak mempunyai successor lagi).
Sy = Sayuran digambarkan.
Sg = Serigala
TUJUAN
KEADAAN AWAL
Daerah Asal = (0, 0, 0, 0)
Daerah Asal = (P, Sy, K, Sg)
Daerah seberang = (P, Sy, K, Sg)
Daerah seberang = (0, 0, 0, 0)
ALGORITMA
Masukkan simpul
akar ke dalam
antrian Q. Jika simpul
akar = simpul solusi
(goal node), maka
stop.
Jika Q kosong, tidak
ada solusi. Stop.
Ambil simpul v dari
kepala (head) antrian,
bangkitkan semua
anak-anaknya. Jika v tidak mempunyai anak lagi, kembali ke langkah 2. Tempatkan semua anak
dari v di belakang antrian.
Jika suatu simpul anak dari v adalah simpul solusi, maka solusi telah ditemukan, kalau tidak
kembali lagi ke langkah 2.
2. Depth-First Search
Teknik pencarian dengan Depth First Search adalah dengan melakukan ekspansi menuju
node yang paling dalam pada tree. Node paling dalam dicirikan dengan tidak adanya successor
dari node itu. Setelah node itu selesai diekspansi, maka node tersebut akan ditinggalkan, dan
dilakukan ke node paling dalam lainnya yang masih memiliki successor yang belum diekspansi.
Pencarian menggunakan DFS akan
berlanjut terus sampai kedalaman paling
terakhir dari tree. Permasalahan yang muncul
pada DFS adalah ketika proses pencarian
tersebut menemui infinite state space. Hal ini
bisa diatasi dengan menginisiasikan batas
depth pada level tertentu semenjak awal
pencarian. Sehingga node pada level depth
tersebut akan diperlakukan seolah-olah
mereka tidak memiliki successor.
Algoritma
o Masukkan simpul root ke dalam tumpukan dengan push
o Ambil dan simpan isi elemen (berupa simpul pohon) dari
tumpukan teratas
o Hapus isi stack teratas dengan prosedur pop
o Periksa apakah simpul pohon yang disimpan tadi memiliki anak
simpul
o Jika ya, push semua anak simpul yang dibangkitkan ke dalam stack
o Jika tumpukan kosong berhenti, tapi jika tidak kembali ke langkah
dua
Kelebihan dan Kekurangan
Kelebihan
Membutuhkan memori yang relatif kecil, karena hanya node-node pada lintasan yang
aktif yang di simpan.
Secara kebetulan, metode Depth First Search akan menemukan solusi tanpa harus
menguji lebih banyak lagi dalam ruang keadaan.
Kekurangan
Jika pohon yang dibangkitkan mempunyai level yang dalam (tak terhingga), maka tidak
ada jaminan untuk menemukan solusi (Tidak Complete).
Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda,
maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik (Tidak
Optimal).
Studi Kasus
Pada suatu hari ada seorang petani yang mempunyai seekor
kambing dan srigala.Pada saat itu ia baru saja panen sayuran.
Karena membutuhkan uang, petani tersebut hendak menjual kambing,
serigala, dan sayurannya ke pasar Johar. Untuk sampai di pasar Johar,
ia harus menyeberangi sebuah sungai.
masalahannya adalah di sungai itu hanya tersedia satu perahu saja
yang bisa memuat petani dan satu penumpang lainnya (kambing, srigala,
atau sayuran). Jika ditinggalkan oleh petani tersebut, maka sayuran akan
dimakan oleh kambing dan kambing akan dimakan oleh serigala
Sy = Sayuran digambarkan.
Sg = Serigala TUJUAN
Daerah Asal = (0, 0, 0, 0)
Daerah seberang = (P, Sy, K, Sg)
KEADAAN AWAL
Daerah Asal = (P, Sy, K, Sg)
Daerah seberang = (0, 0, 0, 0)
ALGORITMA
Masukkan simpul akar ke dalam antrian Q. Jika simpul akar = simpul
solusi, maka stop.
Jika Q kosong, tidak ada solusi. Stop.
Ambil simpul v dari kepala (head) antrian. Jika kedalaman simpul v
sama dengan batas kedalaman maksimum, kembali ke langkah 2
Bangkitkan semua anak dari simpul v. Jika v tidak mempunyai anak
lagi, kembali ke langkah 2. Tempatkan semua anak dari v di awal
antrian Q. Jika anak dari simpul v adalah simpul tujuan, berarti solusi
telah ditemukan, kalau tidak, kembali lagi ke langkah 2.
3.Depth Limited Search
Jika Algoritma DFS (Depth First Search) melakukan perhitungan (yang dimulai
dengan titik terakhir) dengan cara menghabiskan semua tingkatan / kedalaman dari
sebuah titik, maka algoritma ini memiliki batasan dimana perhitungan pada sebuah titik
hanya dihitung sampai pada kedalaman tertentu. Setelah semua kemungkinan pada
kedalaman itu sudah habis, kemudian akan dilanjutkan pada titik berikutnya.
o Algoritma
Tetapkan node awal dengan kedalaman = 0 dan tentukan batas
kedalam
Cek apakah node adalah node tujuan. Jika benar maka proses berhenti,
jika tidak maka lanjut ke langkah c.
Cek apakah kedalam node sama dengan batas kedalaman yang telah
ditentukan. Jika benar, maka lanjutkan proses dengan menelusur hanya
node-node yang berada dalam batas kedalaman yang telah ditentukan
dan belum dikunjungi dengan kembali kelangkah 2. Jika tidak maka
lanjutkan ke langkah 4.
Perluas node dan kembali ke langkah 2.
o Kelebihan
Pemakaian memori hanya sedikit, berbeda jauh dengan BFS yang
harus menyimpan semua node yang pernah dibangkitkan.
Jika solusi yang dicari berada pada level yang dalam dan paling kiri,
maka DFS akan menemukannya secara cepat.
Pencarian lebih efektif karena adanya batas
o Kekurangan
o Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level
yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan
solusi yang paling baik (Tidak Optimal).
o Jika batasan kedalaman terlalu kecil, DLS tidak dapat juga
menemukan solusi yg ada. Artinya DLS bisa menjadi tidak complete
jika batasan kedalamannya lebih kecil dibandingkan dgn level
solusinya.
o Studi Kasus
Pada suatu hari ada mahasiswa SD N 08 Tombariri ingin pergi ke kelas F. Mahasiswa tersebut
memulai tujuan dia ke kelas F dari kelas S. Buatlah dengan menggunakan Depth First Search
supaya mahasiswa tersebut bisa sempai ke kelas F
INITIAL STATE: S
STATE GOAL : F
HASIL: S-A-B-F
KETERANGAN :
Dimulai dari root node (S) selanjutnya berpindah ke cabang (child) pertamanya (paling kiri)
yaitu node A, lalu berpindah ke cabang pertama yang dimiliki node yaitu node S. Karena node S
tidak memilki child maka berpindah ke child selanjtnya dari node A yaitu B, lalu berpindah ke
child pertama cabang B yaitu S, karena node S tidak memiliki child maka berpindah ke child
kedua miilik node B yaitu A, dan karena node A juga tidak memiliki child maka berpindah ke
node ketiga cabang milik B yaitu F, karena kita telah menemukan state goal yaitu node F, maka
search berhenti dan mengembalikkan hasil S-A-B-F.
4.Uniform Cost Search
Uniform Cost Search adalah algoritma Seach Tree (graph) yang digunakan untuk
menyelesaikan beberapa persoalan . Algoritma ini memulai pencarian dari root node,
kemudian dilanjutkan ke node-node selanjutnya. Dimana node tersebut dipilih yang
memilki harga (cost) terkecil dari root node. Algoritma ini merupakan modifikasi dari
Bread First Search (BFS).
Algoritma
o initial state terletak pada node start,
o Pilih node dengan biaya terkecil
o Begitu seterusnya, dilakukan pengecekan node yang memilki harga
terkecil hingga sampai pada goal state.
catatan : Dalam menggunakan UCS memiliki syarat yang harus
dipenuhi agar bisa optimal dan complete, yaitu g(SUCCESSOR(n))
>= g(n) untuk setiap node N.
Kelebihan dan Kekurangan
o Kelebihan
Karena memiliki konsep seperti BFS maka UCS menjamin
ditemukannya solusi dan solusi yang ditemukannya selalu
solusi yang terbaik dalam kata lain UCS merupakan
pencarian yang complete dan optimal.
Sangat cocok digunakan bila tidak menggunakan heuristik.
karena butuh completeness dalam menemukan setiap solusi.
o Kekurangan
Memiliki syarat yang harus dipenuhi agar bisa complete
dan optimal.
Memiliki kompleksitas waktu dan ruang yang banyak
karena memakai konsep BFS. Komplesitas nya yaitu
O(b^d).
Studi Kasus
Apabila diberikan kondisi tree seperti gambar di atas, dimana biaya lintasan (path), dan
nilai prediksi/estimasi sudah diberikan, maka kita dapat melakukan simulasi proses ekspansi
node untuk algoritma Uniform Cost Search, Greedy Best First Search, dan A* Search.
Jawab:
Proses ekspansi pada Uniform Cost Search dihitung berdasarkan nilai lintasan g(n) sehingga
proses akan berjalan sebagai berikut:
Proses eksplorasi node dimulai dari S sebagai initial state. Eksplorasi node dari S akan menuju
ke A, C, K sebagai successornya. Pada simulasi eksplorasi di atas, untuk mempermudah proses
eksplorasi maka dituliskan dengan C, A, K karena urutannya dituliskan secara ascending dari
nilai g(n) terkecil sehingga akan dihasilkan urutan node yang akan dieksplorasi selanjutnya. Pada
eksplorasi node selanjutnya, nilai g(n) diakumulasikan dari node awal sampai pada node current
yang baru dieksplorasikan.
Jadi, dari proses di atas, maka dihasilkan jumlah ekspansi node sebanyak 10 kali, dan path yang
dilalui dengan menggunakan algoritma Uniform Cost Search adalah S-C-D-E-F-G.
B. Pencarian Heuristik
Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namum
dengan kemungkinan mengorbankan kelengkapan (completeness). Fungsi heuristik digunakan untuk
mengevaluasi keadaankeadaan problema individual dan menentukan seberapa jauh hal tersebut dapat
digunakan untuk mendapatkan solusi yang diinginkan. Pencarian heuristik terdiri atas :
Metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur
(backtracking), yaitu bergerak ke belakang menuju suatu keadaan awal. Nilai Pengujian berupa jawaban
baik berupa ‘ya’ atau ‘tidak’.
Kelebihan
Jika solusi dikerjakan secara sistematis maka prosedur ini menjamin
akan ditemukannya solusi
• Kelemahan
– Perlu membangkitkan semua kemungkinan
sebelum dilakukan pengujian
– Membutuhkan waktu yang cukup lama dalam
pencariannya
Algoritma:
– Bangkitkan suatu kemungkinan solusi (membangkitkan
suatu titik tertentu atau lintasan tertentu dari keadaan awal).
– Uji untuk melihat apakah node tersebut benar-benar
merupakan solusinya dengan cara membandingkan node
tersebut atau node akhir dari suatu lintasan yang dipilih
dengan kumpulan tujuan yang diharapkan.
– Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali
langkah yang pertama.
Studi Kasus
“Travelling Salesman Problem (TSP)” Seorang salesman ingin mengunjungi n kota. Jarak antara
tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip kota hanya
boleh dikkunjungi tepat 1 kal i. Misalkan ada 4 kota dengan jarak antara tiap-tiap kota seperti
gambar di bawah ini:
Penyelesaian dengan metode Generate and Test Di
bawah ini
2. Hill Climbing
Metode ini hampir sama dengan metode pembangkitan & pengujian, hanya saja proses
pengujian dilakukan dengan menggunakan fungsi heuristik. Pembangkitan keadaan berikutnya
sangat 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.
Kelebihan
Pada metode Breadth First Search pencarian akan berhenti bila solusi atau node
tujuan ditemukan, tanpa harus membandingkan lagi dengan node-node yang lain.
Metode Hill Climbing proses pencarian lebih mudah karena proses pencarian
selalu mendekati tujuan.
Kelemahan
Pada metode Breadth First Search node yang dikunjungi tidak bisa langsung ke tujuan,
harus melalui level demi level sampai ditemukannya tujuan.
Pada metode Hill Climbing bila ditemukannya satu solusi, kita harus mencari solusi yang
lain untuk dibandingkan, karena kita harus mencari node awal yang dekat dengan node
tujuan.
Algoritma
-Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka berhenti; dan
jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan awal.
– Kerjakan langkah-langkah berikut sampai solusinya ditemukan, atau sampai tidak ada
operator baru yang akan diaplikasikan pada keadaan sekarang:
• Cari operator yang belum pernah digunakan; gunakan operator ini untuk mendapatkan
keadaan yang baru.
• Evaluasi keadaan baru tersebut.
• Jika keadaan baru merupakan tujuan, keluar.
• 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.
Solusi
Best First search merupakan metode yang menggunakan
nilai heuristic, pada permasalahan ini heuristik yang
digunakan adalah jarak kota-kota terhadap kota Bucharest
jika ditarik garis lurus yang jaraknya seperti yang tertera di
atas dengan asumsi kota terhubung yang letaknya paling
dekat dengan kota Bucharest adalah jalan yang paling
optimal.
Diagram pohon langkah-langkah penelusuran dengan
metode Best First Search adalah sebagai berikut :
Dari Langkah-langkah di atas, didapatkan kota-kota yang
harus dilalui untuk mendapatkan jalan yang paling dekat
jaraknya dari Arad ke Bucharest dengan metode Best First
Search adalah : Arad – Sibiu – Fagaras – Bucharest. Dari
= 450 km.
4.A*
Penutup
A. Kesimpulan
Kecerdasan buatan memiliki 2 jenis metode pencarian, yaitu pencarian buta yaitu
pencarian tanpa informasi awal dan pencarian heuristic yaitu pencarian dengan informasi
awal. Pencarian buta terdiri atas breadth first search, depth first search, depth limit search,
dan uniform cost search. Dan pencarian heuristic terdiri atas generate & test, hill
climbing (SHC dan SAHC), best first search dan algoritma A*. metode pencarian ini
dikembangkan untuk memudahkan penggunaan dan pengembangan kecerdasan buatan.
Daftar Pustaka
https://id.wikipedia.org/wiki/Kecerdasan_buatan
http://azizmusyaffaa.blogspot.com/2016/10/breadth-first-search-depth-first-
search.html
http://pengantar-kecerdasan-buatan.blogspot.com/2016/02/uniform-cost-search-
ucs.html
http://radenrakha.blogspot.com/2014/02/pengertian-informed-dan-
uninformed.html
https://arafarra17.blogspot.com/2017/12/metode-metode-pencarian-dalam.html
http://ai1004-kecerdasanbuatan.blogspot.com/
http://yogaramadhans.blogspot.com/2017/10/metode-pencarian-heuristic-hill.html
https://bilferruccio12.wordpress.com/2017/10/22/perbandingan-metode-
pencarian-best-first-search-dan-hill-climbing/
http://elektrojoker13unc.blogspot.com/2017/12/makalah-kecerdasan-buatan-
metode.html
Pengantarkecerdasanbuatan. (1970, January 1). Uniform Cost Search (UCS).
Retrieved from http://pengantar-kecerdasan-
buatan.blogspot.com/2016/02/uniform-cost-search-ucs.html
Contoh Kasus Best First Seach. (2017, November 14). Retrieved from
http://mudahalgoritma.blogspot.com/2017/11/contoh-kasus-permasalahan-
mencari-jarak.html
Admin. (2019, January 14). Pengertian dan Penerapan Metode Best First Search.
Retrieved from https://garudacyber.co.id/artikel/1541-pengertian-dan-penerapan-
metode-best-first-search
Sidera, Z. (1970, January 1). Metode Pencarian dan Pelacakan. Retrieved from
http://buatugasai.blogspot.com/2013/04/metode-pencarian-dan-pelacakan_4.html
Pencarian Heuristik (Heuristic Search) - kecerdasan buatan. (n.d.). Retrieved from
http://fryunfirst.blogspot.com/2015/06/pencarian-heuristik-heuristic-search.html
Admin. (2019, January 14). Pengertian dan Penerapan Metode Best First Search.
Retrieved from https://garudacyber.co.id/artikel/1541-pengertian-dan-penerapan-
metode-best-first-search
Unknown. (1970, January 1). Algoritma A* (A Star / A Bintang) Algoritma.
Retrieved from http://jeyegzcorner.blogspot.com/2014/07/algoritma-a-star-
bintang-algoritma.html