PENERAPAN MODIFIKASI ALGORITMA A* PATHFINDING DALAM GAME BALAP 3D BERBASIS MOBILE KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI OLEH : INDRA MAULANA BACHTIFAR NIM.1108605031 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA 2015
PENERAPAN MODIFIKASI ALGORITMA A* PATHFINDING DALAM GAME BALAP 3D BERBASIS MOBILE KOMPETINSI REKAYASA PERANGKAT LUNAK [SKRIPSI] Sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana Tulisan ini merupakan hasil penelitian yang belum pernah dipublikasikan INDRA MAULANA BACHTIFAR NIM. 1108605031 Pembimbing I Pembimbing II I Made Widiartha, S.Si, M.Kom NIP. 198212202008011008 Ida Bagus Gede Dwidasmara, S.Kom., M.Cs NIP. 198503152010121007 i
LEMBAR PENGESAHAN TUGAS AKHIR Judul Skripsi : Penerapan Modifikasi Algoritma A* Pathfinding Dalam Game Balap 3D Berbasis Mobile Kompetensi : Rekaya Perangat Lunak Nama : Indra Maulana Bachtifar NIM : 1108605031 Tanggal Seminar : 16 Oktober 2015 Disetujui oleh: Pembimbing I Penguji I I Made Widiartha, S.Si, M.Kom I Gede Santi Astawa, S.T.,M.Cs. NIP. 198212202008011008 NIP. 198012062006041003 Pembimbing II Penguji II Ida Bagus Gede Dwidasmara,S.Kom, M.Cs Agus Muliantara, S.Kom,M.Kom NIP. 198503152010121007 NIP. 198006162005011001 Penguji III I Putu Gede Hendra Suputra, S.Kom.,M.Kom NIP. 198812282014041001 Mengetahui, Jurusan Ilmu Komputer FMIPA UNUD Ketua, I Komang Ari Mogi, S.Kom., M.Kom. NIP. 198409242008011007 ii
Judul : Penerapan Modifikasi Algoritma A* Pathfinding Dalam Game Balap 3D Berbasis Mobile Nama : Indra Maulana Bachtifar Pembimbing : 1. I Made Widiartha, S.Si, M.Kom. 2. Ida Bagus Gede Dwidasmara,S.Kom, M.Cs ABSTRAK Kecerdasan buatan (Artificial Intelligence) menyebabkan lahirnya berbagai teknologi yang bersifat cerdas sehingga dapat menirukan tingkah laku dan fungsi otak manusia. Kecerdasan buatan ini dapat dimanfaatkan diberbagai bidang kebutuhan manusia, misalnya game. Bermain game akan terasa lebih menarik apabila game yang dimainkan memiliki kecerdasan buatan karena pemain bisa berinteraksi dengan komputer itu sendiri, salah satu kecerdasan buatan yang bisa diterapkan dalam game balapan itu sendiri adalah A* pathfinding. A* pathfinding merupakan sebuah algoritma yang digunakan untuk menentukan arah jalan dari titik awal ke titik akhir dengan melalui node-node yang tersedia. A* merupakan algoritma yang mudah untuk diterapkan dan banyak digunakan dalam aplikasi desktop maupun game. Berdasarkan hasil penelitian yang telah dilakukan, bahwa penerapan algoritma A* pathfinding dalam game balap ini mampu menyelesaikan permasalahan dalam hal menghindari rintangan untuk menemukan rute dari titik awal ke titik tujuan. Kata Kunci : Game Balap, Game Mobil, Algoritma A* (star). iii
Title : Penerapan Modifikasi Algoritma A* Pathfinding Dalam Game Balap 3D Berbasis Mobile Name : Indra Maulana Bachtifar Supervisors : 1. I Made Widiartha, S.Si, M.Kom. 2. Ida Bagus Gede Dwidasmara,S.Kom, M.Cs ABSTRACT Artificial Intelligent cause increasing technology rapidly and can doing like human behavior. This artificial intelligence can be used in various human needs, such as games. Playing the game will be more interesting if the game is played has artificial intelligence because the player can interact with the computer itself, one of the artificial intelligence that can be applied in a racing game itself is A * pathfinding. A * pathfinding is an algorithm used to determine the direction of way from the starting point to the end point through the available nodes. A * algorithm is easy to implement and used in desktop applications and games. Based on the research that has been done, the implementation of the A * pathfinding algorithm in this racing game is able to solve problems in terms of avoiding obstacles to find a route from the starting point to the destination point. Keywords : Racing Game, Car Game, A* Algorithm. iv
KATA PENGANTAR Puji syukur penulis panjatkan kepada Tuhan yang Maha Esa berkat rahmat-nyalah penulis diberi kelancaran dalam membuat proposal tugas akhir ini, dengan judul Penerapan Modifikasi Algoritma A* Pathfinding Dalam Game Balap 3D Berbasis Mobile. Proposal ini disusun dengan harapan dapat menjadi pedoman dan arahan dalam melaksanakan penelitian.terwujudnya proposal tugas akhir ini tidak lepas dari bantuan berbagai pihak yang telah mendorong dan membimbing penulis, baik tenaga, ide-ide, maupun pemikiran. Secara khusus dalam kesempatan ini penulis ingin mengucapkan terimakasih kepada pihak yang telah membantu proposal ini, yaitu: 1. Bapak I Made Widiartha, S.Si, M.Kom.sebagai Pembimbing I yang telah banyak membantu menyempurnakan proposal ini; 2. Bapak Ida Bagus Gede Dwidasmara,S.Kom, M.Cs sebagai Pembimbing II yang telah banyak membantu menyempurnakan proposal ini; 3. Bapak-bapak dan ibu-ibu dosen di Jurusan Ilmu Komputer, yang telah meluangkan waktu turut memberikan saran dan masukan dalam penyempurnaan proposal ini; 4. Teman - teman di Jurusan Ilmu Komputer yang telah memberikan dukungan moral dan semangat dalam penyelesaian proposal ini. Penulis menyadari bahwa proposal ini masih jauh dari kesempurnaan, oleh karena itu kritik dan saran yang membangun dari berbagai pihak sangat penulis harapkan demi perbaikan-perbaikan ke depan Bukit Jimbaran, September 2015 Penulis v
DAFTAR ISI LEMBAR PENGESAHAN TUGAS AKHIR... ii ABSTRAK... iii KATA PENGANTAR... v DAFTAR ISI... vi DAFTAR TABEL... viii DAFTAR GAMBAR... ix BAB I... 1 PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Batasan Masalah... 2 1.4 Tujuan... 2 1.5 Manfaat... 3 BAB II... 4 TINJAUAN PUSTAKA... 4 2.1 Algoritma A*... 4 2.2 Algoritma Modifikasi A*... 7 2.3 Autodesk Maya... 7 2.4 Unity 3D... 8 BAB III... 9 METODOLOGI PENELITIAN... 9 3.1 Metode Pengumpulan Data... 9 3.2 Analisis Kebutuhan Sistem... 9 3.3 Desain Sistem... 10 3.3.1 Use Case Diagram... 10 3.3.2 Activity Diagram... 11 3.3.3 Class Diagram... 13 3.4 Implementasi dan Dokumentasi Sistem... 15 3.5 Pengujian Sistem... 15 BAB IV... 16 vi
HASIL DAN PEMBAHASAN... 16 4.1 Gambaran Umum Sistem... 16 4.2 Pengembangan Sistem... 16 4.2.1 Pengembangan Desain Antarmuka... 16 4.2.2 Implementasi Algoritma... 21 4.2.3 Implementasi Objek 3D... 33 4.3 Pengujian Sistem... 34 4.3.1 Pengujian Algoritma... 34 4.3.2 Blackbox Testing... 37 BAB V... 39 KESIMPULAN DAN SARAN... 39 5.1 Kesimpulan... 39 5.2 Saran... 39 DAFTAR PUSTAKA... 40 LAMPIRAN... 41 vii
DAFTAR TABEL Tabel 2.1.1 Tabel Elemen Algoritma A*... 5 Tabel 4.3.1.1 Tabel Pengujian Algoritma A*... 24 Tabel 4.3.2.1 Rancangan Tabel Blackbox... 26 viii
DAFTAR GAMBAR Gambar 2.1.1 A* pathfinding... 4 Gambar 2.3.1 Model 3D Maya... 8 Gambar 3.3.1.1 Usecase Diagram... 11 Gambar 3.3.2.1 Activity Diagram Gameplay... 12 Gambar 3.3.2.2 Activity Diagram Algoritma Komputer... 13 Gambar 3.3.3.1 Class Diagram Game... 14 Gambar 4.2.1.1 Menu Utama... 17 Gambar 4.2.1.2 Menu About... 17 Gambar 4.2.1.3 Menu Play... 18 Gambar 4.2.1.4 Game Play... 18 Gambar 4.2.1.5 Sound Engine... 20 Gambar 4.2.2.1 Iterasi ke-1 Algoritma A*... 21 Gambar 4.2.2.2 Iterasi ke-2 Algoritma A*... 22 Gambar 4.2.2.3 Iterasi ke-3 Algoritma A*... 22 Gambar 4.2.2.4 Iterasi ke-4 Algoritma A*... 23 Gambar 4.2.2.5 Iterasi ke-5 Algoritma A*... 23 Gambar 4.2.2.6 Iterasi ke-6 Algoritma A*... 24 Gambar 4.2.2.7 Iterasi ke-7 Algoritma A*... 24 Gambar 4.2.2.8 Iterasi ke-8 Algoritma A*... 25 Gambar 4.2.2.9 Iterasi ke-9 Algoritma A*... 25 Gambar 4.2.2.10 Iterasi ke-10 Algoritma A*... 26 Gambar 4.2.2.11 Iterasi ke-11 Algoritma A*... 26 Gambar 4.2.2.12 Iterasi ke-12 Algoritma A*... 27 Gambar 4.2.2.13 Iterasi ke-1 Algoritma A* Termodifikasi... 28 Gambar 4.2.2.14 Iterasi ke-2 Algoritma A* Termodifikasi... 28 Gambar 4.2.2.15 Iterasi ke-3 Algoritma A* Termodifikasi... 29 Gambar 4.2.2.16 Iterasi ke-4 Algoritma A* Termodifikasi... 29 Gambar 4.2.2.17 Iterasi ke-5 Algoritma A* Termodifikasi... 30 Gambar 4.2.2.18 Iterasi ke-6 Algoritma A* Termodifikasi... 31 Gambar 4.2.2.19 Implementasi A*... 32 ix
Gambar 4.2.3.1 Objek 3D Mobil... 34 Gambar 4.2.3.2 Objek 3D Lintasan... 36 Gambar 4.3.1.1 Hasil path A*... 37 x