ANALISIS PENGARUH PENGGUNAAN NILAI HEURISTIK TERHADAP PERFORMANSI ALGORITMA A* PADA GAME PATHFINDING

dokumen-dokumen yang mirip
BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

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

SIMULASI ALGORITMA A* UNTUK MENYELESAIKAN PATHFINDING

Pencarian Rute Oleh Non Player Character Menggunakan Algoritma A* Berbasis 2D

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

JURNAL INFORMATIKA SIMULASI PERGERAKAN LANGKAH KUDA MENGGUNAKAN METODE BREADTH FIRST SEARCH

IMPLEMENTASI DAN PENGUJIAN

BAB 3 ANALISIS DAN PERANCANGAN

IMPLEMENTASI DAN ANALISIS PENGGUNAAN ALGORITMA A-STAR DENGAN PRIORITAS PADA PEMILIHAN RUTE LINTAS KENDARAAN RODA DUA

BAB I PENDAHULUAN 1-1. Howard. W. Sams & Co.1987, hal 1. 1 Frenzel, L.W. Crash Course In Artifical Intelligence And Expert Systems. 1st Edition.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB III ANALISIS DAN PERANCANGAN SISTEM

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

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

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

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

Ronan Deovolenta Malelak

BAB III ANALISA MASALAH DAN PERANCANGAN

PENERAPAN ALGORITMA A* UNTUK PENCARIAN SOLUSI TERBAIK PADA GAME CONGKLAK

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

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

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

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

BAB I PENDAHULUAN UKDW. dalam kehidupan kita sehari-hari, terutama bagi para pengguna sarana

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

BAB IV HASIL DAN UJI COBA


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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 ANALISIS DAN PERANCANGAN

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Jurusan Teknik Elektro ITS Surabaya, Jurusan Teknik Elektro ITS Surabaya, Jurusan Teknik elektro ITS Surabaya

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

BAB IV IMPLEMENTASI DAN EVALUASI

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

METODE PENCARIAN DAN PELACAKAN

Algoritma A* untuk AI Path Finding bagi NPC

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

BAB 4 IMPLEMENTASI DAN EVALUASI. 4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak. aplikasi dengan baik adalah sebagai berikut:

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze

Gambar 3.1. Diagram alir apikasi image to text

BAB 4. Implementasi dan Evaluasi

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

BAB 2 TINJAUAN PUSTAKA

UKDW BAB 1 PENDAHULUAN

BAB 4 IMPLEMENTASI DAN EVALUASI SISTEM

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

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Membangun Sistem Penjadwalan Ruang Laboratorium dengan Algoritma Modified BiDirectional A*

BAB IV IMPLEMENTASI DAN PENGUJIAN. Pada bab 4 ini akan dilakukan implementasi dan pengujian terhadap sistem.

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

@UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI SISTEM PARKIR CERDAS DI UNIVERSITAS TELKOM. SUBSISTEM : APLIKASI MOBILE

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) MEMBANGUN GAME EDUKASI SEJARAH WALISONGO

BAB 4 IMPLEMENTASI DAN EVALUASI. 4.1 Spesifikasi Perangkat Keras dan Pera ngkat Lunak. program aplikasi dengan baik adalah sebagai berikut:

BAB III ANALISIS DAN RANCANGAN PROGRAM

SEARCHING. Blind Search & Heuristic Search

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

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

BAB III ANALISIS DAN DESAIN SISTEM

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2011/2012

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi

BAB 4 HASIL DAN PEMBAHASAN Kebutuhan Perangkat Keras Mobile. perangkat keras yang memiliki spesifikasi sebagai berikut:

Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game

BAB 4 IMPLEMENTASI DAN EVALUASI. menggunakan algoritma Bipartite Matching yang telah dirancang, maka perlu dilakukan

METODE PENCARIAN BFS dan DFS

AI sebagai Masalah Pelacakan. Lesson 2

BAB III METODOLOGI PENELITIAN. Berikut ini, pada gambar 3.1 adalah tahapan yang dilakukan dalam

BAB 1 PENDAHULUAN. 1.1 Pendahuluan

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

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

MANAJEMEN BASIS DATA SARANA KAMPUS UNIVERSITAS BENGKULU MENGGUNAKAN ALGORITMA A* BERBASIS SPASIAL

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

BAB 4 IMPLEMENTASI DAN EVALUASI SISTEM. perangkat keras yang dibutuhkan sebagai berikut: a. Processor Intel Pentium 4 atau lebih tinggi;

BAB III ANALISIS DAN DESAIN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. program aplikasi dengan baik adalah : a. Processor Intel Pentium 1.66 GHz atau yang setara. b. Memori sebesar 512 MB

BAB IV HASIL DAN UJI COBA

BAB 4 IMPLEMENTASI. pada jaringan komputer berbasis Windows, oleh karena itu diperlukan spesifikasi

STUDI PENERAPAN ALGORITMA DIJKSTRA DAN ALGORITMA A* DALAM MENENTUKAN RUTE TERPENDEK PADA ROBOT PEMADAM API

BAB III ANALISIS DAN PERANCANGAN

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

HEURISTIC SEARCH UTHIE

BAB 4 IMPLEMENTASI DAN EVALUASI. aplikasi sistem informasi geografis ini adalah : a. Spesifikasi perangkat keras minimum : memori 64 MB.

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM

IMPLEMENTASI ALGORITMA GENERATE AND TEST PADA PENCARIAN RUTE TERPENDEK

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN TIC-TAC-TOE SKALA 9X9

BAB IV HASIL DAN UJI COBA

ISSN: PROBLEM SOLVING PERMAINAN PUZZLE 8 MENGGUNAKAN ALGORITMA A* Beny Hakim Halimsah, Eggy Margiso

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

BAB 4 IMPLEMENTASI DAN EVALUASI SISTEM. Implementasi dan pengujian dalam merancang program aplikasi

BAB III METODOLOGI PENELITIAN. Desain penelitian adalah tahapan atau gambaran yang akan dilakukan

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

Transkripsi:

Seminar Nasional Sistem Informasi Indonesia, 2-4 Desember 2013 ANALISIS PENGARUH PENGGUNAAN NILAI HEURISTIK TERHADAP PERFORMANSI ALGORITMA A* PADA GAME PATHFINDING Wina Witanti 1), Dewi Nurul Rahayu 2) Kopertis Wilayah IV, dpk Jurusan Informatika, Fakultas MIPA,Universitas Jenderal Achmad Yani Jl. Terusan Jenderal Sudirman PO BOX 148, Cimahi, 40521 HP: +62 813 21902103 E-mail:wina.witanti@lecture.unjani.ac.id Abstrak Salah satu implementasi algoritma A* adalah sebuah game pathfinding. Game pathfinding merupakan game untuk mencari jalan terpendek dari titik awal menuju titik tujuan pada sebuah peta.algoritma ini digunakan untuk menentukan jalan terpendek menuju tujuan. Performansi yang akan dihasilkan algoritma A* pada game pathfinding yaitu waktu pencarian, jumlah langkah dari titik awal menuju titik tujuan dan simpul yang diperiksa. Algoritma A* merupakan perbaikan dari metode Best-First Search (BFS) dengan menggunakan fungsi heuristik. Fungsi heuristik sering jugadisebut f(n) yang merupakan penentuan urutan titik yang akan dikunjungi terlebih dahulu.pada penelitian ini, dilakukan analisis terhadap penggunaan nilai heuristik yang berbeda untuk menentukan performansi algoritma A* pada sebuah game pathfinding dengan ordo maksimal 31x39. Hasil pengujian aplikasi pada penelitian ini,adalah selain didapatkan jalan menuju tujuan pada sebuah map dan pelacakan cabangnya, juga memberikan hasil pencarian jalan optimal yang merupakan jalan terpendek, dengan maksimal penghalang sebanyak 1207 penghalang, maka akan didapatkan maksimal sebanyak 38 jalan. Kata Kunci: pathfinding, A*, heuristik Abstract One implementation of the A* Algorithm is a pathfinding game.pathfinding game is a game to find the shortest path from the starting point towards the destination point from a map. This algorithm is used to determine the choice of the shortest path to the destination point.a* Algorithm is an improvement of the best-first search (BFS) method by using the heuristic function. Heuristic function is also called f (n) which is the determination of the sequence point to be visited first. In this research will be analyzed the use of different heuristic value to determine the performance of the A* Algorithm in pathfinding game with a maximum order of 31x39. The test s result on the application of this research is obtained besides path to the destination on a map and tracking subsidiary, also provides search results optimal path which is the shortest path, with a maximum barrier as 1207, then will be get38 ways as a maximum way. Keywords: pathfinding, A*, heuristic 1. PENDAHULUAN Proses dan cara berpikir seperti manusia yaitu artificial intelligence (kecerdasan buatan) untuk berbagai keperluan komputasi telah banyak didopsi.kecerdasan buatan dapat dipandang dari berbagai sudut pandang salah satunya sudut pandang penelitian. Domain yang sering dibahas oleh para peneliti salah satunya formal task yang diterapkan pada permainan atau game.hal penting dalam menentukan keberhasilan suatu aplikasi berdasarkan kecerdasan buatan adalah kesuksesan dalam pencarian dan pencocokan. Pada dasarnya terdapat dua teknik pencarian dan pelacakan yang digunakan, yaitu pencarian buta (blind search) dan pencarian terbimbing (heuristic search). Dalam pencarian terbimbing ada beberapa algoritma yang dapat digunakansalah satunya algoritma A*. Algoritma A*merupakan pengembangan dari best-first search (BFS) yang digunakan untuk mencari jalan terpendek (shortest path) yang sering dipakai dalam game programming, salah satunya akan diterapkan pada game pathfinding.pada penelitian ini diimplementasikan algoritma A* dalam pencarian jalan terpendek pada game pathfinding dimana algoritma tersebut digunakan untuk mencari jalan terpendek pada game pathfinding. Tujuan dari penelitian ini adalah mengetahui performansi waktu pencarian, jarak dan simpul yang diperiksa dari titik awal menuju titik tujuan dengan algoritma A* (A Star) yang diterapkan dalam pencarian jalan terpendek pada game pathfinding.

505 2. TINJAUAN PUSTAKA 2.1 Algoritma A* Algoritma A* (A star) adalah algoritma pathfinding pengembangan dari Algoritma BFS (Best First Search). Seperti halnya pada BFS, untuk menemukan solusi, A* juga dituntun oleh fungsi heuristik[1,2,3]. Perbedaan cara kerja A* dengan BFS adalah selain memperhitungkan cost dari currentstate ke tujuan dengan fungsi heuristic (seperti BFS), algoritma ini juga mempertimbangkan cost yang telah ditempuh selama ini dari initial state menuju ke current state. Jadi, apabila jalan yang ditempuh sudah terlalu panjang dan ada jalan lain yang lebih kecil cost-nya namun memberikan solusi yang sama apabila dilihat dari goal, maka jalan baru yang lebih pendek itulah yang akan dipilih [2,5]. Notasi yang dipakai oleh Algoritma A* adalah sebagai berikut: f(n) = g(n) + h(n) (1) Pada notasi standar yang dipakai untuk algoritma A* tersebut, digunakan g(n) untuk mewakili cost rute dari node awal ke node n, lalu h(n) mewakili perkiraan cost dari node awal ke nodegoal, yang dihitung dengan fungsi heuristic. A* menyeimbangkan kedua nilai ini dalam mencari jalan dari node awal ke nodegoal. Dalam menentukan node yang akan dikembangkan, algoritma ini akan memilih node dengan nilai f(n) yang paling kecil. Sehubungan denganalgoritma A* yang memberikan prioritas berdasarkan harga f(n), maka jika keadaan sepadan terjadi, terdapat lebih dari satu node dengan prioritas sama. Akibatnya adalah node-node tersebut akan diperiksa terlebih dahulu, yang mungkin node tersebut terletak berjauhan dengan node tujuan. Hal ini berakibat turunnya kinerja algoritma A*[4]. 2.2 Fungsi Heuristik Algoritma A* sebagai algoritma pencarian yang menggunakan fungsi heuristikuntuk menuntun pencarian rute, khususnya dalam hal pengembangan dan pemeriksaan node-node pada peta [5]. Terdapat beberapa fungsi heuristikumum yang bisa dipakai untuk algoritma A* ini. Salah satunya adalah yang dikenal dengan istilah Manhattan Distance. Fungsi heuristikini digunakan untuk kasus dimana pergerakan pada peta hanya lurus (horizontal atau vertikal), tidak diperbolehkan pergerakan diagonal[6]. Perhitungan nilai heuristikuntuk node ke-n menggunakan Manhattan Distance adalah sebagai berikut: h(n) = (abs(n.x - goal.x) + abs(n.y - goal.y)) (2) Dimana h(n) adalah nilai heuristikuntuk node n, dan goal adalah node tujuan. Jika pergerakan diagonal pada peta diperbolehkan, maka digunakan fungsi heuristikselain Manhattan Distance. Untuk mendekati kenyataan, cost untuk perpindahan node secara diagonal dan orthogonal dibedakan. Cost diagonal adalah 1,4 kali cost perpindahan secara orthogonal, maka fungsi heuristikyang digunakan adalah sebagai berikut: h_diagonal(n) = min(abs(n.x - goal.x) + abs(n.y goal.y)) h_orthogonal(n) = (abs(n.x - goal.x) + abs(n.y goal.y)) (3) h(n) = h_diagonal(n) + (h_orthogonal (n) (2 * h_diagonal(n))) Dimana h_diagonal(n) adalah banyaknya langkah diagonal yang bisa diambil untuk mencapai goal dari node n. h_orthogonal adalah banyaknya langkah lurus yang bisa diambil untuk mencapai goal dari node n. Nilai heuristic kemudian diperoleh dari h_diagonal(n) ditambah dengan selisih h_orthogonal(n) dengan dua kali h_diagonal(n). Dengan kata lain, jumlah langkah diagonal kali cost diagonal ditambah jumlah langkah lurus yang masih bisa diambil dikali cost pergerakan lurus[8]. 2.3 Algoritma A* pada Game Setiap game memiliki aturan main. Hal ini mempermudah upaya menghasilkan ruang pencarian dan memberikan kebebasan pada para peneliti dari bermacam-macam ambisi dan kompleksitas sifat serta kurangnya struktur permasalahan. Papan konfigurasi yang digunakan untuk memainkan game ini mudah direpresentasikan pada komputer dan tidak memerlukan bentuk yang kompleks. Game dapat menghasilkan sejumlah besar pencarian ruang. Hal ini cukup besar dan kompleks sehingga membutuhkan suatu teknik yang tangguh untuk menentukan alternatif pengeksplorasian ruang permasalahan. Teknik ini

506 dikenal dengan nama heuristikdan merupakan area utama dari penelitian tentang kecerdasan buatan. Banyak hal yang biasanya dikenal sebagai kecerdasan tampaknya berada dalam heuristikyang digunakan oleh manusia untuk menyelesaikan permasalahannya[6]. 3. ANALISIS, PERANCANGAN DAN IMPLEMENTASI Analisis merupakan bagian terpenting dalam pembangunan sebuah game. Game yang akan dibangun adalah game pathfinding merupakansebuah game simulasipencarian jalan untuk sampai ke tujuan,dalam proses pencariannya akan dimodelkan dengan fungsi heuristik. Perancangan dalam pembangunan game pathfinding, digunakan model Waterfall [7], seperti pada Gambar 1. Gambar 1.Model Waterfall 3.1 Analisis Deskripsi masalah adalah suatu gambaran masalah yang diangkat dalam penelitian ini, yangakan berupa kotakkotak dengan ordo minimal 3x3 dan maksimal 31x39. Gambar 2 merupakan contoh empat kondisi yang diimplementasikan. Gambar 2. Contoh kondisi ruang map yang akan dihitungdengan A* A: Titik awal; T: Titik tujuan; Warna hijau/gelap: Penghalang Pada analisis non-fungsional yang merupakan analisis untuk menentukan spesifikasi kebutuhan sistem. Spesifikasi ini juga meliputi elemen atau komponen-komponen apa saja yang dibutuhkan untuk sistem yang akan dibangun sampai dengan sistem tersebut diimplementasikan. Analisis kebutuhan ini juga menentukan spesifikasi masukan yang diperlukan sistem, keluaran yang akan dihasilkan sistem dan proses yang dibutuhkan untuk mengolah masukan sehingga menghasilkan suatu keluaran yang diinginkan. 1) Analisis masukan Analisis masukan dilakukan untuk mengetahui masukan data apa saja yang diperlukan oleh sistem. Masukan data yang diperlukan oleh sistem yaitu titik awal, titik tujuan, baris kotak, kolom kotak, penghalang maupun tanpa penghalang dan nilai heuristik. 2) Analisis keluaran Analisis keluaran dilakukan untuk mengetahui keluaran dari sistem yang dibutuhkan oleh user yaitu berupa jalur terpendek dan pelacakan pencarian dari titik awalke titik tujuan. 3) Analisis kebutuhan perangkat keras (hardware) Agar aplikasi dapat berjalan dengan baik, maka dibutuhkan perangkat keras yang sesuai dengan kebutuhan aplikasi, lihat Tabel 1.

File Map Panduan Tentang aplikasi Map baru Ctrl+N Buka Simpan Keluar Tembok A* Ctrl+O Ctrl+S Hapus Pohon OK Lihat Cabang Pencarian Map Baru Reset Acak Nilai Heuristik : 1 507 Tabel 1. Spesifikasi perangkat keras untuk implementasi Komputer Prosesor Layar Monitor Memori Memori 128Mb Harddisk Harddisk 20 GB Keyboard dan mouse - Spesifikasi perangkat keras Processor 1.6 Ghz Resolusi 1366 x 768 pixel LCD 14 inc Diagram konteks atau disebut juga dengan model aplikasi fundamental yang merepresentasikan seluruh elemen aplikasi sebagai sebuah bubble tunggal dengan data masukan-keluaran. Pada game pathfinding ini dijelaskan dengan diagram konteks seperti pada Gambar 3, DFD level 0-nya dijelaskan pada Gambar 4. Pengguna Info_ Info_ Info_PosisiTitikAwal Info_PosisiTujuan Info_PosisiTitikAwalAcak Info_PosisiTitikTujuanAcak Info_PosisiTitikTembok Info_PosisiTitikPohon Info_HapusTitikTembok Info_HapusTitikPohon Info_NilaiHeuristik Info_HasilRuteA* Info_HasilRuteBFS Info_ResetHasilRuteBFS Info_ResetHasilRuteA* Info_Map_Simpan Data_PosisiTitikAwal Data_PosisiTitikTujuan Data_NilaiHeuristik Data_CariRuteA* Data_CariRuteBFS GAME PATHFINDING 1.0 Pengaturan Grid Info_ Info_ Info_ Info_ Data_PosisiTitikAwal Data_PosisiTitikTujuan Data_PosisiTitikAwal Data_PosisiTitikAwalAcak Data_PosisiTitikTujuan Data_PosisiTitikTujuanAcak 2.0 Pengaturan Info_PosisiTitikAwal Titik Awal dan Info_PosisiTitikAwal Info_PosisiTujuan Titik Tujuan Info_PosisiTujuan Info_PosisiTitikAwalAcak Info_PosisiTitikAwalAcak Info_PosisiTitikTujuanAcak Info_PosisiTitikTujuanAcak Data_HapusTitikTembok 3.0 Data_HapusTitikPohon Pengguna Penentuan Map Penghalang Info_PosisiTitikTembok Info_PosisiTitikTembok Info_PosisiTitikPohon Info_PosisiTitikPohon Info_HapusTitikTembok Info_HapusTitikTembok Info_HapusTitikPohon Info_HapusTitikPohon Data_NilaiHeuristik Data_NilaiHeuristik 4.0 Penentuan Heuristik Info_NilaiHeuristik Info_NilaiHeuristik Data_CariRuteA* Data_LihatCabang Data_CariRuteA* Data_ResetHasilLihatCabang Data_LihatCabang 5.0 Data_ResetHasilRuteA* Pencarian Rute Info_HasilRuteA* Info_HasilRuteA* Info_HasilLihatCabang Info_HasilLihatCabang Info_ResetHasilLihatCabang Info_ResetHasilLihatCabang Info_ResetHasilRuteA* Info_ResetHasilRuteA* 6.0 Info_Map_Simpan Penampilan Menu Map Respon Map_Simpan Request Map_Simpan Map_Simpan Gambar 3. Diagram konteks game pathfinding Gambar 4. DFD Level 0 game pathfinding 3.2 Perancangan dan Implementasi Perancangan antarmuka bertujuan untuk memberikan gambaran tentang aplikasi yang akan dibangun sehingga memudahkan pembuatannya. Dalam aplikasi yang dibangun akan dirancang sebuah game pathfinding yang menggunakan Algoritma A*, dimana ordo yang siapkan minimal 3x3 dengan maksimal 7 penghalang dan maksimal ordo yang dimungkinkan untuk mengetahui jalur terpendek dari titik awal sampai dengan titik tujuan adalah 31x39 dengan maksimal penghalang sebanyak 1207 buah. Penghalang akan berupa tembok dan pohon yang pada saat implementasi, penggunaan penghalang ini dapat dikombinasikan. Penentuan jarak terpendek pada penelitian ini sangat tergantung pada pemilihan nilai heuristik, waktu, dan jumlah simpul yang diperiksa, sehingga akan menghasilkan jalan terpendeknya, dengan adanya penghalang atau tidak. Gambar 5 menjelaskan mengenai rancangan antarmuka menu utama dan Gambar 6 menjelaskan mengenai implementasi tampilan utamanya. T01 Rute A* (A Star) image 1 3 Baris Kolom 2 Map 4 Awal Tujuan 5 Penghalang 6 8 7 Pencarian Rute 11 12 13 10 9 Status Bar 15 Keterangan : Ukuran 1100x719 sesuai dengan skin Delphi, font High tower text, verdana size 9, size 10 dan size 11 dengan warna hitam 14 16 Navigasi : Isi nilai baris antara 3 sampai dengan 31 Isi nilai kolom antara 3 sampai dengan 39 Klik tombol OK untuk menampilkan baris dan kolom yang telah diberi nilai Klik tombol Awal untuk menempatkan titik awal pada map Klik tombol Tujuan untuk menempatkan titik tujuan pada map Klik tombol Tembok untuk menempatkan penghalang pada map Klik tombol Pohon untuk menempatkan penghalang pada map Klik checkbox Lihat Cabang Pencarian untuk menunjukkan jalur pelacakan A* Klik tombol A* untuk melakukan pencarian rute menggunakan algoritma A*(A star) Klik tombol Map Baru untuk membuat map baru Klik tombol Reset untuk mereset pencarian Klik tombol Acak untuk menempatkan titik awal dan titik tujuan secara acak Geser kursor Nilai Heuristik untuk menentukan nilai heuristik Klik menu File map untuk menampilkan submenu Klik menu Bantuan untuk menuju T02 Klik menu Tentang aplikasi untuk menuju T03 Klik Map baru atau Ctrl+N untuk membuat map baru Klik Buka atau Ctrl+O untuk membuka map yang sudah disimpan Klik Simpan atau Ctrl+S untuk menyimpan map baru Klik Keluar untuk keluar aplikasi Gambar 5. Rancangan antarmuka menu utama Gambar 6. Implementasi menu utama 4. HASIL DAN DISKUSI Sebagai hasil analisis, maka dilakukan uji performansi. Performansi yang akan diuji pada aplikasigame pathfing yaitu waktu pencarian, simpul yang diperiksa dan langkah yang dihasilkan dengan parameter nilai heuristkantara rentang 0,1 sampai 3. Pengujian performansi dengan ordo maksimal 31x39 tanpa penghalang dengan nilai heuristik1 dilakukan dengan hasil pengujian performansi dengan parameter nilai heuristik antara

508 rentang 0,1 sampai 3 dengan titik awal pada simpul (0,0) dan titik tujuan pada simpul (31,39) seperti terlihat pada Tabel 2. Tabel 2. Hasil pengujian ordo 31x39 tanpa penghalang No. Nilai heuristik Waktu (ms) Jumlah simpul yang diperiksa Jalan yang dihasilkan 1 0,1 36785 1178 37 2 0,5 34788 1114 37 3 1 30764 985 37 4 1,5 24321 778 37 5 2 15413 493 37 6 2,5 3136 99 37 7 3 1264 39 37 Pengujian performansi pada ordo maksimal 31x39 dengan penghalang dan nilai heuristik1 juga dilakukan dengan hasil pengujian performansi pada dengan parameter nilai heuristik antara rentang 0,1 sampai 3 dengan titik awal pada simpul (0,0) dan titik tujuan pada simpul (31,39) seperti pada Tabel 3. Tabel 3. Hasil pengujian ordo 31x39 dengan penghalang No. Nilai heuristik Waktu (ms) Jumlah simpul yang diperiksa Jalan yang dihasilkan 1 0,1 16536 529 38 2 0,5 14789 473 38 3 1 11980 383 38 4 1,5 10078 322 38 5 2 7207 230 38 6 2,5 2824 89 38 7 3 1701 53 38 Berdasarkan pengujian alpha yang telah dilakukan terhadap aplikasi, maka jalan yang dihasilkan merupakan jalan terpendek karena simpul yang diperiksa relatif banyak dan memerlukan waktu pencarian yang relatif lama pula. Parameter dengan nilai heuristikpaling kecil akan menghasilkan waktu dan simpul yang diperiksa besar sebaliknya nilai heuristikpaling besar akan menghasilkan waktu dan simpul yang diperiksa kecil. 5. SIMPULAN DAN SARAN 5.1 Simpulan Berdasarkan hasil pengujian guna mengetahui performansi waktu pencarian, jarak dan simpul yang diperiksa dari titik awal menuju titik tujuan dengan Algoritma A* (A Star) yang diterapkan dalam pencarian jalan terpendek pada game pathfinding, maka didapatkanlah untuk minimum jumlah simpul yang diperiksa dengan waktu 1264 ms yaitu sebanyak 39 simpul dengan menggunakan nilai heuristik3 dan maksimal jumlah simpul yang diperiksa dengan waktu 36785 ms yaitu sebanyak 1178 simpul dengan menggunakan nilai heuristik 0,1 didapatkanlah 37 jalan yang dihasilkan untuk ordo 31x39 tanpa penghalang. Namun didapatkan sebanyak 38 jalan yang dihasilkan untuk ordo 31x39 dengan penghalang, yaitu untuk minimum jumlah simpul yang diperiksa dengan waktu 1701 ms yaitu sebanyak 53 simpul dengan menggunakan nilai heuristik 3 dan maksimal jumlah simpul yang diperiksa dengan waktu 16536 ms yaitu sebanyak 59 simpul dengan menggunakan nilai heuristik 0,1. Jadi, lamanya proses pencarian dan banyaknya simpul yang diperiksa untuk pencarian jalan tergantung pada jarak antara titik awal dan titik tujuan.hasil Algoritma A*memberikan hasil pencarian jalan yang optimal. 5.2 Saran Berikut adalah beberapa saran untuk pengembangan lebih lanjut, karenaalgoritma A* mempunyai beberapa kelemahan diantaranya adalah membutuhkan komputasi yang relatif lama, maka A* dapat dikombinasikan dengan algoritma lain untuk meningkatkan performansi pencariannya. Ordo yang digunakan untuk game pathfinding juga dapat ditambah secara otomatis sesuai keinginan user (lebih dinamis) dan secara antarmuka dapat dikembangkan dengan icon yang lebih user friendly. 6. DAFTAR RUJUKAN [1] A Star Pathfinding for Beginners, 2004. Policyalnac.Available at: <http://www.policyalmanac.org/games>. [Accesed 21 April 2011]

509 [2] AI Game Programming,2003. Amit s Game Programming Site.Avaliable at: <http://theory.stanford.edu/~amitp/gameprogramming>. [Accesed 9 Oktober 2010] [3] Dechter, Rina; Judea Pearl. Generalized Best-First Search Strategies and the Optimality of A*. Journal of the ACM32 (3): pp.505-536.1985 [4] Riftadi, Mohammad. Variasi Penggunaan Fungsi Heuristik dalam Pengaplikasian Algoritma A*, MakalahIF2251, Teknik Informatika ITB, Bandung. Avaliable at: <http://www.informatika.org/~rinaldi/stmik/2006-2007/makalah_2007/makalahstmik2007-069.pdf,> [Accesed 5 Juni 2012] [5] Russel, Stuart J and Peter Novig, 2003. New Jersey: Prentice Hall. Artificial Intelligence. [6] Sutanto, Arnold Nugroho.(2009), Penerapan Algoritma A* dalam Pencarian Jalan untuk Permainan Lose Your Marble, MakalahIF3051-059, Program Studi Teknik Informatika ITB, Bandung. Available at:<http://www.informatika.org/~rinaldi/stmik/2009-2010/makalah2009/makalahif3051 2009-059.pdf> [Accesed 6 Juni 2012] [7] Sommervile, Ian. 2004. Prentice Hall. Software Engineering. [8] Zou, Huilai., Qu, Zening., Qu, Youtian. Optimized Application and Practice of A* Algorithm in Game Map Path-Finding.Avaliable at: <http://multicore.zju.edu.cn/iwcsei/iwcsei2010/4108c138.pdf>[accesed 28 Mei 2012]