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

dokumen-dokumen yang mirip
ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

BAB I PERSYARATAN PRODUK

Penggunaan Metode Depth First Search (DFS) dan Breadth First Search (BFS) pada Strategi Game Kamen Rider Decade Versi 0.3

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA BREADTH FISRT SEARCH STUDI KASUS SISTEM PERKULIAHAN STMIK PROFESIONAL MAKASSAR

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

SEARCHING SIMULATION SHORTEST ROUTE OF BUS TRANSPORTATION TRANS JAKARTA INDONESIA USING ITERATIVE DEEPENING ALGORITHM AND DJIKSTRA ALGORITHM

IMPLEMENTASI ALGORITMA GENERATE AND TEST PADA PENCARIAN RUTE TERPENDEK

RANCANG BANGUN GAME SCRAMBLE DENGAN ALGORITMA DEPTH FIRST SEARCH (DFS) BERBASIS ANDROID TUGAS AKHIR

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

SATUAN ACARA PERKULIAHAN (SAP)

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

Pengembangan Teknik Pencarian Optimal Menggunakan Algoritma Generate and Test dengan Diagram Precedence (GTPRE)

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

METODE PENCARIAN. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) SEBAGAI PATHFINDING ENEMY ATTACK PADA GAME TRASH COLLECTION

PERANCANGAN SYSTEM PAKAR GENERIC MENGGUNAKAN BINARY TREE

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

JURNAL INFORMATIKA SIMULASI PERGERAKAN LANGKAH KUDA MENGGUNAKAN METODE BREADTH FIRST SEARCH

METODE PENCARIAN BFS dan DFS

IMPLEMENTASI ALGORITMA DEPTH LIMITED SEARCH PADA PERMAINAN PEG SOLITAIRE

ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM

BAB 1 PENDAHULUAN. Hal 1. 1 Dan W. Patterson, Introduction to Artificial Intelligence and Expert System, Prentice Hall, 1990,

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

REALISASI ROBOT PENCARI JALAN DALAM MAZE DENGAN METODE RUNUT-BALIK ABSTRAK

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

SIMULASI PENCARIAN JALAN MENGGUNAKAN ALGORITMA BACKTRACKING. Abstract

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

Penerapan Algoritma Runut-Balik dan Graf dalam Pemecahan Knight s Tour

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

ABSTRAK. Kata kunci: Google Maps, travelling salesman problem, pencarian rute, Branch and Bound. vi Universitas Kristen Maranatha

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A*

PENGEMBANGAN HEURISTIK DIFERENSIAL TERKOMPRESI UNTUK ALGORITMA BLOCK A*

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

PENCARIAN SHORTEST PATH DINAMIK DENGAN ALGORITMA BELLMAN-BASED FLOOD-FILL DAN IMPLEMENTASINYA PADA ROBOT MICROMOUSE

SATUAN ACARA PERKULIAHAN MATA KULIAH : SISTEM CERDAS (AK014226) FAKULTAS / JURUSAN : TEKNIK KOMPUTER / D3 SKS/SEMESTER : 2/5

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER (RPKPS)

Analisis Penggunaan Algoritma Backtracking dalam Penjadwalan Kuliah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Penggunaan Algoritma Pathfinding pada Game

MODIFIKASI METODE BACKTRACKING UNTUK MEMBANTU MENCARI PENYELESAIAN PERMAINAN PEG SOLITAIRE

BAB III METODE PELACAKAN/PENCARIAN

PENERAPAN ALGORITMA BIDIRECTIONAL A* PADA MOBILE NAVIGATION SYSTEM

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Bab 2 2. Teknik Pencarian

Aplikasi Server Pulsa Elektronik dengan Short Messaging Service (SMS) Gateway dan Sistem Multi Level Marketing (MLM)

Implementasi Algoritma DFS pada Pewarnaan Gambar Sederhana Menggunakan Bucket tool

Aplikasi Algoritma Greedy untuk Pergerakan Musuh pada Permainan Pac-Man

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

SATUAN ACARA PERKULIAHAN PERANCANGAN DAN ANALISIS ALGORITMA ** (S1/TEKNIK INFORMATIKA) PTA 2010/2011

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

PANDUAN PENCARIAN RUTE GEDUNG DAN RUANGAN PADA FAKULTAS DI UNIVERSITAS HALU OLEO MENGGUNAKAN ALGORITMA DIJKSTRA BERBASIS MACROMEDIA FLASH

ANALISIS PERBANDINGAN ALGORITMA PATHFINDING GREEDY BEST-FIRST SEARCH DENGAN A*(STAR) DALAM MENENTUKAN LINTASAN PADA PETA

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

Pengembangan Heuristik Diferensial Terkompresi untuk Algoritma Block A*

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

PENENTUAN ARAH TUJUAN OBJEK DENGAN TABU SEARCH

METODE PENCARIAN DAN PELACAKAN

APLIKASI PENCARI RUTE OPTIMUM PADA PETA GUNA MENINGKATKAN EFISIENSI WAKTU TEMPUH PENGGUNA JALAN DENGAN METODE A* DAN BEST FIRST SEARCH 1

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

BAB II LANDASAN TEORI

ALGORITMA PENCARIAN (1)

PENCARIAN RUTE TERPENDEK DENGAN MENGGUNAKAN ALGORITMA DEPTH FIRST, BREATH FIRST DAN HILL CLIMBING (STUDY COMPARATIVE)

Mendeteksi Blob dengan Menggunakan Algoritma BFS

IMPLEMENTASI ALGORITMA STOCHASTIC HILL CLIMBING PADA PERMAINAN MASTERMIND

MENENTUKAN LINTASAN TERPENDEK SUATU GRAF BERBOBOT DENGAN PENDEKATAN PEMROGRAMAN DINAMIS. Oleh Novia Suhraeni 1, Asrul Sani 2, Mukhsar 3 ABSTRACT

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

Sistem Pencarian Trayek Bis Antar Kota dengan Memanfaatkan Algoritma A*

BAB I PENDAHULUAN. 1.1 Latar Belakang

Masalah, Ruang Keadaan dan Pencarian 4/7/2016. fakultas ilmu komputer program studi informatika

SISTEM PAKAR MENDIAGNOSA PENYAKIT UMUM YANG SERING DIDERITA BALITA BERBASIS WEB DI DINAS KESEHATAN KOTA BANDUNG

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA BRANCH AND BOUND

Aplikasi Teori Graf untuk Pencarian Rute Angkutan Kota Terdekat untuk Tempat-tempat di Bandung

Prosedur instalasi aplikasi Tuntun adalah dengan mengunduh Tuntun.apk pada

SIMULASI ALGORITMA A* UNTUK MENYELESAIKAN PATHFINDING

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

BAB I PENDAHULUAN. ini. Salah satu penerapannya yaitu terdapat pada permasalahan dalam melakukan pencarian dari

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

Perbandingan Pencarian Rute Optimal Pada Sistem Navigasi Lalu Lintas Kota Semarang Dengan Menggunakan Algoritma A* Dan Algoritma Djikstra

BAB II DASAR TEORI Kajian Pustaka a. Penerapan Algoritma Flood Fill untuk Menyelesaikan Maze pada Line Follower Robot [1]

Algoritma Dijkstra Sebagai Dasar Pencarian Rute Tercepat pada Aplikasi Berbasis GPS Waze

BAB III ANALISA MASALAH DAN PERANCANGAN

HEURISTIC SEARCH UTHIE

TEKNIK PENYELESAIAN MASALAH BERDASARKAN AI

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Pencarian Rute Terpendek dengan Menggunakan Algoritma Depth First, Breath First dan Hill Climbing (Study Comparative)

Transkripsi:

Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search Tjatur Kandaga, Alvin Hapendi Jurusan Teknik Informatika, Fakultas Teknologi informasi, Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri No. 65 Bandung 40164 Email : tjatur.k@gmail.com, alvinhapendi@gmail.com Abstract Rat Race is a maze game. There is a rat with a main task to search an exit in the maze. The rat is provide with two blind search algorithm, that is Depth First Search and Breadth First Search. The main goal is to find an exit with minimum steps. In this application, Depth First Search has fewer steps to reach an exit than Breadth First Search algorithm. That is because Breadth First Search algorithm had so many backward steps. The blind search algortihm also can be use in another application. Web Peta is an application that use Depth First Search algorithm. The main purpose of this application are to search a route from one place to another place in map. The application also must provide alternative route and the shortest route. Keywords : Depth First Search, Breadth First Search, Bidirectional Search, Optimalisasi Pendahuluan Algoritma Depth First Search dan Breadth First Search adalah algoritma pencarian buta yang digunakan dalam kecerdasan buatan. Algoritma ini berfungsi untuk menemukan tujuan pada suatu kasus dimana tidak ada informasi tambahan yang dimiliki untuk membantu melakukan pencarian. Pada pencarian buta, pencarian dilakukan dengan cara menjalani satu per satu kemungkinan yang ada. Algoritma tersebut digunakan pada aplikasi Rat Race dan Web Peta. Rat Race adalah sebuah permainan dimana terdapat labirin dengan satu jalan masuk dan satu jalan keluar. Terdapat karakter tikus yang bertugas untuk mencari jalan keluar pada labirin. Tujuan utama dari permainan ini adalah mencari jalan keluar secepat mungkin dengan menggunakan kedua algoritma diatas. Hasilnya kemudian akan dibandingkan untuk dilihat algoritma manakah yang lebih baik untuk penerapan pada permainan ini. Permainan ini memiliki beberapa aturan, antara lain tikus hanya dapat berjalan satu langkah demi satu langkah. Tikus tidak dapat melihat dan berjalan secara diagonal. Pada labirin hanya terdapat satu jalan masuk dan satu jalan keluar. Aplikasi Web Peta juga menggunakan algoritma pencarian buta. Tetapi pada aplikasi Web Peta, algoritma yang digunakan adalah algoritma Depth First Search. Tujuan utama dari aplikasi ini adalah untuk mencari rute dari satu lokasi ke lokasi lainnya yang terdapat dalam peta. Selain itu juga aplikasi harus dapat menemukan rute alternatif dan rute terpendek untuk mencapai tujuan. 39

Jurnal Informatika, Vol. 4, No.1, Juni 2008: 39-47 Depth First Search Gambar 1 Pohon pencarian Depth First Search Gambar diatas adalah gambar pohon pencarian Depth First Search. Pada gambar diatas, tiap lingkaran berabjad disebut node. Tiap node bisa memiliki anak berupa node yang lainnya. Pada pencarian dengan algoritma Depth First Search, pencarian dimulai dari level paling pertama (level 0) kemudian dilanjutkan ke anak paling kiri pada level berikutnya (level 1) demikian seterusnya sampai tidak terdapat anak lagi atau level yang lebih dalam lagi. Jika pencarian sudah mencapai node atau anak paling dalam maka akan dilakukan penelusuran mundur atau backtracking untuk melakukan pencarian ke node anak berikutnya. Pada gambar diatas, pencarian dilakukan mulai dari node A-B-E-J, pada node ini akan melakukan penelusuran mundur menuju E-B kemudian melanjutkan ke node anak berikutnya yaitu F-K. Demikian seterusnya sampai tujuan ditemukan. Breadth First Search 40 Gambar 2 Pohon pencarian Breadth First Search Gambar diatas adalah gambar pohon pencarian Breadth First Search. Sama seperti pada pohon pencarian Depth First Search, tiap lingkaran berabjad disebut node. Tiap node bisa memiliki anak berupa node yang lainnya. Pada pencarian dengan algoritma Breadth First Search, pencarian dimulai dari level paling pertama (level

Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search (Tjatur Kandaga, Alvin Hapendi) 0) sampai node pada level tersebut habis. kemudian dilanjutkan ke anak paling kiri pada level berikutnya (level 1) demikian seterusnya sampai node pada level tersebut habis. Jika node pada level tersebut telah habis baru pencarian berpindah ke level berikutnya. Demikian seterusnya samapai tujuan ditemukan. Penerapan pada aplikasi Rat Race membutuhkan beberapa modifikasi, terutama untuk algoritma Breadth First Search. Hal ini dikarenakan pada algoritma ini tidak dikenal penelusuran mundur. Untuk membantu melakukan penelusuran mundur, maka digunakan bantuan algoritma Bidirectional Search. Gambar 3 Pohon pencarian Bidirectional Search Gambar diatas adalah gambar pohon pencarian Bidirectional Search. Pada pencarian Bidirectional Search, pencarian dilakukan dengan mencari induk yang sama dari masing-masing posisi awal dan tujuan. Sebagai contoh, pada gambar diatas kita anggap node E sebagai posisi awal dan node D sebagai posisi tujuan. Node E akan mencari induknya yaitu node B, kemudian node B akan mencari induknya yaitu node A. Karena node A tidak memiliki induk maka pencarian induk node pada posisi awal selesai. Pada posisi tujuan node D akan mencari induknya yaitu node A. Sama seperti pada posisi awal, karena node A tidak memiliki induk maka pencarian induk selesai. Setelah itu dapat terlihat bahwa node E dan node D memiliki induk yang sama yaitu node A. Sehingga jalur untuk menuju node D ditemukan. Yaitu induk dari posisi awal B-A dan induk dari posisi akhir A, induk yang sama tidak perlu dicantumkan 2 kali sehingga jalurnya akan menjadi E-B-A- D. Penerapan pada Aplikasi Rat Race Gambar 4 Contoh Labirin Rat Race 41

Jurnal Informatika, Vol. 4, No.1, Juni 2008: 39-47 Gambar diatas merupakan contoh labirin pada permainan Rat Race. Labirin diatas didefinisikan dalam sebuah variabel array dua dimensi bertipe data integer. Dengan ketentuan: 0 adalah jalan 1 adalah tembok 2 adalah posisi awal (pada gambar adalah node A) 3 adalah posisi tujuan (pada gambar adalah node G) Pada saat mulai berjalan, tikus belum memiliki gambaran mengenai labirin. Tikus tidak tahu jalan keluar dimana, 2 langkah ke depan terdapat tembok atau jalan. Tikus hanya memiliki pengetahuan tentang yang dilihatnya pada pertama kali. Pohon Depth First Search ataupun Breadth First Search pada pertama kali pun belum terbentuk. Pada saat tikus berjalan, barulah pohon pencarian sesuai dengan algoritma mulai terbentuk. Agar tikus melakukan pencarian dengan lebih pintar maka tikus diberi kemampuan untuk mengingat. Dalam hal ini mengingat langkah dan jalan yang telah diambil ataupun dilihat. Pada pencarian dengan algoritma Depth First Search dengan soal seperti gambar labirin sebelumnya, pencarian akan berlangsung seperti berikut: Gambar 5 Pohon Pencarian Breadth First Search lama 42 Posisi Awal A o Tikus melihat : B o Tikus berjalan ke B, posisi sekarang B Posisi B o Tikus melihat C dan A (tetapi A tidak dianggap sebagai langkah berikutnya karena tikus memiliki kemampuan mengingat). o Tikus berjalan ke C, posisi sekarang C Posisi C o Tikus melihat D, H dan B (B tidak dianggap karena kemampuan mengingat tikus). o Tikus berjalan ke D (karena D adalah node anak dari C paling kiri), posisi sekarang D Posisi D

Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search (Tjatur Kandaga, Alvin Hapendi) o Tikus melihat E dan C (C tidak dianggap karena kemampuan mengingat tikus). o Tikus berjalan ke E, posisi sekarang E Posisi E o Tikus melihat F, G dan D (D tidak dianggap karena kemampuan mengingat tikus). o Tikus berjalan ke G walaupun posisi node anak paling kiri dari E adalah F, karena tikus telah melihat G sebagai tujuan. Pola diatas didapat karena tikus dianggap memiliki kebiasaan untuk selalu melihat dan berjalan dengan pola: kanan, bawah, kiri, kanan. Jadi ketika kanan ada jalan tikus akan mengangap itu adalah anak pertama, demikian seterusnya. Pada pencarian dengan algoritma Breadth First Search, pohon pencarian mengalami modifikasi. Hal ini bertujuan agar pencarian dapat berlangsung lebih optimal. Pencarian dengan algoritma Breadth First Search jika menggunakan pohon pencarian sama seperti Depth First Search akan menjadi: A-B-C-D Kemudian akan ke node H, karena node H memiliki level yang sama dengan D. Algoritma Breadth First Seach akan melakukan pencarian ke node yang selevel terlebih dulu. Karena tujuan berikutnya adalah H, maka tikus harus menuju C terlebih dulu kemudian berpindah ke H (backtracking). Untuk dapat melakukannya, dibutuhkan bantuan algoritma bidirectional search. Posisi awal D, tujuan H. Masing-masing akan mencari induknya sampai ditemukan induk pertama yang sama, sehingga jalurnya bisa ditemukan. Langkah tikus akan menjadi: A-B-C-D-C-H Setelah dari node H tikus harus berpindah menuju node anak berikutnya yaitu E. Untuk dapat menuju E, dibutuhkan kembali bantuan algoritma bidirectional search. Demikian seterusnya sampai selesai. Dapat dilihat, jumlah langkah yang dibutuhkan oleh algoritma Breadth First Search menjadi sangat banyak karena banyaknya langkah kembali. Usaha perbaikan dilakukan pada pengelompokan node pada pohon pencarian. Pada pohon pencarian yang baru, level baru berganti ketika tikus menemukan cabang. 43

Jurnal Informatika, Vol. 4, No.1, Juni 2008: 39-47 Gambar 6 Pohon pencarian Breadth FIrst Search baru Sehingga pohon pencariannya akan menjadi seperti diatas. Pada pohon pencarian diatas, pada saat tikus bertemu dengan jalan yang memiliki cabang, maka level dari node berikutnya baru berubah. Pada pohon pencarian diatas langkah yang ditempuh oleh tikus adalah: A-B-C-D-E-G (6 langkah). Sedangkan jika menggunakan pohon pencarian yang lama, langkah yang ditempuh oleh tikus: A-B-C-D-H-C-D-E-G (9 langkah). Walaupun dengan kemungkinan terburuk dimana posisi tujuan terdapat pada node M, dengan perbaikan pada algoritma Breadth First Search maka pencarian akan menjadi: A-B-C-D-E-D-C-H-C-D-E-F-E-G-E-D-C-H-I-H-J-K-L-M (24 langkah). Sedangkan pada pohon pencarian yang lama, langkah yang ditempuh tikus akan menjadi: A-B-C-D-C-H-C-D-E-D-C-H-I-H-J-H-C-D-E-F-E-G-E-D-C-H-I-H-J-K-L-M (32 langkah). 44

Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search (Tjatur Kandaga, Alvin Hapendi) Hasil Aplikasi Rat Race Depth First Search lama Peta 5x5 Jumlah Langkah Pemakaian Memori Pengecekan Tujuan Peta 20x20 Jumlah Langkah Pemakaian Memori Pengecekan Tujuan Pengecekan Tujuan Depth First Search baru Selisih Breadth First Search lama Breadth First Search baru Selisih 10 10 0 78 44 34 27762688 27049984 712704 27066368 27058176 8192 10 9 1 - - - 88 88 0 490 210 280 32501760 32067584 434176 32923648 32874496 49152 88 77 11 - - - 88 77 11 - - - Pada aplikasi Rat Race output yang dihasilkan menunjukan perbaikan pada fungsi backtracking berhasil dilakukan, hal ini terlihat dari jumlah pengecekan tujuan yang dilakukan oleh fitur yang baru lebih sedikit dibandingkan dengan fitur yang lama. Pada fitur Breadth First Search, output yang dihasilkan menunjukan jumlah langkah yang dibutuhkan oleh tikus untuk mencapai tujuan berkurang banyak menjadi. Pada pengujian dengan ukuran labirin 20 x 20, algoritma Breadth First Search yang telah diperbaiki bisa memiliki jumlah langkah kurang dari setengah algoritma yang lama. Pengunaan memori pada algoritma yang baru pun lebih sedikit dibandingkan dengan penggunaan memori pada algoritma yang lama, baik pada fitur Depth First Search atau Breadth First Search. Penerapan pada Aplikasi Web Peta Pada aplikasi Web Peta, algoritma yang digunakan adalah algoritma Depth First Search. Pada aplikasi ini tidak terdapat labirin dan tikus sebagaimana terdapat pada aplikasi Rat Race. Tetapi dalam aplikasi ini labirin dapat kita analogikan sebagai peta pada aplikasi ini. Soal dengan bentuk 0,1,2,3 dapat kita analogikan sebagai relasi antar gambar. Pada aplikasi Web Peta, untuk dapat menemukan rute alternatif dan rute terpendek kita harus mendefinisikan relasi antara pecahan gambar yang satu dengan pecahan gambar yang lain. Karena hal itu maka labirin dalam aplikasi ini perlu untuk menggunakan database. Entity Relationship Diagram untuk aplikasi ini dapat dilihat pada gambar dibawah. 45

Jurnal Informatika, Vol. 4, No.1, Juni 2008: 39-47 Gambar 7 Entity Relationship Diagram Web Peta Pada Aplikasi Web Peta digunakan database MySQL. Pada database, terdapat 3 buah tabel. Tabel pertama adalah map_contents, didalamnya terdapat 3 buah atribut yang semuanya adalah unique. Fungsi dari tabel ini adalah untuk mencatat variant dari pecahan gambar dan mencatat ruasnya. Pencatatan ruas dibutuhkan jika dalam satu pecahan gambar terdapat lebih dari 1 jalan dan pada pecahan tersebut tidak saling berhubungan. Tabel kedua adalah map_relations, terdiri dari 2 atribut yang keduannya juga unique. Tujuan dari tabel ini adalah sebagai pencatat hubungan antara satu pecahan gambar dengan pecahan gambar di sebelah kiri, kanan, atas, bawah. Penamaan atribut pada database menggambarkan kode yang akan memudahkan aplikasi untuk menjalankan fungsinya. Peta pada aplikasi dibagi beberapa bagian dan memiliki lokasi koordinat x dan y. Sebagai contoh bisa dilihat pada gambar dibawah. 46 Gambar 8 Penamaan gambar Pada gambar diatas, penamaan pecahan gambar yang akan disimpan dalam database dimulai dari posisi koordinat x diikuti tanda - kemudian posisi koordinat y. Sebagai contoh adalah 1-2. 1 adalah lokasi x, 2 adalah lokasi y. Berarti pecahan gambar tersebut memiliki lokasi baris ke 1 kolom ke 2 pada peta. Untuk

Evaluasi dan Usaha Optimalisasi Algoritma Depth First Search dan Breadth First Search (Tjatur Kandaga, Alvin Hapendi) penamaan rute, dimulai sama dengan penamaan jalan biasa. Tambahannya adalah nomor pecahan gambar. Sebagai contoh 1-2-1. Artinya adalah pecahan gambar pertama pada baris 1 kolom 2. Contoh lainnya adalah 2-3-1, 2-3-2. Kesimpulan Pada hasil percobaan ditemukan bahwa algoritma Depth First Search memiliki keunggulan dalam jumlah langkah untuk mencapai tujuan dibandingkan dengan algoritma Breadth First Search. Hal ini dikarenakan banyaknya penelusuran mundur yang dilakukan oleh algoritma Breadth First Search. Algoritma pencarian buta juga dapat diterapkan tidak terbatas hanya pada aplikasi Rat Race. Penerapan algoritma pencarian buta pada aplikasi Web Peta memberikan gambaran bahwa algoritma pencarian buta dapat diterapkan secara luas, termasuk dalam aplikasi web. Daftar Pustaka [Cor88] [Dia06] [Ken06] [Lug05] [Rus03] [Wat05] Cormen, Thomas H. dkk. Introduction To Algorithms Diablo, Senior. 2006. Beginners Guide to Pathfinding Algoritm. Available from: http://ai-depot.com/tutorial/pathfinding-blind.html Kendall, Graham. 2006. Defining and Implementing Search. Available from: http://www.cs.nott.ac.uk/~gxk/courses/g5aiai/003blindsearches/implement.htm Luger, George F. 2005. Artificial Intelligence Structures and Strategies for Complex Problem Solving, 4 th Ed. Pearson Education Limited. Russell, Stuart J., Peter Norvig. 2003. Artificial Intelligence a Modern Approach. Prentice Hall. Watson, Mark. 2005. Practical Artificial Intelligence Programming in Java. Available from: http://www.markwatson.com 47