penerapan algoritma a* (a-star) pada permainan spy …

55
PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY HUNTER Application Algorithm A * ( A- Star ) The Game Spy Hunter Skripsi S-1 Diusulkan oleh : M.FIRMANSYAH 11312111 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI MANAGEMEN INFORMATIKA & KOMPUTER PERGURUAN TINGGI TEKNOKRAT BANDAR LAMPUNG 2016

Upload: others

Post on 05-Oct-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY

HUNTER

Application Algorithm A * ( A- Star ) The Game Spy Hunter

Skripsi S-1

Diusulkan oleh : M.FIRMANSYAH

11312111

PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI MANAGEMEN INFORMATIKA & KOMPUTER

PERGURUAN TINGGI TEKNOKRAT BANDAR LAMPUNG

2016

Page 2: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

ii

Skripsi

PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY

HUNTER

Dipersiapkan dan disusun oleh

M.FIRMANSYAH 11312111

telah di pertahankan di depan Dewan Penguji pada tanggal, 14 November 2016

Penguji

Pembimbing Penguji

Purwono Prasetyawan, M.T. Ardiansyah, S.Kom., M.Kom

NIK. 022 14 03 15 NIK. 022 14 07 02

Skripsi ini telah diterima sebagai salah satu persyaratan

untuk memperoleh gelar Sarjana

Tanggal, 14 November 2016

STMIK Teknokrat Program Studi Teknik Informatika

Ketua, Ketua,

Dr. H.M. Nasrullah Yusuf, S.E., M.B.A. Agus Mulyanto, S.Kom., M.T, MSc.

NIK. 021 00 00 01 NIK. 022 10 01 01

Page 3: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

iii

LEMBAR PERNYATAAN Yang bertanda tangan dibawah ini : Nama : M.Firmansyah NPM : 11312111 Program Studi : Teknik Informatika Dengan ini menyatakan bahwa tugas akhir : Judul : Penerapan Algoritma A* (A-Star) Pada Permainan Spy Hunter

Pembimbing : Purwono Prasetyawan, M.T. Belum pernah diajukan untuk diuji sebagai persyaratan untuk memperoleh gelar akademik pada berbagai tingkatan di universitas/perguruan tinggi manapun. Tidak ada bagian dalam skripsi ini yang pernah dipublikasikan oleh pihak lain, kecuali bagian yang digunakan sebagai referensi, berdasarkan kaidah penulisan ilmiah yang benar. Apabila dikemudian hari ternyata laporan tugas akhir yang saya tulis terbukti hasil saduran/plagiat, maka saya akan bersedia menanggung segala resiko yang akan saya terima. Demikian pernyataan ini dibuat dengan sebenar-benarnya.

Bandar Lampung, 1 Desember 2016 Yang menyatakan,

M.Firmansyah 11312111

Materai

6000

Page 4: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

iv

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademik STMIK Teknokrat Lampung, saya yang bertanda tangan di bawah ini: Nama : M.Firmansyah NPM : 11312111 Program Studi : Teknik Informatika Jenis karya : Skripsi demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada STMIK Teknokrat Lampung Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul :

Penerapan Algoritma A* (A-Star) Pada Permainan Spy Hunter.

beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Noneksklusif ini STMIK Teknokrat Lampung berhak menyimpan, mengalihmedia/formatkan, mengelola dalam bentuk pangkalan data (database), merawat, dan memublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta. Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di : Bandar Lampung Pada tanggal : 1 Desember 2016 Yang menyatakan

M.Firmansyah 11312111

Page 5: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

v

KATA PENGANTAR

Alhamdulillahirabbil ‘alamin atas syukur kehadiran Allah SWT, yang

telah memberikan rahmat dan hidayah-nya serta kesehatan sehingga bisa

menyelesaikan skripsi dengan judul penelitian Penerapan Algoritma A*(A-Star)

Pada Permaianan Spy Hunter. Skripsi ini disusun sebagai salah satu syarat

untuk mencapai gelar sarjana pada program studi S1 Teknik Informatika Sekolah

Tinggi Manajemen Informatika dan Komputer Teknokrat.

Dalam penyusunan skripsi ini, banyak mendapat masukan dan saran dari

pihak-pihak yang membantu. Melalui kesempatan ini mengucapkan terima kasih

kepada pihak yang telah membantu dalam menyusun tugas akhir ini, yaitu kepada:

1. Dr. H.M. Nasrullah Yusuf, S.E., M.B.A., selaku Ketua perguruan tinggi

Sekolah Tinggi Manajemen Informatika dan Komputer Teknokrat

Lampung.

2. Agus Mulyanto, S.Kom., M.T., M.Sc., selaku Ketua Program Teknik

Informatika dan selaku dosen penguji dalam penulisan skripsi.

3. Purwono Prasetyawan, M.T. dosen pembimbing dalam penulisan skripsi.

4. Orang tua yang selalu mendukung dan menyemangati dalam proses

penyelesaian skripsi.

5. Teman-teman di Jurusan Teknik Informatika yang telah memberikan

dukungan moral dalam penyelesaian skripsi ini.

Page 6: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

vi

Akhir kata, penulis berharap semoga allah swt berkenan membalas segala

kebaikan semua pihak yang telah membantu dan semoga Skripsi ini membawa

manfaat bagi pengembang ilmu.

Bandar Lampung, 2016

Penulis

Page 7: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

vii

DAFTAR ISI

Halaman HALAMAN JUDUL .......................................................................................... i HALAMAN PENGESAHAN ........................................................................... ii LEMBAR PERNYATAAN KEASLIAN PENELITIAN ..............................iii LEMBAR PERNYATAAN PUBLIKASI .......................................................iv KATA PENGANTAR ....................................................................................... v DAFTAR ISI ....................................................................................................vii DAFTAR TABEL .............................................................................................ix DAFTAR GAMBAR ........................................................................................ x ABSTRAK .........................................................................................................xi BAB I PENDAHULUAN 1.1 Latar Belakang ......................................................................... 1 1.2 Rumusan Masalah .................................................................... 2 1.3 Tujuan Penelitian ...................................................................... 2 1.4 Batasan Masalah........................................................................ 3 1.5 Manfaat Penelitian ................................................................... 3 1.6 Sistematis Penulisan .................................................................. 3 BAB II LANDASAN TEORI 2.1 Tinjauan Pustaka ...................................................................... 5 2.2 First Person Shooter ................................................................ 8 2.3 Game ........................................................................................ 8 2.4 Genre Game ............................................................................. 9 2.5 AI (Artificial Intellegence) ........................................................ 10 2.6 Unity .......................................................................................... 10 2.7 Algoritma A-Star ....................................................................... 11 2.8 Navigation(NavMesh) ............................................................... 12 BAB III METODE PENELITIAN 3.1 Kerangka Pemikiran ................................................................. 14 3.2 Tahapan Penelitian ................................................................... 15 3.3 Alat Penelitian .......................................................................... 17 3.4 Flowchart Algoritma A* (A-Star) ............................................ 18 3.4.1 Inisialisasi Awal ............................................................... 20 3.4.2 Isi Properti dari Node Suksesor ....................................... 20 3.5 Perhitungan Fungsi Heuristik .................................................... 20 3.6 A-Star pada Player ................................................................... 23 3.7 Mengikuti Jalur Node ................................................................ 25 BAB IV IMPLEMENTASI DAN PEMBAHASAN 4.1 Implementasi Sistem ................................................................. 26 4.2 Pembahasan ............................................................................... 26

Page 8: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

viii

4.2.1 Tampilan Map Sebagai Alat Bantu Perbandingan........... 26 4.2.2 Tampilan NPC (Zombie).................................................. 27 4.2.3 Tampilan Node A* ........................................................... 27 4.2.4 Tampilan NavMesh Pada Map ........................................ 28 4.2.5 Tampilan Algoritma A* Tanpa Penghalang Pada Map .. 28 4.2.6 Tampilan Algoritma A* Dengan Penghalang Pada Map. 29 4.2.7 Tampilan NavMesh Tanpa Penghalang Pada Map. ........ 29 4.2.8 Tampilan NavMesh Dengan Penghalang Pada Map. ...... 30 4.3 Pengujian sistem ....................................................................... 30 4.3.1 White Box ........................................................................ 30 4.3.1.1 Pengujian White Box Algoritma A* ................... 30 4.4 Pengujian Perbandingan ........................................................... 33 4.4.1 Pengujian Waktu Rata-Rata dan Ketepatan .................... 33 4.4.2 Hasil Dari Pengujian Waktu Rata-Rata ......................... 37 BAB IV IMPLEMENTASI DAN PEMBAHASAN 5.1 Kesimpulan ............................................................................... 40 5.2 Saran .......................................................................................... 40 DAFTAR PUSTAKA LAMPIRAN

Page 9: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

ix

DAFTAR TABEL Tabel Halaman 4.1 Perhitungan Graph Matrices ........................................................................ 32

4.2 Pengujian Waktu Rata-Rata dan Ketepatan Jarak Jauh Tanpa Penghalang. 34

4.3 Pengujian Waktu Rata-Rata dan Ketepatan Jarak Dekat Tanpa Penghalang 35

4.4 Pengujian Waktu Rata-Rata dan Ketepatan Jarak Jauh Dengan Penghalang 36

4.5 Pengujian Waktu Rata-Rata dan Ketepatan Jarak Dekat Tanpa Penghalang 36

4.6 Hasil Waktu Rata-Rata Jarak Jauh Tanpa Penghalang ................................ 37

4.7 Hasil Waktu Rata-Rata Jarak Dekat Tanpa Penghalang .............................. 37

4.8 Hasil Waktu Rata-Rata Jarak Jauh Dengan Penghalang .............................. 38

4.9 Hasil Waktu Rata-Rata Jarak Dekat Dengan Penghalang ........................... 38

Page 10: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

x

DAFTAR GAMBAR Gambar Halaman 2.1 NavMesh .................................................................................................... 13 5.1 Kerangka Pemikiran .................................................................................. 14

3.2 Tahapan Penelitian .................................................................................... 16

3.3 Flowchart algoritma A*(A Star) ................................................................ 19

3.4 Flowchart pencarian nilai Heuristik ......................................................... 21

3.5 Penghitungan F-Cost ................................................................................. 22

3.6 Flowchart Pencarian Jalur ......................................................................... 24

3.7 NPC Mencari Target Tujuan (Player) Dalam Jalur Node ......................... 25

4.1 Map Sebagai Alat Bantu Perbandingan ..................................................... 26

4.2 Tampilan NPC (Zombie) ........................................................................... 27

4.3 Node A* Pada Map .................................................................................... 27

4.4 NavMesh Pada Map ................................................................................... 28

4.5 Algoritma A* Tanpa Penghalang Pada Map ............................................. 28

4.6 Algoritma A* Dengan Penghalang Pada Map ........................................... 29

4.7 NavMesh Tanpa Penghalang Pada Map .................................................... 29

4.8 NavMesh Dengan Penghalang Pada Map.................................................. 30

4.9 White Box Algoritma A* ...................................................................................... 30

4.10 Flow Grap A* ............................................................................................ 31

Page 11: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

xi

ABSTRAK

PENERAPAN ALGORITMA A*(A-STAR) PADA PERMAINAN SPY

HUNTER

Application Algorithm A * ( A- Star ) The Game Spy Hunter

Oleh M.Firmansyah

11312111

Game merupakan jenis hiburan yang disukai oleh semua kalangan, baik

anak-anak sampai dewasa, Selain itu game digunakan untuk menghilangkan

kejenuhan dalam beraktivitas. Salah satunya Game bergenre FPS dipilih karena

game bergenre ini sangat diminati pada saat ini, sebagian contoh game fps yang

diminati sampai saat ini adalah point blank dan dead trigger. Di dalam game yang

ada saat ini, game hanya sebatas hiburan semata jarang sekali di dalam game

tersebut menerapkan algoritma dalam penyelesaiannya. Tujuan dalam penelitian

ini adalah membandingkan algoritma A* dengan NavMesh untuk mengetahui

kecepatan waktu yang di butuhkan dalam perncarian titik tujuan (Target).

Pembuatan aplikasi dilakukan menggunakan software unity, karena unity

adalah alat yang terintegrasi untuk membuat game, arsitektur dan simulasi.

Kesatuan tidak hanya mesin permainan, tetapi juga sebagai editor. Algoritma A*

merupakan perbaikan dari metode BFS (Breadth First Search) dengan

memodifikasi fungsi heuristiknya. NavMesh struktur data yang menggambarkan

permukaan yang dapat dilalui karakter dari permainan dan memungkinkan untuk

menemukan jalan dari suatu lokasi ke lokasi yang dituju.

Uji coba aplikasi ini dilakukan menggunakan kecepatan waktu rata – rata

yang di ukur berdasarkan tingkatan. Dimana tingkatan tersebut menggunakan

halangan dan tidak menggunkana halangan serta di ukur berdasarkan node yang

ada pada map permaianan. Berdasarkan hasil pengujian tersebut NavMesh lebih

cepat dibandingkan algoritma A* pada game spy hunter dalam pengujiannya.

Kata Kunci : Game, Unity, Astar, NavMesh, Fps

Page 12: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam bahasa Indonesia game diartikan sebagai permainan. Permainan

adalah kegiatan kompleks yang didalamnya terdapat peraturan, play dan budaya.

Sebuah permainan adalah sistem dimana pemain terlibat konflik buatan, disini

pemain berinteraksi dengan sistem dan konflik dalam permainan merupakan

rekayasa atau buatan (Pratama, 2014)

Video game adalah permainan yang divisualisasikan melalui suatu media

elektronik yang memerlukan interaksi dari pemainnya menggunakan alat tertentu,

sedangkan Board game adalah permainan yang memerlukan papan permainan

tertentu sebagai area permainannya. (Fauzi, 2013)

Berdasarkan pengertian di atas dapat disimpulkan bahwa Game merupakan

jenis hiburan yang disukai oleh semua kalangan, baik anak-anak sampai dewasa.

Selain digunakan untuk menghilangkan kejenuhan dalam beraktivitas. Di dalam

game yang ada saat ini, game hanya sebatas hiburan semata jarang sekali di dalam

game tersebut menerapkan algoritma dalam penyelesaiannya.

Unity adalah alat yang terintegrasi untuk membuat game, arsitektur dan

simulasi. Kesatuan tidak hanya mesin permainan, tetapi juga sebagai editor.

Karena dapat dengan mudah membuat permainan yang menarik dan dapat

menjadi media yang bebas hiburan serta bahan referensi dan pembaca motivasi

yang ingin membuat game berbasis 3D. (ekasari, 2012)

Game bergenre First Person Shooter (FPS) adalah genre game perang

dengan senjata api yang menggunakan sudut pandang orang pertama dengan

Page 13: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

2

tampilan layar yang mensimulasikan apa yang dilihat melalui mata karakter yang

dimainkan (Refi Meisadri, 2013). Game bergenre FPS dipilih karena game

bergenre ini sangat diminati pada saat ini, sebagian contoh game fps yang diminati

sampai saat ini adalah point blank dan dead trigger. Beberapa lainnya game

bertemakan menarik menggunakan algoritma A* (Astar) yang memberikan solusi

terbaik agar penggunaan waktu menjadi optimal.

Dengan memanfaatkan teknologi saat ini, penulis menerapkan

perbandingan antara algoritma A* (Astar) dengan NavMesh untuk membuat

karakter dapat menghindari satu sama lain dan mencari rute tercepat atau terdekat

sambil bergerak untuk menuju titik tujuan (Target) yang sudah di tentukan.

1.2 Rumusan Masalah

Berdasarkan uraian yang telah dikemukakan pada latar belakang diatas

dapat diambil rumusan masalah yaitu bagaimana penerapan dan perbandingan

antara algoritma pencarian A* (A Star) dan NavMesh yang diterapkan pada NPC

untuk melakukan pencarian dari NPC ke player (titik tujuan) ?

1.3 Tujuan Penelitian

Adapun tujuan dalam penelitian ini adalah untuk menguji perbandingan

antara algoritma A* (Astar) dan NavMesh dalam proses pencarian NPC ke player

(titik tujuan) dengan rute terdekat atau terpendek pada game sebagai alat bantu

dalam pengujiannya.

1.4 Batasan Masalah

Untuk mencegah meluasnya permasalahan pada penelitian ini, maka batasan

masalah pada penelitian ini mencakup :

Page 14: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

3

1. Hanya membahas tentang perbandingan algoritma A* (Astar) dengan

NavMesh di dalam software unity3d dengan bahasa pemrograman C#.

2. Tidak membahas tentang pembuatan atau implementasi dalam game.

3. Hanya menguji ketepatan rute yang di tempuh dan waktu rata-rata

yang dibutuhkan dalam pencarian titik tujuan (Target).

1.5 Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah sebagai berikut :

1. Dapat memberikan pemahaman lebih jauh tentang pencarian dalam

menerapkan algoritma A* (A-Star ) dan NavMesh pada sebuah game

yang akan dibuat atau dikembangkan oleh para pemula.

2. Dapat memberikan informasi ilustrasi pencarian untuk memudahkan

seseorang yang akan mengembangkan suatu game yang akan dibuat.

1.6 Sistematika Penulisan

Penulisan skripsi ini sesuai dengan ketentuan penulisan, dimana penulisan

skripsi dibagi ke dalam enam bab. Setiap bab tersebut dibagi menjadi sub bab-sub

bab, adapun sistematika dari masing-masing bab tersebut adalah sebagai berikut :

Bab 1 Pendahuluan

Pendahuluan berisikan tentang latar belakang, rumusan masalah, batasan masalah,

manfaat penelitian, tujuan penelitian, dan sistematika penulisan.

Bab II Tinjauan Pustaka

Tinjauan pustaka berisi tentang hasil penelitian sebelumnya yang digunakan

sebagai landasan teori. Selain itu juga memuat konsep-konsep dan teori-teori yang

mendukung.

Page 15: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

4

Bab III Metode Penelitian

Metode dan perancangan sistem memuat uraian tentang Kerangka penelitian,

Tahapan penelitian,

Bab IV Implementasi

Pengembangan sistem digunakan untuk mengetahui bagaimana sistem tersebut

dikembangkan, meliputi pembuatan menggunakan unity3d

Bab V Simpulan dan Saran

Penutup berisi tentang kesimpulan mengenai penelitian ini dan saran

pengembangan yang dapat dilakukan dikemudian hari.

Page 16: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

5

BAB II

LANDASAN TEORI

2.1 TINJAUAN PUSTAKA

Beberapa penelitian yang berhubungan dengan algoritma A* (AStar) dan

NavMesh yaitu:

1. Penelitian oleh Refi Meisadri, Nelly Indriani Program Studi Teknik

Informatika Universitas Komputer Indonesia (UNIKOM) tahun 2013.

Penelitian berjudul “Pembangunan Game First Person Shooter3d Alien

Hunter”. Penelitian Game ber-genre First Person Shooter (FPS)

adalah genre game perang dengan senjata api yang menggunakan sudut

pandang orang pertama dengan tampilan layar yang mensimulasikan apa

yang dilihat melalui mata karakter yang dimainkan. Game bergenre FPS

dipilih karena game bergenre ini sangat diminati pada saat ini. Penelitian

menyimpulkan dengan diterapkannya algoritma A* pada NPC musuh,

dapat membuat NPC musuh dengan cepat dapat menemukan jalan

terpendek untuk bergerak dan menyerang player.

2. Peneltian oleh Sunarto Program Studi Teknik Informatika Stmik

Amikom Yogyakarta tahun 2011. Penelitian berjuadul “Pembuatan Game

3 Dimensi “Me Vs Aliens” Dengan Menggunakan Unity 3d Game”.

Penelitian game adalah peran komputer multimedia sangat menonjol.

Pembuatan game dimulai dari sebuah ide atau konsep yang kemudian

dikembangkan dalam sebuah cerita oleh designer game. Membuat suatu

game memang tidak semudah seperti yang dibayangkan meskipun itu

hanya sebuah game sederhana apalagi bagi seseorang yang memang

Page 17: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

6

bukan designer game. Akan tetapi masalah tersebut bisa teratasi karena

sekarang ini banyak software game yang memiliki kualitas dan fitur yang

mudah dipahami serta kecanggihan untuk membuat animasi dalam game.

Peneliti menyimpulkan software unity sangat membantu karna banyak

fitur yang bisa langsung digunakan dalam membuat game, seperti,

pembuatan Terrain, Tree, Wind Zone, Praticle System, dll yang sangat

membantu dalam pembuatan map dan environment game.

3. Penelitian oleh Rengga Dionata Putra, Ir. Muhammad Aswin, MT. Dan

Waru Djuriatno, ST., MT. Jurnal EECCIS Vol. 6, No. 2, Desember 2012.

Penelitian berjudul “Pencarian Rute Terdekat Pada Labirin Menggunakan

Metode A*. Penelitian algoritma A* sebuah algoritma yang telah

diperkaya dengan menerapkan suatu heuristik, algoritma ini membuang

langkah-langkah yang tidak perlu dengan pertimbangan bahwa langkah-

langkah yang dibuang sudah pasti merupakan langkah yang tidak akan

mencapai solusi yang diinginkan Dengan menerapkan suatu heuristik.

Heuristik adalah nilai yang memberi nilai pada tiap simpul yang

memandu A* mendapatkan solusi yang diinginkan. Dengan heuristik,

maka A* pasti akan mendapatkan solusi (jika memang ada solusinya).

Dengan kata lain, heuristik adalah fungsi optimasi yang menjadikan

algoritma A* lebih baik dari pada algoritma lainnya. Peneliti

menyimpulkan A* tidak menjamin selalu mendapatkan rute terbaik

(bobot terkecil) dari semua rute yang ada, hal ini terjadi karena A* hanya

menghitung area yang dilalui saja. Area yang tidak dilalui di abaikan.

Page 18: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

7

4. Penelitian oleh Agung Pamungkas, Eka Puji Widiyanto, Renni Angreni

Program Studi Teknik Informatika STMIK GI MDP, Palembang tahun

2013. Penelitian berjudul “Penerapan Algoritma A* (A Star) Pada Game

Edukasi The Maze Island Berbasis Android”. Penelitian Algoritma A*

merupakan Prinsip dari algoritma yang melakukan traversal satu per satu

pada tiap simpul untuk memperoleh lintasan terpendek pada suatu graf.

Algoritma A* akan menghitung jarak salah satu lintasan, lalu

menyimpannya dan kemudian menghitung jarak lintasan lainnya. Ketika

seluruh lintasan telah selesai dihitung, algoritma A* akan memilih

lintasan yang paling pendek. Algoritma A* menyelesaikan masalah yang

menggunakan graf untuk perluasan ruang statusnya. Penelitian

menyimpulkan Algoritma A* lebih baik dari pada algoritma lainnya

karena algoritma ini memiliki nilai heuristik sebagai nilai pembanding

sehingga dapat mencari solusi yang terbaik dari permasalahan yang ada

jika solusi itu memang ada.

5. Penelitian oleh Riwinoto, Alfian. Program Studi Teknik Multimedia

Jaringan Politeknik Negeri Batam. Penelitian berjudul “Implementasi

Pathfinding dengan Algoritma A* pada Game Funny English

Menggunakan Unity 3D Berbasis Graf Navmesh”. NPC dapat mencari

rute untuk bergerak dari posisi sekarang menuju posisi tujuannya dengan

pathfinding. Beberapa metode pathfinding seperti Metode Breadth-first

search dan Depth-first search adalah metode pencarian rute tanpa

menghitung jarak yang harus ditempuh. Sedangkan Algoritma Dijkstra

dan Algoritma A-star sudah memperhitungkan jarak yang

Page 19: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

8

harus ditempuh dalam mencapai tujuan. Saat ini banyak game modern

menggunakan algoritma A-star karena Algoritma A-star menjamin akan

menemukan rute terpendek. Penelitian menyimpulkan bahwa metode

pathfinding merupakan metode yang sangat penting dalam game 3D

untuk menunjang cara bergerak objek, terutama objek yang digerakkan

oleh AI. Algoritma A* (Astar) dan NavMesh diperlukan supaya dapat

melakukan arah pergerakan ke tempat tujuan dengan sangat cepat.

Dari penelitian-penelitian di atas, beberapa perbedaan dengan penelitian yang

penulis buat yaitu :

1. Menerapkan algoritma A* dan NavMesh pada karakter NPC agar dapat

mencari rute secara otomatis dengan ketepatan rute yang di ambil dan

rata – rata waktu tempuh ke titik tujuan dengan cepat

2. Dalam penerapan ini karakter NPC sudah bergerak sesuai animasi yang

diperlukan dalam pengujian perbandingan tersebut.

2.2 First Person Shooter

First Person Shooter (FPS) adalah genre game perang dengan senjata api

yang menggunakan sudut pandang orang pertama dengan tampilan layar yang

mensimulasikan apa yang dilihat melalui mata karakter yang dimainkan. (Refi,

2013)

2.3 Game

Game atau permainan merupakan sesuatu yang dapat dimainkan dengan

aturan tertentu sehingga ada yang menang dan ada yang kalah biasanya tidak

dalam konteks serius atau dengan tujuan untuk refreshing. Permainan juga adalah

sarana yang dibuat untuk memenuhi kebutuhan manusia akan hiburan, sehingga

Page 20: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

9

sampai saat ini, permainan terus berkembang sesuai dengan kebutuhan dan tidak

dapat dipisahkan dari manusia. Berevolusi mengikuti perkembangan intelegensi

seiring dengan perkembangan jaman. Konsep bermain, bentuk dan cara

memainkan adalah hal yang terevolusi dan membuat permainan yang ada saat ini

tidak lagi seperti permainanpermainan terdahulu. (Ekasari, 2012)

2.4 Genre Game

genre game adalah klasifikasi game yang didasari interaksi pemainnya.

Visualisasi juga menjadi ukuran klasifikasi genre ini. Namun untuk beberapa

kasus pengembang game membuat kompilasi antar berbagai genre ini. Tentu saja

variasi format game lebih banyak. Berdasarkan genre-nya, game dibagi menjadi

beberapa jenis, seperti :

1) Action : Sebuah game yang membutuhkan pemain yang mempunyai

kecepatan reflex, akurasi, dan ketepatan waktu untuk menghadapi sebuah

rintangan.

2) Fighting : Game fighting biasanya mempunyai ciri pertarungan satu

lawan satu antara dua karakter, yang dimana salah satu dari karakter di

kendalikan oleh computer.

3) Shooter : Sub-genre dari permainan aksi, meskipun banyak pemain yang

menganggap bahwa ragam ini merupakan ragam yang berdiri sendiri.

4) Racing : Permainan video yang menuntut keterampilan pemain untuk

mengemudi dalam sebuah kompetisi balap-membalap. Game ini popular

dengan jenis game yang berkonsep menggunakan mobil atau motor.

Page 21: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

10

5) Sport : Permainan video yang menuntut keterampilan pemain untuk

melakukan pertandingan olahraga secara virtual, seperti pertandingan

sepak bola, basket, dan sebagainya.

6) Adventure : Game adventure menggabungkan unsur-unsur jenis

komponen antara game action dan game adventure, biasanya

menampilkan rintangan yang berjangka panjang yang harus diatasi

menggunakan alat atau item sebagai alat bantu dalam mengatasi

rintangan, serta rintangan yang lebih kecil yang hampir terus-menerus

ada.

7) Strategi : jenis permainan game seperti simulasi dengan tujuan jelas,

sehingga membutuhkan strategi si pemain dan melibatkan masalah

strategi, taktik, dan logika.

8) RPG (Role Playing Game) : sebuah permainan yang para pemainnya

memainkan peran tokoh-tokoh khayalan dan berkolaborasi untuk merajut

sebuah cerita bersama. (Pratama, 2014)

2.5 AI (Artificial Intellegence)

AI (Artificial Intellegence) game playing merupakan salah satu peletak

dasar dalam menciptakan kecerdasan buatan pada generasi awal AI. Sejak semula

beberapa pakar AI sangat tertarik dengan karakteristik game karena game playing

merupakan salah bentuk simulasi kehidupan nyata, mampu memberikan tantangan

dan stiulasi intelektual. (Albert V, 2007)

2.6 Unity

Unity Game Engine adalah software yang digunakan untuk membuat video

Game berbasis dua atau tiga dimensi dan dapat digunakan secara gratis, selain

Page 22: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

11

untuk membuat Game, Unity 3D juga dapat digunakan untuk membuat konten

yang interaktif lainnya seperti, visual arsitektur dan real-time 3D animasi, selain

sebagai Game engine Unity 3D juga dapat digunakan sebagai sebuah editor bagi

Game yang sudah ada. (Ekasari, 2012)

2.7 Algoritma A*

Algoritma A* (A Star) merupakan perbaikan dari metode BFS (Breadth First

Search) dengan memodifikasi fungsi heuristiknya. Pada kondisi yang tepat, A*

akan memberikan solusi yang terbaik dalam waktu yang optimal. Pencarian

menggunakan algoritma A* mempunyai prinsip yang sama dengan algoritma BFS

hanya saja dengan dua faktor tambahan yaitu :

1. Setiap sisi mempunyai cost yang berbeda - beda, seberapa cost untuk

pergi dari satu simpul kesimpul lain.

2. Cost dari setiap simpul ke simpul tujuan bisa diperkirakan. Ini membantu

pencarian sehingga lebih kecil kemungkinan kita mencari ke arah yang

salah.

Cost antara simpul adalah jaraknya dan perkiraan cost dari suatu simpul ke simpul

tujuan adalah penjumlahan jarak dari simpul tersebut ke simpul tujuan.Untuk

lebih mudah dimengerti, dapaat dilihat pada rumus :

f (n) = g (n) + h (n)

dimana,

f(n) : Biaya yang dibutuhkan

g(n) : biaya yang ditempuh dari node asal

h(n) : nilai perkiraan dari node saat ini ke tujuan

Page 23: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

12

Algoritma A* ini akan menemukan rute yang complete (selalu menemukan solusi

jika ada) dan optimal. Node dengan nilai terendah merupakan solusi terbaik untuk

diperiksa pertama kali pada g(n) + h(n). Dengan fungsi heuristik yang memenuhi

kondisi tersebut maka pencarian dengan algoritma A* dapat optimal. Keoptimalan

dari A* dapat dilihat jika h(n) adalah admissible heuristic yaitu nilai h(n) tidak

akan memberikan penilaian lebih pada cost untuk mencapai tujuan. Salah satu

contoh dari admissible heuristic adalah jarak dengan menarik garis lurus karena

jarak terdekat dari dua titik adalah dengan menarik garis lurus (Agung

Pamungkas, 2014).

2.8 Navigation (NavMesh)

Navigation System memungkinkan pengembang untuk membuat karakter

yang cerdas dalam bergerak di permainan. Navigation System menggunakan

navigasi Meshes ( jaring ) untuk membentuk suatu area navigasi pada lingkungan

permainan. Jaring navigasi dibentuk secara otomatis dari geometri sesuai dengan

lingkungan dalam game. Adanya benda penghalang dalam permainan seperti

kursi, batu, pohon memungkinkan mengubah navigasi karakter ketika berjalan.

Sehingga secara otomatis karakter akan melewati benda penghalang untuk menuju

ke titik destinasi yang telah ditentukan. Navigation System bertujuan untuk

mengontrol pergerakan karakter dan memberikan kemampuan karakter

mengambil keputusan seperti melewati tangga untuk mencapai lantai dua atau

melompat untuk melewati beberapa lubang. Navigation System terdiri dari

beberapa bagian, yaitu :

1. NavMesh Singkatan dari Navigation Mesh, adalah struktur data yang

menggambarkan permukaan yang dapat dilalui karakter dari permainan

Page 24: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

13

dan memungkinkan untuk menemukan jalan dari suatu lokasi ke lokasi

yang dituju.

2. NavMesh Agent Komponen bantuan untuk membuat karakter dapat

menghindari satu sama lain sambil bergerak menuju tujuan mereka.

3. Off-Mesh Link Komponen yang digunakan untuk pergerakan seperti

melompati pagar, membuka pintu sebelum melewatinya dll.

4. NavMesh Obstacles Komponen untuk mendeskripsikan sebuah hambatan

sehingga karakter dapat menghindari dan menemukan jalur lain untuk

sampai tujuan. (Achmat Khoirul, 2016)

Contoh navmesh terlihat pada gambar berikut:

Gambar 2.1 NavMesh

(Riwinoto, 2014)

Page 25: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

14

BAB III

METODOLOGI PENELITIAN

3.1 Kerangka Penelitian

Kerangka penelitian pada dasarnya adalah kerangka hubungan antara

konsep-konsep yang ingin diamati atau diukur melalui penelitian yang akan

dilakukan. Berdasarkan kerangka teori yang ada, maka kerangka penelitian yang

digunakan dapat dilihat pada gambar 3.1 berikut:

Gambar 3.1 Kerangka Pemikiran

Page 26: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

15

Kerangka pemikiran yang berawal dari masalah dalam penerapkan dan

perbandingan algoritma A* dengan NavMesh untuk mengetahui ketepatan rute

yang ditempuh dan waktu rata-rata yang dibutuhka dalam pencarian titik tujuan

(Target). Kemudian dilakukan identifikasi, pada tahap ini menjelaskan apa yang

ingin dilakukan. Setelah itu diidentifikasi adalah menentukan tujuannya, dimana

tahap ini menjelaskan apa yang ingin dibuat.

Penelitian ini bertujuan untuk mengetahui ketepatan rute yang ditempuh

dengan waktu rata – rata yang dibutuhkan untuk mencapai tujuan dengan cepat ,

lalu dilakukan validasi atau pengujian terhadap algoritma A* dengan NavMesh

untuk mengetahui perbandingan antara algoritma A* dan NavMesh. Setelah

divalidasi maka akan menghasilkan sebuah perbandingan untuk mengetahui

ketepatan rute yang ditempuh dan waktu rata-rata yang dibutuhkan dalam

pencarian titik tujuan (Target)

3.2 Tahapan Penelitian

Tahapan penelitian adalah lanjutan dari kerangka penelitian, dan terbagi lagi

menjadi beberapa sub menu bagian. Tahapan penelitian dapat dilihat pada gambar

berikut:

Page 27: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

16

Gambar 3.2 Tahapan Penelitian

Keterangan:

a) Tahap 1: Studi Literatur

Pada tahap ini dilakukan kajian literatur dari buku dan jurnal, buku yang

dijadikan acuan dalam penelitian adalah buku tentang Artificial

Intelligence khususnya untuk memilih metode pencarian, jurnal tentang

penerapan algoritma, dengan adanya kajian literatur maka penulis sangat

terbantu untuk menyelesaikan penelitian ini.

Page 28: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

17

b) Tahap 2: Analisis Data

Analisis data berguna untuk mengetahui masalah-masalah dan bagaimana

cara penyelesaiannya sehingga penerapan dan perbandingan yang akan

kita buat akan bermanfaat. Data-data yang didapat yaitu dari penelitian

terdahulu.

c) Tahap 3: Desain dan Pemodelan

Tahapan ini melakukan pemodelan atau desain yang terdiri dari

perancangan yang akan kita bangun sebagai alat bantu dalam

menerapkan dan membandingkan algoritma dan navmesh .

d) Tahap 4: Validasi

Tahapan ini merupakan tahapan pengujian perenarapan dan perbandingan

terhadap algoritma dan navmesh apakah perbandingan sudah sesuai atau

tidak dalam pencarian rute terdekat.

e) Tahap 5: Penutup

Kemudian pada tahap ini memberikan isi dari kesimpulan dan saran

terhadap penelitian yang sudah dibuat.

3.3 Alat Penelitian

Dalam menunjang penerapan dan perbandingan agar berjalan dengan baik,

hal yang dilakukan adalah harus terpenuhinya kebutuhan minimal komponen-

komponen pembangun aplikasi tersebut, dimana komponennya dibagi menjadi

dua bagian yaitu :

a. Perangakat Keras Komputer

1. Monitor LCD 14 Inchi

2. Harrdisk 500 GB

Page 29: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

18

3. Processor Intel Core i3 1.9 GHz

4. Memori DDR3 4 GB

5. Mouse Optic, Keyboard, dan Printer

b. Prangakat Lunak Komputer

1. Unity3d

2. Sistem Operasi Microsoft Windows 8.1

3.4 Flowchart algoritma A* (A Star)

Prinsip dari algoritma ini adalah melakukan traversal satu per satu pada tiap

simpul untuk memperoleh lintasan terpendek pada suatu graf. Algoritma A* akan

menghitung jarak salah satu lintasan, lalu menyimpannya dan kemudian

menghitung jarak lintasan lainnya. Ketika seluruh lintasan telah selesai dihitung,

algoritma A* akan memilih lintasan yang paling pendek. Algoritma A*

menyelesaikan masalah yang menggunakan graf untuk perluasan ruang statusnya.

Page 30: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

19

Gambar 3.3 Flowchart algoritma A* (A Star) (Agung Pamungkas, 2015)

3.4.1 Inisialisasi Awal

Pada inisialisasi awal ini dilakukan pemberian nilai awal pada setiap

variable yang digunakan pada algoritma tersebut, diantaranya adalah - Array Open

yang diisi dengan start node - Array Closed berupa array kosong.

Page 31: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

20

3.4.2 Isi Properti Dari Node

Setiap node memiliki properti sebagai indentitas node tersebut. Adapun

properti yang dimiliki oleh tiap node adalah sebagai berikut,

- Parent yang merupakan bestNode sebelumnya

- Value yang merupakan nilai dari node tersebut yang nilainya diambil dari

penghitungan alamat koordinat node tersebut

- X, alamat node pada sumbu x

- Y, alamat node pada sumbu y

- f, nilai f-cost yang dihitung dari node tersebut ke node tujuan dengan

menggabungkan nilai heuristik dan nilai g

- g, nilai yang di dapat dari jarak node tersebut dengan node asal melalui

parent sebelumnya

3.5 Perhitungan Fungsi Heuristik

Penghitungan nilai heuristik untuk kasus multiple destination sedikit

berbeda dengan penghitungan pada algoritma A* biasanya yang memakai

Manhattan Distance, Diagonal Distance, ataupun Euclidean Distance.

Penghitungan nilai heuristik untuk kasus ini dapat dilihat pada flowchart 3.4.

Page 32: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

21

Gambar 3.4 FlowChart Pencarian Nilai Heuristik (Agung Pamungkas, 2015)

Dimulai dengan menghitung jarak antar goal dengan metode Euclidean Distance,

kemudian masing-masing jarak tersebut ditambahkan dengan metode permutasi

dari goal-goal yang ada sehingga menghasilkan susunan arah yang memiliki total

jarak minimum. Setelah mendapatkan masing-masing susunannya sesuai dengan

masing-masing goal, ditambahkan dengan jarak garis lurus dari node suksesor ke

masing-masing goal. Setelah itu dipilih jarak yang paling kecil untuk di jadikan

nilai heuristik. Untuk menentukan mana jalur yang selanjutkan akan dipilih adalah

Page 33: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

22

jalur yang berada di array Open dan memiliki f-cost minimum. Penghitungan f-

cost dilakukan dengan mengkombinasikan jarak garis lurus seperti yang terlihat

pada gambar 3.5

Gambar 3.5 Penghitungan F-Cost (Lester, 2005)

1. Tahap Pertama (Arena)

Berikut adalah contoh simple arena yang akan di gunakan. Lingkaran hitam

adalah starting point, kotak abu-abu adalah goal/end point, dan abu-abu adalah

penghalang. Goal dari aplikasi ini adalah mencari rute dari lingkaran hitam ke

kotak abu-abu tanpa melewati penghalang abu-abu.

2. Tahap Kedua (Biaya pergerakan)

Dapat asumsikan setiap langkah dari lingkaran hitam adalah legal baik

vertikal, horizontal, maupun diagonal dengan catatan tidak membentur

penghalang. Setiap langkah yang diizinkan dapat berikan nilai G dimana G adalah

cost atau biaya dalam setiap langkah. Dalam kasus ini, berikan nilai 10 untuk

Page 34: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

23

setiap langkah vertikal maupun horizontal, dan 14 untuk diagonal. Nilai 14

didapat dari perhitungan pitagoras dimana nilainya adalah 14,1421.

3. Tahap Ketiga (Estimasi gerakan)

Langkah selanjutnya kita hitung biaya estimasi pergerakan dan kita

simbolkan dengan H. Nilai H ini secara singkat adalah nilai jarak / estimasi biaya

dari pergerakan dari suatu titik terhadap titik finish dengan mengabaikan

penghalang yang ada.

4. Tahap Keempat (Penilaian)

Setelah nilai G dan H kita dapatkan, maka kita berikan skor dari masing-

masing titik yang akan dilalui. Skor kita lambangkan misalnya dengan F dimana

nilai F = G + H. Nilai F selanjutnya kita masukkan dalam setiap titik dari setiap

langkah yang akan dilalui. Dari setiap nilai tersebut kita ambil keputusan dengan

mengambil langkah dengan nilai F terkecil.

5. Tahap Kelima (Perulangan)

Setelah pergerakan pertama selesai selanjutnya lakukan perulangan dari

langkah 1 sampai 4.

3.6 A-Star Pada Player

Karena pergerakan karakter pemain tergantung pada pilihan dari pemain

itu sendiri, maka digunakan algoritma A* biasa yang hanya memiliki satu tujuan,

yaitu titik awal adalah tempat karakter berada, dan titik tujuan adalah lokasi pada

map yang dipilih oleh pemain. Adapun (Hanas Subakti, 2014) dari algoritma A*

ini adalah sebagai berikut :

Page 35: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

24

Gambar 3.6 Flowchart Pencarian Jalur

Page 36: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

25

3.7 Mengikuti Jalur Node

Jalur berupa kumpulan hubungan node-node yang sudah tercipta dari

pencarian berdasarkan bobot terkecil, akan diikuti oleh NPC untuk menuju ke titik

tujuan dari titik awal. Pencarian jalur merupakan sebuah perilaku yang sudah di

terapkan pada NPC. Pencarian jalur akan menghitung posisi target berdasarkan

lokasi player secara aktual dan bentuk dari jalur tersebut. Proses pencarian disebut

seeker, dimana proses seeker berusaha mengarahkan NPC untuk menuju titik

tujuan (player). NPC akan berjalan menuju ke arah titik tujuan (player) hingga

mencapai titik tujuan akhir. NPC yang mengikuti jalur direpresentasikan seperti

pada gambar 3.7.

Gambar 3.7 NPC Mencari Target Tujuan (Player) Dalam Jalur Node (Hanas Subakti, 2014)

Page 37: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

26

BAB IV

IMPLEMENTASI DAN PEMBAHASAN

4.1 Implentasi Sistem

Pada penelitian ini, NPC akan mencari titik tujuannya secara acak dan akan

mengulangi proses ini setelah sampai dititik tujuan. Penulis merancang 1 karakter

NPC menggunakan Unity 3D, yaitu zombie. Rancangan titik tujuan (Player) yang

akan di ujicoba seperti NPC akan menuju titik tujuan tanpa penghalang, NPC

akan menuju titik tujuan dengan penghalang dan, dapat kita lihat perbedaan

ketepan dan waktu rata-rata musuh ke titik tujuan (Player) dengan menerapkan

algoritma A* dan Navmesh yang sudah di pasang kepada NPC tersebut.

4.2 Pembahasan

4.2.1 Tampilan Map Sebagai Alat Bantu Perbandingan

Map disini dimaksudkan sebagai alat bantu dalam penerapan dan

perbandingan antara algoritma A* (Astar) dengan NavMesh, untuk melihat hasil

dari pengujian. Tampilan Map dapat dilihat pada gambar 4.1 sebagai berikut :

Gambar 4.1 Map Sebagai Alat Bantu Perbandingan

Page 38: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

27

4.2.2 Tampilan NPC (Zombie)

NPC disini dimaksudkan sebagai titik awal untuk mencari titik tujuan

dalam perbandingan yang akan di uji dalam mencari rute terdekat dengan waktu

rata-rata yang di tempuh. Tampilan NPC dapat dilihat pada gambar 4.2 sebagai

berikut :

Gambar 4.2 NPC Zombie

4.2.3 Tampilan Node A*

Node A* disini dimaksudkan untuk menentukan titik awal NPC untuk

mencari rute terdekat ke titik tujuan (player). Tampilan Node A* dapat dilihat

pada gambar 4.3 sebagai berikut :

Gambar 4.3 Node A* Pada Map

Page 39: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

28

4.2.4 Tampilan NavMesh Pada Map

Navmesh adalah suatu bidang (mesh) tak terlihat yang memiliki informasi cost

yang dapat dilalui (walkable) pada suatu poligon . Tampilan Navmesh pada map

dapat dilihat pada gambar 4.4 sebagai berikut :

Gambar 4.4 NavMesh Pada Map

4.2.5 Tampilan Algoritma A* Tanpa Penghalang Pada Map

Algoritma A* tanpa penghalang akan langsung menentukan titik tujuan yang

akan di tuju tanpa harus mencari rute lainnya. tampilan algoritma A* tanpa

penghalang pada map dapat dilihat pada gambar 4.5 sebagai berikut :

Gambar 4.5 Algoritma A* Tanpa Penghalang Pada Map

Page 40: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

29

4.2.6 Tampilan Algoritma A* Dengan Penghalang Pada Map

Algoritma A* dengan penghalang akan mencari rute terdekat dengan melakukan

perhitungan heuristik untuk mengetahui cost minimum dari titik awal ke titik

tujuan. Tampilan algoritma A* dengan penghalang pada map dapat dilihat pada

gambar 4.6 sebagai berikut :

Gambar 4.6 Algoritma A* Dengan Penghalang Pada Map

4.2.7 Tampilan NavMesh Tanpa Penghalang Pada Map

NavMesh Tanpa penghalang akan langsung menentukan titik tujuan yang

akan di tuju tanpa harus mencari rute lainnya. Tampilan navmesh tanpa

penghalang pada map dapat dilihat pada gambar 4.7 sebagai berikut :

Gambar 4.7 NavMesh Tanpa Penghalang Pada Map

Page 41: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

30

4.2.8 Tampilan NavMesh Dengan Penghalang Pada Map

NavMesh dengan penghalang akan mencari rute terdekat dengan melakukan

pencarian Tampilan NavMesh dengan penghalang pada map dapat dilihat pada

gambar 4.8 sebagai berikut :

Gambar 4.8 NavMesh Dengan Penghalang Pada Map

4.3 Pengujian Sistem

4.3.1 White Box

Pengujian sistem dalam penelitian ini menggunakan metode white box untuk

pengujian kode programnya, adapun pengujiannya sebagai berikut :

4.3.1.1 Pengujian White Box Algoritma A* (Astar)

1. Alur White Box A*

Gambar 4.9 White Box Algoritma A*

Page 42: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

31

2. Alur Graph Algoritma A*

Flow Graph A* Adalah white box testing yang menggunakan alur logika

dari program.

Gambar 4.10 Flow Grap A*

3. Perhitungan Cyclomatic Complexity A*

Adalah pengukuran software yang memberikan pengukuran kuantitatif dan

kompleksitas logika program.

Cyclomatix complexity V(G) = E - N + 2

Dimana: E = jumlah edge (anak panah) pada grafik alir

N = jumlah node (titik) pada grafik alir

Sehingga: V(G) = E – N + 2

V(G) = 16 – 14 + 2 = 4

Page 43: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

32

Hasil yang didapat berdasarkan urutan alur flow graph (Gambar 4.10) sebanyak 4

jalur, Berikut ini jalur yang didapat dari alur flow graph (Gambar 4.10):

Jalur 1 : 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 14

Jalur 2 : 1, 2, 3, 4, 5, 6, 10, 11,12

Jalur 3 : 1, 2, 3, 4, 5, 6, 7, 8, 9, 6

Jalur 4 : 1, 2, 3, 4, 5, 6, 7, 8, 9, 13, 3

4. Perhitungan Graph Matrix

Graph Matrix adalah matrik berbentuk segi empat sama sisi, dimana jumlah baris

dan kolom sama dengan jumlah node, dan identifikasi baris dan kolom sama

dengan identifikasi node, serta isi data adalah kebenaran penghubung antar node

(edges). Berikut ini gambar hasil perhitungan graph matrix:

Tabel 4.1 Perhitungan Graph Matrices

1 2 3 4 5 6 7 8 9 10 11 12 13 14 Hasil

1 1 0

2 1 0

3 1 0

4 1 0

5 1 0

6 1 1 1

7 1 0

8 1 0

9 1 1 1

10 1 0

11 1 0

12 0

13 1 1 1

14 1 0

Jumlah graph matrices 3

Page 44: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

33

Sehingga : V(G) = jumlah graph matrices + 1

V(G) = 3 + 1

V(G) = 4

Jadi hasil dari penjumlahan graph matrices adalah = 4 jalur

4.4 Pengujian Perbandingan

Pada bagian ini menjelaskan mengenai pengujian perbandingan, dalam

pengujian algoritma A* dan NavMesh ini menggunakan waktu (timer) yang

dimana waktu dapat membandingkan seberapa cepat NPC dapat menemukan titik

tujuan (Player).

Pada tahap pengujian ini, penulis melalakukan 4 tahap perpindahan dalam 1 arena

atau map untuk menentukan titik awal NPC dalam mencari targetnya. Dalam

pengujiannya penulis melakukan uji coba menentukan waktu rata-rata tanpa

penghalang untuk jarak jauh dan jarak dekat, dan uji coba menentukan waktu rata-

rata dengan penghalang untuk jarak jauh dan jarak dekat, serta melihat ketepatan

mencari jalur tercepat untuk mencari titik tujuannya

4.4.1 Pengujian Waktu Rata-Rata dan ketepatan

1. Jarak Jauh Tanpa Penghalang

Dari hasil percobaan pencarian dari NPC ke titik target (Player)

menggunakan algoritma A* dan NavMesh, diuji coba untuk mengetahui tingkat

efisiensi waktu rata-rata jarak jauh tanpa penghalang yang dibutuhkan untuk

melakukan proses pencarian NPC ke Playar. Tabel 4.2 hasil dari waktu pencarian

tanpa halangan

Page 45: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

34

Tabel 4.2 Pengujian Waktu Rata-Rata dan Ketepatan Jarak Jauh Tanpa Penghalang

Uji Coba Tanpa

Penghalang Jarak

Jauh Berdasarkan

Node

Waktu Yang Dibutuhkan

A* (A-Star) Ketepatan NavMesh Ketepatan

1 1 : 42 Detik Sukses 1 : 38 Detik Sukses

2 1 : 17 Detik Sukses 1 : 17 Detik Sukses

3 1 : 28 Detik Sukses 1 : 42 Detik Sukses

4 1 : 18 Detik Sukses 1 : 18 Detik Sukses

Dari hasil uji coba yang pertama navmesh lebih cepat dari pada

menggunakan algoritma A*. Kendala yang terjadi adalah karna algoritma

A* harus melihat grid dan node yang ada didalam map atau arena

permainan apakah bisa di lewati atau tidak.

Dari hasil uji coba yang kedua, navmesh dan algoritma A* dalam

pencarian titik target (Player) sama. Karena graps pada navmesh tidak

terhalang apapun sedangkan algoritma A* grid dan node sama tidak

terhalang apapun

Dari hasil uji coba yang ketiga navmesh lebih cepat dari pada

menggunakan algoritma A*. Kendala yang terjadi adalah karna algoritma

A* harus melihat grid dan node yang ada didalam map atau arena

permainan apakah bisa di lewati atau tidak.

Dari hasil uji coba yang keempat, navmesh dan algoritma A* dalam

pencarian titik target (Player) sama. Karena graps pada navmesh tidak

terhalang apapun sedangkan algoritma A* grid dan node sama tidak

terhalang apapun

Page 46: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

35

2. Jarak Dekat Tanpa Penghalang

Dari hasil percobaan pencarian dari NPC ke titik target (Player)

menggunakan algoritma A* dan NavMesh, diuji coba untuk mengetahui tingkat

efisiensi waktu rata-rata jarak dekat tanpa penghalang yang dibutuhkan untuk

melakukan proses pencarian NPC ke Playar. Tabel 4.3 hasil dari waktu pencarian

tanpa halangan

Tabel 4.3 Pengujian Waktu Rata-Rata dan Ketepatan Jarak Dekat Tanpa Penghalang

Uji Coba Tanpa

Penghalang Jarak

Dekat Berdasarkan

Node

Waktu Yang Dibutuhkan

A* (A-Star) Ketepatan NavMesh Ketepatan

1 52 Detik Sukses 51 Detik Sukses

2 21 Detik Sukses 20 Detik Sukses

3 25 Detik Sukses 24 Detik Sukses

4 45 Detik Sukses 44 Detik Sukses

Dari hasil uji coba yang pertama, kedua, ketiga dan keempat navmesh

lebih cepat dari pada menggunakan algoritma A*. Kendala yang terjadi adalah

karna algoritma A* harus melihat grid dan node yang ada didalam map atau arena

permainan apakah bisa di lewati atau tidak.

3. Jarak Jauh Dengan Penghalang

Dari hasil percobaan pencarian dari NPC ke titik target (Player)

menggunakan algoritma A* dan NavMesh, diuji coba untuk mengetahui tingkat

efisiensi waktu rata-rata jarak Jauh dengan penghalang yang dibutuhkan untuk

melakukan proses pencarian NPC ke Playar. Tabel 4.4 hasil dari waktu pencarian

tanpa halangan

Page 47: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

36

Tabel 4.4 Pengujian Waktu Rata-Rata Dan Ketepatan Jarak Jauh Dengan Penghalang

Uji Coba Dengan

Penghalang Jarak

Jauh Berdasarkan

Node

Waktu Yang Dibutuhkan

A* (A-Star) Ketepatan NavMesh Ketepatan

1 1 : 33 Detik Sukses 1 : 26 Detik Sukses

2 1 : 30 Detik Sukses 1 : 28 Detik Sukses

3 1 : 44 Detik Sukses 1 : 40 Detik Sukses

4 1 : 45 Detik Sukses 1 : 49 Detik Sukses

Dari hasil uji coba yang pertama, kedua, ketiga dan keempat navmesh

lebih cepat dari pada menggunakan algoritma A*. Kendala yang terjadi adalah

karna algoritma A* harus melihat grid dan node yang ada didalam map atau arena

permainan apakah bisa di lewati atau tidak.

4. Jarak Dekat Dengan Penghalang

Dari hasil percobaan pencarian dari NPC ke titik target (Player)

menggunakan algoritma A* dan NavMesh, diuji coba untuk mengetahui tingkat

efisiensi waktu rata-rata jarak Jauh dengan penghalang yang dibutuhkan untuk

melakukan proses pencarian NPC ke Playar. Tabel 4.5 hasil dari waktu pencarian

tanpa halangan

Tabel 4.5 Pengujian Waktu Rata-Rata dan Ketepatan Jarak Dekat dengan

Penghalang

Uji Coba Dengan Penghalang Jarak Dekat Berdasarkan Node

Waktu Yang Dibutuhkan

A* (A-Star) Ketepatan NavMesh Ketepatan

1 52 Detik Sukses 51 Detik Sukses

2 21 Detik Sukses 20 Detik Sukses

3 25 Detik Sukses 24 Detik Sukses

4 45 Detik Sukses 44 Detik Sukses

Page 48: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

37

Dari hasil uji coba yang pertama, kedua, ketiga dan keempat navmesh

lebih cepat dari pada menggunakan algoritma A*. Kendala yang terjadi adalah

karna algoritma A* harus melihat grid dan node yang ada didalam map atau arena

permainan apakah bisa di lewati atau tidak.

4.4.2 Hasil Dari Pengujian Waktu Rata-Rata

1. Jarak Jauh Tanpa Penghalang

Dari percobaan antara A* dan NavMesh dapat kita lihat hasil rata – rata

waktu yang dibutuhkan oleh NPC untuk mencari titik target (Player). hasil dapat

dilihat pada tabel 4.6

Tabel 4.6 Hasil Waktu Rata-Rata Jarak Jauh Tanpa Penghalang

Uji Coba Tanpa

Penghalang

Jarak Jauh

Berdasarkan Node

Waktu Rata -

Rata

A* (Astar) NavMesh

1.43 Detik 1.41 Detik

Berdasarkan hasil yang telah di uji coba, waktu rata-rata algoritma A* untuk

mencari titik target jarak jauh tanpa penghalang 1.43 detik sedangkan

menggunakan navmesh 1.41 detik, jadi perhitungan waktu rata-rata dalam

mencari titik target navmesh lebih cepat 2 detik di bandingkan menggunakan

algoritma A*.

2. Jarak Dekat Tanpa Penghalang

Dari percobaan antara A* dan NavMesh dapat kita lihat hasil rata – rata

waktu yang dibutuhkan oleh NPC untuk mencari titik target (Player). hasil dapat

dilihat pada tabel 4.7

Tabel 4.7 Hasil Waktu Rata-Rata Jarak Dekat Tanpa Penghalang

Uji Coba Tanpa Penghalang Jarak Dekat

Berdasarkan Node

Waktu Rata - Rata

A* (Astar) NavMesh

0.59 Detik 0.57 Detik

Page 49: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

38

Berdasarkan hasil yang telah di uji coba, waktu rata-rata algoritma A* untuk

mencari titik target jarak dekat 0.59 detik sedangkan menggunakan navmesh 0.57

detik, jadi perhitungan waktu rata-rata dalam mencari titik target navmesh lebih

cepat 2 detik di bandingkan menggunakan algoritma A*.

3. Jarak Jauh Dengan Penghalang

Dari percobaan antara A* dan NavMesh dapat kita lihat hasil rata – rata

waktu yang dibutuhkan oleh NPC untuk mencari titik target (Player). hasil dapat

dilihat pada tabel 4.8

Tabel 4.8 Hasil Waktu Rata-Rata Jarak Dekat Dengan Penghalang

Uji Coba Dengan

Penghalang

Jarak Dekat

Berdasarkan Node

Waktu Rata -

Rata

A* (Astar) NavMesh

1.63 Detik 1.59 Detik

Berdasarkan hasil yang telah di uji coba, waktu rata-rata algoritma A* untuk

mencari titik target jarak Jauh 1.63 detik sedangkan menggunakan navmesh 1.59

detik, jadi perhitungan waktu rata-rata dalam mencari titik target navmesh lebih

cepat 4 detik di bandingkan menggunakan algoritma A*.

4. Jarak Dekat Dengan Penghalang

Dari percobaan antara A* dan NavMesh dapat kita lihat hasil rata – rata

waktu yang dibutuhkan oleh NPC untuk mencari titik target (Player). hasil dapat

dilihat pada tabel 4.9

Tabel 4.9 Hasil Waktu Rata-Rata Jarak Dekat Dengan Penghalang

Uji Coba Tanpa

Penghalang

Jarak Dekat

Berdasarkan Node

Waktu Rata -

Rata

A* (Astar) NavMesh

0.72 Detik 0.67 Detik

Page 50: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

39

Berdasarkan hasil yang telah di uji coba, waktu rata-rata algoritma A*

untuk mencari titik target jarak dekat 0.72 detik sedangkan menggunakan

navmesh 1.69 detik, jadi perhitungan waktu rata-rata dalam mencari titik target

navmesh lebih cepat 3 detik di bandingkan menggunakan algoritma A*.

Dari hasil pengujian di atas, dapat kita simpulkan bahwa navmesh lebih cepat

beberapa detik untuk mencari titik target dari pada menggunakan algoritma A*,

hal ini dapat disebabkan bahwa navmesh membentuk suatu area navigasi pada

lingkungan permainan. Jaring navigasi dibentuk secara otomatis dari geometri

sesuai dengan lingkungan dalam area permainan (map). Adanya benda

penghalang dalam permainan seperti kursi, batu, pohon memungkinkan mengubah

navigasi NPC ketika berjalan. Sehingga secara otomatis NPC akan melewati

benda penghalang untuk menuju ke titik yang telah ditentukan.

Page 51: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

40

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan rumusan masalah dan pembahasan serta hasil penelitian tentang

perbandingan algoritma A* dan NavMesh dalam mengetahui waktu rata-rata dan

ketepatan mencari titik tujuan atau jalur tercepat untuk sampai ke target yang

sudah ditentukan. Dapat diambil kesimpulan sebagai berikut:

1. Unity dapat membantu penulis dalam mendesain map atau area sebagai

alat bantu dalam membandingkan algoritma A* dan NavMesh.

2. Dalam perbandingannya, waktu yang di hasilkan algoritma A* lebih

lama dari pada menggunakan NavMesh, selisih waktu tanpa penghalang

dan dengan penghalang adalah 2 detik dalam mencari titik tujuannya.

3. Catatan waktu yang dibutuhkan oleh NPC bukan menunjukkan jarak

antara NPC dengan titik pencarian, namun merupakan proses pencarian

rute terhadap target. Hal tersebut terlihat dari terjadinya Lag di dalam

permainan sebelum target ditemukan.

5.2 Saran

Beberapa saran yang dapat diberikan berdasarkan pembahasan diatas:

1. Perbanyak halangan dan perbanyak map atau area permainan untuk

melihat waktu rata-rata dalam pencarian rute tercepat menuju titik

tujuannya.

2. Bandingkan algoritma lain dengan navmesh apakah navmesh emang

benar-benar lebih cepat dalam pencarian rute yang optimal.

Page 52: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

DAFTAR PUSTAKA

Achmat Khoirul, Y. F. (2016). PERANCANGAN GAME EDUKASI ZOMBIE TOY 3D SEBAGAI MEDIA. Universitas Muhammadiyah Sidoarjo , 8.

Agung Pamugkas, E. P. (2015). Penerapan Algoritma A* (A Star) Pada Game Edukasi The Maze Island Berbasis Android. STMIK GI MDP , 11.

Agung Pamungkas, E. P. (2014). Penerapan Algoritma A* (A Star) pada Game Edukasi The Maze Island Berbasis Android. Teknik Informatika STMIK GI MDP, Palembang .

Albert V, D. S. (2007). Artificial Intelligence on Computer Based Chess Game : An Inplementation of Alpha-Beta-Cutoff Search Method. Universitas Gadjah Mada .

Azhar, A. S. (2013, Agustus 13). Tutorial Pencarian Rute ( Pathfinding ) dengan Algoritma A* di Unity Menggunakan Library Arongranberg. Diambil kembali dari duniadigit.blogspot.co.id: http://duniadigit.blogspot.co.id/2013/08/tutorial-pencarian-rute-pathfinding.html

Ekasari, Y. (2012). MERANCANG GAME PETUALANGAN “BINGGO” MENGGUNAKAN UNITY 3D GAME ENGINE. JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA .

Incorporated, A. S. (2016). Adobe. Dipetik April Rabu, 2016, dari MAXIMO: https://www.mixamo.com/store/#/

MUDAH MEMBUAT GAME 3 DIMENSI UNITY 3D. (2014). Semarang: ANDI.

Muhammad Haki Fauzi, R. (2013). First Person Shooter 3D "GamaShoot" Dengan Blender dan Unity 3D. Teknik Informatika Universitas Gunadarma , Seminar Nasional Teknologi Informasi dan Multimedia 2013, ISSN 1979.

Pratama, W. (2014). GAME ADVENTURE MISTERI KOTAK PANDORA. Teknik Informatika STMIK AMIKOM Purwokerto .

Refi Meisadri, N. I. (2013). Pengembangan Game First Person Shooter 3D Alien Hunter. Universitas Komputer Indonesia (UNIKOM) , Jurnal Ilmiah Komputer (KOMPUTA) Vol.2, No.1, Maret 2013, ISSN : 2089-9033.

Rengga Dionata Putra, I. M. (2012). Pencarian Rute Terdekat pada Labirin Menggunakan Metode A*. Jurnal EECCIS Vol.6, No.2, Desember 2012 .

Page 53: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

Riwinoto, A. (2014). Implementasi Pathfinding dengan Algoritma A* pada Game Funny English Menggunakan Unity 3D Berbasis Graf Navmesh. Teknik Multimedia Jaringan Politeknik Negeri Batam , 6.

Sunarto. (2011). Pembuatan Game 3 Dimensi "ME vs Aliens" dengan menggunakan Unity 3D Game. SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (AMIKOM), Yogyakarta .

Suyanto, S. (2011). ARTIFICIAL INTELLEGENCE. Bandung: Informatika.

Page 54: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

LAMPIRAN

Page 55: PENERAPAN ALGORITMA A* (A-STAR) PADA PERMAINAN SPY …

Proses NavMesh

Proses Algoritma A* (A-Star)