RANCANG BANGUN GAME LABIRIN MATEMATIKA MENGGUNAKAN UNITY 3D DENGAN IMPLEMENTASI ALGORITMA A*( A STAR) PATHFINDING
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Oleh :
Hendi Pradana 09560456
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015 i
ii
iii
iv
v
ABSTRAKSI
Matematika telah menjadi mata pelajaran yang dianggap sulit bagi siswa sekolah dasar sehingga membuat mata pelajaran ini beserta gurunya ditakuti oleh para siswa. Menurut (Triyono, 2011),”berdasarkan wawancara yang dilakukan siswa beranggapan bahwa mata pelajaran matematika sulit dan membosankan”. Game merupakan sebuah permainan yang menarik dan menyenangkan. Game merupakan fenomena global. Permainan elektronik yang menggunakan media computer, phone seleluller maupun konsol seperti playstation atau xbox sudah menjamur kemana-mana. Perkembangan
teknologi
perangkat
keras
maupun
perangkat
lunak
serta
perkembangan game dari 2D menjadi 3D, juga diikuti dengan perkembangan tema-tema game salah satunya adalah game dengan genre maze game atau labirin. Di dalam game juga terdapat berbagai macam kecerdasan buatan, agar perilaku dari objek yang ada dalam game tersebut mempunyai perilaku mirip manusia. Salah satu algoritma tersebut adalah algoritma A*(A STAR) pathfinding. Algoritma A* (A Star) adalah algoritma
pathfinding yang
menggabungkan kelebihan dan kekurangan dari algoritma Best First Search dan algoritma Dijkstra (Cui, Xiao., Hao Shi. 2011). Algoritma ini dipakai dalam pemecahan masalah pencarian jalur terpendek. Kata Kunci: Matematika, game, maze game, 3D, AI, A* pathfinding vi
ABSTRACT
Mathematics has become subjects that are considered difficult for elementary school students to make these subjects and their teachers feared by the students. According to (Triyono, 2011), "based on interviews conducted by the students thought that the subjects of mathematics difficult and boring". Game is an exciting game and fun. Game is a global phenomenon. Electronic games that use computer media, mobile and console such as PlayStation seleluller or x-box have mushroomed everywhere. The development of technology hardware and software as well as the development of 2D games into 3D, also followed by the development of the themes of the game one of them is a game genre maze or labyrinth game. In the game there are also many kinds of artificial intelligence, so that the behavior of an existing object in the game has a human-like behavior. One such algorithm is an algorithm A * (A STAR) pathfinding. Algorithm A * (A Star) is a pathfinding algorithm which combines the advantages and disadvantages of Best First Search algorithm and Dijkstra's algorithm (Cui, Xiao., Hao Shi. 2011). This algorithm is used in solving the problem of finding the shortest path. Keywords: Mathematics, games, maze games, 3D, AI, AI * pathfinding
vii
KATA PENGANTAR
Rasa syukur yang amat dalam penulis panjatkan kepada Allah SWT, karena atas berkat limpahan rahmat dan hidayah-Nya penulis mampu menyelesaikan Tugas Akhir ini yang berjudul: “RANCANG BANGUN GAME LABIRIN MENGGUNAKAN UNITY 3D DENGAN IMPLEMENTASI ALGORITMA A* (A STAR) PATHFINDING” Melalui kata pengantar ini penulis ingin menyampaikan permintaan maaf jika terdapat berbagai kekurangan di dalam penulisannya. Penulis menyadari bahwa penulisan Tugas Akhir ini masih jauh dari sempurna. Oleh karena itu penulis mengharapkan kritik dan saran yang membangun dari semua pihak sebagai koreksi untuk penulis. Semoga karya yang sederhana ini dapat membuka cakrawala pengetahuan
seluruh pembaca dan dapat
mendatangkan ilmu yang bermanfaat. Aamiin.
Malang, 16 April 2015 Penulis
viii
LEMBAR PERSEMBAHAN Dalam penulisan tugas akhir ini tidak akan terselesaikan dengan baik tanpa adanya bimbingan dan sumbangan dari berbagai pihak. Pada kesempatan ini penulis ingin menyampaikan terima kasih kepada : 1. Allah SWT. Yang selalu memberi rahmat-Nya. dan Nabi Muhammad SAW yang telah memberiku semangat dari perjuangan hidupnya. 2. Ayahanda Fatkuroji, Ibunda Supatmiati, Kakak Dian Mahardika, dan Adik Anggun Rahmayanti yang tidak berhenti memberikan dukungan serta da’o. 3. Bapak Eko Budi Cahyono dan Bapak Sofyan Arifianto selaku dosen pembimbing Tugas Akhir. 4. Bapak Sudarman selaku Dekan Fakultas Teknik Universitas Muhammadiyah Malang. 5. Bapak Yuda Munarko selaku Ketua Jurusan Teknik Informatika Universitas Muhammadiyah Malang. 6. Seluruh Bapak/ibu dosen Teknik Informatika yang telah memberikan banyak masukan serta dukungan kepada saya. 7. Seluruh keluarga besarku terima kasih untuk bantuan, do’a dan dukungannya 8. Sahabat-sahabat di DO’A IBU (Roni, Billy, Arif, Izul, Fery, Jimbon, Tomy, Wahyu, Enggal, Farhan, Liliput, Asti dan masih banyak lagi), teman-teman Kos 67 terimakasih atas doa dan dukungannya.
ix
DAFTAR ISI
LEMBAR PERSETUJUAN ....................................................................................................... i LEMBAR PENGESAHAN ..................................................................................................... iii LEMBAR PERNYATAAN ...................................................................................................... iv ABSTRAKSI ............................................................................................................................ vi ABSTRACT.............................................................................................................................vii KATA PENGANTAR ........................................................................................................... viii LEMBAR PERSEMBAHAN ................................................................................................... ix DAFTAR ISI.............................................................................................................................. x DAFTAR GAMBAR ...............................................................................................................xii DAFTAR TABEL ................................................................................................................... xiv BAB I PENDAHULUAN .......................................................................................................... 1 1.1.
Latar belakang ............................................................................................................. 1
1.2.
Rumusan Masalah ....................................................................................................... 2
1.3.
Tujuan.......................................................................................................................... 2
1.4.
Batasan Masalah.......................................................................................................... 2
1.5.
Metodologi Pengerjaan ............................................................................................... 3
1.6.
Sistematika Penulisan.................................................................................................. 4
BAB II LANDASAN TEORI .................................................................................................... 5 2.1.
Game ........................................................................................................................... 5
2.2.
Unity 3D Game Engine ............................................................................................. 12
2.4.
Algoritma A*............................................................................................................. 15
2.5.
Matematika ................................................................................................................ 16
BAB III ANALISA DAN PERANCANGAN SISTEM .......................................................... 17 2.1.
Analisa Sistem ........................................................................................................... 17
2.1.1.
Deskripsi Umum ................................................................................................ 17
2.1.2.
Analisa Kebutuhan ............................................................................................. 17
2.2.
Perancangan Game .................................................................................................... 18
2.2.1.
Skenario Game ................................................................................................... 18
2.2.2.
Desain Gameplay ............................................................................................... 19
2.2.3.
Pembuatan 3D Asset. ......................................................................................... 22
x
2.2.4.
Desain interface ................................................................................................. 33
BAB IV IMPLEMENTASI DAN PENGUJIAN ..................................................................... 35 4.1
Implementasi Perangkat Keras .................................................................................. 35
4.2.
Implementasi Perangkat Lunak ................................................................................. 35
4.3.
Implementasi ............................................................................................................. 35
4.3.1.
Implementasi Antarmuka ................................................................................... 35
4.3.2.
Pengaturan Environment.................................................................................... 42
4.3.3.
Pengaturan Game Object ................................................................................... 43
4.3.4.
Pengaturan Karakter........................................................................................... 45
4.3.5.
Implementasi Script A* Pathfinding ................................................................. 46
4.3.6.
Implementasi HUD (Head-up Display) ............................................................. 46
4.3.7.
Implementasi Game Stage ................................................................................. 51
4.3.8.
Implementasi Perhitungan Nilai ........................................................................ 54
4.3.9.
Implementasi Soal.............................................................................................. 55
4.4.
Pengujian ................................................................................................................... 55
4.4.1.
Pengujian Algoritma A* Pathfinding ................................................................ 57
4.4.2.
Pengujian Alpha ................................................................................................. 64
4.4.3.
Pangujian terhadap responden ........................................................................... 66
BAB V KESIMPULAN DAN SARAN .................................................................................. 67 5.1. Kesimpulan.................................................................................................................... 67 5.2. Saran .............................................................................................................................. 68 DAFTAR PUSTAKA .............................................................................................................. 69 LAMPIRAN.............................................................................................................................74
xi
DAFTAR GAMBAR Gambar 1.1 Flowchart Game Development.....................................................................
3
Gambar 2.1 Game Pacman...............................................................................................
6
Gambar 2.2 Game Maze Magic........................................................................................
6
Gambar 2.3 Game Boby Bola...........................................................................................
8
Gambar 3.1 fowchart alur permainan secara umum..........................................................
20
Gambar 3.2 finite state machine dari player......................................................................
21
Gambar 3.3 finite state machine dari enemy....................................................................
22
Gambar 3.4 Proses Pembuatan karakter Dudung..............................................................
23
Gambar 3.5 : UV Layout...................................................................................................
24
Gambar 3.6 Proses texturing.............................................................................................
24
Gambar 3.7 Proses rigging dan animating......................................................................... 24 Gambar 3.8 Interface Menu Utama ..................................................................................
33
Gambar 3.9 Interface nilai tertinggi .................................................................................. 33 Gambar 3.10 Interface HUD ............................................................................................. 34 Gambar 3.11 Interface pertanyaan .................................................................................... 34 Gambar 4.1 Tampilan menu utama ................................................................................... 36 Gambar 4.2 Kotak dialog jika life <=0 pada ....................................................................
37
Gambar 4.3 Dialog untuk memilih karakter .....................................................................
38
Gambar 4.4 Form untuk mengisi nama ............................................................................
38
Gambar 4.5 Menu pilih level ............................................................................................
39
Gambar 4.6 Form dialog main baru .................................................................................. 40 Gambar 4.7 Tampilan nilai................................................................................................
40
Gambar 4.8 Tampilan controll permainan ........................................................................
42
Gambar 4.8 Tampilan controll permainan.........................................................................
42
Gambar 4.10 Pengaturan environment dalam stage .........................................................
43
Gambar 4.11 Pengaturan pencahayaan..............................................................................
43
Gambar 4.12 Setting kamera utama................................................................................... 43 Gambar 4.13 Setting kamera ke dua .................................................................................
44
Gambar 4.14 Setting object kunci...................................................................................... 44 Gambar 4.15 Setting karakter ...........................................................................................
45
Gambar 4.16 Setting Trigger.............................................................................................
46
Gambar 4.17 Setting karakter musuh ...............................................................................
46
xii
Gambar 4.18 Adding empty object ................................................................................... 47 Gambar 4.19 grid-node dari script Grid.cs........................................................................
47
Gambar 4.20 Implementasi script Unit.cs dan DirectFollow.cs pada karakter ................
51
Gambar 4.21 Tampilan HUD............................................................................................. 51 Gambar 4.22 Contoh misi yang diberikan ........................................................................
52
Gambar 4.23 Perhitungan nilai ketika player menang ...................................................... 54 Gambar 4.24 contoh tampilan soal pembagian.................................................................. 54 Gambar 4.25 Denah posisi karakter .................................................................................. 55 Gambar 4.26 Muncul garis merah pada arena ..................................................................
56
Gambar 4.27 Tampilan pengujian menu utama ................................................................ 58 Gambar 4.28 Tampilan pilih karakter ............................................................................... 59 Gambar 4.29 Tampilan input nama ..................................................................................
60
Gambar 4.30 Tampilan papan nilai.................................................................................... 60 Gambar 4.31Tampilan perhitungan nilai ..........................................................................
61
Gambar 4.32 Tampilan kalah ............................................................................................ 62 Gambar 4.33 Tampilan gameplay ..................................................................................... 63 xiii
DAFTAR TABEL
Tabel 3.1 spesifikasi hardware yang digunakan ................................................................. 17 Tabel 3.2 Proses modelling .................................................................................................
23
Tabel 3.3 Karakter 3D Game Labirin Matematika .............................................................
25
Tabel 3.4 Inventory Game Labirin Matematika...................................................................
25
Tabel 3.5 Beberapa daftar game object ............................................................................... 26 Tabel 3.6 Desain labirin ......................................................................................................
27
Tabel 4.1 definisi nama dan fungsi setiap tombol ............................................................... 36 Tabel 4.2 Data Hasil Pengujian Algoritma A* Pathfinding ................................................ 56 Tabel 4.3 Hasil pengujian karakter utama ........................................................................... 57 Tabel 4.4 Hasil pengujian karakter Swipper .......................................................................
58
Tabel 4.5 Hasil pengujian menu utama ............................................................................... 59 Tabel 4.6 Hasil pengujian pilih karakter .............................................................................
59
Tabel 4.7 Hasil pengujian input nama ................................................................................. 60 Tabel 4.8 Hasil pengujian papan nilai.................................................................................. 60 Tabel 4.9 Hasil pengujian perhitungan ...............................................................................
61
Tabel 4.10 Hasil pengujian tampilan kalah ......................................................................... 62 Tabel 4.11 Hasil pengujian gameplay .................................................................................
63
Tabel 4.10 Presentase Pencapaian ....................................................................................... 64 Tabel 4.11 Hasil Pengujian Responden Terhadap “Konten Pendidikan”............................
65
Tabel 4.12 Hasil Pengujian Responden Terhadap “Konsentrasi”........................................ 65 Tabel 4.13 Hasil Pengujian Responden Terhadap “Tantangan”..........................................
66
Tabel 4.14 Hasil Pengujian Responden Terhadap “Ketrampilan Pemain”.......................... 66 Tabel 4.15 Hasil Pengujian Responden Terhadap “Kontrol”..............................................
67
Tabel 4.16 Hasil Pengujian Responden Terhadap “Tujuan(Goal)”..................................... 68 Tabel 4.17 Hasil Pengujian Responden Terhadap “Feedback”...........................................
68
Tabel 4.18 Hasil Pengujian Responden Terhadap “Immersion”.......................................... 69 Tabel 4.19 Hasil Keseluruhan Pengujian Reponden............................................................ 69
xiv
DAFTAR PUSTAKA
Bates,Bob. 2004.Game Design Second Edition. Boston: Premier Press. Chandler, Heather Maxwell. 2011.Fundamental of Game Development. Canada: Jones and Bartlett Creighton, Ryan Hanson. 2011. Unity 3.x Game Development by Example. Birmingham: Packt Publishing Cui, Xiao., Hao Shi. 2011. A*-based Pathfinding in Modern Computer Games. Meulbourne, IJCSNS(11): 1-2 Goldstone, Will. 2009. Unity 3.x Game Development Essentials. Birmingham: Packt Publishing http://carapedia.com/pengertian_definisi_game_info2144.html diakses pada tanggal 21‐desember‐ 2014 http://id.wikipedia.org/wiki/Labirin diakses pada tanggal 2 Februari 2014 http://karya‐ilmiah.um.ac.id/index.php/KSDP/article/view/11826 diakses pada tanggal 2 Februari
2014 http://m‐edukasi.kemdikbud.go.id/artikel‐mobile‐learning‐isi.php?kodenya=2009‐ac diakses pada
tanggal 2 Februari 2014 Russell, StuartJ., Peter Norvig. 1995. Artificial Intelligence A Modern Approach. New Jersey: Prentice-Hall Inc.
xv