Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYESAIAN
GAME ELENA PUZZLE
SKRIPSI
RISKI OKTAVIAN
091401060
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
IMPLEMENTASI ALGORITMA BACKTRACKING DALAM
PENYELESAIAN GAME ELENA PUZZLE
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
RISKI OKTAVIAN
091401060
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA BACKTRACKING
DALAM PENYELESAIAN GAME ELENA PUZZLE
Kategori : SKRIPSI
Nama : RISKI OKTAVIAN
Nomor Induk Mahasiswa : 091401060
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Handrizal, S.Si, M.Comp.Sc Maya Silvi Lydia, B.Sc, M.Sc
NIP. NIP. 197401272002122001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom
NIP. 196203171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
IMPLEMENTASI ALGORITMA BACKTRACKING DALAM PENYELESAIAN
GAME ELENA PUZZLE
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 20 Januari 2017
Riski Oktavian
NIM. 091401060
Universitas Sumatera Utara
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas berkat dan kasih karunia-
Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik
Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih
kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan
terima kasih kepada:
1. Bapak Drs. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
2. Ibu Maya Silvi Lydia, B.Sc, M.Sc sebagai Sekretaris Program Studi S1 Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan
selaku pembimbing yang telah membimbing penulis sehingga penulis dapat
menyelesaikan skripsi ini
3. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara.
4. Bapak Handrizal, S,Si, M.Comp, Sc selaku pembimbing yang telah membimbing
penulis sehingga penulis dapat menyelesaikan skripsi ini.
5. Bapak Drs. MarihatSitumorang, M.Si dan Ibu Dian Rachmawati, S.Si, M.Komsebagai
dosen penguji yang telah memberikan saran dan kritik yang sangat beruna bagi penulis.
6. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer Departemen Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi USU.
7. Ayahanda tercinta Anwar Hasyim dan Ibunda tercinta Elviana, abang saya Andi Evan,
adik saya Putri Triska Sari dan Nurul Auni yang selalu memberikan doa, motivasi dan
dukungan baik materi maupun spiritual serta semangat yang diberikan selama kuliah
dan menyelesaikan skripsi ini.
8. Dan juga kepada teman-teman seperjuangan program studi S1 Ilmu Komputer USU,
terkhusus kepada: Reza Bayu Prabowo, Septian Maihadi, Septian DC Panjaitan,
Samuel Tarigan yang telah berbagi kebersamaan selama berada di S1 Ilmu Komputer.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Oleh karena itu penulis
menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan
skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya
dan pembaca pada umumnya.
Medan , 9 Mei 2016
Penulis
Universitas Sumatera Utara
ABSTRAK
Elena Puzzle adalah sebuah game puzzle yang muncul pada anime phi brain episode 10, Game
Elena puzzle adalah game puzzle dimana pemain harus meletakkan 18 bidak pada papan
permainan yang berukuran 6x6. Bidak yang diletakkan terdiri dari 3 warna yang berbeda yaitu
wana merah, biru dan kuning. Bidak yang di letakkan pada di arena permainan harus sesuai
dengan petunjuk yang berada di pinggir arena. Petunjuk yang berada di pinggir arena
menjelaskan bahwa warna yang pertama kali di jumpai dari pinggir arena adalah warna yang
sesuai dengan petunjuk tersebut. Pada setiap baris dan kolom di arena permainan tidak boleh
terdapat dua warna yang sama dan pada setiap baris dan kolom harus terdapat tiga warna yang
berbeda. Tujuan Penelitian ini adalah membangun sebuah agen kecerdasan buatan yang dapat
menyelesaikan puzzle yang diberikan. Metodologi yang digunakan yaitu algoritma backtrack
yang merupakan algoritma berbasis Depth-First Search, maka pencarian solusi dilakukan
dengan menelusuri suatu struktur berbentuk pohon berakar secara preorder. Proses ini dicirikan
dengan ekspansi simpul terdalam lebih dahulu sampai tidak ditemukan lagi suksesor dari suatu
simpul. Hasil yang akan di peroleh dari aplikasi yang ada dibangun adalah penerapan algoritma
backtracking dalam membangun agen kecerdasan buatan agar dapat menyelesaikan puzzle
sesuai dengan petunjuk yang diberikan.
Kata Kunci : Game, Elena Puzzle, Backtrack, Kecerdasan Buatan
Universitas Sumatera Utara
IMPLEMENTATION OF BACKTRACKING ALGORITHM IN ELENA PUZZLE
GAME
ABSTRACT
Elena Puzzle is a puzzle game that appears on an anime called Phi Brain in episode 10, Elena
puzzle game is a puzzle game where players have to put the 18 pieces of pawns on the game
board size 6x6. Pawns are placed consists of the three different colors red, blue and yellow.
Pawns put on in the game area must be in accordance with the instructions on the edge of the
arena. The instructions are on the sidelines of arena explain that the first color that was
encountered in the edge of the arena is a color that corresponds to these instructions. In each
row and column in the game of arena can not have two same colors and in each row and column
must have three different colors. The purpose of this research is to build an artificial intelligence
agent that can solve the puzzle. The methodology used is the backtrack algorithm, that is an
algorithm based on Depth-First Search, so the search for solutions is done by tracing the rooted
tree-shaped structure in preorder. This process is characterized by the expansion of the deepest
node until no longer found the successor of a node. The results will be obtained from existing
applications is backtracking algorithm implementation in building artificial intelligence
agencies in order to complete the puzzle in accordance with the instructions provided.
Keyword : Game, Elena Puzzle, Backtrack, Artificial Intelligence
Universitas Sumatera Utara
vii
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 2
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori 5
2.1 Kecerdasan Buatan 5
2.2 Algoritma Backtracking 7
2.3 Game 10
2.4 Game Elena Puzzle 12
2.5 Penelitian Terdahulu 13
Bab 3 Analisis dan Perancangan Sistem 15
3.1 Analisis Kebutuhan Sistem 15
3.1.1 Analisis Masalah 15
3.1.2 Analisis Persyaratan 16
3.1.2.1 Analisis Fungsional 16
3.1.2.2 Analisis Nonfungsional 16
3.1.3 Analisis Arena Permainan 17
3.1.4 Analisis Algoritma 19
3.2 Perancangan Sistem 28
3.2.1 Perancangan Aplikasi Permainan 28
3.2.1.1 Flowchart Backtacking 29
3.3 Perancangan Pemodelan Analisis 31
3.3.1 Use Case Diagram 31
3.2.2 Use Case Specification dan activity diagram 32
3.4 Perancangan Antarmuka 38
Bab 4 Implementasi dan Pengujian Sistem 44
4.1 Implementasi Sistem 44
4.1.1 Home 44
4.1.2 Help 45
Universitas Sumatera Utara
viii
4.1.3 About 46
4.1.4 Pilih Map 47
4.1.4.1 Map 1 47
4.1.4.2 Map 2 48
4.1.4.3 Map 3 48
4.2 Pengujian Sistem 49
4.2.1 Pengujian Backtrack Map 1 49
4.2.2 Pengujian Backtrack Map 2 51
4.2.3 Pengujian Backtrack Map 3 53
Bab 5 Kesimpulan dan Saran 56
5.1 Kesimpulan 56
5.2 Saran 56
Daftar Pustaka 57
Lampiran 58
Universitas Sumatera Utara
ix
DAFTAR TABEL
Nomor Judul Halaman
2.1
2.2
3.1
3.2
3.3
3.4
Penelitian Terdahulu
Penelitian Terdahulu (Lanjutan 1)
Use Case specification Memulai permainan
Use Case specification Selesaikan permainan dengan backtrack
Use case specification Lihat Help
Use case soecification Lihat About
13
14
32
34
36
37
Universitas Sumatera Utara
x
DAFTAR GAMBAR
Nomor Judul Halaman
2.1
2.2
2.3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
Pohon Solusi
Pernerapan Algoritma Backtracking pada crossword puzzle
Contoh Elena puzzle sebelum dan sesudah di selesaikan
Diagram Ishikawa (Fishbone Diagram)
Arena Permainan Elena Puzzle
Koordinat map elena puzzle
Keadaan papan permainan elena puzzle untuk langkah awal
Keadaan papan elena puzzle untuk one point
Keadaan papan elena puzzle untuk cek sektor
Keadaan papan elena puzzle untuk langkah backtrack
Flowchart Perancangan Aplikasi Permainan
Flowchart Backtracking
Flowchart Backtracking lanjutan
Use case diagram Elena Puzzle
Activity Diagram Memulai Permainan
Activity Diagram Selesaikan permainan dengan backtrack
Activity Diagram Lihat help
Activity Diagram Memainkan permainan
Form Utama
Form Pilih Map
Form Arena Permainan
Form Panduan Permainan
Form Tentang Permainan
Form Utama
Form Help Halaman Pertama
Form Help Halaman Kedua
Form About
Form Pilih Map
Form Arena Permainan Map 1
Form Arena Permainan Map 2
Form Arena Permainan Map 3
Tampilan Map 1 Ketika Backtrack dijalankan
Tampilan Pop-up window jawaban benar Map 1
Tampilan Solusi Map 1
Tampilan Map 2 Ketika Backtrack dijalankan
Tampilan Pop-up window jawaban benar Map 2
Tampilan Solusi Map 2
Tampilan Map 3 Ketika Backtrack dijalankan
Tampilan Pop-up window jawaban benar Map 3
Tampilan Solusi Map 3
8
10
12
15
17
18
24
25
26
27
28
29
30
31
33
35
37
38
39
40
41
42
43
44
45
45
46
47
47
48
48
49
50
50
51
52
52
53
54
54
Universitas Sumatera Utara
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Permainan atau sering disebut dengan game merupakan suatu sarana hiburan yang diminati
dan dimainkan oleh banyak orang baik dari kalangan anak-anak, remaja maupun orang dewasa.
Permainan juga dapat berguna untuk melatih dan mengasah kemampuan berpikir seseorang,
salah satu game yang melatih dan mengasah kemampuan berpikir adalah game puzzle
(permainan teka-teki).
Puzzle game berfokus pada tantangan yang bersifat logis dan konseptual. Meskipun
kadang-kadang permainan menambahkan waktu sebagai unsur tekanan dan hal-hal lainnya
dalam menyelesaikan permainan tersebut. Meskipun banyak permainan action dan permainan
petualangan yang melibatkan teka-teki seperti mendapatkan barang yang di akses, permainan
puzzle yang benar berfokus pada pemecahan teka-teki sebagai kegiatan utama gameplay
puzzle. Permainan biasanya melibatkan bentuk, warna, atau simbol, dan pemain harus langsung
atau tidak langsung memanipulasi mereka ke dalam pola tertentu.
Dari sekian banyak game puzzle ada satu game puzzle yang menarik perhatian penulis
yaitu, Elena puzzle. Pada permainan Elena puzzle pemain di beri 18 bidak yang terdiri dari 3
warna yakni, merah, biru, dan kuning (masing-masing warna terdiri dari 6 bidak). Pemain
harus meletakkan bidak sesuai dengan pentunjuk yang telah di berikan pada arena permainan
6x6 dengan syarat tidak boleh ada warna yang sama pada satu baris dan kolom.
Algoritma backtracking merupakan salah satu metode pemecahan masalah yang termasuk
dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtracking bekerja
secara rekursif dan melakukan pencarian solusi persoalan secara sistematis pada semua
kemungkinan solusi yang ada. Oleh karena algoritma ini berbasis pada algoritma Depth-First
Search (DFS), maka pencarian solusi dilakukan dengan menelusuri struktur berbentuk pohon
berakar secara preorder.
Universitas Sumatera Utara
2
Untuk itu, penulis tertarik untuk mengimplementasikan algoritma backtracking pada
permainan Elena puzzle sebagai problem solving (pemecah masalah) untuk menemukan solusi
yang tepat sesuai dengan pentunjuk yang telah di berikan.
Berdasarkan hal yang telah di uraikan di atas maka penulis berniat melakukan penelitian
dengan judul “IMPLEMENTASI ALGORITMA BACKTRACKING DALAM
PENYELESAIAN GAME ELENA PUZZLE”.
1.2 Perumusan Masalah
Berdasarkan latar belakang yang telah di kemukakan sebelumnya, maka yang menjadi
rumusan masalah pada penelitian ini yaitu bagaimana menerapkan algoritma backtracking
untuk menyelesaikan Elena puzzle yang di berikan.
1.3 Batasan Masalah
Adapun batasan masalah untuk tugas akhir ini adalah:
1. Algoritma yang digunakan adalah algoritma Backtracking.
2. Map puzzle berukuran 6x6 dan map puzzle yang digunakan ada 3 map berupa 3 solusi yang
berbeda.
3. Permainan menggunakan 18 bidak yang memiliki 3 warna yang masing-masing warna
terdiri dari 6 bidak, yakni merah, biru, dan kuning.
4. Permainan ini bersifat single player sebagai fitur tambahan .
5. Aplikasi berbasis desktop dan Bahasa pemograman yang digunakan adalah VB.net dengan
menggunakan XNA framework.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah untuk membuat sebuah kecerdasan buatan yang dapat
menyelesaikan puzzle secara tepat sesuai dengan petunjuk yang telah diberikan.
Universitas Sumatera Utara
3
1.5 Manfaat Penelitian
Tugas akhir ini diharapkan dapat memberi solusi berupa aplikasi pemecah masalah dalam
menyelesaikan game Elena puzzle dengan menggunakan algoritma backtracking sebagai agen
kecerdasan buatan.
1.6 Metode Penelitian
Metodelogi penelitian yang akan digunakan adalah:
1. Studi Literatur
Pada awal penulisan dilakukan peninjauan terhadap buku-buku, artikel-artikel, jurnal-jurnal
maupun hasil penelitian yang terkait dengan kecerdasan buatan, algoritma backtracking, dan
penerapan algoritma backtracking pada beberapa game puzzle yang digunakan sebagai agen
kecerdasan buatan untuk menyelesaikan masalah (problem solving) pada game tersebut, dan
referensi lainnya yang berkaitan dengan penelitian ini.
2. Analisis dan Perancangan Sistem
Pada tahap ini di lakukan analisis terhadap game Elena puzzle dan bagaimana penyelesaianya
dengan menerapkan algoritma backtracking untuk perancangan sistem disertai pembuatan
Flowchart, perancangan aplikasi, dan peracangan antarmuka (interface).
3. Implementasi Sistem
Pada tahap ini dilakukan coding system.
4. Pengujian Sistem
Pada tahap ini dilakukan pengujian terhadap aplikasi game yang telah dibangun. Apakah
aplikasi game tersebut dapat menyelesaikan puzzle sesuai dengan petunjuk yang telah
diberikan.
5. Dokumantasi dan Laporan Akhir
Setelah implementasi, maka penulis akan membuat dokumentasi atau laporan tiap tahap dari
program yang penulis rancang.
Universitas Sumatera Utara
4
1.7 Sistematika Penulisan
Untuk membuat penulisan lebih terstruktur, maka penulisan ini dibagi menjadi lima bab, yaitu
sebagai berikut :
BAB 1 : PENDAHULUAN
Pada bab ini berisi penjelasan mengenai latar belakang masalah, perumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika
penulisan.
BAB 2 : LANDASAN TEORI
Pada bab ini berisi penjelasan mengenai teori yang berbuhungan dengan penelitian,
diantaranya yaitu teori kecerdasan buatan, algoritma backtacking, game elena puzzle, dan teori
lainnya yang berkaitan.
BAB 3 : ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini berisi mengenai analisis masalah dan segala hal yang berkaitan dengan sistem
yang dibangun, serta menjelaskan cara kerja sistem, kemudian dilanjutkan dengan
perancangan antarmuka sistem.
BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini berisi penjelasan mengenai implementasi sistem dengan menggunakan bahasa
pemrograman VB.net dan XNA framework berdasarkan tahapab perancangan sistem,
kemudian dilakukan pengujian sistem dengan perancangan yang dilakukan sebelumnya.
BAB 5 : KESIMPULAN DAN SARAN
Pada bab ini berisi kesimpulan yang diperoleh dalam penelitian dan saran yang diberikan untuk
pengembangan lebih lanjut.
Universitas Sumatera Utara
BAB II
LANDASAN TEORI
2.1. Kecerdasan Buatan.
Kecerdasan Buatan “Artificial Intelegence (AI)” merupakan suatu metode atau sistem pada
suatu controller (komputer atau sejenisnya) yang digunakan dalam mengambil keputusan atau
melakukan suatu tindakan. Kecerdasan buatan atau sering disebut Artificial Intelegence (AI)
dapat diartikan dalam beberapa pengertian sebagai berikut :
1. Suatu cara yang sederhana untuk membuat komputer dapat “berpikir” secara
intelligent.
2. Bagian dari ilmu komputer yang mempelajari perancangan sistem komputer yang
intelligent,yaitu suatu sistem yang memperlihatkan karakteristik yang ada pada tingkah
laku manusia ,seperti mengerti suatu bahasa, mempelajari, mempertimbangkan dan
memecahkan suatu masalah.
3. Suatu studi bagaimana komputer dapat mengerjakan sesuatu, yang pada saat ini, orang
dapat mengerjakan lebih baik.
4. Bidang Ilmu komputer yang memungkinkannya untuk memahami, bernalar dan
bertindak.
Tujuan penggunaan sistem pengambilan keputusan menggunakan kecerdasan buatan atau
AI adalah :
1. Untuk mengembangkan metode dan sistem untuk menyelesaikan masalah. Malasah
yang biasa di selesaikan melalui aktivitas intelektual manusia, misalnya pengolahan
citra, perencanaan, peralaman dan lain-lain, meningkatkan kinerja sistem informasi
yang berbasis komputer.
2. Untuk meningkatkan pengertian atau pemahaman kita pada bagaimana otak manusia
bekerja
Arah pengembangan dari kecerdasan buatan atau Artificial Intelegence (AI) pada suatu
sistem pengambilan keputusan memiliki 2 metode sebagai berikut :
Universitas Sumatera Utara
6
1. Mengembangkan metode dan sistem untuk menyelesaikan masalah pada sistem
kecerdasan buatan (AI) tanpa mengikuti cara manusia menyelesaikannya. Arah
pengembangan kecerdasan buatan (AI) dengan metode ini adalah sistem pakar / expert
system.
2. Mengembangkan metode dan sistem untuk menyelesaikan masalah pada sistem
kecerdasan buatan (AI) melalui pemodelan yang mengikuti cara berpikir manusia, atau
cara bekerja otak manusia. Arah pengembangan kecerdasan buatan menggunakan
metode seperti ini adalah sistem jaringan syaraf tiruan (neural networks).
Bidang bidang Aplikasi kecerdasan buatan “Artificial Intelegence (AI)” menurut Elaine
Rich masalah pada AI (Task Domain) :
Tugas Kedunian (Mundane Task)
Perception: Vision, Speech Recognition
Natural Languange : Understanding, Generation, Translation.
Commonsense Reasoning
Robot Control
Tugas Formal (Formal Task )
Games (Chess, Backgamon, checkers, Go, etc)
Mathematic (Geometry, Logic, Integral, Calculus, Proving properties of program)
Tugas Ahli (Expert Task)
Engineering ( Design, Fault Finding, Manufacturing Planning
Scientific Analysis, Medical Diagnosis, Financial Analysis
Lebih detailnya, pengertian kecerdasan buatan dapat dipandang dari berbagai sudut
pandang (Kusumadewi Sri,2003), antara lain :
1. Sudut pandang kecerdasaan.
Kecerdasan buatan membuat mesin menjadi ‘cerdas’ (mampu berbuat seperti apa yang
dilakukan oleh manusia).
Universitas Sumatera Utara
7
2. Sudut Pandang penelitian
Kecerdasan buatan adalah suatu studi bagaimana membuat agar komputer dapat
melakukan sesuatu sebaik yang dikerjakan oleh manusia
3. Sudut pandang bisnis.
Kecerdasan buatan adalah kumpulan peralatan yang sangat powerful dan merodologis
dalam menyelesaikan masalah-masalah bisnis.
4. Sudut pandang pemrograman.
Kecerdasan buatan melitputi studi tentang pemrograman simbolik, penyelesaian
masalah (problem solving) dan pencarian (searching).
Untuk menciptakan aplikasi kecerdasan buatan ada dua bagian utama yang sangat
dibutuhkan (Kuswandi,2007), yaitu :
1. Basis pengetahuan (Knowledge Base)
Basis pengetahuan berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan
yang lainnya.
2. Motor Inferensi (Inference Engine)
Motor Inferensi merupakan kempampuan menarik kesimpulan berdasarkan
pengalaman atau dapat juga disebut dengan penalaran.
2.2 Algoritma Backtacking
Algoritma backtracking pertama kali diperkenalkan oleh D.H. Lehmer pada tahun 1950.
Dalam perkembangannya beberapa ahli seperti RJ Walker, Golomb, dan Baumert menyajikan
uraian umum tentang backtracking dan penerapannya dalam berbagai persoalan dan aplikasi.
Algoritma backtracking (runut balik) merupakan salah satu metode pemecahan masalah yang
termasuk dalam strategi yang berbasis pencarian pada ruang status. Algoritma backtracking
bekerja secara rekursif dan melakukan pencarian solusi persoalan secara sistematis pada semua
kemungkinan solusi yang ada (Aho, Hopcroft, dan Ullman, 1983, hal:327).
Universitas Sumatera Utara
8
Oleh karena algoritma ini berbasis pada algoritma Depth-First Search (DFS), maka
pencarian solusi dilakukan dengan menelusuri suatu struktur berbentuk pohon berakar secara
preorder. Proses ini dicirikan dengan ekspansi simpul terdalam lebih dahulu sampai tidak
ditemukan lagi suksesor dari suatu simpul (Aho, Hopcroft, dan Ullman, 1974, hal:176).
Algoritma backtracking mempunyai prinsip dasar kemungkinan solusi. Perbedaan
utamanya adalah pada ide dasarnya, semua solusi dibuat dalam bentuk pohon solusi (pohon ini
tentunya berbentuk abstrak) dan algoritma akan menelusuri pohon tersebut secara DFS sampai
ditemukan solusi yang layak. Nama backtrack didapatkan dari sifat algoritma ini yang
memanfaat karakteristik himpunan solusinya yang sudah disusun menjadi suatu pohon solusi.
Agar lebih jelas bisa dilihat pada pohon solusi seperti gambar 1 (Marbun. 2012) berikut:
Gambar 2.1 Pohon Solusi
Misalkan pohon diatas menggambarkan solusi dari suatu permasalahan. Untuk mecapai
solusi (5), maka jalan yang ditempuh adalah (1,2,5), demikian juga dengan solusi-solusi yang
lain. Algoritma backtrack akan memeriksa mulai dari solusi yang pertama yaitu solusi (5). Jika
ternyata solusi (5) bukan solusi yang layak maka algoritma akan melanjutkan ke solusi (6).
Jalan yang ditempuh ke solusi (5) adalah (1,2,5) dan jalan untuk ke solusi (6) adalah (1,2,6).
Kedua solusi ini memiliki jalan awal yang sama yaitu (1,2). Jadi daripada memeriksa ulang
dari (1) kemudian (2)
maka hasil (1,2) disimpan dan langsung memeriksa solusi (6). Pada pohon yang lebih rumit,
cara ini akan jauh lebih efisien daripada brute-force. Pada beberapa kasus, hasil perhitungan
sebelumnya harus disimpan, sedangkan pada kasus yang lainnya tidak perlu.
Universitas Sumatera Utara
9
Prinsip pencarian solusi dengan metode backtracking adalah sebagi berikut :
1. Solusi dicari dengan membentuk lintasan dari akar ke daun. Aturan pembentukan
yang dipakai adalah mengikuti aturan pencarian mendalam (DFS). Simpul-simpul
yang sudah dilahirkan dinamakan simpul hidup (live node). Simpul hidup yang
sedang diperluas dinamakan simpul-E (Expand node).
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 di perluas 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
membacktraking ke simpul hidup terdekat (simpul orangtua). Selanjutnya itu
menjadi simpul-E yang baru.
4. Pencarian dihentikan bila kita telah menemukan solusi atau tidak ada lagi simpul
hidup untuk backtracking.
Penggunaan terbesar backtrack adalah untuk membuat AI (Artificial Intelligence) pada
board games. Dengan algoritma ini program dapat menghasilkan pohon sampai dengan
kedalaman tertentu dari current status dan memilih solusi yang akan membuat langkah-langkah
yang dapat dilakukan oleh user akan menghasilkan pohon solusi baru dengan jumlah pilihan
langkah terbanyak. Cara ini dipakai sebagai AI yang digunakan untuk dynamic problem
solving.
Beberapa kegunaan yang cukup terkenal dari algoritma backtrack dari suatu masalah
“statik” adalah untuk memecahkan masalah N-Queen problem dan maze solver. N-Queen
problem adalah bagaimana cara meletakkan bidak Queen catur sebanyak N buah pada papan
catur atau pada papan ukuran NxN sedemikian rupa sehingga tidak ada satu bidakpun yang
dapat memangsa bidak lainnya dengan 1 gerakan. Meskipun mungkin terdapat lebih dari satu
solusi untuk masalah ini, tetapi pencarian semua solusi biasanya tidak terlalu diperlukan, tetapi
untuk beberapa kasus tertentu diperlukan pencarian semua solusi sehingga didapatkan solusi
Universitas Sumatera Utara
10
yang optimal. Berikut adalah contoh sederhana penerapan algoritma backtracking pada
permainan crossword puzzle dapat dilihat pada gambar 2. (Wardani & Savitri 2005) berikut :
Gambar 2.2 penerapan algoritma backtracking pada crossword puzzle
Pada gambar nomor 2 di atas jika di lihat dari database maka kata yang harus di isi menurun
ialah kata libur seperti gambar nomor 3, namu ketika di lakukan pencarian kata yang
panjangnya 4 karakter yang di temukan adalah kata ‘hari’. Karena itu dilakukan backtracking
terhadap kata ‘libur’, dan pengisian dilanjutkan dengan memasukkan kata ‘lihat’. Dengan
demikian kata ‘hari’ dapat di masukkan seperti pada gambar nomor 4.
2.3 Game
Game berasal dari bahasa inggris yang berarti permainan. Dalam setiap game terdapat
peraturan yang berbeda – beda untuk memulai permainannya sehingga membuat jenis game
semakin bervariasi. Karena salah satu fungsi game sebagai penghilang stress atau rasa jenuh
maka hamper setiap orang senang bermain game baik anak kecil, remaja maupun dewasa.
Mungkin hanya berbeda dari jenis game yang di mainkannya saja.
Game sendiri mempunyai dampak positif dan negatif pada kehidupan yang memainkannya
. Contoh dampak positif , misalnya : sebagai penghilang stres karena lelah bekerja seharian ,
Universitas Sumatera Utara
11
mungkin bermain game tepat untuk menghilangkan penat tersebut . Lalu bagi anak - anak
sebagai media untuk menambah kecerdasan otak dan daya tanggap , dan masih banyak lagi
dampak positif yang lainnya . Contoh dampak negatif, misalnya : karena terlalu sering bermain
game lupa untuk melakukan pekerjaan yang lainnya , sehingga membuat pekerjaan lain
menjadi tertunda . Lalu jika bermain game di komputer terlalu lama akan merusak mata , dan
lain sebagainya .
Jenis game mungkin sangat banyak dan bervariasi , dari media untuk memainkannya yang
berbeda , cara bermain , jumlah pemain , tapi disini yang akan saya jelaskan adalah jenis game
berdasarkan tipe game yang biasanya dimainkan di handphone dan komputer .
1. Action games, biasanya meliputi tantangan fisik, teka-teki (puzzle), balapan, dan beberapa
konflik lainnya. Dapat juga meliputi masalah ekonomi sederhana, seperti mengumpulkan
benda-benda.
2. Real Time Strategy (RTS) adalah game yang melibatkan masalah strategi, taktik, dan logika.
Contoh game jenis ini adalah Age of Empire, War Craft, dan sebagainya.
3. Role Playing Games (RPG), kebanyakan game jenis ini melibatkan masalah taktik, logika,
dan eksplorasi atau penjelajahan. Dan juga kadang meliputi teka-teki dan masalah ekonomi
karena pada game ini biasanya melibatkan pengumpulan barang-barang rampasan dan
menjualnya untuk mendapatkan senjata yang lebih baik. Contoh dari game ini adalah Final
Fantasy, Ragnarok, Lord of The Rings, dan sebagainya.
4. Real World Simulation, meliputi permainan olahraga dan simulasi masalah kendaraan
termasuk kendaraan militer. Games ini kebanyakan melibatkan masalah fisik dan taktik, tetapi
tidak masalah eksplorasi, ekonomi dan konseptual. Contohnya seperti adalah game
Championship Manager.
5. Construction and Management, seperti game Roller Coster Tycoon dan The Sims. Pada
dasarnya adalah masalah ekonomi dan konseptual. Game ini jarang yang melibatkan konflik
dan eksplorasi, dan hampir tidak pernah meliputi tantangan fisik.
6. Adventure games, mengutamakan masalah eksplorasi dan pemecahan teka-teki. Namun
terkadang meliputi masalah konseptual, dan tantangan fisik namun sangat jarang.
7. Puzzle games, ditujukan untuk memecahkan suatu masalah tertentu. Hampir semua semua
tantangan disini menyangkut masalah logika yang biasanya dibatasi oleh waktu.
Universitas Sumatera Utara
12
8. Slide scrolling games, pada jenis game ini karakter dapat bergerak ke samping diikuti
dengan gerakan background. Contoh game tipe seperti ini adalah Super Mario, Metal Slug,
dan sebagainya.
2.4. Game Elena puzzle
Game Elena puzzle adalah sebuah game puzzle yang muncul pada anime phi brain episode 10
Welcome_to_the_Queen's_Kingdom dengan nama Elena puzzle yang di bawakan oleh
serorang perempuan bernama Elena pada acara yang bernama puzzle kingdom.
Game Elena puzzle adalah sebuah puzzle dimana kita harus meletakkan 18 bidak pada
papan permainan yang berukuran 6x6. Bidak yang diletakan terdiri dari 3 warna yang berbeda
yaitu bidak warna merah, kuning, dan biru. Bidak tersebut diletakkan pada satu baris dan
kolom bedasarkan petunjuk yang telah diberikan di pinggir arena. Petunjuk tersebut
mejelaskan bawah warna yang pertama kali di jumpai dari pinggir arena adalah warna yang
sama dengan warna petunjuk tersebut. Pada satu baris dan satu kolom tidak boleh terdapat
warna yang sama dan pada setiap baris dan kolom harus mempunyai 3 warna yang berbeda.
Berikut ini adalah contoh gambar dari game Elena puzzle sebelum dan sesudah di selesaikan
dapat di lihat pada gambar 2.3. berikut :
Gambar 2.3 Contoh Elena puzzle sebelum dan sesudah di selesaikan
Universitas Sumatera Utara
13
2.5 Penelitian Terdahulu
Berikut ini beberapa penelitian yang terkait dengan algoritma backtracking :
Tabel 2.1 Penelitian Terdahulu
No. Nama Judul
Peneletian
Ringkasan
1 Bakri
Analisis dan
Implementasai
Algoritma
Backtracking
Pada
Permainan
Congkalak
Pada penelitian ini Algoritma backtracking di
jadikan sebagai agen kecerdasan buatan pada
permainan conglak. Algoritma backtracking
dapat digunakan untuk mengoptimalkan
langkah yang dipilih oleh agen kecederdasan
buatan dengan persentase kemenangan 75%
jika pemain jalan terlebih dahulu dan
kemenangan 100% jika agen backtrack jalan
terlebih dahaulu.
2 Marbun Permainan
Word Seacrh
Puzzle Pada
Android
Menggunakan
Algoritma
Backtracking
Pada penelitian ini algortitma backtracking di
terapkan dalam aplikasi permainan word
search puzzle untuk mengotomatiskan
pencarian kata sehingga pemain dapat
mengetahui letak kata-kata yang di cari pada
permainan tersebut. Algoritma backtack secara
sistematis mencari solusi persoalan di antara
semua kemungkinan solusi yang ada dengan
cara menelurusi pohon solusi secara DFS
(Depth First Search) sampai menemukan
solusi yang ada.
Universitas Sumatera Utara
14
Tabel 2.2 Penelitian Terdahulu (Lanjutan)
3 Utari Analisis dan
Implementasi
Algotitma
Backtracking
Pada Permainan
Hangman
Pada penelitian ini algoritma backtracking
diimplementasikan sebagai agen kecerdasan
buatan untuk melakukan penelusuran pada
simpul-simpul yang mengarah ke solusi
sebagai representasi dari huruf-huruf yang
akan di tebak pada indeks huruf yang masih
kosong atau belum ditebak. Huruf yang
menjadi tebakan diambil dari kata yang
telah dipilih secara acak pada indeks, jika
ditemukan huruf yang cocok maka akan di
jadikan solusi jika tidak ditemukan maka
akan di lakukan backtrack dan dilakukan
penelusuranpada huruf dari kata
berikutnya.penerapan kecerdasan buatan ini
dapat mengefisienkan waktu eksekusi
program dan memungkinkan agen
kecerdasan buatan untuk mengalahkan
manusia.
4 Sembiring
(2015)
Penerapan
Algoritma
Bactracking Pada
Perancangan Line
Maze Solver
Robotic Berbasis
Mikrokontroler
Atmega32
Pada penelitian ini algoritma backtracking
Digunakan pada robot untuk mencari
lintasan terpendek dari sebuah labirin.
Algoritma backtracking diterapkan pada
dua mode yaitu search dan return. Pada
mode search robot berjalan dari start
menuju finish, robot berjalan dengan aturan
mengutaman belok ke kiri dan pada mode
return robot sudah berjalan dari start
menuju finish dengan jalur terpendeknya
Universitas Sumatera Utara
BAB III
ANALISISDAN PERANCANGAN SISTEM
3.1 Analisis Kebutuhan Sistem
Pada analisis kebutuhan sistem ini, akan dilakukan analisis terhadap arena permainan dan
analisis algoritma.
3.1.1 Analisis Masalah
Adanya kecerdasan buatan sebagai metode pemecah masalah untuk menemukan solusi pada
permainan elena puzzle sesuai dengan petunjuk yang telah diberikan, solusi yang dihasilkan
oleh kecerdasan buatan merupakan hasil penelurusan dari beberapa kondisi untuk mendapatkan
jawaban yang tepat.
Sehingga dibutuhkan sebuah metode pencarian yang dapat melakuan pencarian solusi
persoalan secara sistematis pada semua kemungkinan yang ada tersebut dengan menggunakan
algoritma backtracking.
Dalam analisis masalah, dapat digambarkan lebih jelas melalui Diagram Ishikawa
(Fishbone Diagram) yang dapat dilihat pada Gambar 3.1
People
Kercedasan buatan
Pencarian
solusi
methods
Membantu pemain
mencari solusi yang tepat
Pemain tidak dapat menemukan
solusi permainan elena puzzle
Algoritma backtracking di gunakan
sebagai agen kecerdasan buatan
untuk menemukan solusi yang tepat
Gambar 3.1 Diagram Ishikawa (Fishbone Diagram)
Universitas Sumatera Utara
16
3.1.2 Analisis Persyaratan
Analisis persyaratan merupakan tahap penting, yaitu menentukan persyaratan dari sistem
seperti kebutuhan dari pengguna. Analisis persyaratan tebagi dua, yaitu analisis fungsional dan
analisis nonfungsional
3.1.2.1 Analisis fungsional
Analisis fungsional dilakukan untuk dapat mendeskripsikan tentang aktivitas dan layanan apa
saja yang harus disediakan oleh sistem. Berikut adalah aktivitas yang dapat dilakukan oleh
sistem
1. Sistem menyediakan 3 malasah berupa 3 Map permainan dengan 3 Solusi yang berbeda.
2. Warna yang digunakan pada permainan ada 3 warna yaitu, warna merah,warna biru,
dan warna kuning.
3. Kecerdasan buatan yang terdapat pada permaianan menggunakan algoritma backtrack
4. Bahasa pemrograman yang digunakan adalah VB.net dengan Xna framework.
3.1.2.2 Analisis nonfungsional
Analisis nonfungsional dilakukan untuk dapat mendeskripsikan mengenai fitur, karakteristik
dan batasan lainnya yang menentukan kepuasan pengguna terhadap sistem.
1. Performa
Sistem yang akan dibangun harus dapat menunjukkan solusi dari permainan dengan
menggukan backtrack sebagai agen kecerdasan buatan.
2. Mudah digunakan
Sistem yang akan dibangun harus memiliki tampilan dan respin yang baik dalam proses
penggunaannya.
3. Hemat biaya
Sistem yang akan dibangun bebas digunakan dan tidak membutuhkan perangkat lain
4. Manajemen Kualitas
Sistem yang akan dibangun memiliki kuatlitas yang baik
5. Kontrol
Sistem yang akan dibangun menampilkan pesan sukses ketika puzzle diselesaikan
Universitas Sumatera Utara
17
3.1.3 Analisis Arena Permainan
Pada aplikasi yang akan di bangun, permainan Elena puzzle ini akan di mainkan oleh satu
pihak, yaitu pemain atau sebuah kecerdasan buatan
Arena permainan pada Elena puzzle ini terdiri atas 2 daerah, yaitu : daerah pada pinggir
arena permainan yang berfungsi sebagi petunjuk dan daerah tengah arena permainan yang
berukuran 6x6 untuk mengisi bidak yang tersedia. Hal ini dapat dilihat pada Gambar 3.2 dan
Gambar 3.3
P E T U N J U K
PETUNJUK
PETUNJUK
P E T U N J U K
Gambar 3.2 Area Permainan Elena Puzzle
Universitas Sumatera Utara
18
(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6)
(1,0)
(0,7)
(1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7)
(2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7)
(3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7)
(4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7)
(5,0) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7)
(6,0) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7)
(7,0) (7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7)
x
y
Gambar 3.3 Koordinat map elena puzzle
Keterangan :
1. petunjuk: kotak berwarna abu abu, merupakan penanda bahwa warna yang pertama yg
di jumpai dari arah petunjuk tersebut merupakan warna yang sama dengan petunjuk
tersebut
2. Arena permainan : kotak berwarna putih, merupakan daerah yang di isi oleh pemain
atau oleh agen kecerdasan buatan , area permainan harus di isi dengan 6 warna merah
6 warna biru dan 6 warna kuning dengan syarat pada satu baris dan kolom tidak boleh
terdapat warna yang sama dan warna yang di isi di arena harus sesuai dengan petunjuk
yang telah di berikan.
Universitas Sumatera Utara
19
3.1.4 Analisis Algoritma
Seperti yang telah di paparkan pada bab sebelumnya, algortima yang digunakan untuk
menyelesaikan game puzzle ini adalah algoritma Runut-Balik (Backtracking). Algortima ini
akan digunakan olaeh agen kecerdasan buatan untuk mengisi arena permainan dengan benar.
Pada algoritma Backtracking, ada beberapa properti yang perlu dipertimbangkan yaitu
properti solusi persoalan, properti komponen vektor solusi dan properti kriteria pembatas.
Berikut adalah penjabaran dari properti-properti tersebut.
1. Properti solusi persoalan
Properti solusi persoalan properti yang berisikan simpul-simpul solusi dari persoalan.
Pada permainan Elena Puzzle ini, simpul-simpul persoalan merupakan kotak-kotak
berwarna putih yang berada ditengah arena permainan. Kotak-kotak tersebut diberi
koordinat (1,1) – (6,6) berdasarkan baris dan kolomnya.
2. Properti komponen vektor solusi
Properti komponen vektor solusi merupakan parameter yang digunakan untuk
mengarahkan penelusuran simpul menuju ke arah solusi. Parameter ini terdiri atas dua,
yaitu warna dan kordinat yang di isi oleh backtrack.
3. properti kriteria pembatas
Properti kriteria pembatas merupakan properti yang berfungsi untuk mengarahkan agen
kecerdasan buatan menentukan simpul-simpul yang mengarah ke solusi. Kriteria
pembatas yang diterapkan pada algoritna backtracking ini , mengacu pada strategi yang
di gunakan kecerdasan buatan pada pemainan game elena puzzle ini. Strategi tersebut,
yaitu :
a. Langkah awal. Pemilihan langkah di ambil berdasarkan petunjuk yang ada di
pinggir arena, agen kecerdasan buatan akan mengecek dari ketiga warna
(merah,biru,kuning) yang hanya terdapat 1 di baris atau di kolom petunjuk maka
agen kecerdasan buatan akan mengisi warna tersebut diarena permainan
disamping petunjuk.
Universitas Sumatera Utara
20
b. one point. Fungsi dari one point adalah untuk membuat agen kecerdasan buatan
mengecek apakah warna yang akan di isi sudah ada pada baris atau kolom
tersebut.
c. ceksektor. Cek sektor di jalankan bila fungsi onepoint true maka selanjutnya
agen kecerdasan buatan akan mengecek apakah warna yang akan di isi sesuai
dengan petunjuk yang ada di pinggir arena.
d. backtrack. Agen kecerdasan buatan akan melakukan pengecekan warna di arena
permainan mulai dari kordinat (1,1) sampai (3,6) kemudian pengecekan akan
diteruskan dari kordinat (6,6) sampai (4,1). Jika fungsi one point dan ceksektor
bernilai true maka agen kecerdasan buatan akan meletakkan warna tersebut di
arena permainan dan membuat simpul pada akar pohon solusi yang nantinya di
gunakan untuk mencari jawaban yang benar.
Pada kriteria pembatas ini, langkah awal a) menjadi prioritas utama, langkah awal
merupakan langkah pertama yang di jalankan oleh agen kecerdasan buatan dan warna
yang di isi dengan mengunakan langkah awal tidak dapat diganti dengan warna yang
lain.
Berikut ini adalah pseudocode penerapan algoritma Backtracking pada permainan
Elena puzzle.
warnaVal= 0 , Baris= 0, Kolom=0
templis = vector2(x,y)
kotak(7,7) As kotakpuzzle
hasil =false
do until hasil = benar
warnaVal += 1
warnaVal += 1
If warnaVal > 3 Then
warnaVal = 0
Universitas Sumatera Utara
21
End If
If (baris >= 0 And kolom >= 0) Then
If Not kotak(baris, kolom).checked And Not kotak(baris, kolom).invunerable
Then
kotak(baris, kolom).value = warnaVal
onepoint = ((baris, kolom), kotak, warnaVal)
ceksektor = (New Vector2(baris, kolom), warnaVal, kotak)
If onepoint And ceksektor Then
kotak(baris, kolom).checked = True
If Not templis.Contains(New Vector2(baris, kolom)) Then
templis.Add(New Vector2(baris, kolom))
End If
End If
End If
End If
If warnaVal = 0 Then
If HAtas Then
kolom += 1
If kolom > 6 Then
kolom = 1
Universitas Sumatera Utara
22
baris += 1
If baris > 3 Then
HAtas = False
kolom = 6
baris = 6
End If
End If
Else
kolom -= 1
If kolom < 1 Then
kolom = 6
baris -= 1
If baris < 4 Then
HAtas = True
kolom = 1
baris = 1
End If
If baris = 1 And kolom = 1 Then
If templis.Count = Rtemp Then
baris=templis(templis.Count-1).X
kolom=templis(templis.Count-1).Y
If baris < 4 Then
Universitas Sumatera Utara
23
HAtas = True
Else
HAtas = False
End If
warnaVal=kotak(baris, kolom).value
kotak(baris,kolom).checked=False
templis.RemoveAt(templis.Count- 1)
End If
Rtemp = templis.Count
End If
End If
End If
End If
hasil= cek_akhir(mapaktif, kotak, map1, solusimap1, solusimap2, solusimap3)
end loop
Pada pseudocode diatas, menjelaskan bagaimana proses backtracking menyelesaikan
persoalan yang terdapat pada game elena puzzle. Backtrack akan terus berjalan hingga hasil
yang ada di arena permainan sesuai dengan jawaban yang tepat.
Berikut contoh kasus penelusuran algoritma backtracking pada game elena puzzle.
1. Contoh kasus langkah awal.
Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat
pada Gambar 3.4
Universitas Sumatera Utara
24
Gambar 3.4 Keadaan papan permainan elena puzzle untuk langkah awal
Pada gambar diatas, hasil penelursuran algoritma backtracking adalah mengisi papan
permainan dengan warna yang hanya terdapat satu pada kolom atau baris petunjuk. Hasilnya
dapat dilihat dari Gambar 3.3
Universitas Sumatera Utara
25
2. contoh kasus one point.
Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat
pada gambar 3.5
Gambar 3.5 keadaan papan elena puzzle untuk one point
Pada gambar diatas, bactrack mengecek apakah sudah ada warna biru dikolom atau
baris yang akan diisi, karena tidak ada warna biru maka fungsi one point true dan dilanjutkan
ke langkah selanjutnya.
Universitas Sumatera Utara
26
3. contoh kasus cek sektor
Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat
pada gambar 3.6
Gambar 3.6 keadaan papan elena untuk cek sektor
Pada gambar di atas, backtrack mengecek apakah warna yang di akan di isi di arena
permainan sesuai dengan petunjuk yang ada di pinggir arena, karena warna sesuai maka cek
sektor true dan dilanjutkan ke langkah selanjutnya.
Universitas Sumatera Utara
27
4. contoh kasus backtrack
Berikut ini adalah gambar keadaan papan permainan elena puzzle yang dapat dilihat
pada gambar 3.7
(0,0) (0,1) (0,2) (0,3) (0,4) (0,5) (0,6)
(1,0)
(0,7)
(1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7)
(2,0) (2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7)
(3,0) (3,1) (3,2) (3,3) (3,4) (3,5) (3,6) (3,7)
(4,0) (4,1) (4,2) (4,3) (4,4) (4,5) (4,6) (4,7)
(5,0) (5,1) (5,2) (5,3) (5,4) (5,5) (5,6) (5,7)
(6,0) (6,1) (6,2) (6,3) (6,4) (6,5) (6,6) (6,7)
(7,0) (7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7)
x
y
1
2
3
6
5
4
Gambar 3.7 keadaan papan elena untuk langkah backtrack
Pada gambar di atas, backtrack melakukan pengecekan warna mulai dari(1,1) sesuai
dengan arah dan nomor panah, jika selama pengecekan fungsi one point dan cek sektor bernilai
true maka backtrack akan meletak warna tesebut diarena permainan dan memasukan hasil ke
pohon solusi dan jika pengecekan berakhir pada kotak (4,1) dan masih belum di temukan solusi
yang tepat maka backtrack mencabut langkah terakhir dan mengantinya dengan warna yang
lain dan pengecekan di mulai kembali dari (1,1) sampai di temukan solusi yang tepat.
Universitas Sumatera Utara
28
3.2. Perancangan Sistem
Perancangan sistem yang akan dibahas meliputi alur permainan pada permainan elena puzzle,
perancangan aplikasi permainan dan perancangan antarmuka.
3.2.1 Perancangan Aplikasi Permainan
Perancanggan aplikasi permainan merupakan perancangan interaksi apa yang dapat di lakukan
pengguna terhadap aplikasi permainan yang akan di bangun. Aplikasi ini di mulain dengan
form Utama yang berisikan menu pilihan Start, Menu Help, Menu About dan Exit. Pada setiap
tampilan ini, akan memberikan tamplan form-form berikutnya. Aplikasi akan berhenti jika
pengguna memilih tombol Exit. Berikut ini adalah proses yang akan terjadi pada aplikasi
permainan elena puzzle yang akan dilihat para Gambar 3.8
START
Tampilan Form Menu Utama
Pilih Menu Start?
Pilih Menu Help?
Pilih Menu About
Keluar
END
Tampilan Form
Panduan Permainan
Tampilan Form
Tentang Permainan
Kembali ?
Kembali ?
Tampilan Form pilih
arena permainan
Pilih arena permainan 1
Form Arena permainan 1
Backtrack?Output :
Solusi
Pilih arena permainan 2
Pilih arena permainan 3
Form Arena permainan 2
Form Arena permainan 3
BermainPuzzle
Backtrack
Keluar?
Kembali?
ya
tidak
ya
ya
ya
tidak
tidak
tidak
ya
tidak
tidak
tidak
ya
ya
ya
ya
ya
tidak
tidak
tidak
ya
tidak
Gambar 3.8 Flowchart Perancangan Aplikasi Permainan
Universitas Sumatera Utara
29
3.2.1.1 Flowchart Backtracking
Flowchart ini menggambarkan bagaimana algoritma backtracking berjalan pada permainan
elena puzzle sebagai kecerdasan buatan untuk mencari jawaban yang tepat. Gambar 3.9 dan
Gambar 3.10 merupakan flowchart backtrack.
Start
Baris = 0;Kolom = 0;Warna = 0;Rtemp = 0;
CallLangkahawal()
Warna += 1
Cekakhir() == true
Warna > 3
Warna = 0
True
True
(Baris >= 0) && (kolom >= 0)
False
!((Kotak(baris,kolom).checked == true) && (kotak(baris,kolom).invunerable == true))
True
(one point() == true) && (ceksektor == true)
True
Kotak(baris,kolom).checked = true
Templis.containt(kotak(baris.kolom)) == false
Templis.add(kotak(baris,kolom))
Warna == 0
False
True
False
True
False
False
1
1
Hatas == true
Kolom += 1
Kolom > 6
2
True
True
True
Kolom = 1;Baris += 1;
Baris > 3
Hatas = false;Kolom = 6;Baris = 6;
1False
2
False
False
False
False
True
2
3
3
3
Gambar 3.9 Flowchart Backtracking Untuk Mencari Solusi Yang Tepat Pada
Permainan Elena Puzzle
Universitas Sumatera Utara
30
1
2
Kolom -= 1
Kolom < 1
Kolom = 6;Baris -= 1;
Baris < 4
Hatas = true;Kolom = 1;Baris = 1;
Baris = 1 && kolom = 1
Templis.count == Rtemp
True
True
False
True
5
5
Baris = templis(templis.count – 1).xKolom = templis(templis.count – 1).y
Baris < 4
Hatas = true
Hatas = false
Warna = kotak(baris,kolom).warna;Kotak(baris,kolom) not checked;
Templis.RemoveAtIndex(templis.Count -1);
Rtemp = templis.count;
True
True
False
3
4
False
4
End
False
False
Gambar 3.10 Flowchart Backtracking Untuk Mencari Solusi Yang Tepat Pada
Permainan Elena Puzzle lanjutan
Universitas Sumatera Utara
31
3.3 Perancangan Pemodelan Analisis
Pada penelitian ini, perancangan yang akan dibahas menggunakan bahasa pemodelan UML
(Unified Modeling Languange) untuk perancangan aplikasi permainan dan perancangan
antarmuka aplikasi.
Bahasa pemodelan UML (Unified Modeling Languange) merupakan cara standar untuk
menggambarkan arsitektur sistem. Pada perancangan ini UML yang digunakan adalah use case
diagram, use case spesification dan activity diagram.
3.3.1 Use case diagram
Use case merupakan suatu teknik untuk mendeksripsikan persyaratan fungisonal sebuah sistem
yang berfungsi mendeskripsikan interaksi antara pemain dan aplikasi permainan secara
eksternal dalam sebuah sistem. Berikut merupakan use case diagram pada permainan Elena
Puzzle.
Start
Melihat help
Melihat About
Memilih Arena
Permainan
Memainkan
permainan
Selesaikan
permainan dengan
backtrack
<<Extend>><<include>>
Gambar 3.11 Use case diagram Elena Puzzle
Universitas Sumatera Utara
32
3.3.2 Use case specification dan activity diagram
Suatu use case specification menggambarkan masing-masing skenario dari use case sistem
yang akan dibangun secara terperinci dan activity diagram merupakan teknik yang
menggambarkan berbagai alur aktivitas dalam aplikasi yang akan dirancang, yaitu bagaimana
alur berawal, keputusan yang mungkin terjadi dan bagaimana alur berakhir. Berikut merupakan
use case specification dan activity diagram untuk aplikasi permainan yang akan di bangun.
a. Use case specification dan actifity diagram untuk membuka aplikasi permainan
Tabel 3.1 Use case specification Memulai permainan
Nama use case Memulai Permainan
Aktor Pemain
Deksripsi Use case ini berfungsi untuk memulai permainan Elena Puzzle
Pre condition -
Normal Flow Kegiatan Aktor Respon sistem
Pemain membuka aplikasi
Pemain memilih menu start
Pemain memilih Map 1,Map 2,atau
Map 3
Sistem menampilkan menu utama
Sistem menampilkan menu pilih map
Sistem menampilkan arena permainan
Alternative flow Kegiatan Aktor Respon Sistem
- -
Post condition Pemain dapat memulai permainan
Universitas Sumatera Utara
33
Activity diagram Memulai permainan dapat dilihat pada gambar 3.12 berikut
Pemain Sistem
Memilih menu Start
Menampilkan Menu Pilih Map
Menampilkan Menu Utama
Memilih Map 1, Map 2, atau Map 3
Menampilkan Arena Permainan
Membuka Aplikasi Permainan
Gambar 3.12 Activity Diagram Memulai Permainan
Universitas Sumatera Utara
34
b. Use case specification dan activity diagram Selesaikan permainan denan backtrack
Tabel 3.2 Use case specification Selesaikan permainan dengan backtrack
Nama use case Selesaikan Permainan dengan Backtrack
Aktor Pemain
Deksripsi Use case ini berfungsi untuk menyelesaikan permainan dengan
bantuan dari sistem.
Pre condition Papan permainan telah ditampilkan.
Normal Flow Kegiatan Aktor Respon sistem
Pemain menekan tombol
Backtrack yaitu memilih
menyelesaikan permainan
dengan Backtrack
Sistem akan mengisi arena
permainan dengan warna-warna
yang memungkinkan sampai
menemukan jawaban yang tepat.
Alternative flow Kegiatan Aktor Respon Sistem
Pemain menekan tombol back Sistem menampilkan kembali
Menu Utama.
Post condition Sistem akan mengisi arena permainan sampai menemukan jawaban
yang tepat.
Activity diagram Selesaikan permainan dengan backtrack dapat dilihat pada gambar
3.13 berikut
Universitas Sumatera Utara
35
Pemain Sistem
Memilih menu Start
Menampilkan Menu Pilih Map
Menampilkan Menu Utama
Memilih Map 1, Map 2, atau Map 3
Menampilkan Arena Permainan
Membuka Aplikasi Permainan
Menekan Tombol Backtrack
Mengisi Arena Permainan hingga menemukan jawaban yang tepat
Gambar 3.13 Activity diagram Selesaikan permainan dengan backtrack
Universitas Sumatera Utara
36
c. Use case specification dan activity diagram untuk Lihat Help
Tabel 3.3 Use case specification Lihat Help
Nama use case Lihat Help
Aktor Pemain
Deksripsi Use case ini berfungsi untuk menampilkan Halaman Help
Pre condition Menu utama sudah di tampilkan
Normal Flow Kegiatan Aktor Respon sistem
Pemain menekan tombol Help
pada menu utama
Pemain menekan tombol back
Menampilkan halaman help
.
Menutup halaman help
Alternative flow Kegiatan Aktor Respon Sistem
Post condition Pemain dapat melihat peraturan permainan pada halaman help
Activity diagram Lihat Help dapat dilihat pada gambar 3.14
Universitas Sumatera Utara
37
Pemain Sistem
Menekan tombol back
Menutup halaman help
Menampilkan halaman help
Memilih tombol help
Gambar 3.14 Activity Diagram Lihat Help
d. Use case specification dan activity diagram untuk Lihat About
Nama use case Lihat about
Aktor Pemain
Deksripsi Use case ini berfungsi untuk menampilkan Halaman About
Pre condition Menu utama sudah di tampilkan
Normal Flow Kegiatan Aktor Respon sistem
Pemain menekan tombol About
pada menu utama
Pemain menekan tombol back
Menampilkan halaman about
.
Menutup halaman about
Alternative flow Kegiatan Aktor Respon Sistem
Post condition Pemain dapat melihat tentang permainan pada halaman about
Tabel 3.4 Use case specification Lihat About
Universitas Sumatera Utara
38
Activity diagram Lihat About dapat dilihat pada gambar 3.15
Pemain Sistem
Menekan tombol back
Menutup halaman about
Menampilkan halaman about
Memilih tombol about
Gambar 3.15 Activity diagram Lihat About
3.4 Perancangan Antarmuka
Perancangan antarmuka aplikasi permainan elena puzzle ini terdiri dari beberapa form, yaitu
form Utama, Form Pilih Map, form Arena Permainan, form Panduan Permainan dan Form
Tentang Permainan. Berikut ini adalah rancangan antarmuka form form tersebut.
1. Form Utama
Form Utama merupakan form yang pertama kali ditampilkan saat aplikasi dijalankan.
Form ini berisikan menu yang dapat dipilih oleh pengguna yaitu Start, Help, About dan
Exit. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.16
Universitas Sumatera Utara
39
Start
Help
About
Exit
Utama
Elena Puzzle 1
2
3
4
5
Gambar 3.16 Form Utama
Keterangan :
1. Elena Puzzle merupkan judul aplikasi.
2. Start merupakan tombol menu yang berfungsi untuk menampilkan form Pilih
Map.
3. Help merupakan tombol menu yang berfungsi untuk menampilkan form Panduan
permainan.
4. About merupakan tombol menu yang berfungsi untuk menampilkan form
Tentang Permainan.
5. Exit merupkan tombol menu yang berfungsi untuk keluar dari aplikasi.
Universitas Sumatera Utara
40
2. Form Pilih Map
Form Pilih Map merupakan form yang digunakan untuk memilih salah satu dari tiga
arena permainan yang tersedia pada permainan elena puzzle. Rancangan antarmuka
form ini dapat dilihat pada Gambar 3.17
Map 1
Map 2
Map 3
Back
Pilih map
Elena Puzzle 1
2
3
4
5
Gambar 3.17 Form Pilih Map
Keterangan :
1. Elena Puzzle merupkan judul aplikasi.
2. Map 1 merupakan tombol menu yang berfungsi untuk menampilakan form arena
permainan dengan map 1 sebagai arena permainan.
3. Map 2 merupakan tombol menu yang berfungsi untuk menampilkan form arena
permainan dengan map 2 sebagai arena permainan.
4. Map 3 merupakan tombol menu yang berfungsi untuk menampilkan form arena
permainan dengan map 3 sebagai arena permainan.
5. Back merupakan tombol menu yang berfungsi untuk menampilkan kembali form
Utama.
Universitas Sumatera Utara
41
3. Form Arena Permainan
Form Arena Permainan merupakan form yang digunakan untuk bermain game elena
puzzle. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.18
Backtrack
Back
Arena permainan
1
2
3
Gambar 3.18 Form Arena Permainan
Keterangan :
1. Papan permainan Elena Puzzle.
2. Backtrack merupkan tombol yang berfungsi untuk menjalankan Agen
kecerdasan agar dapat menyelesaikan permainan Elena Puzlle.
3. Back Merupakan tombol yang berfungsi untuk menampilkan kembali form
Pilih Map.
Universitas Sumatera Utara
42
4. Form Panduan Permainan
Form panduan permainan merupakan form yang berisikan peraturan dan cara bermain
sehingga dapat memberikan informasi kepada pengguna tentang permainan elena
puzzle. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.19
previous Next
Panduan Permainan
Peraturan Permainan
Back
1
2 3
4
Gambar 3.19 Form Panduan Permainan
Keterangan :
1. Halaman berisi petunjuk mengenai peraturan permainan elena puzzle
2. Preverious merupakan tombol untuk melihat halaman peraturan sebelumnya
3. Next merupakan tombol untuk melihat halaman perarutan selanjutnyha
4. Back merupakan tombol untuk kembali ke menu utama
Universitas Sumatera Utara
43
5. Form Tentang Permainan
Form Tentang permainan merupakan form yang berisikan informasi mengenai author
aplikasi. Rancangan antarmuka form ini dapat dilihat pada Gambar 3.20
Back
Tentang permainan
1
2
Gambar 3.20 Form Tentang Permainan
Keterangan :
1. Halaman yang berisi tentang permainan
2. Back merupakan tombol untuk kembali ke menu utama
Universitas Sumatera Utara
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
Implementasi sistem merupakan kelanjutan dari tahap perancangan istem yang di bangun ini
menggunakan bahasa pemrograman VB dan XNA framework. Terdiri dari 7 Form yaitu Form
utama, Help, About, Pilih Map, Map1, Map2, Map3
4,1,1 Home
Pada saat dijalankan, Form Home akan muncul dan menampilkan 4 sub menu yaitu Start, Help,
About, Exit
Tampilan Form utama dapat dilihat pada Gambar 4.1
Gambar 4.1 Form Utama
Universitas Sumatera Utara
45
4.1.2 Help
Form Help akan muncul apabila User memilih sub menu Help pada aplikasi. Form ini
menampilkan penjelasan mengenai peraturan permainan elena puzzle.
Tampilan Form Help dapat dillihat pada Gambar 4,2 dan 4.3
Gambar 4.2 Form Help Halaman Pertama
Gambar 4.3 Form Help Halaman Kedua
Universitas Sumatera Utara
46
4.1.3 About
Form About akan muncul apabila User memilih sub menu About pada aplikasi. Form ini
menampilkan judul sistem dan informasi pembuat aplikasi.
Tampilan Form about dapat dilihat pada Gambar 4.4
Gambar 4.4 Form About
Universitas Sumatera Utara
47
4.1.4 Pilih Map
Form Pilih Map akan muncul apabila User memilih sub menu Start pada aplikasi. Form ini
menampilakan Pilihan map yang dapat dipilih untuk memulai permainan Elena Puzzle, pada
form ini User dapa memilih Map 1, Map 2, atau Map 3
Tampilan Form Pilih Map dapat dilihat pada Gambar 4.5
Gambar 4.5 Form Pilih Map
4.1.4.1 Map1
Form Map 1 akan muncul apabila User memilih map 1 pada Menu Pilih map. Tampilan Arena
Permainan yang muncul dapat dilihat pada Gambar 4.6
Gambar 4.6 Form Arena Permainan Map 1
Universitas Sumatera Utara
48
4.1.4.2 Map 2
Form Map 2 akan muncul apabila User memilih map 2 pada Menu Pilih map. Tampilan Arena
Permainan yang muncul dapat dilihat pada Gambar 4.7
Gambar 4.7 Form Arena Permainan Map 2
4.1.4.3 Map 3
Form Map 2 akan muncul apabila User memilih map 2 pada Menu Pilih map. Tampilan Arena
Permainan yang muncul dapat dilihat pada Gambar 4.8
Gambar 4.8 Form Arena Permainan Map 3
Universitas Sumatera Utara
49
4.2 Pengujian Sistem
Pengujian untuk sistem implemmentasi algoritma Backtracking dalam penyelesaian game
elena puzzle ini dilakukan untuk dapat melihat apakah agen kecerdasan buatan dapat
menyelesaikan puzzle dengan benar sesuai dengan pentunjuk yang diberikan.
4.2.1 Pengujian Backtrack Map 1
Sebelum melakukan proses Backtrack user harus memilih Map 1 dan kemudian menekan
tombol Backtrack pada halaman yang tersedia.
Berikut adalah tampilan ketika backtrack dijalankan dapat dilihat pada Gambar 4.9
Gambar 4.9 Tampilan Map 1 Ketika Backtrack dijalankan
Ketika Backtrack dijalankan maka agen kerdasan buatan akan mengisi arena permainan
dan mencatat kordinat warna yang di isi pada bagian kanan Map. Agen kecerdasan buatan akan
mengisi arena permainan dari kotak 1 sampai dengan kotak 18 kemudian dilanjutkan dari kotak
36 sampai kotak 19, jika masih belum di temukan jawaban yang benar maka agen kercerdasan
agan mengganti langkah terakhir dengan warna yang lain dan memulai pencarian kembali dari
kotak 1 sampai di temukan jawaban yang benar. Ketika jawaban sudah benar maka pencarian
Universitas Sumatera Utara
50
akan berhenti dan akan muncul Pop-up Window yang menyatakan jawaban sudah benar seperti
yang di tunjukan pada Gambar 4.10.
Gambar 4.10 Tampilan Pop-up window jawaban benar Map 1
Ketika kita menghilangkan pop-up window kita dapat melihat solusi yang telah di isi
oleh agen kecerdasan buatan, Solusi dari Map 1 dapat dilihat pada gambar 4.11 berikut.
Gambar 4.11 Tampilan Solusi Map 1
Universitas Sumatera Utara
51
Pada pengujian diatas waktu yang dibutuhkan oleh agen kecerdasan buatan untuk
mengisi dengan benar Map 1 sekitar 10 jam, hal ini disebabkan karena banyaknya solusi yang
memungkin kan untuk diisi oleh agen kecerdasan buatan, tetapi jika kita memberi bantuan
tambahan dengan mengisi warna biru pada kotak nomor 12 maka waktu yang dibutuhkan oleh
agen kecerdasan buatan hanya sekitar 1 menit.
4.2.2 Pengujian Backtrack Map 2
Sebelum melakukan proses Backtrack user harus memilih Map 2 dan kemudian menekan
tombol Backtrack pada halaman yang tersedia.
Berikut adalah tampilan ketika backtrack dijalankan dapat dilihat pada Gambar 4.12
Gambar 4.12 Tampilan Map 2 Ketika Backtrack dijalankan
Ketika Backtrack dijalankan maka agen kerdasan buatan akan mengisi arena permainan
dan mencatat kordinat warna yg di isi pada bagian kanan Map. Agen kecerdasan buatan akan
mengisi arena permainan dari kotak 1 sampai dengan kotak 18 kemudian dilanjutkan dari kotak
36 sampai kotak 19, jika masih belum di temukan jawaban yang benar maka agen kercerdasan
agan mengganti langkah terakhir dengan warna yang lain dan memulai pencarian kembali dari
kotak 1 sampai di temukan jawaban yang benar. Ketika jawaban sudah benar maka pencarian
Universitas Sumatera Utara
52
akan berhenti dan akan muncul Pop-up Window yang menyatakan jawaban sudah benar seperti
yang di tunjukan pada Gambar 4.13.
Gambar 4.13 Tampilan Pop-up window jawaban benar Map 2
Ketika kita menghilang kan pop-up window kita dapat melihat solusi yang telah di isi
oleh agen kecerdasan buatan, Solusi dari Map 2 dapat dilihat pada gambar 4.14 berikut.
Gambar 4.14 Tampilan Solusi Map 2
Universitas Sumatera Utara
53
Pada pengujian diatas waktu yang dibutuhkan oleh agen kecerdasan buatan untuk
mengisi dengan benar Map 2 sekitar 24 jam, hal ini disebabkan karena banyaknya solusi yang
memungkin kan untuk diisi oleh agen kecerdasan buatan, tetapi jika kita memberi bantuan
tambahan dengan mengisi warna merah pada kotak nomor 3 dan warna kuning pada kotak
nomor 15 maka waktu yang dibutuhkan oleh agen kecerdasan buatan hanya sekitar 15 menit.
4.2.3 Pengujian Backtrack Map 3
Sebelum melakukan proses Backtrack user harus memilih Map 3 dan kemudian menekan
tombol Backtrack pada halaman yang tersedia.
Berikut adalah tampilan ketika backtrack dijalankan dapat dilihat pada Gambar 4.15
Gambar 4.15 Tampilan Map 3 Ketika Backtrack dijalankan
Ketika Backtrack dijalankan maka agen kerdasan buatan akan mengisi arena permainan
dan mencatat kordinat warna yg di isi pada bagian kanan Map. Agen kecerdasan buatan akan
mengisi arena permainan dari kotak 1 sampai dengan kotak 18 kemudian dilanjutkan dari kotak
36 sampai kotak 19, jika masih belum di temukan jawaban yang benar maka agen kercerdasan
agan mengganti langkah terakhir dengan warna yang lain dan memulai pencarian kembali dari
kotak 1 sampai di temukan jawaban yang benar. Ketika jawaban sudah benar maka pencarian
Universitas Sumatera Utara
54
akan berhenti dan akan muncul Pop-up Window yang menyatakan jawaban sudah benar seperti
yang di tunjukan pada Gambar 4.16.
Gambar 4.16 Tampilan Pop-up window jawaban benar Map 3
Ketika kita menghilang kan pop-up window kita dapat melihat solusi yang telah di isi
oleh agen kecerdasan buatan, Solusi dari Map 2 dapat dilihat pada gambar 4.17 berikut.
Gambar 4.17 Tampilan Solusi Map 3
Universitas Sumatera Utara
55
Pada pengujian diatas waktu yang dibutuhkan oleh agen kecerdasan buatan untuk
mengisi dengan benar Map 3 sekitar 18 jam, hal ini disebabkan karena banyaknya solusi yang
memungkin kan untuk diisi oleh agen kecerdasan buatan, tetapi jika kita memberi bantuan
tambahan dengan mengisi warna biru pada kotak nomor 6 maka waktu yang dibutuhkan oleh
agen kecerdasan buatan hanya sekitar 15 menit.
Universitas Sumatera Utara
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan studi literalur, analisis, perancangan implementasi dan pengujian sistem
untuk implementasi algoritma backtracking dalam penyelesaian game elena puzzle maka
diperoleh kesimpulan sebagai berikut.
1. Algoritma backtrack dapat diterapkan oleh Agen Kecerdasan Buatan untuk
menemukan solusi yang benar tetapi membutuhkan waktu yang lama.
2. Kercerdasan buatan dengan algoritma backtrack ini dapat menyelsaikan Map 1 dengan
waku sekitar 1 menit jika dibantu dengan meletakkan warna biru pada kotak nomor 12
3. Kercerdasan buatan dengan algoritma backtrack ini dapat menyelsaikan Map 2 dengan
waku sekitar 15 menit jika dibantu dengan meletakkan warna merah pada kotak nomor
3 dan warna kuning pada kotak nomor 15
4. Kercerdasan buatan dengan algoritma backtrack ini dapat menyelsaikan Map 3 dengan
waku sekitar 10 menit jika dibantu dengan meletakkan warna biru pada kotak nomor 6
5.2 Saran
Adapun saran untuk pengembangan dan perbaikian dari sistem ini adalah :
1. Menambahkan fitur untuk Meng-generate Map agar Map yang di mainkan lebih
bervariasi.
2. Membuat antarmuka yg lebih menarik dengan animasi yang lebih baik.
3. Menambahkan Sound Effect dan Background Sound agar aplikasi menjadi lebih
menarik.
4. Menggunakan algoritma yang lebih baik dan lebih efisien agar pencarian solusi menjadi
lebih cepat dibandingkan dengan algoritma backtack.
5. Mengembangkan aplikasi pada platform yang berbeda
Universitas Sumatera Utara
14
DAFTAR PUSTAKA
Aho, A. V., Hopcroft, J. E., dan Ullman, J. D. 1974. The Design And Analysis Of Computer
Algorithms. USA: Addison-Wesley Publishing Company
Aho, A. V., Hopcroft, J. E., dan Ullman, J. D. 1983. Data Structures and Algorithms. USA:
Addison-Wesley Publishing Company
Bakri, A. H. 2010. Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Congklak.
Skripsi. Medan: Universitas Sumatera Utara.
Kusumadewi, S. 2003. Artificial Intelligence. Edisi Pertama. Yogyakarta: Graha Ilmu.
Kuswadi. Son. 2007. Kendali Cerdas Teori dan Aplikasi Praktisnya. Yogyakarta: ANDI.
Marbun, I.I. 2012. Permainan Word Search Puzzle Pada Android Menggunakan Algoritma
Backtraking, Skripsi. Medan: Universitas Sumatera Utara.
phibrainkaminopuzzle.wikia. 2014. Welcome to the Queen's Kingdom. (Online). Tersedia :
http://phibrainkaminopuzzle.wikia.com/wiki/Welcome_to_the_Queen%27s_Kingdom. [1
Desember 2014]
Sembiring, H. 2015. Penerapan Algoritma Backtracking Pada Perancangan Line Maze Solver
Robotic Berbasis Mikrokontroler. Skripsi. Medan : Universitas Sumatera Utara
Utari, D. 2011. Analisis Dan Implementasi Algoritma Backtracking Pada Permainan Hangman.
Skripsi. Medan : Universitas Sumatera Utara.
Wardani, W. & Savitri, D. I. 2005. Analisis Penerapan Algoritma Backtracking Dalam Pencarian
Solusi Game “Crossword Puzzle”.
Universitas Sumatera Utara
58
LAMPIRAN
LAMPIRAN LISTING PROGRAM
Public Overrides Sub Update(ByRef MenuMain As MainMenuState, ByRef PilihMap As SubMenuState) If StateBacktracking = StateBackTrack.Finish Then If notifsukses Then MsgBox("Puzzle Benar") notifsukses = False End If For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 If i = 0 Or i = 7 Or j = 0 Or j = 7 Then kotak(i, j).invunerable = True Else kotak(i, j).invunerable = True End If Next Next End If If StateBacktracking = StateBackTrack.Running Then If notifsukses = False Then notifsukses = True For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 If i = 0 Or i = 7 Or j = 0 Or j = 7 Then kotak(i, j).invunerable = True Else kotak(i, j).invunerable = False End If Next Next End If End If T += Waktu.ElapsedGameTime.TotalMilliseconds For Each m In Menu m.Update(m.Tekstur2D) Next For Each m In Menu If m.IsActivated Then If m.Value = 0 Then MenuMain = MainMenuState.Menu PilihMap = SubMenuState.NoMap End If If m.Value = 1 Then StateBacktracking = StateBackTrack.Running End If End If Next If StateBacktracking = StateBackTrack.Null Then If PilihMap = SubMenuState.Map1 Then For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 kotak(i, j).value = map1(i, j) kotak_hint(i, j).value = solusimap1(i, j)
Universitas Sumatera Utara
59
Next Next mapaktif = activemap.map1 StateBacktracking = StateBackTrack.StandBy End If If PilihMap = SubMenuState.Map2 Then For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 kotak(i, j).value = map2(i, j) kotak_hint(i, j).value = solusimap2(i, j) Next Next mapaktif = activemap.map2 StateBacktracking = StateBackTrack.StandBy End If If PilihMap = SubMenuState.Map3 Then For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 kotak(i, j).value = map3(i, j) kotak_hint(i, j).value = solusimap3(i, j) Next Next mapaktif = activemap.map3 StateBacktracking = StateBackTrack.StandBy End If End If For i = 0 To kotak.GetLength(0) - 1 For j = 0 To kotak.GetLength(1) - 1 If (i > 0 And i < 7) And (j > 0 And j < 7) Then If kotak(i, j).invunerable = False Then kotak(i, j).value = mouseklik(kotak(i, j).kordinat, kotak(i, j).value) End If End If Next Next If StateBacktracking = StateBackTrack.Running Then timerun += Waktu.ElapsedGameTime.TotalMinutes GPScript.langkahawal(kotak) If T > tempo Then warnaVal += 1 If warnaVal > 3 Then warnaVal = 0 End If If (baris >= 0 And kolom >= 0) Then If Not kotak(baris, kolom).checked And Not kotak(baris, kolom).invunerable Then kotak(baris, kolom).value = warnaVal onepoint = GPScript.onepoint(New Vector2(baris, kolom), kotak, warnaVal) ceksektor = GPScript.ceksektor(New Vector2(baris, kolom), warnaVal, kotak) If onepoint And ceksektor Then
Universitas Sumatera Utara
60
kotak(baris, kolom).checked = True If Not templis.Contains(New Vector2(baris, kolom)) Then templis.Add(New Vector2(baris, kolom)) End If End If End If End If If warnaVal = 0 Then If HAtas Then kolom += 1 If kolom > 6 Then kolom = 1 baris += 1 If baris > 3 Then HAtas = False kolom = 6 baris = 6 End If End If Else kolom -= 1 If kolom < 1 Then kolom = 6 baris -= 1 If baris < 4 Then HAtas = True kolom = 1 baris = 1 End If If baris = 1 And kolom = 1 Then If templis.Count = Rtemp Then baris = templis(templis.Count - 1).X kolom = templis(templis.Count - 1).Y If baris < 4 Then HAtas = True Else HAtas = False End If warnaVal = kotak(baris, kolom).value kotak(baris, kolom).checked = False templis.RemoveAt(templis.Count - 1) End If Rtemp = templis.Count End If End If End If End If End If End If If T > tempo Then T = 0 End If GPScript.cek_akhir(StateBacktracking, mapaktif, kotak, map1, solusimap1, solusimap2, solusimap3)
Universitas Sumatera Utara
61
If KeyboardStateAfter.IsKeyDown(Keys.C) Then hint_aktif = True Else hint_aktif = False End If
End Sub
Universitas Sumatera Utara