artificial intelegence algoritma a* (a star) … · artificial intelegence algoritma a* (a star)...

11
ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) SEBAGAI PATHFINDING ENEMY ATTACK PADA GAME TRASH COLLECTION TUGAS AKHIR Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Disusun oleh : MIFTAH FARICH 201110370311359 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2016

Upload: ledang

Post on 03-Apr-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

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

TUGAS AKHIR

Diajukan Untuk Memenuhi

Persyaratan Guna Meraih Gelar Sarjana Strata 1

Teknik Informatika Universitas Muhammadiyah Malang

Disusun oleh :

MIFTAH FARICH

201110370311359

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2016

Page 2: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

vi

Page 3: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

vi

Page 4: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

vi

Page 5: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

vi

KATA PENGANTAR

Syukur Alhamdulillah kehadirat Allah SWT yang telah melimpahkan

rahmat, taufik dan hidayah-Nya, sehingga penulis dapat menyelesaikan tugas

akhir dengan judul “ARTIFICIAL INTELEGENCE ALGORITMA A*

(A STAR) SEBAGAI PATHFINDING ENEMY ATTACK PADA GAME

TRASH COLLECTION” sebagai salah satu syarat wajib menyelesaikan studi di

program Strata-1 ( S-1 ) Fakultas Teknik Informatika Universitas Muhammadiyah

Malang.

Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada

Hardianto wibowo, S.Kom selaku dosen pembimbing utama dan Lailatul Husniah,

S.ST, MT. selaku dosen pembimbing kedua atas kesabaran dan ilmu yang telah

diberikan kepada penulis. Ucapan terima kasih juga disampaikan pada orang tua

dan keluarga penulis atas segala doa, bimbingan, dukungan, kasih sayang dan

kesabaran yang telah diberikan serta semua pihak yang telah membantu

terselesaikannya tugas akhir ini.

Penulis menyadari bahwa masih banyak kekurangan dalam tugas akhir ini

yang bisa disempurnakan oleh pembaca sehingga dapat memberikan manfaat

yang lebih besar lagi kepada generasi penerus.

Malang, 15 Januari 2016

Penulis

Page 6: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

vii

DAFTAR ISI

LEMBAR PERSETUJUAN ............................................................................... i LEMBAR PENGESAHAN ................................................................................ ii LEMBAR PERNYATAAN .............................................................................. iii ABSTRAK ......................................................................................................... iv ABSTRACT ....................................................................................................... v KATA PENGANTAR ....................................................................................... vi DAFTAR GAMBAR ......................................................................................... ix DAFTAR TABEL ............................................................................................. xi

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 ..................................................................................... 3

1.5.1 Studi pustaka .............................................................................. 3 1.5.2 Analisa sistem ............................................................................. 3 1.5.3 Perancangan sistem ..................................................................... 3 1.5.4 Implementasi Sistem ................................................................... 3 1.5.5 Pengujian sistem ......................................................................... 3

1.6 Sistematika Penulisan ............................................................................. 3

BAB II LANDASAN TEORI ............................................................................. 5 2.1 Artificial Intelligence ............................................................................. 5

2.2 Algoritma ............................................................................................... 6 2.2.1 Pathfinding ................................................................................. 6 2.2.2 Algoritma A* (A Star) ................................................................ 7 2.2.3 Fungsi Heuristic ......................................................................... 9 2.2.4 Perbandingan Fungsi Heuristic ................................................. 11 2.2.5 Penyelesaian dengan Algoritma A* ........................................... 13

2.3 Penelitian Terdahulu ............................................................................ 17 2.4 Finite State Machine (FSM) ................................................................. 18

BAB III ANALISA DAN PERANCANGAN SISTEM ................................... 20 3.1 Analisa Masalah ................................................................................... 20 3.2 Perancangan Sistem. ............................................................................. 22

3.2.1 Finite State Machine ................................................................. 22

Page 7: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

viii

3.2.2 Perancangan Komponen............................................................ 23 1. Player Karakter .................................................................... 24 2. Enemy Karakter ................................................................... 24 3. Penghalang (obstacle) ........................................................... 25 4. Map ...................................................................................... 25

3.2.3 Perancangan Antarmuka ........................................................... 26 a. Rancangan Node dalam grid ................................................. 26 b. Rancangan penambahan halangan ........................................ 27 c. Rancangan penambahan start point dan end point ................. 28 d. Rancangan pathfinding dalam map ....................................... 29 e. Rancangan Enemy AI behavior 1 ......................................... 38 f. Rancangan Enemy AI behavior 2 ......................................... 39

BAB IV IMPLEMENTASI DAN PENGUJIAN ............................................. 41 4.1 Implementasi ........................................................................................ 41

4.1.1 Kebutuhan Sistem ..................................................................... 41 4.1.2 Program .................................................................................... 41 4.1.3 Tampilan Antar Muka ............................................................... 44

a. Pembuatan grid pada map Game .......................................... 44 b. Penambahan penghalang ...................................................... 45 c. Penambahan kotak node awal dan kotak node tujuan (player

karakter dan enemy karakter) ................................................ 46 d. Pehitungan Pathfinding Algoritma A* .................................. 48 e. Enemy AI behavior 1 ............................................................ 48 f. Enemy AI behavior 2 ............................................................ 49

4.2 Pengujian Sistem ...................................................................................... 51 4.2.1 Skenario Pengujian ................................................................... 51 4.2.2 Pengujian Pathfinding ............................................................... 51 4.2.3 Pengujian Enemy AI Behavior ................................................... 58

a. Rule Enemy AI behavior ....................................................... 58 b. Pengujian enemy behavior pertama....................................... 59 c. Pengujian Enemy behavior kedua ......................................... 63

BAB V KESIMPULAN DAN SARAN ............................................................ 69 5.1 Kesimpulan .......................................................................................... 69 5.2 Saran .................................................................................................... 69

DAFTAR PUSTAKA

Page 8: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

ix

DAFTAR GAMBAR

Gambar 2.1 kotak (node) dalam grid ................................................................. 13

Gambar 2.2 pointer ............................................................................................ 14

Gambar 2.3 scoring / penilaian .......................................................................... 14

Gambar 2.4 movement / pergerakan ................................................................... 15

Gambar 2.5 looping / perulangan ....................................................................... 16

Gambar 2.6 rute terpendek ................................................................................. 17

Gambar 2.7 diagram state sederhana .................................................................. 18

Gambar 2.8 contoh sederhana fsm AI ................................................................. 18

Gambar 3.1 FSM Enemy AI behaviour 1 ........................................................... 22

Gambar 3.2 FSM Enemy AI behaviour 2 ........................................................... 23

Gambar 3.3 player karakter ................................................................................ 24

Gambar 3.4 enemy karakter ................................................................................ 24

Gambar 3.5 penghalang (obstacle) ..................................................................... 25

Gambar 3.6 map ................................................................................................ 25

Gambar 3.7 grid sebagai representasi map game. ............................................... 26

Gambar 3.8 penghalang dalam map ................................................................... 27

Gambar 3.9 start point dan end point pada map .................................................. 28

Gambar 3.10 pathfinding dengan contoh map .................................................... 29

Gambar 3.11 diagonal g cost .............................................................................. 30

Gambar 3.12 map 4 x 4 ...................................................................................... 31

Gambar 3.13 g cost ............................................................................................ 31

Gambar 3.14 posisi node dalam diagram cartecius ............................................. 32

Gambar 3.15 h cost dan g cost ........................................................................... 34

Gambar 3.16 hasil g cost, h cost dan f cost ........................................................ 35

Gambar 3.17 memilih node dengan f cost terkecil ............................................. 35

Gambar 3.18 node tetangga ............................................................................... 36

Gambar 3.19 scoring node tetangga .................................................................. 37

Gambar 3.20 rute terdekat ................................................................................. 37

Gambar 3.21 enemy AI behavior 1 ..................................................................... 38

Gambar 3.22 enemy AI behavior 2 ..................................................................... 39 Gambar 4.1 map game ....................................................................................... 44

Gambar 4.2 kotak node dalam grid pada map game ........................................... 45

Gambar 4.3 halangan (obstacle) ......................................................................... 45

Gambar 4.4 kotak node warna biru berupa halangan .......................................... 46

Gambar 4.6 player karakter (joko) ..................................................................... 47

Gambar 4.7 enemy karakter (germI) ................................................................... 47

Page 9: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

x

Gambar 4.8 pathfinding ..................................................................................... 48

Gambar 4.9 enemy behavior 1 (player dalam jangkauan) ................................... 48

Gambar 4.10 enemy behavior 1 (player di luar jangkauan) ................................. 49

Gambar 4.11 enemy behavior 2 ( player dalam jangkauan dan terlihat ) ............. 49

Gambar 4.12 enemy behavior 2 ( player dalam jangkauan dan tidak terlihat ) .. 50

Gambar 4.13 tampilan tanpa visualisasi grid ...................................................... 50

Gambar 4.14 masalah pathfinding dengan contoh map dan obstacle................... 51

Gambar 4.15 penomoran indeks node array 2 dimensi ....................................... 52

Gambar 4.16 asumsi path secara manual ............................................................ 52

Gambar 4.17 scoring node ................................................................................. 53

Gambar 4.18 membandingkan f cost .................................................................. 53

Gambar 4.19 looping perhitungan ...................................................................... 54

Gambar 4.20 rute terpendek perhitungan manual ............................................... 55

Gambar 4.21 rute terpendek perhitungan komputer ............................................ 56

Gambar 4.22 perhitungan komputer ................................................................... 56

Gambar 4.23 penomoran indeks node perhitungan komputer ............................. 57

Gambar 4.24 pengujian radius maksimal jangkauan AI behavior 1 ..................... 59

Gambar 4.25 hasil pengujian besar radius jangkauan AI behavior 1.................... 60

Gambar 4.26 enemy behavior1 (posisi player dibelakang enemy) ....................... 61

Gambar 4.27 hasil pengujian enemy behavior1 (posisi player dibelakang enemy) ... 62

Gambar 4.28 enemy behavior1 (posisi player dibalik tembok) ........................... 62

Gambar 4.29 hasil pengujian enemy behavior1 (posisi player dibalik tembok) ... 63

Gambar 4.30 enemy behavior 2 (posisi player dekat dan tepat di depan enemy) . 63

Gambar 4.31 hasil pengujian enemy behavior2 (posisi player dekat dan tepat di depan enemy) ............................................................................................ 64

Gambar 4.32 enemy behavior2 (posisi player dekat dan dibelakang enemy) ....... 65

Gambar 4.33 hasil pengujian enemy behavior2 (posisi player dekat dan dibelakang enemy) .................................................................................... 66

Gambar 4.34 enemy behavior2 (posisi player berada dibalik penghalang) .......... 66

Gambar 4.35 hasil pengujian enemy behavior2 (posisi player berada dibalik penghalang) .............................................................................................. 67

Gambar 4.36 enemy behavior2 (posisi player tepat di depan sudut pandang enemy dan diluar jangkauan enemy) ..................................................................... 68

Gambar 4.37 hasil pengujian enemy behavior2 (posisi player tepat di depan sudut pandang enemy dan diluar jangkauan enemy) ............................................ 68

Page 10: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

xi

DAFTAR TABEL

Tabel 3.1 posisi node ( x, y ) ............................................................................. 32

Tabel 3.2 hasil perhitungan nilai heuristik .......................................................... 33

Tabel 3.3 nilai g, h, f .......................................................................................... 34

Tabel 3.4 nilai g, h, f hitungan kedua ................................................................ 36 Tabel 4.1 tabel kebutuhan sistem........................................................................ 41

Tabel 4.2 tabel hasil rute terpendek perhitungan manual .................................... 55

Tabel 4.3 tabel hasil rute terpendek perhitungan komputer ................................. 57

Tabel 4.4 tabel perbandingan hasil manual dengan komputer ............................. 58

Page 11: ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) … · artificial intelegence algoritma a* (a star) sebagai pathfinding enemy attack pada game trash collection tugas akhir diajukan untuk

DAFTAR PUSTAKA

[1]. Widyawati, Lilik. 2015. Game Edukasi Trash Collection Untuk Pembelajaran Tentang Sampah. Skripsi. Malang: Teknik Informatika, Universitas Muhammadiyah Malang.

[2]. Wikipedia. 2015. Algoritma. Online: https:// id.wikipedia.org/wiki/Algoritma. Diakses pada tanggal 3 maret 2015.

[3]. Russel, Stuart dan Peter Norvig 1995. Artificial Intelligence A Modern Approach. New Jersey, Prentice Hall.

[4]. Amit J. Patel. 2015. Amit’s Thoughts on Path-Finding and A-Star. Online: http://theory.stanford.edu/amitp/GameProgramming. Diakses pada tanggal 3 Juni 2015.

[5]. Mario, Irawan, Aryo 2004. Analisis Fungsi - Fungsi Heuristic Pada Algoritma Pathfinding A*. Online: http://library.binus.ac.id/Collections/ethesis_detail.aspx?ethesisid=LBM2004-0120. Diakses pada tanggal 2 September 2015.

[6]. Elizabeth Chandra, Alvin Laurentius, Setia Rini. 2007. Pengembangan Sistem Parkir Dengan Pencarian Blok Berjalur Terpendek Menggunakan Algoritma A Star (Studi Kasus Perparkiran Universitas Bina Nusantara) Online: http://library.binus.ac.id/Collections/ethesis_detail/2007-2-00226-IF. Diakses pada tanggal 2 September 2015.

[7]. Putra, Rengga Dionata, Desember 2012, Pencarian Rute Terdekat Pada Labirin Menggunakan Metode A*. Jurnal EECCIS Vol. 6, No. 2.

[8]. Setiawan, Iwan. 2006. Perancangan Software Embeded System Berbasis FSM. Online: http://www.elektro.undip.ac.id/iwan/Perancangan%20 Software%20Embedded%20System%20Berbasis%20FSM.pdf. Diakses pada tanggal 3 maret 2015.

[9]. Nendya, Matahari Bhakti. 2012. Pemetaan Perilaku Non-Playable Character Pada Permainan Berbasis Role Playing Game Menggunakan Metode Finite State Machine Online: http://sinta.ukdw.ac.id/sinta/resources/sintasrv/nim/22064091. Diakses pada tanggal 10 Oktober 2015.

[10]. Kyaw, Aung Sithu, Peters, Clifford dan Swe, Thet Naing. 2013. Unity 4.x Game AI Programming. Birmingham – Mumbai, Packt Publish.