ABSTRACT
In a Rat Race game, there is only one way in and one way out. The objective of this game is to find the shortest way to reach the finish. We use a rat character in this game, so the rat must walk automatically through the maze and try to find the way out to reach finish. We use some of artificial intelligence algorithm so the rat not walking brutally through the maze. It has some rule in this game, the rat only can step into 4 directions up, down, left, right and each time the rat step into direction it will be count. The objective of this application is to make the rat character becoming a smart rat that can walk, see, and have a good memory about the maze. There is 2 algorithm which are used to fulfill the objective of this game, i.e. Depth First Search algorithm and Breadth First Search algorithm. Depth First Search algorithm has a backtracking algorithm inside of it so the algorithm can make the rat become smarter. Breadth First Search algorithm in this game also has a backtracking function but using the bidirectional search algorithm to help find a path for backtracking function. So, this application implement 2 algorithm to make the rat can finish the objective. The new application must fix the algorithm so the rat can find the finish faster and smarter. In Depth First Search algorithm we fix backtracking function so the rat not check for the finish again when the rat using backtracking function. In Breadth Firtst Search algorithm we fix the way tree being generate. The level on the tree will up only if the rat find more than 1 way to go or meet intersection. The result are in the new application for the Breadth First Search algorithm has a fewer step than the old one. For the Depth First Search algorithm, the goal checking mechanism has fewer steps than the old one. There’s also a new application called “Web Peta” that implement Depth First Search algorithm. The objective of the application is to find a shortest route from one place in the map to other place in the map. The second objective is to find alternative route. The implementation of Depth First Search algorithm prove that this algorithm can be implement not only in game application, but also the algorithm can be use in the routing application.
ABSTRAK
Rat Race adalah permainan labirin dimana hanya terdapat satu jalan masuk dan satu jalan keluar. Tujuan dari permaianan ini adalah untuk mencari jalan keluar dari dalam labirin. Dalam permainan ini digunakan karakter tikus, tikus harus bisa berjalan didalam labirin untuk mencari jalan keluar. Dalam permainan ini digunakan algoritma yang menerapkan kecerdasan buatan, hal ini bertujuan agar tikus tidak hanya asal berjalan saja di dalam labirin. Dalam permainan ini terdapat beberapa aturan yaitu tikus hanya bisa berjalan ke empat arah atas, bawah, kiri dan kanan. Tiap kali tikus melangkah akan dihitung. Tujuan dari aplikasi ini adalah membuat karakter tikus menjadi pintar, dapat melihat, berjalan dan mengingat labirin ataupun langkah yang telah diambilnya. Terdapat dua algoritma yang digunakan dalam aplikasi ini, Depth First Search dan Breadth First Search. Algoritma Depth First Search memiliki fungsi backtracking untuk membuat karakter tikus menjadi lebih pintar. Breadth First Search juga memiliki fungsi backtracking tetapi dengan bantuan algoritma bidirectional search, yang bertujuan menemukan rute. Pada aplikasi yang baru, perbaikan dilakukan agar tikus dapat mencari jalan keluar dengan lebih cepat dan pintar. Perbaikan pada algoritma Depth First Search dilakukan pada fungsi backtracking. Pada fungsi ini pengecekan tujuan yang dilakukan oleh tikus dikurangi, karena sebelumnya telah dilakukan pengecekan tujuan. Jadi pengecekan tujuan tidak dilakukan berulang-ulang. Pada algoritma Breadth First Search perbaikan dilakukan pada cara tikus melihat dan membuat pohon pencarian. Level pada pohon pencarian baru akan bertambah jika tikus menemukan persimpangan. Hasil perbaikan pada algoritma Breadth First Search menghasilkan jumlah langkah yang lebih sedikit dibandingkan dengan algoritma yang lama. Pada algoritma Depth First Search pengecekan tujuan menjadi lebih sedikit. Selain itu terdapat aplikasi lain yang dinamakan “Web Peta”. Aplikasi ini bertujuan menerapkan algoritma pencarian pada peta jalan. Aplikasi dapat mencari rute terpendek dan rute alternatif dari satu tempat ke tempat lain didalam peta menggunakan algoritma Depth First Search. Aplikasi ini menunjukan bahwa algoritma pencarian dalam hal ini Depth First Search dapat diterapkan pada aplikasi lain selain Rat Race.
Kata kunci: Algoritma, Depth First Search, Breadth First Search, backtracking, maze, Rat Race, Web Peta.
DAFTAR ISI
LEMBAR PENGESAHAN ... i
PERNYATAAN ORISINALITAS LAPORAN ... ii
KATA PENGANTAR ... iii
LEMBAR PERNYATAAN PERSETUJUAN KARYA ILMIAH ... iv
ABSTRACT ... v
ABSTRAK ... vi
DAFTAR ISI ... vii
DAFTAR TABEL ... xi
DAFTAR GAMBAR ... xii
DAFTAR SIMBOL ... xiv
BAB I PERSYARATAN PRODUK... 1
1.1. Tujuan Pembuatan Sistem ... 1
1.1.1. Ruang Lingkup Proyek ... 1
1.1.2. Sistematika Laporan ... 2
1.2. Gambaran Sistem Keseluruhan ... 2
1.2.1. Perspektif Produk ... 2
1.2.2. Fungsi Produk ... 3
1.2.3. Karakteristik Pengguna ... 3
1.2.4. Batasan-Batasan ... 4
1.2.5. Asumsi dan Ketergantungan ... 5
1.2.6. Penundaan Persyaratan ... 5
BAB IISPESIFIKASI PRODUK ... 6
2.1. Persyaratan Antarmuka Eksternal ... 6
2.1.1. Antarmuka Dengan Pengguna ... 6
2.1.3. Antarmuka Perangkat Lunak... 7
2.1.4. Antarmuka Komunikasi ... 8
2.2. Fitur Produk Perangkat Lunak ... 8
2.2.1. Aplikasi Rat Race ... 8
2.2.1.1. Depth First Search ... 8
2.2.1.2. Breadth First Search ... 11
2.2.1.3. Pengukuran Memori ... 18
2.2.2. Aplikasi Web Peta ... 19
2.2.2.1. Pencarian Rute ... 19
BAB III DESAIN PERANGKAT LUNAK ... 22
3.1. Identifikasi Kebutuhan Sistem ... 22
3.2. Overview Sistem ... 23
3.3. Desain Perangkat Lunak ... 24
3.3.1. Use Case Diagram ... 24
3.3.2. Activity Diagram ... 26
3.3.3. Sequence Diagram ... 29
3.3.4. Class Diagram ... 31
3.3.5. Entity Relationship Diagram ... 33
3.4. Desain Arsitektur Perangkat Lunak ... 35
3.4.1. Komponen Perangkat Lunak ... 35
3.4.2. Konsep Eksekusi ... 35
3.4.3. Desain Antarmuka ... 36
BAB IV PENGEMBANGAN SISTEM ... 38
4.1. Perencanaan Tahap Implementasi ... 38
4.1.1. Implementasi Komponen Perangkat Lunak ... 38
4.1.2. Keterkaitan Antar Komponen Perangkat Lunak ... 40
4.2.1. Implementasi Bottom Up ... 40
4.2.1.1. Aplikasi Rat Race ... 40
4.2.1.2. Aplikasi Web Peta ... 46
4.2.2. Debugging ... 48
4.3. Ulasan Realisasi Fungsionalitas ... 49
4.4. Ulasan Realisasi Antarmuka Pengguna ... 51
BAB V TESTING DAN EVALUASI SISTEM ... 53
5.1. Rencana Pengujian Sistem Terimplementasi ... 53
5.1.1. Test Case ... 53
5.1.1.1. Aplikasi Rat Race ... 53
5.1.1.2. Analisis Big Oh ... 60
5.1.1.3. Aplikasi Web Peta ... 66
5.1.2. Uji Fungsionalitas Komponen Perangkat Lunak ... 70
5.2. Perjalanan Metodologi Pengujian ... 71
5.2.1. White Box ... 71
5.2.2. Black Box ... 72
5.3. Ulasan Hasil Evaluasi ... 73
BAB VI KESIMPULAN DAN SARAN ... 75
6.1. Keterkaitan antara Kesimpulan dengan Hasil Evaluasi ... 75
6.2. Keterkaitan antara Saran dengan Hasil Evaluasi ... 76
6.3. Rencana Perbaikan/Implementasi terhadap Saran yang Diberikan ... 76
DAFTAR PUSTAKA ... 78
LAMPIRAN ... 79
A. KODE PROGRAM ... 79
Depth First Search ... 79
Breadth First Search ... 83
Web Peta... 86
DAFTAR TABEL
Tabel 4.1 Variabel yang digunakan dalam class Depth First Search ... 40
Tabel 4.2 Metoda yang digunakan dalam class Depth First Search ... 41
Tabel 4.3 Variabel tambahan yang digunakan dalam class Breadth First Search ... 42
Tabel 4.4 Variabel yang digunakan dalam class Bidirectional Search ... 42
Tabel 4.5 Metoda yang digunakan dalam class Bidirectional Search ... 42
Tabel 4.6 Variabel yang digunakan dalam class Kaki ... 43
Tabel 4.7 Metoda yang digunakan dalam class Kaki ... 43
Tabel 4.8 Variabel yang digunakan dalam class Mata ... 44
Tabel 4.9 Variable yang digunakan dalam class otak ... 44
Tabel 4.10 Metoda yang digunakan dalam class Otak ... 45
Tabel 4.11 Variabel yang digunakan dalam class Soal ... 45
Tabel 4.12 Metoda yang digunakan dalam class Soal ... 45
Tabel 4.13 Variabel yang digunakan dalam class Memori ... 46
Tabel 4.14 Metoda yang digunakan dalam class Memori ... 46
Tabel 4.15 Variabel yang digunakan dalam class depthFirstSearch ... 46
Tabel 4.16 Metoda yang digunakan dalam class depthFirstSearch ... 47
Tabel 4.17 Metoda yang digunakan dalam class Koneksi ... 47
Tabel 4.18 Realisasi Fungsionalitas Aplikasi Rat Race ... 49
Tabel 4.19 Realisasi Fungsionalitas Aplikasi Web Peta ... 50
Tabel 5.1 Analisis Big Oh: function dfs ... 60
Tabel 5.2 Analisis Big Oh: function tujuan ... 61
Tabel 5.3 Analisis Big Oh: function isi Stack ... 61
Tabel 5.4 Analisis Big Oh: function jalan ... 62
Tabel 5.5 Analisis Big Oh: function isi antrian ... 65
Tabel 5.6 Hasil pengujian aplikasi Rat Race ... 73
DAFTAR GAMBAR
Gambar 2.1 Pohon Depth First Search ... 8
Gambar 2.2 Pohon Breadth First Search ... 11
Gambar 2.3 Pohon Bidirectional Search ... 12
Gambar 2.4 Contoh Soal 5 x 5 ... 13
Gambar 2.5 Pohon BFS lama ... 13
Gambar 2.6 Pohon BFS baru ... 14
Gambar 3.1 Use Case Diagram Aplikasi Rat Race... 24
Gambar 3.2 Use Case Diagram Aplikasi Web Peta ... 25
Gambar 3.3 Activity Diagram Depth First Search Aplikasi Rat Race ... 26
Gambar 3.4 Activity Diagram Breadth First Search Aplikasi Rat Race ... 27
Gambar 3.5 Activity Diagram Aplikasi Web Peta ... 28
Gambar 3.6 Sequence Diagram Depth First Search Aplikasi Rat Race ... 29
Gambar 3.7 Perbedaan Sequence Diagram Breadth First Search ... 30
Gambar 3.8 Sequence Diagram Aplikasi Web Peta ... 31
Gambar 3.9 Class Diagram Aplikasi Rat Race ... 32
Gambar 3.10 Class Diagram Aplikasi Web Peta ... 33
Gambar 3.11 Entity Relationship Diagram Aplikasi Web Peta ... 34
Gambar 3.12 Penamaan peta ... 34
Gambar 3.13 Komponen Perangkat Lunak Aplikasi Rat Race ... 35
Gambar 3.14 Desain Antarmuka Aplikasi Rat Race ... 36
Gambar 3.15 Desain Antarmuka Aplikasi Web Peta ... 37
Gambar 4.1 Package Diagram ... 40
Gambar 4.2 Realisasi Antarmuka Pengguna Aplikasi Rat Race ... 51
Gambar 4.3Realisasi Antarmuka Pengguna Aplikasi Web Peta ... 52
Gambar 5.1 Hasil Pengujian fitur DFS lama pada labirin 5x5 ... 54
Gambar 5.2 Hasil Pengujian fitur DFS baru pada labirin 5x5 ... 55
Gambar 5.3 Hasil Pengujian fitur DFS lama pada labirin 20x20 ... 56
Gambar 5.4 Hasil Pengujian fitur DFS baru pada labirin 20x20 ... 57
Gambar 5.5 Hasil pengujian fitur BFS lama pada labirin 5 x 5 ... 58
Gambar 5.6 Hasil pengujian fitur BFS baru pada labirin 5 x 5 ... 58
Gambar 5.8 Hasil pengujian fitur BFS baru pada labirin 20 x 20 ... 60
Gambar 5.9 Peta Bandung untuk aplikasi Web Peta ... 67
Gambar 5.10 Hasil aplikasi Web Peta: rute A menuju C ... 68
Gambar 5.11 Hasil aplikasi Web Peta: rute C menuju B ... 69
Gambar 5.12 Hasil Aplikasi WebPeta: rute B emnuju C ... 70
DAFTAR SIMBOL
SIMBOL GAMBAR
KETERANGAN
Use Case Diagram Aktor
Use case <<include>>
Extend <<extend>>
Include Sistem
Batasan sistem
Activity Diagram Kondisi Awal
Kondisi Akhir Aksi Pilihan
Alur
Sequence Diagram Masa hidup object
Aktivasi
Pesan
Pesan balasan
SIMBOL GAMBAR
KETERANGAN
Pesan balasan ke diri
sendiri
Pesan asynchrounus
Class Diagram Class diagram
uses
Entity Relationship
Diagram Entitas bernilai banyak
BAB I
PERSYARATAN PRODUK
Bagian pertama pada laporan ini akan menggambarkan tujuan dari pembuatan
sistem, sistematika dari penulisan laporan ini. Selain itu juga terdapat gambaran sistem
secara keseluruhan, dimana akan dijelaskan mengenai karakteristik dari pengguna dan
juga gambaran tentang aplikasi ini. Adapun tujuan utama aplikasi ini adalah
mengoptimalisasi algoritma yang ada pada aplikasi Rat Race. Penjelasan pun akan lebih
banyak mengedepankan langkah-langkah dalam melakukan optimalisasi. Pada bagian ini
juga akan dibahas penerapan lain dari algoritma yang terdapat pada aplikasi Rat Race
pada aplikasi Web Peta.
Bagian pertama ini juga akan menjelaskan tentang batasan-batasan dari aplikasi
ini baik aplikasi utama yaitu Rat Race dan juga aplikasi kedua yaitu Web Peta. Selain
hal-hal diatas, akan dibahas juga mengenai asumsi-asumsi yang digunakan dalam
pengembangan sistem dan juga penundaan persyaratan.
1.1. Tujuan Pembuatan Sistem
1.1.1. Ruang Lingkup Proyek
Optimalisasi algoritma Depth First Search dan Breadth First Search pada
aplikasi ini akan memperbaiki algoritma yang sudah ada sebelumnya untuk
mencapai hasil yang optimal. Selain itu juga akan dilakukan
perhitungan-perhitungan mengenai pemakaian resources dari aplikasi ini untuk kemudian
ditentukan kriteria dan batasan-batasan optimal dari aplikasi ini. Optimalisasi dari
kedua algoritma diharapkan akan menghasilkan algoritma yang lebih baik dilihat
dari jumlah langkah yang dibutuhkan, penggunaan memori, dan perhitungan secara
teoritis menggunakan Big Oh (analisis algoritma untuk mengetahui kompleksitas
asimptotik).
Pada aplikasi peta, penerapan algoritma difokuskan pada bagaimana cara
untuk dapat mencari rute terpendek dan rute alternatif dalam peta. Aplikasi
merupakan simulasi untuk menerapkan algoritma pencarian dengan kasus mencari
1.1.2. Sistematika Laporan
BAB I berisi mengenai tujuan dari pembuatan aplikasi, ruang lingkup,
perspektif produk yang akan menggambarkan mengenai aplikasi yang akan dibuat.
Didalamnya juga dibahas mengenai fungsi dari produk dan sebagainya.
BAB II berisi mengenai antarmuka baik itu dengan pengguna, antarmuka
perangkat keras yang digunakan, perangkat lunak yang digunakan, dan juga akan
dibahas mengenai fitur-fitur yang terdapat dalam aplikasi.
BAB III berisi desain dari perangkat lunak yang dibuat, desain dibuat
dengan menggunakan UML 2.0 hal, karena pendekatan yang digunakan adalah
pendekatan berorientasi objek.
BAB IV berisi mengenai keterkaitan antar komponen perangkat lunak,
didalam bagian ini juga akan dijelaskan mengenai implementasi dalam pembuatan
perangkat lunak. Selain itu juga ulasan fungsionalitas aplikasi akan dibahas dalam
bagian ini.
BAB V berisi mengenai pengujian yang dilakukan terhadap aplikasi dan
juga pengujian terhadap fungsionalitas dari komponen-komponen yang terdapat pada
kedua aplikasi.
BAB VI berisi mengenai kesimpulan yang dapat diambil dari hasil evaluasi
terhadap pengujian yang dilakukan terhadap aplikasi. Pada bagian ini juga terdapat
saran dan rencana implementasi agar saran tersebut dapat diterapkan.
1.2. Gambaran Sistem Keseluruhan
1.2.1. Perspektif Produk
Aplikasi ini adalah optimalisasi dari aplikasi sebelumnya. Pada aplikasi Rat
Race perbaikan terletak pada pendekatan bahasa pemrograman, jalannya algoritma
itu sendiri dan dalam pembuatan kode program. Dalam aplikasi Rat Race akan
diterapkan penggunaan bahasa pemrograman dengan pendekatan berorientasi obyek.
Selain itu juga, akan dilakukan analisa terhadap penggunaan resources yang ada
sehingga bisa menemukan batasan-batasan optimal untuk kemudian diterapkan pada
aplikasi ini. Perbaikan kode program juga akan dilakukan agar menghasilkan
algoritma yang lebih baik dilihat dari jumlah langkah yang dibutuhkan, penggunaan
Algoritma pencarian yang ada akan diterapkan juga dalam aplikasi Web Peta.
Aplikasi ini akan menampilkan peta jalan dengan lokasi-lokasi didalamnya. Bentuk
dari peta itu sendiri adalah berupa gambar yang akan dibagi-bagi lagi besarnya
seperti pembagian berdasarkan garis lintang dan garis bujur, dengan tujuan untuk
memudahkan menampilkannya dalam bentuk web dan menerapkan algoritma
pencarian. Algoritma pencarian akan diterapkan untuk mencari rute terpendek dari
satu titik ke titik yang lain pada peta.
1.2.2. Fungsi Produk
Fungsi dari aplikasi Rat Race adalah:
• Membuat tikus memiliki kemampuan untuk berjalan.
• Membuat tikus memiliki kemampuan untuk melihat keadaan disekitarnya.
• Membuat tikus memiliki kemampuan untuk mengingat jalan dan soal.
• Membuat tikus memiliki kemampuan untuk memilih jalan yang tepat.
• Membuat tikus mampu untuk menemukan jalan keluar dengan cepat dan tepat.
• Membuat aplikasi ini mencapai batasan optimal yang ditentukan.
Sedangkan fungsi dari aplikasi Web Peta adalah:
• Menerapkan algoritma Depth First Search pada aplikasi web.
• Menampilkan rute dari satu tempat ke tempat lain yang dituju.
• Aplikasi dapat menemukan rute terpendek yang harus dilalui untuk mencapai
tujuan.
• Aplikasi dapat menemukan rute alternatif untuk mencapai tujuan.
1.2.3. Karakteristik Pengguna
Pengguna dari aplikasi ini adalah mahasiswa dan dosen jurusan Teknik
Informatika Universitas Kristen Maranatha. Keahlian yang dibutuhkan adalah
mampu mengoperasikan komputer berbasis Windows XP Professional dan juga
Microsoft Visual Studio 2005 untuk menjalankan aplikasi Rat Race. Untuk
menjalankan aplikasi Web Peta kemampuan yang dibutuhkan adalah mampu
1.2.4. Batasan-Batasan
Pada Aplikasi Rat Race:
• Menggunakan bahasa pemrograman C#.
• Tool yang digunakan adalah Microsoft Visual Studio 2005.
• Sistem penanganan error tidak terlalu difokuskan tetapi akan dibuat error
handling seminimal mungkin.
• Hanya melakukan optimalisasi algoritma pada permainan Rat Race.
• Tidak membuat tampilan grafis.
• Menggunakan algoritma Depth First Search.
• Menggunakan algoritma Breadth First Search.
• Menggunakan algoritma Bidirectional Search untuk melakukan fungsi
backtracking.
Pada Aplikasi Web Peta:
• Menggunakan bahasa pemrograman PHP 5.
• Tool yang digunakan adalah Macromedia Dreamweaver 8.
• Menggunakan server Apache versi 2.2.4.
• Menggunakan database MySQL versi 5.0.33.
• Tool yang digunakan untuk mengolah database adalah phpmyadmin 2.9.2.
• Browser yang digunakan adalah Internet Explorer 6.0.
• Besarnya peta yang dipakai berukuran 5 x 5 pecahan gambar.
• Peta pada aplikasi ini berupa gambar yang dipotong-potong menjadi beberapa
gambar.
• Aplikasi ini dapat mencari rute terpendek berdasarkan banyaknya potongan
gambar yang harus dilalui.
• Aplikasi ini dapat mencari rute alternatif tetapi tidak bisa memilih rute mana
1.2.5. Asumsi dan Ketergantungan
Asumsi-asumsi yang digunakan dalam pembuatan aplikasi Rat Race adalah:
• Tikus dapat berjalan sejauh satu langkah demi satu langkah ke arah atas, bawah,
kiri dan kanan.
• Tikus tidak dapat berjalan secara diagonal.
• Tikus dapat melihat sejauh satu langkah ke arah atas, bawah, kiri dan kanan.
• Tikus tidak dapat melihat secara diagonal.
• Tikus tidak memiliki pengetahuan tentang soal.
• Tikus memiliki kemampuan mengingat terbatas pada soal yang sedang
dijalankan, jika dijalankan berikutnya ingatan yang dimiliki oleh tikus akan
digantikan oleh ingatan yang baru.
• Labirin hanya memiliki satu jalan masuk dan satu jalan keluar.
Sedangkan asumsi dan ketergantungan dari aplikasi Web Peta adalah:
• Algoritma pencarian yang digunakan adalah algoritma yang memiliki performa
paling optimal antara algoritma Depth First Search dan Breadth First Search.
• Peta diasumsikan sebagai soal dalam aplikasi ini.
• Posisi start tikus diasumsikan posisi awal pada aplikasi ini.
• Jalan keluar diasumsikan sebagai tujuan pada aplikasi ini.
• Panjang jalan dalam setiap pecahan gambar peta diasumsikan memiliki besar
yang sama.
• Tidak perlu untuk menjalani pecahan gambar satu per satu seperti dalam
aplikasi Rat Race, karena jumlah langkah dalam aplikasi ini tidak dihitung,
tetapi hanya dibutuhkan rute terpendek.
1.2.6. Penundaan Persyaratan
Komunikasi dengan aplikasi soal pada aplikasi rat race dapat dilakukan jika
BAB VI
KESIMPULAN DAN SARAN
Bab ini berisi mengenai kesimpulan yang dapat diambil berdasarkan dari
pengujian yang telah dilakukan terhadap aplikasi baik aplikasi Rat Race atau aplikasi
Web Peta. Dari kesimpulan yang diambil tersebut itu juga terdapat saran-saran terhadap
aplikasi yang ada. Rencana pengimplementasian saran tersebut juga dibahas dalam bab
ini. Rencana implementasi bertujuan agar dapat mengetahui bagaimana saran tersebut
dapat diterapkan
6.1. Keterkaitan antara Kesimpulan dengan Hasil Evaluasi
Perbaikan yang telah dilakukan pada algoritma Depth First Search dan Breadth
First Search menghasilkan output pemakaian memori yang lebih kecil dibandingkan
dengan aplikasi sebelumnya. Pada perbaikan algoritma Depth First Search proses
pengecekan tujuan menjadi lebih sedikit dibandingkan dengan algoritma sebelumnya.
Pada perbaikan algoritma Breadth First Search jumlah langkah yang dibutuhkan untuk
menemukan tujuan lebih sedikit dibandingkan dengan algoritma yang sebelumnya.
Perbaikan terhadap kedua algoritma tersebut berjalan dengan baik, hasil yang ingin
dicapai yaitu perbaikan jumlah langkah pada algoritma Breadth First Search, perbaikan
pada saat backtracking pada algoritma Depth First Search, dan juga pemakaian memori
yang lebih kecil berhasil dicapai. Tetapi walaupun perbaikan algoritma telah dilakukan,
pencarian dengan metoda Depth First Search masih lebih unggul dibandingkan dengan
pencarian dengan metoda Breadth First Search. Walaupun jumlah langkah yang
ditempuh oleh tikus dengan metoda Breadth First Search untuk mencapai tujuan
berkurang sekitar setengah dari pencarian yang lama, tetapi jumlah langkah yang
dibutuhkan masih terlalu banyak dibandingkan dengan pencarian dengan algoritma Depth
First Search, baik algoritma yang lama atau yang telah diperbaiki.
Pada Aplikasi Web Peta, pencarian dengan menggunakan algoritma Depth First
Search ternyata bisa diterapkan dan dapat berjalan dengan baik. Aplikasi juga bisa
mengenali jalan satu arah ataupun dua arah, tetapi pencarian rute terpendek masih
menggunakan asumsi bahwa tiap potongan gambar memiliki panjang yang sama, sebagai
contoh: potongan gambar 1-1 memiliki panjang jalan 10m maka potongan gambar yang
6.2. Keterkaitan antara Saran dengan Hasil Evaluasi
Pada aplikasi Rat Race, langkah yang diambil oleh tikus dapat dibilang sebagai
suatu kebiasaan baik pada algoritma yang lama maupun pada algoritma yang baru.
Sebagai contoh, saya bukanlah seorang kidal, maka saya selalu terbiasa menulis dengan
tangan kanan saya, saya selalu menulis dengan tangan kanan karena sudah menjadi
kebiasaan saya pada akhirnya. Analogi tersebut juga pada aplikasi Rat Race terjadi pada
waktu proses mengisi antrian ataupun stack. Tikus memiliki kebiasaan untuk melihat
keatas dulu, baru ke bawah, kemudian kiri dan terakhir kanan. Sehingga untuk berjalan
pun tikus terbiasa untuk berjalan selalu keatas dulu, baru ke bawah, dan seterusnya. Tikus
dapat menemukan jalan keluar lebih baik jika tikus dapat menentukan dia harus ke atas
atau kebawah atau kekiri atau mungkin juga ke kanan. Bukan hanya tergantung dari
kebiasaan yang dimiliki oleh tikus.
Pada aplikasi Web Peta, panjang jalan tiap-tiap jalan memiliki besarnya
masing-masing, jika ternyata panjang jalannya berbeda aplikasi akan menganggapnya memiliki
besar yang sama sehingga rute terpendek yang dihasilkan oleh aplikasi belum tentu
akurat. Karenanya dibutuhkan satu informasi tambahan yang menandakan berapa panjang
jalan dari masing-masing potongan gambar. Hal ini akan dapat memaksimalkan pencarian
rute terpendek agar menghasilkan output yang lebih akurat. Selain itu proses pembuatan
pecahan gambar pada aplikasi ini cukup sulit. Gambar yang ada harus dipecah-pecah
dengan koordinat x dan y, kemudian dibuat pecahan gambar untuk rute jalan. Proses
pembuatan gambar pada aplikasi Web Peta dapat dipermudah sehingga tidak menjadi
telalu rumit untuk dikembangkan.
6.3. Rencana
Perbaikan/Implementasi terhadap Saran yang
Diberikan
Pada aplikasi Rat Race dibutuhkan informasi tambahan agar tikus dapat
menentukan dia akan melangkah ke arah mana terlebih dahulu, misalnya : pada soal
terdapat keju, dan tikus memiliki indera pembauan sehingga bisa mendeteksi dimana
letak kejunya. Selain itu juga proses random dapat dicoba ketika tikus akan melangkah
atau melihat, sehingga tikus tidak selalu melangkah berdasarkan kebiasaan.
Pada aplikasi Web Peta, perlu tambahan satu buah atribut pada tabel
map_contents yang isinya merupakan panjang jalan dari masing-masing potongan
akurat. Selain itu untuk mempermudah dalam proses pembuatan gambar peta, mungkin
dapat menggunakan bantuan aplikasi lain. Sebagai contoh menggunakan open street map,
atau aplikasi untuk web lainnya yang memiliki fungsi yang sama.
DAFTAR PUSTAKA
[Cor88] Cormen, Thomas H. dkk. Introduction To Algorithms
[Dia06] Diablo, Senior. 2006. Beginners Guide to Pathfinding Algoritm. Available
from: http://ai-depot.com/Tutorial/PathFinding-Blind.html
[Jes03] Jesse, Michael dan James A.Schardt. 2003. UML 2 For Dummies. Wiley
Publishing
[Ken06] Kendall, Graham. 2006. Defining and Implementing Search. Available from:
http://www.cs.nott.ac.uk/~gxk/courses/g5aiai/003blindsearches/implement.htm
[Lug88] Luger, George F. 1988. Artificial Intelligence Structures and Strategies for
Complex Problem Solving. Pearson Education Limited.
[Mun03] Munir, Rinaldi. 2003. Diktat Kuliah Matematika Diskrit. Departemen Teknik
Informatika Institut Teknologi Bandung.
[Rus03] Russell, Stuart J., Peter Norvig. 2003. Artificial Intelligence a Modern
Approach. Prentice Hall.
[Wat05] Watson, Mark. 2005. Practical Artificial Intelligence Programming in Java.
Available from: http://www.markwatson.com