• Tidak ada hasil yang ditemukan

Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search dengan Penerapan pada Aplikasi Rat Race dan Web Peta.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search dengan Penerapan pada Aplikasi Rat Race dan Web Peta."

Copied!
20
0
0

Teks penuh

(1)

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.

(2)

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.

(3)

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

(4)

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

(5)

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

(6)

Web Peta... 86

(7)

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   

(8)

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

(9)

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

(10)

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

(11)

SIMBOL GAMBAR

KETERANGAN

  Pesan balasan ke diri

sendiri

  Pesan asynchrounus

Class Diagram Class diagram

uses

Entity Relationship

Diagram Entitas bernilai banyak

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

 

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

(18)

 

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

(19)

 

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.

(20)

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

Gambar

GAMBAR KETERANGAN
GAMBAR KETERANGAN

Referensi

Dokumen terkait

Proses data latih digunakan untuk menyimpan referensi tulisan manusia, langkah pertama yaitu user melakukan sampling dengan cara menulis pada kertas kemudian data

secara parsial tidak berpengaruh dan tidak signifikan terhadap Nilai Perusahaan pada perusahaan sektor Barang Konsumsi yang terdaftar di Bursa Efek Indonesia

Observasional Kasus Kontrol Analitik di Unit Rawat Jalan Penyakit Dalam Besar sampel yang akan diteliti menurut perhitungan adalah 52 orang dengan 26 orang

menyediakan dan menyalurkan paket sembako kepada masyarakat berpenghasilan rendah melalui kegiatan pengadaan paket sembako bersubsidi dan bersedia menerima pengganti

Fungsi ini termanifestasikan dalam bentuk kegiatan pengumpulan barang produksi untuk diangkut ke daerah lain, serta kegiatan pengangkutan orang yang akan bergerak ke

Chemical characteristics and kraft pulping of tension wood from Eucalyptus

Berdasarkan hasil penelitian ini dapat disimpulkan bawha penggunaan video langsung dapat digunakan untuk mendeteksi dan menangkap objek wajah manusia yang

Data yang dihasilkan dari studi ini memberikan informasi tentang dampak jangka pendek yang dialami oleh masyarakat dan upaya pemulihan di wilayah-wilayah yang