BAB I
PENDAHULUAN
A.
LATAR
BELAKANG
Program
permainan ( game ) merupakan salah satu implementasi dari bidang
ilmu komputer. Perkembangan
permainan pada masa
kini sudah sangat pesat dan telah
menjadi mode tersendiri di dunia karena mayoritas pengguna komputer
menghabiskan sebagian besar waktu mereka di depan komputer dalam program permainan. Salah satu
algoritma yang digunakan untuk
mengembangkan program permainan
adalah algoritma berbasis pohon
ruang pencarian (searching
algorithm). Salah satu
game yang menggunakan algoritma
berbasis pohon ruang
pencarian dalam menyelesaikan permainannya yaitu menara hanoi.
Menara Hanoi merupakan salah satu
diantara berbagai teka-teki dalam matematika. Teka-teki ini ditemukan Edouard
Lucas, ahli matematika Perancis di tahun 1883.Teka-teki ini berdasarkan pada
sebuah cerita legenda tentang candi Indian atau menara Benares di India yang
memiliki tiga tiang dan salah satu tiangnya terdapat 64 tumpukan cakram emas.
Para pendeta mendapat tugas untuk memindahkan cakram emas itu ke tiang yang
lain sesuai dengan suatu aturan. Tidak jelas apakah ini benar-benar legenda,
atau inspirasi dari Lucas sendiri. Konon, Dewa Brahma menciptakan tiga tiang
pada candi tersebut. Pada salah satu tiang terdapat tumpukan cakram emas
sebanyak 64 keping, dengan urutan keping yang terbesar terletak di bawah, makin
ke atas makin kecil. Selanjutnya Dewa Brahma memerintahkan para pendeta
untuk memindahkan keping-keping emas itu dengan aturan : setiap perpindahan
hanya boleh memindah 1 cakram dan cakram yang besar tidak boleh diletakkan di
atas cakram yang lebih kecil. Dalam legenda itu dikatakan bahwa dunia akan
berakhir jika para pendeta tersebut selesai memindahkan ke 64 cakram.
Dilihat dari
karakteristik persoalan slide
puzzle , puzzle ini
membentuk ruang solusi yang
diorganisasikan ke dalam
struktur pohon dinamis.
Struktur pohon dinamis sendiri dibangun dengan 2 metode traversal yaitu Breadth
First Search (BFS)
dan Depth First
Search (DFS) [MUN04].
Untuk itu penulis menerapkan algoritma Depth First Search dalam menyelesaikan
permainan menara hanoi .
B.
RUMUSAN
MASALAH
Berdasarkan latar
belakang permasalahan di
atas, maka penulis
menerapkan pencarian solusi slide
puzzle dengan menggunakan algoritma Depth First Search .
C.
TUJUAN DAN MANFAAT
Tujuan
dari tugas akhir ini adalah mengimplementasikan penerapan algoritma Depth
First Search sehingga
dapat digunakan untuk mengoptimalkan waktu dalam menyelesaikan
permainan Menara hanoi yang
umumnya tidak dapat
digunakan jika penyelesaian
permainan dilakukan secara manual (menggunakan orang sebagai
pemain)
Manfaat dari
tugas akhir ini adalah menambah
ragam permainan
Menara hanoi yang telah
ada sehingga dapat digunakan sebagai salah satu media alternatif untuk mengisi waktu senggang.
Selain itu, permainan menara hanoi juga termasuk
salah satu jenis
permainan edukasi sehingga dapat
digunakan untuk melatih kemampuan
nalar dan logika seseorang
BAB II
PEMBAHASAN
A. KECERDASAN BUATAN
Artificial
Intelligence (AI) atau kecerdasan buatan
merupakan cabang dari ilmu
komputer yang berhubungan
dengan pengautomatisasi tingkah laku
cerdas. Pernyataan tersebut
juga dapat dijadikan
definisi dari AI. Definisi ini menunjukkan bahwa AI adalah
bagian dari komputer sehingga
harus didasarkan pada
sound theoretical (teori
suara) dan prinsip-prinsip aplikasi
dari bidangnya. Prinsip-prinsip ini
meliputi struktur data
yang digunakan dalam representasi pengetahuan, algoritma yang diperlukan
untuk mengaplikasikan pengetahuan tersebut, serta bahasa dan teknik pemrograman
yang digunakan dalam mengimplementasikannya.
Dari beberapa perspektif, AI dapat dipandang sebagai:
1)
Dari perspektif kecerdasan, AI adalah
bagaimana membuat mesin yang cerdas dan
dapat melakukan hal-hal
yang sebelumnya hanya
dapat dilakukan manusia.
2)
Dari
perspektif bisnis, AI
adalah sekelompok alat
bantu (tools) yang
berdayaguna dan metodologi
yang menggunakan alat-alat
bantu tersebut untuk
menyelesaikan masalah-masalah bisnis.
3)
Dari perspektif pemrograman, AI meliputi
studi tentang pemrograman simbolik,
pemecahan masalah, dan proses pencarian
(search) .
4)
Dari perspektif penelitian:
a) Riset tentang
AI dimulai pada
awal tahun 1960-an,
percobaan pertama
adalah membuat program
permainan catur, membuktikan teori, dan general problem solving .
b) Artificial
intelligence adalah nama pada akar dari
studi area.
Ada dua hal yang sangat mendasar
mengenai penelitian-penelitian AI, yaitu
knowledge representation (representasi pengetahuan)
dan search (pelacakan). Para
peneliti AI terus
mengembangkan berbagai jenis
teknik baru dalam menangani
sejumlah permasalahan yang tergolong ke dalam AI seperti vision
dan percakapan, pemrosesan bahasa alami, dan permasalahan khusus seperti diagnosa medis. AI
seperti bidang ilmu
lainnya juga memiliki
sejumlah sub-disiplin ilmu
yang sering digunakan
untuk pendekatan yang
esensial bagi
penyelesaian suatu
masalah dan dengan
aplikasi bidang AI
yang berbeda.
Setiap
permainan memiliki aturan main. Hal ini mempermudah upaya menghasilkan ruang
pencarian dan memberikan
kebebasan pada para peneliti
dari bermacam-macam ambisi
dan kompleksitas sifat
serta kurangnya struktur permasalahan. Papan
konfigurasi yang digunakan untuk
memainkan permainan ini
mudah direpresentasikan pada
komputer dan tidak memerlukan bentuk yang kompleks. Permainan
dapat menghasilkan sejumlah
besar pencarian ruang.
Hal ini cukup
besar dan kompleks
sehingga membutuhkan suatu
teknik yang tangguh untuk menentukan alternatif
pengeksplorasian ruang permasalahan.
Teknik ini
dikenal dengan nama
heuristik dan merupakan
area utama dari
penelitian tentang AI. Banyak hal yang biasanya dikenal sebagai
kecerdasan tampaknya berada
dalam heuristik yang
digunakan oleh manusia
untuk menyelesaikan
permasalahannya.
B. TEKNIK-TEKNIK
DASAR PENCARIAN
Pencarian atau
pelacakan merupakan salah
satu teknik untuk
menyelesaikan permasalahan AI.
Keberhasilan suatu sistem
salah satunya ditentukan oleh kesuksesan dalam pencarian
dan pencocokan. Teknik dasar
pencarian memberikan suatu
kunci bagi banyak
sejarah penyelesaian yang
penting dalam bidang AI. Ada beberapa aplikasi yang menggunakan teknik
pencarian ini, yaitu:
·
Engineering
·
Scientific Analysis
·
Medical diagnosis
·
Financial Analysis
·
Mathematics
·
Games
·
Robotics
·
Natural Language System
STRATEGI PENCARIAN MENDALAM
Pencarian boleh jadi merupakan
hasil dari suatu solusi ruang keadaan
yang mungkin telah terkunjungi semua, tetapi tanpa penyelesaian.
Pencarian yang mendalam (Exchausting
Search Strategy) mungkin dilakukan
dengan menggunakan strategi
Breadth First Search
atau Depth First
Search (Iterative
Deepening). Kedua pencarian ini
merupakan pencarian buta (blind search)
.
1) Breadth
First Search
Prosedur Breadth
First Search merupakan
pencarian yang dilakukan dengan
mengunjungi tiap-tiap node secara sistematis pada setiap
level hingga keadaan
tujuan (goal state)
ditemukan dengan kata lain,
penulusuran yang dilakukan
adalah dengan mengunjungi tiap-tiap node
pada level yang sama hingga ditemukan
goal state –nya
2) Depth
First Search
Pencarian
dengan metode ini dilakukan dari
node awal secara mendalam
hingga yang paling
akhir (dead-end) atau
sampai ditemukan. Dengan kata
lain, simpul cabang atau anak yang terlebih
dahulu dikunjungi. proses
pencarian dilakukan dengan
mengunjungi cabang terlebih dahulu hingga tiba di simpul terakhir. Jika
tujuan yang diinginkan
belum tercapai maka
pencarian dilanjutkan ke
cabang sebelumnya, turun
ke bawah jika
memang masih ada cabangnya.
Begitu seterusnya hingga
diperoleh tujuan akhir
(goal) . Depth First Search , seperti
halnya Breadth First Search , juga memiliki
kelebihan di antaranya
adalah cepat mencapai
kedalaman ruang pencarian. Jika
diketahui bahwa lintasan solusi permasalahan akan panjang
maka Depth First
Search tidak akan
memboroskan waktu untuk melakukan
sejumlah besar keadaan
dangkal dalam permasalahan
graf. Depth First Search jauh lebih efisien untuk ruang initial state
.
jika ada
lebih dari satu
solusi maka solusi
minimum akan ditemukan.
Namun ada tiga
persoalan utama berkenaan
dengan Breadth First Search
ini yaitu:
a) Membutuhkan memori
yang lebih besar,
karena menyimpan semua
node dalam satu pohon.
b) Membutuhkan sejumlah
besar pekerjaan, khususnya
jika lintasan solusi terpendek
cukup panjang, karena
jumlah node yang
perlu diperiksa bertambah
secara eksponensial terhadap
panjang lintasan.
c) Tidak
relevannya operator akan menambah jumlah
node yang harus diperiksa. Oleh karena
proses Breadth First
Search mengamati node
di setiap level
graf sebelum bergerak
menuju ruang yang
lebih dalam maka
mula-mula semua keadaan
akan dicapai lewat
lintasan yang terpendek
dari keadaan awal.
Oleh sebab itu,
proses ini menjamin
ditemukannya lintasan terpendek
dari keadaan awal
ke keadaan tujuan
(akhir). Lebih jauh
karena mula-mula semua
keadaan ditemukan melalui
lintasan terpendek sehingga setiap keadaan yang
ditemui pada kali
kedua didapati pada
sepanjang sebuah lintasan
yang sama atau lebih panjang. Kemudian, jika tidak ada kesempatan
ditemukannya keadaan yang
identik pada sepanjang
lintasan yang lebih baik maka algoritma akan menghapusnya
C.
PERMAINAN MENARA HANOI
Menara
Hanoi merupakan salah satu diantara berbagai teka-teki dalam matematika.
Teka-teki ini ditemukan Edouard Lucas, ahli matematika Perancis di tahun 1883.
Teka-teki ini berdasarkan pada sebuah cerita legenda tentang candi Indian atau
menara Benares di India yang memiliki tiga tiang dan salah satu tiangnya
terdapat 64 tumpukan cakram emas. Para pendeta mendapat tugas untuk memindahkan
cakram emas itu ke tiang yang lain sesuai dengan suatu aturan. Tidak jelas
apakah ini benar-benar legenda, atau inspirasi dari Lucas sendiri. Konon, Dewa
Brahma menciptakan tiga tiang pada candi tersebut. Pada salah satu tiang
terdapat tumpukan cakram emas sebanyak 64 keping, dengan urutan keping yang
terbesar terletak di bawah, makin ke atas makin kecil. Selanjutnya Dewa
Brahma memerintahkan para pendeta untuk memindahkan keping-keping emas itu
dengan aturan : setiap perpindahan hanya boleh memindah 1 cakram dan cakram
yang besar tidak boleh diletakkan di atas cakram yang lebih kecil. Dalam
legenda itu dikatakan bahwa dunia akan berakhir jika para pendeta tersebut
selesai memindahkan ke 64 cakram.
Identifikasi
Ruang Keadaan
Permainan
Menara Hanoi yang akan di bahas kali ini menggunakan 3 menara dan 4 piringan.
Dimana ukuran piringan tersebut berbeda satu sama lain. Semua piringan berada
pada menara asal dengan susunan secara berurutan, yang terbesar berada pada
posisi paling bawah dan yang terkecil pada posisi paling atas seperti yang
tampak pada gambar di bawah ini
Keadaan Awal dan Keadaan Tujuan
Dalam proses pemecahan masalah permainan Menara Hanoi perlu
ditetapkan suatu keadaan awal dan keadaan tujuan untuk mempermudah penyelesaiannya.
1)
Keadaan Awal
Bila
didefinisikan menara A sebagai menara asal, menara C sebagai menara tujuan dan
menara B sebagai menara sementara, dengan 4 jumlah piringan yang masing-masing
didefinisikan sebagai N1, N2 dan N3 dimana ukuran N4 > N3> N2> N1.
Menara A berisi 4 piringan dengan susunan N4, N3, N2, N1 dari bawah ke
atas. Sedangkan menara C dan B dalam kondisi tidak ada piringan (kosong).
2)
Keadaan tujuan
Menara A dan B kosong, sedangkan menara C berisi piringan
N4, N3, N2, N1 tersusun dari bawah ke atas seperti yang terlihat.
Dasar Aturan (Rule Base)
Untuk
mencapai keadaan tujuan maka dibuatlah aturan-aturan yang dapat memenuhi semua
keadaan yang mungkin terjadi. Adapun aturan-aturan tersebut adalah sebagai
berikut :
- Jika B kosong atau NB> NA, pindahkan NA ke B
- Jika C kosong atau NC > NA, pindahkan NA ke C
- Jika A kosong atau NA > NB, pindahkan NB ke A
- Jika C kosong atau NC > NB, pindahkan NB ke C
- Jika A kosong atau NA > NC, pindahkan Nc ke A
- Jika B kosong atau NB > NC, pindahkan NC ke B
Solusi
Salah satu
metode yang dapat dipakai dalam proses pemecahan permasalahan pada Menara Hanoi
yaitu dengan menggunakan metode DFS (Depth First Search) atau pencarian
mendalam.
Metode DFS
(Depth First Search) merupakan metode pencarian yang dilakukan pada suatu
simpul dalam setiap level dari yang paling kiri. Jika pada level yang terdalam
solusi belum ditemukan, maka pencarian dilanjutkan pada simpul sebelah kanan
dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling
dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya.
Demikian seterusnya sampai ditemukan solusi.
Kelebihan
dari metode Depth First Search yaitu :
- Jika solusi yang dicari berada pada level yang dalam dan paling kiri maka DFS akan menemukannya dengan cepat.
- Jika diimplementasikan dalam program, penggunaan memori akan lebih sedikit karena hanya simpul-simpul pada lintasan yang aktif saja yang disimpan.
Adapun
kelemahan dari metode Depth First Search yaitu :
- Jika pohon yang dibangkitkan mempunyai level yang sangat dalam (tak terhingga), maka tidak ada jaminan menemukan solusi. Artinya DFS tidak komplit.
- Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS tidak menjamin untuk menemukan solusi yang paling baik. Artinya DFS tidak optimal.
Langkah-langkah
pencarian solusi menggunakan metode DFS adalah sebagai berikut:
- Solusi dicari dengan membentuk lintasan dari akar sampai daun. Simpul-simpul yang sudah dilahirkan dinamakan simpul anak kiri dan simpul anak kanan.
- Simpul yang dibentuk, terlebih dahulu simpul sebelah kiri dan mendalam sampai ditemukan solusi.
- Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, maka lintasan yang sebelah kiri dihentikan disebut simpul mati dan dilanjutkan ke simpul anak kanan terdekat. Simpul yang sudah dihentikan (simpul mati) tidak akan pernah diperluas lagi.
- Bila tidak ada lagi simpul anak yang dapat dibangkitkan, maka pencarian solusi dilanjutkan dengan melakukan pembentukan ke simpul hidup terdekat. Selanjutnya simpul ini menjadi simpul hidup yang baru.
- Lintasan baru dibangun kembali sampai lintasan tersebut membentuk solusi.
Solusi
permasalahan untuk pemindahan seluruh piringan dari menara asal ke menara
tujuan pada permainan Menara Hanoi dengan metode DFS dapat dilihat pada tabel
dan gambar berikut ini.
Tabel
Solusi Permainan Menara Hanoi
BAB III
PENUTUP
A.
Kesimpulan
Dengan
metode DFS (Depth First Search), proses pemecahan masalah pada permainan
Menara Hanoi dapat disimpulkan sebagai berikut:
- Metode DFS mampu menyelesaikan masalah pada permainan Menara Hanoi.
- Sesuai dengan kelebihan pada metode DFS, telah terbukti bahwa pemecahan permasalahan permainan Menara Hanoi dapat diselesaikan dengan beberapa solusi. Dimana solusi dari permasalahan tersebut yang terbaik adalah solusi yang paling cepat ditemukan dimana letak solusi yang dicari berada pada level yang dalam dan paling kiri.
- Untuk N buah piringan diperlukan pemindahan sebanyak 2n – 1 kali. Ternyata dengan menggunakan metode DFS terbukti pula untuk 3 buah piringan dapat diselesaikan dengan 2 4 – 1 langkah = 7 langkah.
DAFTAR
REFERENSI
Atmavidya,
Arif Nanda, Penerapan Algoritma Backtracking dalam Pencarian Solusi Menara
Hanoi, Institut Teknologi Bandung, 2008
Mukti,
Garibaldy W, Berbagai Solusi Pemecahan Masalah Tower of Hanoi dan
Representasi Grafnya, Institut Teknologi Bandung, 2008
Santosa,
Insap, Struktur Data menggunakan Turbo Pascal, Andi Offset Yogyakarta,
2003
Suyanto, Artificial
Intelligence, Informatika Bandung, 2007
hidjah,
khasnur dkk, penerapan metode depth first search (dfs)
Pada
permainan menara Hanoi,UGM,
Yogyakarta.2008