Disusun oleh :
S1 TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SEMARANG SEMARANG
2020
DAFTAR ISI
KATA PENGANTAR
BAB I PENDAHULUAN
1.1 Latar Belakang
1.2 Batasan Masalah
1.3 Tujuan
1.4 Metodologi Penulisan
BAB II PEMBAHASAN
2.1 Pencarian Buta
2.2 Pencarian Heuristik
2.3 Kanibal
2.4 Menara Hanoi
2.5 Sudoku
DAFTAR PUSTAKA
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Maha Esa karena berkat dan rahmatnya,
penulis dapat menyusun dan menyajikan makalah “ Kecerdasan Buatan – Metode
Pencarian Buta (Blind Search) Dan Pencarian Heuristik ”. Penulis juga
mengucapkan terima kasih kepada dosen mata kuliah kecerdasan buatan yang telah
memberikan bimbingannya dalam proses penyusunan makalah ini. Tak lupa penulis
mengucapkan terima kasih kepada berbagai pihak yang telah memberikan dorongan
dan motivasi.
Penulis juga memohon maaf apabila dalam penulisan makalah ini terdapat
kesalahan pengetikan dan kekeliruan sehingga membingungkan pembaca dalam
memahami maksud penulis.
1.3 Tujuan
Tujuan dibuatnya makalah ini adalah :
a. Mahasiswa mampu memahami tentang metode oencarian buta (blind
search) dan pencarian heuristic
b. Mahasiswa mampu menganalisa metode yang digunakan dalam kasus
teka teki Menara Hanoi, sudoku dan kanibal
Jika siklus yang disajikan dalam graf lalu DFS melakukan eksplorasi terhadap siklus
berulang(tidak ada batas). Jika tidak terdapat siklus, maka algoritma komplit. Efek
siklus dapat dibatasi dengan memaksakan kedalaman pencarian yang maksimal(namun
algoritma tetap tidak komplit).
Heuristik dapat digunakan pada beberapa kondisi berikut ini (Siswanto, 2010):
· Mengatasi combinatorial explosion. Ada masalah yang kemungkinan arah
penyelesaiannya berkembang pesat (bersifat faktorial) sehingga
menimbulkan combinatorial explosion. Heuristik merupakan cara untuk menentukan
kemungkinan arah penyelesaian masalah secara efisien.
·
Solusi paling optimal mungkin tidak diperlukan.Dalam suatu keadaan,
mungkin lebih baik mendapatkan solusi yang mendekati optimal dalam waktu yang
singkat daripada solusi yang paling optimal dalam waktu yang lama.
·
Pada umumnya hasilnya cukup baik. Sekalipun tidak optimal, tetapi biasanya
mendekati optimal. Membantu pemahaman bagi orang yang menyelesaikan persoalan.
· Banyak alternatif heuristik yang dapat diterapkan dalam suatu percobaan.
Orang yang menyelesaikan persoalan tersebut akan lebih mengerti persoalannya jika
mencoba heuristik yang diterapkannya.
Salah satu contoh dari heuristik yang baik untuk tujuan umum yang berguna
untuk beragam kombinasi permasalahan adalah the nearest neighbour heuristic, yang
bekerja dengan cara menyeleksi alternatif yang paling tinggi secara lokal pada setiap
langkahnya.
Fungsi heuristik yang dirancang dengan baik dapat berperan dalam sebuah
bagian yang penting untuk memandu secara efisien proses pencarian menuju ke
sebuah solusi. Kadang kala sebuah nilai tinggi dari fungsi heuristik mengindikasikan
sebuah posisi.
Tujuan dari sebuah fungsi heuristik adalah untuk memandu proses pencarian
tujuan yang menguntungkan dengan menganjurkan jalur yang mana yang diikuti
pertama kali ketika tersedia lebih dari satu tujuan. Setelah proses berlangsung, akan
bisa dihitung sebuah fungsi heuristik yang sempurna dengan cara melakukan sebuah
pencarian yang lengkap dari simpul dalam pertanyaan dan menentukan apakah fungsi
ini menuju ke sebuah solusi yang baik.
Sayangnya, seperti semua kaidah penemuan lainnya, heuristik juga dapat salah.
Heuristik hanyalah panduan informasi untuk menebak langkah berikutnya yang harus
diambil dalam menyelesaikan suatu permasalahan, dan sering dilakukan berdasarkan
eksperimen/ percobaan atau secara intuisi. Oleh karena menggunakan informasi yang
terbatas, heuristik jarang dapat memprediksi tingkah laku yang eksak dari ruang
keadaan saat dilakukan pencarian. Heuristik dapat membimbing algoritma pencarian
untuk mendapatkan solusi suboptimal atau gagal menemukan solusi apapun, karena
tidak ada solusi yang dapat menuju keadaan akhir.
Tujuan akhir dari permainan ini adalah memindahkan ketiga manusia dan
ketiga kanibal dari daratan sebelah kanan ke daratan sebelah kiri dengan selamat. Jadi
dibutuhkan perhitungan yang tepat agar jumlah manusia lebih banyak daripada jumlah
kanibal di setiap sisi atau jumlah manusia sama dengan jumlah kanibal di setiap sisi.
Permainan ini terdiri dari tiga tiang dan sejumlah cakram dengan ukuran berbeda-
beda yang bias dimasukkan ke tiang mana saja. Permainan Menara Hanoi dimulai
dengan cakram-cakram yang tertumpuk rapi dari cakram paling besar sampai ke
cakram paling terkecil dalam salah satu tiang, sehingga membentuk kerucut. Objektif
dari permainan Menara Hanoi adalah memindahkan tumpukan n buah cakram
berlubang dari tiang asal ke tiang tujuan dengan memanfaatkan sebuah tiang perantara.
Piringan berukuran tidak sama. Jumlah pemindahan dalam n buah cakram adalah
sebanyak 2n-1 kali.
Permainan Menara Hanoi memiliki beberapa aturan yang harus dipatuhi untuk
menyelesaikan teka-teki dalam melakukan pemindahan cakram harus mengikuti aturan
berikut:
a. Hanya satu cakram yang boleh dipindahkan dalam setiap kali perpindahan.
b. Setiap perpindahan berupa pengambilan cakram teratas dari satu tiang dan
memasukkannya ke tiang lain, di atas cakram lain yang mungkin sudah ada di
tiang tersebut.
c. Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil
1. Kondisi awal dari menara hanoi, terdapat 3 buah cakram yang diberi nama
C1,C2,C3, C1 merupakan cakram yang terbesar dan C3 merupakan cakram
yang paling kecil, berikut gambarnya
2. Pindahkan cakram merah dari tiang-1 ke tiang-3. Aturannya adalah cakram harus
merupakan balok paling atas dari tiang-1 dan cakram merah menempati posisi paling
atas pada tiang-3
3. Pindahkan cakram hitam dari tiang-1 ke tiang-2. Aturannya adalah cakram harus
merupakan cakram paling atas dari tiang-1 dan cakram hitam menempati posisi paling
atas pada tiang-2
4. Pindahkan cakram merah dari tiang-3 ke tiang-2. Aturannya adalah cakram merah
harus merupakan cakram paling atas dari tiang-3 dan cakram merah menempati posisi
paling atas pada tiang-2
5. Pindahkan cakram putih dari tiang-1 ke tiang-3. Aturannya adalah cakram putih
harus merupakan cakram paling atas dari tiang-1 dan cakram putih menempati posisi
paling atas pada tiang-3.
6. Pindahkan cakram merah dari tiang-2 ke tiang-1. Aturannya adalah cakram merah
harus merupakan cakram paling atas dari tiang-2 dan cakram merah menempati posisi
paling atas pada tiang-1
7. Pindahkan cakram hitam dari tiang-2 ke tiang-3. Aturannya adalah cakram hitam
harus merupakan cakram paling atas dari tiang-2 dan cakram hitam menempati posisi
paling atas pada tiang-3.
8. Pindahkan cakram merah dari tiang-1 ke tiang-3. Aturannya adalah cakram merah
harus merupakan cakram paling atas dari tiang-1 dan cakram merah menempati posisi
paling atas pada tiang-3.
Penulusuran
Pada gambar diatas, terlihat bahwa pencarian dimulai dari node akar yang berisi
problema. Pada node akar dilakukan beberapa operasi sehingga didapatkan keadaan-
keadaan baru.
Keadaan-keadaan baru ini direpresentasikan sebagai node anak dari node akar.
Selanjutnya hal yang sama dilakukan untuk node-node yang baru terbentuk hingga
ditemukan solusi.
2.5 Sudoku
Permainan Sudoku adalah permainan yang dapat melatih logika manusia dalam
berpikir cepat dan teliti. Permainan ini tidak bisa sembarang dimainkan, karena bila
bermain dengan sembarangan di awal permainan, tidak bisa menyelesaikan game ini.
Permasalahan puzzle Sudoku sulit untuk dipecahkan karena masuk dalam
permasalahan NP-complete, sehingga tidak bisa diselesaikan dalam waktu yang sama.
Hingga saat ini banyak programmer yang mencari algoritma yang tepat untuk
menyelesaikan puzzle ini.
Cara yang paling gampang adalah algoritma Brute Force yaitu dengan cara
mengenumerasikan semua kemungkinan isi sel dengan angka 1 sampai 9. Tetapi cara
ini tentu saja tidak tepat karena kemungkinannya akan sangat banyak sekali. Karena
itu algoritma ini diperbaiki dengan menambahkan batasan (constraints), yaitu tidak
boleh ada angka yang sama dalam satu baris, kolom atau subgrid. Cara ini bisa
mereduksi jumlah kemungkinan secara signifikan sehingga algoritma menjadi lebih
tepat. Untuk memecahkan teka-teki Sudoku, dapat digunakan algoritma backtracking
(runut-balik). Algoritma ini merupakan perbaikan dari algoritma Brute Force, dimana
solusi dapat ditemukan dengan penelusuran yang lebih sedikit dan dapat mencari solusi
permasalahan secara lebih efektif karena tidak perlu memeriksa semua kemungkinan
solusi yang ada. Hanya pencarian yang mengarah ke solusi saja yang perlu
dipertimbangkan.
1. Kotak-kotak pada setiap baris, kolom, dan blok/ subgrid harus berisi sebuah angka.
2. Angka-angka yang diisikan harus unik dari 1 hingga 9 sehingga dalam 1 blok/
subgrid hanya terdiri atas angka 1-9 yang tidak berulang dan tidak ada angka yang
berulang dalam 1 baris maupun kolom.
Angka-angka ini sebenarnya tidak memiliki hubungan aritmetis satu sama lain.
Anda boleh menggantinya dengan 9 huruf, lambang, atau warna yang berbeda.
Algoritma Umum Backtracking
Algoritma backtracking adalah suatu algoritma yang merupakan perbaikan dari
algoritma brute force, secara sistematis mencari solusi persoalan di antara semua
kemungkinan solusi yang ada(6). Backtracking merupakan bentuk tipikal dari
algoritma rekursif dan berbasis pada DFS dalam mencari solusi yang tepat. Selain itu,
algoritma ini juga merupakan metode yang mencoba-coba beberapa keputusan sampai
kita menemukan salah satu yang ”berjalan”. Kita tidak perlu memeriksa semua
kemungkinan solusi yang ada, tetapi cukup yang mengarah kepada solusi saja. Dengan
memangkas (pruning) simpul- simpul yang tidak mengarah ke solusi, sehingga waktu
pencarian dapat dihemat. Algoritma ini banyak diterapkan untuk program games dan
permasalahan pada bidang kecerdasan buatan.
Saat ini algoritma backtracking banyak diterapkan untuk program games seperti
permainan tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur dan
sebagainya serta untuk menyelesaikan masalah-masalah pada bidang kecerdasan
buatan (artificial intelligence). Prinsip dasar algoritma backtracking adalah mencoba
semua kemungkinan solusi yang ada. Perbedaan dengan algoritma brute force adalah
pada konsep dasarnya, yaitu pada backtracking semua solusi dibuat dalam bentuk
pohon solusi (tree), dan kemudian pohon tersebut akan ditelusuri secara DFS sehingga
ditemukan solusi terbaik yang diinginkan. Misalkan pohon di atas menggambarkan
solusi dari suatu persoalan. Jika kita ingin mencari solusi dari A ke E, maka jalur yang
harus ditempuh adalah (A-B-E).
Penyelesaian
Seperti yang telah dijelaskan bahwa pencarian solusi dengan menggunakan
algoritma backtracking digunakan pohon ruang status. Cara kerjanya adalah dengan
membentuk lintasan dari akar ke daun.
Langkah-langkah pencarian solusi pada pohon ruang status yang dibangun secara
dinamis:
1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan
yang dipakai adalah mengikuti metode pencarian mendalam (DFS). Simpul-simpul
yang sudah dilahirkan dinamakan simpul hidup (live node). Simpul hidup yang sedang
diperluas dinamakan simpul-E (Expand-node). Simpul dinomori dari atas ke bawah
sesuai dengan urutan kelahirannya.
2. Tiap kali simpul-E diperluas, lintasan yang dibangun olehnya bertambah panjang.
Jika lintasan yang sedang dibentuk tidak mengarah ke solusi maka simpul-E tersebut
“dibunuh” sehingga menjadi simpul mati (dead node). Fungsi yang digunakan untuk
membunuh simpul-E adalah dengan menerapkan fungsi pembatas (bounding function).
Simpul yang sudah mati tidak akan pernah diperluas lagi.
3. Jika pembentukan lintasan berakhir dengan simpul mati, maka proses pencarian
diteruskan dengan membangkitkan simpul anak yang lainnya. Bila tidak ada lagi
simpul anak yang dapat dibangkitkan, maka pencarian solusi dilanjutkan dengan
melakukan backtracking ke simpul hidup terdekat (simpul orang tua). Selanjutnya
simpul ini menjadi simpul-E yang baru. Lintasan baru dibangun kembali sampai
lintasan tersebut membentuk solusi.
4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada simpul hidup
untuk backtracking atau simpul yang dapat di diperluas.
BAB III PENUTUP
3.1 Kesimpulan
Permainan Menara Hanoi merupakan permainan matematis atau teka teki.
Permainan ini terdiri dari tiga tiang dan sejumlah piringan dengan ukuran yang berbeda
beda yang dapat dapat dipindahkan ke tiang mana saja. Ujung permainan ini adalah
dengan penyelesaian piringan secara rapi atau bertumpuk rapi berurutan berdasarkan
ukurannya. Dalam makalah metode yang digunakan untuk penyelesain problema
Menara honai adalah pencarian heuristic.
Sudoku atau dikenal sebagai number place adalah permainan teka teki logika.
Tujuannya adalah mengisi angka dari 1 – 9 pada jaring angka 9x9 dan terdiri dari 9
kotak 3x3. Ujung permainannya adalah angka yang tidak terulang dalam satu kotak,
kolom dan bads. Metode penyelesaiannya menggunakan pencarian heuristic dengan
algoritma backtracking.
Kahar Muzakkar. 2018. Kecerdasan Buatan Games ( Menara Hanoi, Sudoku dan
Chanibal ). https://kaharmusakkar97.blogspot.com/2018/01/kecerdasan-buatan-
games-menara- hanoi.html