Anda di halaman 1dari 98

PERANCANGAN GAME THIRD PERSON SHOOTER

“UNCOMMANDER” MENGGUNAKAN UNITY3D

SKRIPSI

OLEH :
RIYAN HIDAYAT
133510515

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS ISLAM RIAU
PEKANBARU
2020
LEMBAR PERNYATAAN BEBAS PLAGIARISME

Saya yang bertanda tangan dibawah ini:


Nama : Riyan Hidayat
Tempat/Tgl Lahir : Dumai, 27 Maret 1995
Alamat : Jl Kharudin Nasution, Maharatu, Pekanbaru
Adalah mahasiswa Universitas Islam Riau yang terdaftar pada:
Fakultas : Teknik
Program Studi : Teknik Informatika
Jenjang Pendidikan : Strata-1 (S1)

Dengan ini menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis
adalah benar dan asli hasil dari penelitian yang telah saya lakukan dengan judul
“PERANCANGAN GAME THIRD PERSON SHOOTER “UNCOMMANDER”
MENGGUNAKAN UNITY3D’’. Apa bila dikemudian hari ada yang merasa
dirugikan atau menuntut karena penelitian ini menggunakan sebagian hasil tulisan
atau karya orang lain tanpa mencantumkan nama penulis yang bersangkutan, atau
terbukti karya ilmiah ini bukan karya saya sendiri atau plagiat hasil karya orang
lain, maka saya bersedia menerima sanksi yang sesuai dengan undang-undang dan
peraturan yang berlaku.
Demikian surat pernyataan ini saya buat dengan sesungguhnya untuk dapat
digunakan sebagai mana mestinya.

Pekanbaru, 17 September 2020


Yang membuat pernyataan,
(Riyan Hidayat)
LEMBAR IDENTITAS PENULIS

NPM : 133510515

Nama : Riyan Hidayat

Tempat/Tgl Lahir : Dumai, 27 Maret 1995

Alamat Orang Tua : Jl Kharudin Nasution, Maharatu,

Pekanbaru

Nama Orang Tua :1 Amrizal

2 Fitriani

Alamat Orang Tua : Jl Sudirman, Gg.Jambu, No.26, Riau.

No. Handphone : 0831-7869-9655

Program Studi : Teknik Informatika

Fakultas : Teknik

Masuk Th.Ajaran : 2013

Wisuda Th.Ajaran : 2019/2020

Judul Skripsi : Perancangan Game Third Person Shooter “Uncommander”

Menggunakan Unity3d

Pekanbaru, 17 September 2020

Mahasiswa Ybs,

Riyan Hidayat
KATA PENGANTAR

Segala puji atas kehadirat Allah SWT atas semua rahmat beserta

karuniaNya, sehingga penulis dapat menyelesaikan penulisan laporan tugas akhir

skripsi yang merupakan suatu persyaratan untuk dapat menyelesaikan program

studi sarjana (S1) pada Jurusan Teknik Informatika UNIVERSITAS ISLAM

RIAU. Penulis sangat menyadari bahwa laporan penulisan skripsi yang penulis

buat ini masih banyak kekurangan. Oleh karena itu, saran dan kritik akan

senantiasa penulis terima dengan baik. Penulis sangat menyadari bahwasanya

penulisan laporan skripsi ini tidak dapat terwujud tanpa bimbingan, dorongan dan

bantuan. Izinkan dengan segala kerendahan hati, penulis mempersembahkan

ucapan terima kasih kepada:

1. Allah SWT yang kesempatan dan memberikan kehidupan di dunia.

2. Bapak Arbi Haza Nasution selaku prodi teknik informatika.

3. Bapak Yudhi Arta selaku dosen pembimbing.

4. Seluruh sahabat serta kawan – kawan di UNIVERSITAS ISLAM RIAU

yang sudah memberikan dukungan kepada penulis. Semoga Allah SWT

membalas kebaikan dan selalu mencurahkan hidayah serta taufikNya,

Amin.

Pekanbaru, 17 September 2020

Riyan Hidayat
DAFTAR ISI

DAFTAR ISI.....................................................................................................ii

DAFTAR TABEL............................................................................................iii

DAFTAR TABEL...............................................................................................1

BAB I PENDAHULUAN...................................................................................1

1.1 Latar Belakang.....................................................................................1

1.2 Identifikasi Masalah.............................................................................2

1.3 Rumusan Masalah................................................................................2

1.4 Batasan Masalah...................................................................................3

1.5 Tujuan Penelitian..................................................................................3

1.6 Manfaat Penelitian................................................................................3

BAB II.................................................................................................................4

LANDASAN TEORI..........................................................................................4

2.1 Studi Pustaka.........................................................................................4

2.2 Dasar Teori............................................................................................4

2.2.1 Game.........................................................................................4

2.2.2 Sejarah Game............................................................................4

2.2.3 Jenis – jenis Game....................................................................5

2.2.4 Artificial Intelligence................................................................7

2.2.5 Algoritma Greedy.....................................................................9

2.2.6 Algoritma Dijkstra...................................................................9

2.2.7 Algoritma Astar........................................................................9


2.2 Aplikasi yang digunakan....................................................................13

2.2.1 Blender...................................................................................13

2.2.2 Unity.......................................................................................13

2.2.3 MonoDevelop.........................................................................22

2.2.4 GIMP......................................................................................22

BAB III..............................................................................................................24

METODOLOGI PENELITIAN.....................................................................24

3.1 Perangkat dan Materi Penelitian yang Digunakan..............................25

3.1.1 Perangkat Yang Digunakan....................................................25

3.1.1.1 Perangkat keras (Hardware) ......................................26

3.1.1.2 Perangkat lunak (Software) .......................................27

3.1.2 Alur Cerita (Storyline) ...........................................................28

3.1.3 Rancangan Mekanis Game.....................................................29

3.1.4 Story Board.............................................................................32

3.1.5 Konten-Konten Permainan......................................................33

3.1.6 Skenario Permainan................................................................34

3.1.7 Desain Permainan...................................................................35

3.2 Perancangan Kontrol Game.................................................................36

3.3 Finite State Machine............................................................................37

3.4 Perancangan Algoritma........................................................................38

3.4.1 Node (Titik) ............................................................................38

3.4.2 Tree..........................................................................................38
3.4.3 Pathfinding Manager.............................................................39

BAB IV.............................................................................................................40

Hasil dan Pembahasan....................................................................................40

4.1 Implementasi......................................................................................40

4.1.2 Kebutuhan Perangkat keras (Hardware) ...............................31

4.1.3 Kebutuhan Perangkat lunak (Software) ................................32

4.2 Implementasi Algoritma.....................................................................33

4.3 Pengujian............................................................................................34

4.3.1 Pengujian Gameplay..............................................................35

4.3.2 Gameplay Level 1 (hutan sanki) ...........................................36

4.3.3 Gameplay Level 2 (Pabrik Nuklir) .......................................37

4.3.4 Gameplay Level 3 (Final Stage) ...........................................38

4.4 Pengujian Controller Player...............................................................39

4.5 Pengujian Algoritma..........................................................................40

4.5.1 Pengujian Algoritma Greedy................................................50

4.5.2 Pengujian Algoritma Dijkstra...............................................50

4.5.3 Pengujian Algoritma Astar...................................................51

4.7 Perbandingan Algoritma...................................................................52

4.8 Kesimpulan.......................................................................................53

BAB V .............................................................................................................54

PENUTUP.......................................................................................................54

5.1 Kesimpulan.......................................................................................54
5.2 Saran.................................................................................................54

DAFTAR PUSTAKA.....................................................................................55

LAMPIRAN....................................................................................................56
DAFTAR GAMBAR

Gambar 3.1 Rancangan Karakter Utama.............................................................35

Gambar 3.2 Rancangan Karakter Musuh.............................................................35

Gambar 3.3 Rancangan Denah Level 1...............................................................36

Gambar 3.4 Rancangan Denah Level 2...............................................................37

Gambar 3.5 Rancangan Denah Level 3...............................................................37

Gambar 3.6 Rancangan Menu..............................................................................38

Gambar 3.7 Rancangan Item Shotgun.................................................................39

Gambar 3.8 Finite State Machine NPC................................................................41

Gambar 3.9 Susunan Tree....................................................................................43

Gambar 3.10 Pathfinding Manager......................................................................45

Gambar 4.1 Main Menu.......................................................................................66

Gambar 4.2 Area Hutan Sanki.............................................................................68

Gambar 4.3 Gameplay Pabrik Nuklir..................................................................69

Gambar 4.4 Gameplay Final Stage......................................................................70


DAFTAR TABEL

Tabel 3.1 Perangkat Keras.................................................................................. 27

Tabel 3.2 Perangkat Lunak................................................................................. 30

Tabel 3.3 Story Board Level 1............................................................................ 27

Tabel 3.4 Story Board Level 2.............................................................................30

Tabel 3.5 Scenario Game.....................................................................................33

Tabel 3.6 Fungsi Tombol Pada Keyboard.......................................................... 40

Tabel 3.7 Node ................................................................................................... 42

Tabel 3.8 Proses Tree (Struktur Pohon) ............................................................. 44

Tabel 4.1 Perangkat Keras .................................................................................. 46

Tabel 4.2 Perangkat Lunak ................................................................................. 47

Tabel 4.3 Implementasi Algoritma Greedy ........................................................ 48

Tabel 4.4 Implementasi Algoritma Dijkstra ....................................................... 54

Tabel 4.5 Implementasi Algoritma Astar ........................................................... 60

Tabel 4.6 Tabel Pengujian Controller Player ..................................................... 71

Tabel 4.7 Percobaan Perbandingan Algoritma Pertama ..................................... 72

Tabel 4.8 Percobaan Perbandingan Algoritma Kedua ....................................... 72

Tabel 4.9 Percobaan Perbandingan Algoritma Ketiga ....................................... 73


BAB I

PENDAHULUAN

1.1 Latar Belakang

Sekarang ini kemajuan komputer sudah banyak diimplementasikan pada

beragam sektor antara lain e-sport dan juga terlibat pada sektor entertaiment.

Game online kini banyak digemari karena melibatkan interaksi antara player dan

bersifat universal, oleh karena itu, game memiliki daya tarik tersendiri. Game

dalam segi grafis terbagi menjadi 2 Dimensi dan 3 Dimensi.

Game 2D memiliki keadaan ruang yang hanya memiliki dua sisi ( X dan Y).

Sedangkan untuk representasi citra grafisnya dapat menggunakan Vector maupun

Bitmap. Untuk membuat animasi bergerak seperti berjalan, melompat dan berlari

kita harus membuat gambar dengan frame per second. Kerealisasian gerakan

ditentukan dari gambar yang dibuat, jumlah gambar(frame) yang digunakan, serta

hitungan gambar per detik (frame per second). Konsep kamera pada game 3D

benar-benar menyerupai konsep kamera pada kehidupan nyata karena game 3D

adalah game yang selain menggunakan titik sumbu X dan Y, juga melibatkan titik

Z sebagai perhitungannya, selain dapat dirotasi (seperti pada game 2D), juga bisa

pula berotasi dengan sumbu tertentu.

Unity engine adalah satu dari beberapa engine yang banyak digunakan

developer. Banyak game terkenal yang sudah dibuat dengan Unity engine seperti

shadowgun dan dead trigger. Selain free, game engine ini tergolong mudah

digunakan. Pada era perkembangan teknologi masa ini, ada banyak sekali genre

1
2

game, antara lain yaitu Third Person Shooting game. Third Person Shooting game

adalah sub-genre dari action game, dimana pemain memainkan permainan

peperangan dengan menggunakan sudut pandang orang ke tiga.

Dari Latar Belakang yang telah dipaparkan sebelumnya, maka penulis

mengajukan proposal penelitian dengan judul “Perancangan Game Third

Person Shooter “Uncommander” Menggunakan Unity3d”.

1.2 Identifikasi Masalah

Berdasarkan latar belakang masalah di atas, dapat diidentifikasi beberapa

masalah yang ditemukan yaitu :

1. Platform pembuaatan aplikasi game ini masih 3 dimensi.

2. Enemy AI dalam game ini masih banyak keterbatasan.

1.3 Rumusan Masalah

Adapun rumusan masalah dalam penelitian ini, yaitu:

1. Bagaimana cara menerapkan algoritma greedy, dijkstra dan astar pada NPC

menggunakan unity3d?

2. Bagaimana hasil Pengujian dan perbedaan kinerja pathfinfing AI yang terbaik

antara algoritma Greedy, algoritma Dijkstra dan AStar (A*) dalam proses

mencari rute terdekat?


3

1.4 Batasan Masalah

Batasan masalah dalam membangun aplikasi game ini, yaitu:

1. Aplikasi Game dimainkan oleh satu pemain.

2. Aplikasi Game ditujukan untuk anak berusia 16 tahun keatas.

3. Pembuatan aplikasi Game menggunakan Unity 5.6.7 dan dibantu beberapa

tools pendukung seperti GIMP, MonoDevelop dan Blender.

4. Algoritma Greedy di implementasikan pada NPC level 1 untuk mengejar

pemain di Hutan Sanki.

5. Algoritma Dijkstra di implementasikan pada NPC level 2 untuk mengejar

pemain di Denah Pabrik Nuklir.

6. Algoritma Astar di implementasikan pada NPC level 3 untuk mengejar

pemain di sekitar kawasan tandus.

1.5 Tujuan Penelitian

Tujuan yang ingin dicapai dalam penelitian ini adalah :

1. Penerapan game dengan pengalaman bermain yang menegangkan.

2. Dapat menerapkan logika AI dengan Algoritma Greedy, Dijkstra dan Astar.

1.6 Manfaat Penelitian

Adapun manfaat penelitian yang ingin dicapai dalam penelitian ini adalah :

1. Player mendapatkan pengetahuan tentang cara bertahan hidup dari ancaman

musuh.
2. Dalam segi psikologis, player bisa mendapatkan pengetahuan mengenai

tindakan musuh.

BAB II

LANDASAN TEORI

2.1 Studi Pustaka

Adapun tinjauan pustaka yang dilakukan untuk memberikan pengetahuan

untuk penulis terhadap penelitian yang dilakukan oleh para peneliti terdahulu.

Dengan melakukan tinjauan pustaka ini, penulis mendapatkan refferensi yang bisa

membantu penulis untuk menyelesaikan penelitian ini.

Dalam penelitian yang dilakukan oleh Ady Wicaksono, Mochammad

Hariadi dan Supeno Mardi S. N (Arif et al., 2012) menerangkan bahwa,

Pengembangan Artificial Intelligence untuk Non-Playable Character dalam

permainan itu adalah salah satu fokus pembangunan yang penting karena NPC

sering mempunyai fungsi penting yang dapat menjadikan dunia buatan dalam

permainan lebih mendalam. Kajian ini melaporkan aneka bentuk tingkah laku

strategi penyerangan NPC dalam permainan FPS menggunakan Finite State

Machine, sementara tindak balas terhadap tingkah laku menyerang NPC

menggunakan fuzzy. Tiga NPC menjadi fokus penyelidikan dengan masing-

masing NPC mempunyai ciri serangan yang berbeda. NPC pertama mempunyai

gaya serangan jarak pendek dan sederhana, NPC kedua menyerang jarak

sederhana dan jarak jauh, sementara NPC ketiga mempunyai spesifikasi untuk

serangan jarak dekat, jarak jauh dan jarak jauh. Tingkah laku NPC 1, NPC 2 dan

4
NPC 3 didasarkan pada perubahan jarak musuh, jumlah musuh dan health player

(hp) setiap NPC. Simulasi dengan mesin permainan menunjukkan perubahan jenis

tindak balas serangan dari setiap NPC.

4
5

NPC 1 menunjukkan perubahan sebagai tindak balas terhadap variasi dalam

menyerang jarak pendek dan sederhana. NPC 2 menunjukkan tingkah laku

menyerang dalam jarak sedang dan panjang. NPC 3 menunjukkan variasi sebagai

tindak balas terhadap serangan jarak dekat, jarak sedang dan jarak jauh.

Berdasarkan penelitian yang dilakukan oleh Rachmat Ardi menerangkan

bahwa, Game merupakan hiburan karena permainan dapat mengurangkan tahap

keletihan seseorang dari rutin kerja setiap hari. Permainan juga dapat

meningkatkan kecerdasan seseorang yang memerlukan permainan tahap

ketangkasan dari pemain. Beberapa genre permainan yang sedang berada dalam

kondisi pendidikan, ketangkasan dan tidak ada kekerasan, ketika bermain game

harus ada batasan. Pada masa ini, pembangun game dapat membina permainan

dengan lebih mudah menggunakan mesin permainan. FPS Creator adalah mesin

permainan dengan genre FPS atau penggambaran dari perspektif orang pertama.

Perkembangan permainan FPS dimulakan dengan kemunculan permainan

Wolfenstein 3-D yang merupakan nenek moyang permainan FPS. Kehadiran

permainan Doom memulakan penggunaan teknologi grafik 3D dalam genre FPS

dan permainan yang boleh dimainkan dalam talian. Permainan FPS yang paling

terkenal di Indonesia adalah Counter-Strike yang pada masa itu merupakan

permainan kegemaran para pemain. Crysis dan Far Cry 2 yang kini hadir dengan

teknologi grafik tahap tinggi terkini adalah pelopor permainan FPS 3D dan

seterusnya. Perkembangan permainan FPS terkini adalah Call of Duty:


6

Modern Warfare 3 dan Battlefield 3 yang disajikan semakin halus tingkat

teknologi grafis dan narasi.

Berdasarkan penelitian yang dilakukan oleh Rudi Priyanan dan Endah Tri

Esti Handayani (Priyana & Handayani, 2019) menerangkan bahwa, Kehadiran

game dapat membantu untuk menumbuhkan kembali motivasi belajar anak yang

mengalami penurunan semangat belajar karena didalamnya terdapat threatment

tertentu untuk memancing minat belajar anak terhadap materi pelajaran. Pada

tahun 2012 penelitian menghasilkan tingginya ketergantungan generasi muda

pada teknologi yaitu sekitar 40% anak umur dibawah 2 tahun sudah banyak

menggunakan smartphone dan tablet, 75% untuk anak umur diatas 8 tahun. Dalam

Sehari mereka menggunakan perangkat mobile lebih dari 2 jam hanya untuk

bermain game, menonton video dan masih banyak yang lainnya. Berdasarkan latar

kasus diatas, maka rumusan masalah dalam hal ini adalah tentang ilmu sejarah

yang semakin dilupakan remaja maupun masyarakat pada saat ini serta

meningkatkan efisiensi penyediaan aplikasi yang mengandung unsur pendidikan

yang bisa diterapkan sebagai alat untuk mempermudah proses pmbelajaran, maka

dalam penelitian ini akan dibangun sebuah game edukasi tentang sejarah yang

berisikan tokoh-tokoh Surabaya menggunakan algoritma BFS. Dalam penelitian

sebelumnya yang telah dilakukan perancangan game edukasi berbasis android

memliki permasalahan yang terjadi, tampilan game masih 2D.


7

sebagian fitur juga banyak yang menggunakan 2D. Agar ruang lingkup

penelitian ini tidak menyimpang dari tujuan penelitian, maka penulis akan

merancang game tentang sejarah tokoh-tokoh Surabaya meliputi tampilan

3D, membuat game dengan genre TPS(Third Person Shooter), UI, objek

tambahan. Serta bagaimana pengujian game pada smartphone android.

Berdasarkan studi kasus dari jurnal tersebut akan berkaitan dengan

penelitian yang dilakukan penulis. Perbedaan dari penelitian yang akan dilakukan

penulis yaitu dari segi metode fuzzy, ada yang menggunakan metode fuzzy Finite

State Machine, Tsukamoto dan fuzzy BFS, sedangkan pada penelitian ini akan

menggunakan metode fuzzy Greedy, Dijkstra, Astar dan perbandingan dari

penetian yang sebelumnya belum ada yang menggunakan unity3d sebagai engine

dalam pembuatan game.

2.2 Dasar Teori


1.

2.3.1 Game

Game menurut pandangan Schell (Mcleod, 2008), Permainan adalah

aktifitas menyelesaikan permasalahan, berdekatan dengan sikap yang

menyenangkan, permainan juga sesuatu yang dapat membuat pemain menemukan

rasa senang. Permainan terbaik adalah permainan yang bisa membuat gamers

berpartisipasi aktif dan memiliki kuantitas rintangan yang cocok, tidak terlampau

sedikit atau terlampau banyak. Tindakan seorang jika bermain, mungkin berbeda
8

ketika player sedang tidak bermain, sebab ketika player sedang bermain maka ia

seolah merasa sedang berada di “dunia” permainan tersebut ciptakan.

4
8

2.3.2 Sejarah Game

Game pertama diciptakan pada tahun 1963 oleh Steve Russel,

seorang ahli komputer dari Amerika Serikat. Game pertama yang dibuat

adalah Spacewar, yang kemudian dikembangkan oleh tim Martin Graetz,

Pete Simson, dan Dan Edwards. Mereka pun mengubah dugaan

masyarakat saat itu yang hanya menganggap komputer untuk pekerjaan

serius saja. (DeMaria & Wilson, 2004).

Konsol pertama kali muncul didunia adalah konsol game dibuat oleh Ralph

H. Baer, lahir 8 Maret 1922. Seorang warga jerman yang tinggal di Amerika sejak

anak-anak. Ralph membuat sebuah permainan di televisi yang ia kerjakan sekitar

tahun 1966, di sebuah perusahaan bernama Sanders. Penemuan ini dikembangkan

menjadi prototipe konsol game pertama yang disebut Brown Box dan dipatenkan

pada tahun 1986. Ralph juga menemukan kontrol senjata untuk video game yang

dapat dimainkan di televisi, juga yang pertama kali di dunia. (Baer, 2005).

2.3.3 Jenis – jenis Game

a. Massively Multiplayer Online Role Playing Game (MMORPG)

Game MMORPG adalah genre game yang dapat diakses oleh banyak

pemain secara masal untuk bermain bersama didunia maya yang terus

berkembang pada saat yang sama melalui sambungan internet ataupun LAN.
8

b. Multiplayer Online Battle Arena (MOBA)

Sebuah game yang dimainkan dalam bentuk arena yang dimainkan

secara bersama-sama seperti DOTA 2, Mobile Legend

4
9

c. Role-Playing Game (RPG)

Game RPG adalah salah satu genre game yang mengandung unsur

experience atau leveling dalam gameplay. Bisaanya dalam game ini pemain

memiliki kebebasan untuk menjelajahi dunia game dan dapat menentukan

ending dari game tersebut. Contoh game populer pada genre ini seperti Final

Fantasy.

d. Strategi Game.

Strategi Game bergerak pada mekanisme game yang dibutuhkan

pemikiran yang baik agar mampu memenangkan pertarungan. Strategi Game

terangkai menjadi Tactical Game, Real-Time Strategy, 4X Game and Turn-

Based Strategy Game.

e. First Person Shooter (FPS)

First Person Shooter adalah genre permainan video yang ciri

utamanya adalah penggunaan sudut pandang orang pertama dengan tampilan

layar yang mensimulasikan apa yang dilihat melalui mata karakter yang

dimainkan.

f. Third Person Shooter (TPS)

Third Person Shooter adalah permainan yang mempunyai dasar

peperangan dengan menggunakan senjata yang menggunakan sisi pandang

dari orang ketiga dengan layar kamera seperti yang dilihat melalui sudut
8

pandang orang ketiga terhadap karakter yang digunakan. Contoh game TPS

yang populer antara lain seperti PUBG, Fornite

4
10

2.3.4 Artificial Intelligence

Artificial Intelligence adalah kemampuan untuk mengerti ataupun

memahami (The faculty of understanding). Artificial Intelligence merupakan

simulasi intelligence manusia pada mesin yang diprogram untuk dapat berpikir

seperti layaknya manusia dan meniru perbuatan mereka. Manusia bisa dalam

menyelesaikan permasalahan karena manusia mempunyai pengetahuan &

pengalaman. Istilah ini juga dapat diterapkan pada mesin apa pun yang

menunjukkan ciri-ciri yang terkait dengan pikiran manusia seperti pembelajaran

dan problem-solving.

Karakteristik ideal dari Artificial Intelligence adalah kemampuannya untuk

merasionalisasi dan mengambil tindakan yang memiliki peluang terbaik untuk

mencapai tujuan tertentu. Pengetahuan diperoleh dari belajar. Semakin banyak

bekal pengetahuan yang dimiliki tentu akan lebih mampu menyelesaikan

permasalahan. Tapi bekal pengetahuan saja tidak cukup, manusia juga diberi akal

untuk melakukan penalaran,mengambil kesimpulan berdasarkan pengetahuan dan

pengalaman yang dimiliki. Tanpa memiliki kemampuan untuk menalar dengan

baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat

menyelesaikan masalah dengan baik. Demikian juga dengan kemampuan menalar

yang sangat baik,namun tanpa bekal pengetahuan dan pengalaman yang memadai,

manusia juga tidak akan bisa menyelesaikan masalah dengan baik. Perilaku

kecerdasan dapat ditandai dengan:


11

1. Mempelajari dan mengerti dari pengalaman

2. Memecahkan hal-hal yang bersifat kontradiktif

3. Mendeteksi situasi baru dengan respon fleksibel

4. Berhadapan dengan situasi yang meragukan

5. Mampu berpikir dengan cara rasional

6. Mengimplementasikan pengetahuan agar dapat memanipulasi lingkungan

7. Dapat mengindentifikasi elemen pada suatu situasi

Artikel ilmiah pertama tentang Artificial Intelligence ditulis oleh

Alan Turing pada tahun 1950 dan kelompok riset pertama dibentuk tahun

1954 di Carnegie Mellon University oleh Allen Newell and Herbert

Simon. Namun bidang Artificial Intelligence baru dianggap sebagai bidang

tersendiri di konferensi Dartmouth tahun 1956, di mana terdapat 10

peneliti muda memimpikan agar komputer bisa memodelkan cara berfikir

manusia. Hipotesis mereka adalah: “Mekanisme berfikir manusia dapat

secara tepat dimodelkan dan disimulasikan pada computer digital”, dan

menjadi landasan dasar Artificial Intelligence. Sebuah ujian yang dapat

dilakukan untuk menentukan apakah sebuah komputer/mesin

menunjukkan perilaku cerdas dirancang oleh Alan Turing, maka dari itu

penulis tertarik menggunakan algoritma fuzzy greedy, dijkstra dan astar

dalam perancangan game third person shooter.


12

2.2.5 Algoritma Greedy

Greedy adalah algoritma yang melakukan pemecahan masalah langkah demi

langkah dan merupakan salah satu metode dalam masalah optimasi. Menurut

(Ardiansyah & Syaifullah, 2012) algoritma greedy merupakan algoritma yang

menghasilkan solusi optimum melalui penyelesaian langkah per langkah (step by

step) dengan menerapkan 2 hal berikut pada setiap langkahnya:

1. Keputusan yang diambil merupakan pilihan terbaik yang dapat diperoleh pada

saat itu tanpa memperhatikan konsekuensinya ke depan, bersesuaian dengan

prinsip Algoritma Greedy yaitu “take what you can get now”.

2. Memilih pilihan dengan harapan pilihan terbaik saat itu untuk mencapai solusi

yang di hadapi. Dalam algoritma greedy diasumsikan bahwa optimum local

merupakan bagian dari optimum global. Sedangkan untuk aplikasinya

algoritma greedy digunakan untuk pemecahan yang memerlukan solusi.

Algoritma greedy menuju setiap node dengan pengambilannya berdasarkan

jarak yang optimal. Algoritma greedy didasarkan pada pemindahan edge (arc) per

edge (arc) dan pada setiap langkah yang diambil tidak memikirkan konsekuensi

berikutnya, algoritma greedy beroperasi secara menyeluruh terhadap semua

alternatif solusi yang ada serta sebagian masalah.


13

Menurut Henny Syahriza (Lubis, 2009) dalam penyelidikannya, dia

menjelaskan bahwa greedy algoritm adalah salah satu kaedah untuk

menyelesaikan masalah, ia juga merupakan program yang dapat menyelesaikan

masalah selangkah demi selangkah, yang pada setiap langkah mengambil pilihan

terbaik yang diperoleh pada waktu itu tanpa memperhatikan akibat masa depan

dengan idea dasarnya adalah untuk membina penyelesaian besar di atas

penyelesaian kecil. Algoritma tamak tidak selalu memberikan penyelesaian yang

optimum tetapi memberikan penyelesaian yang hampir dengan nilai optimum.

Menurut Enty dan Antoni (Hayati & Yohanes, 2014), masalah optimasi dalam

konteks algoritma greedy disusun oleh beberapa elemen sebagai berikut yaitu:

a. Himpunan candidate

Himpunan candidate berisi elemen-elemen pembentuk solusi. Pada

setiap langkah, satu buah kandidat diambil dari himpunannya.

b. Himpunan solution

Himpunan solution berasal dari kandidat-kandidat yang terpilih

sebagai solusi persoalan. Himpunan solusi adalah himpunan bagian dari

himpunan candidate.

c. Fungsi selection

Fungsi seleksi ada pada setiap langkah memilih kandidat yang paling

mungkin untuk mendapatkan solusi optimal. Kandidat yang sudah dipilih pada

suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya.


14

d. Fungsi kelayakan

Fungsi kelayakan akan memeriksa apakah suatu kandidat yang telah

dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-

sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala

yang ada.

e. Fungsi objektif.

Fungsi objektif merupakan fungsi yang memaksimumkan atau

meminimumkan nilai solusi.

Kelebihan pada algoritma greedy adalah prinsip pencarian lintasan

terpendek memakai fungsi “seleksi” dan itu berguna untuk menentukan jalan

tersingkat menuju suatu tempat. Kita dapat sampai tepat waktu menuju tempat

tujuan. Hasil analisis berdasarkan bobot-bobot yang berbeda, menunjukkan bahwa

semakin banyak bobot yang diberikan, maka semakin akurat pula data yang

dihasilkan.
15

Kelemahan dari greedy algoritm adalah bahwa ia tidak beroperasi secara

menyeluruh terhadap semua penyelesaian alternatif yang ada. Mungkin ada

beberapa fungsi pemilihan yang berbeda, jadi kita harus memilih yang tepat jika

kita ingin greedy algoritm berfungsi dengan baik dan menghasilkan penyelesaian

yang benar-benar optimum. Oleh itu, dalam beberapa masalah, greedy algoritm

tidak selalu berjaya memberikan penyelesaian yang benar-benar optimum.

Game berbasis algoritma greedy antara lain game first person shooter

Pathriotism Young dengan metode greedy untuk pencarian jalan non-

player(Dimas, 2016). Berdasarkan hasil pelaksanaan dan pengujian yang

dilakukan oleh penelitian pada permainan Pathtriotism Young, permainan ini telah

diterapkan sebagai NPC pathfinding. Greedy algoritm cukup baik apabila

diterapkan pada NPC, ini dibuktikan dengan beberapa eksperimen yang

mengakibatkan NPC dapat mencari sasaran walaupun kedudukannya jauh..

Kekurangan dari game yaitu belum menerapkan algoritma leveling pada game dan

platform game yang masih terbatas.

2.2.6 Algoritma Dijkstra

Algoritma Dijkstra ialah algoritma yang mencari jarak terpendek dari satu

titik ke titik yang lain menggunakan graf berwajaran. Jarak antara titik adalah

nilai setiap tepi pada graf. Algoritma Dijkstra dapat digunakan untuk

menyelesaikan grafik yang diarahkan(Munir, 2010).


16

Pencarian jarak terpendek termasuk dalam bahan

teori grafik . Algoritma Dijkstra sangat terkenal untuk menyelesaikan masalah

mencari jalan terpendek. Algoritma ini dicipta oleh saintis komputer Belanda

bernama Edsger W Dijkstra.

Algoritma Dijkstra memerlukan parameter asal dan tujuan. Hasil akhir

algoritma Dijkstra adalah jarak terpendek dari tempat asal ke destinasi bersama

dengan jarak. Sekiranya anda menggunakan algoritma Dijkstra untuk menentukan

jalur terpendek graf, ia akan mencari jalan terbaik. Ini karena algoritma Dijkstra

menganalisis nilai verteks yang belum dipilih, maka verteks dengan bobot terkecil

dipilih. Algoritma Dijkstra mencari jarak terpendek dari verteks asal ke bucu

terdekat, kemudian ke verteks kedua, dan seterusnya.

Ada beberapa kasus pencarian lintasan terpendek yang diselesaikan

menggunakan algoritma Dijkstra, yaitu:

1. Pencarian lintasan terpendek antara dua buah simpul tertentu (a pair shortest

path).

2. Pencarian lintasan terpendek dari simpul tertentu ke semua simpul yang lain

(single source shortest path).

3. Pencarian lintasan terpendek antara dua buah simpul yang melalui beberapa

simpul tertentu (intermediate shortest path).


17

Laluan dari simpul asal mestilah jalan terpendek antara semua jalan ke

simpul yang belum dipilih. Dengan kata lain, strategi algoritma ini adalah untuk

mengambil jalan yang mempunyai nilai minimum menghubungkan node yang

telah dipilih dengan simpul yang belum dipilih. Laluan dari titik asal ke simpul

baru mestilah jalan terpendek antara semua jalan ke semua simpul yang belum

dipilih. Input algoritma ini adalah graf terarah berwajaran G dan sumber vertek

solution dan dalam G dan V adalah kumpulan semua vertek dalam graf G.

G = (V , E), di mana: G = Graf

V = Tegak (titik)

E = Tepi (jarak) .

Dalam mencari jalan terpendek, algoritma Dijkstra berfungsi dengan

mencari graf paling sedikit berat. Jarak terpendek akan diperoleh dari dua titik

atau lebih graf dan jumlah nilai yang diperoleh adalah nilai terkecil..
18

Langkah-langkah dalam menentukan lintasan terpendek pada algoritma

Dijkstra yaitu:

1. Pada awalnya pilih titik sumber sebagai titik awal, diinisialisasikan dengan

“1”.

2. Bentuk yang terdiri dari titik, status, bobot, dan pendahulu. Lengkapi

kolom bobot yang diperoleh dari jarak sumber ke semua titik yang

langsung berhubung dengan titik sumber tersebut.

3. Jika titik sumber ditemukan maka tetapkan sebagai titik terpilih.

4. Tetapkan titik terpilih dengan label permanen dan perbaharui titik yang

langsung berhubung.

5. Tentukan titik sementara yang terhubung pada titik yang sudah terpilih

sebelumnya dan merupakan bobot terkecil dilihat dari jadual dan tentukan

sebagai titik terpilih seterusnya.

6. Adakah titik yang terpilih menjadi titik tujuan?. Jika ya, kumpulan

kumpulan titik terpilih atau pendahulu adalah rangkaian yang

menunjukkan lintasan terpendek..


19

2.2.7 Algoritma A Star (A*)

Algoritma A Star (A*) adalah 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 algoritma A Star (A*) mendapatkan solusi yang

diinginkan. Dengan heuristik, maka algoritma A Star (A*) pasti akan

mendapatkan solusi (jika memang ada solusinya) (Kusumadewi & Purnomo,

2005:76). Algoritma A Star (A*) mempunyai waktu komputasi yang cepat. Hal

ini yang menyebabkan algoritma A Star (A*) sangat populer dikalangan

developer sebagai algoritma shortest path yang baik (Aini, 2012: 43). Algoritma

A Star (A*) memiliki beban komputasi dan waktu simulasi yang paling kecil

dibandingkan dengan algoritma Floyd-Warshal (Aprilliandi, 2013:41).

Menurut (Russell & Norvig, 2010), algoritma A Star (A*) memiliki lima

komponen utama, yaitu: node awal, node goal, open list, closed list dan cost.

Node awal merupakan titik awal dari posisi saat ini, sedangkan node goal

merupakan titik akhir atau dapat juga disebut titik tempat tujuan. Cost merupakan

nilai dari jarak yang telah ditempuh untuk sampai ke tempat tujuan. Open list ini

berupa sebuah priority queen, dimana setiap node yang masuk pertama akan

dikeluarkan pertama dengan syarat tertentu. Closed list ini berupa sebuah stack

(tumpukan), dimana node


20

yang terakhir dimasukkan akan dikeluarkan pertama kali. Selain sebagai

penampung node yang telah dilewati, closed list ini juga digunakan untuk

mendapatkan jarak terdekat saat node goal sudah dicapai.

Algoritma AStar (A *) menggunakan dua barisan, yaitu Buka(open) dan

Tutup(close). Diawali dengan titik permulaan menjadi barisan titik keutamaan

untuk melintasi, yang dikenali sebagai Open set. Pada setiap langkah algoritma

AStar (A *) simpul dengan nilai tertinggi dikeluarkan dari barisan, f dan h nilai

tetanga disimpulkan agar mengikut hubungan pada grafik dan nilai tetangga ini

ditambahkan ke dalam barisan. Algoritma A Star (A *) akan terus mencari

sehingga titik tujuan mempunyai nilai f yang lebih rendah dengan menggunakan

nilai heuristik dan graph untuk menyempitkan ruang mencari dengan

mengehadkan bucu yang akan diuji di setiap cabang. Semakin rendah kos untuk

nod x, semakin tinggi keutamaannya. Sekiranya ia telah mencapai titik tujuan,

algoritma A Star (A *) akan menambah panjang jalur sesungguhnya (Coppin,

2004:74).
21

1.7 Aplikasi yang digunakan

3.

2.3.5 Blender

Blender adalah software yang bersifat open source yang dapat digunakan

untuk membuat film animasi, efek visual (UV unwrapping), texturing, modeling

3D, rigging, fluid dan smoke simulasi, rendering , camera tracking, video editing

dan juga memiliki game engine untuk pembuatan game. software ini termasuk

software dengan ukuran kecil dan dapat digunakan di berbagai macam OS.

Software ini dapat diperoleh di situs resminya yaitu blender.org.

2.3.6 Unity

Aplikasi unity 3D adalah game engine multiplatform yang merupakan

software pengolah gambar, grafik, suara, input, dan lain-lain yang ditujukan untuk

membuat suatu game, meskipun tidak selamanya harus untuk game. Contohnya

adalah seperti materi pembelajaran untuk simulasi membuat SIM. Unity mampu

di publish menjadi Standalone (.exe), berbasis web, berbasis web, Android, IoS

Iphone, XBOX, dan PS3. Dengan Unity3D kita dapat membuat game 3D, FPS

dan 2D game bahkan Game Online. Kelebihan dari game engine ini adalah bisa

membuat game berbasis 3D maupun 2D, dan sangat mudah digunakan.

2.3.7 MonoDevelop

MonoDevelop (juga dikenal sebagai Xamarin Studio) adalah lingkungan

pengembangan terintegrasi open-source untuk Linux, macOS dan Windows.


8

Fokus utamanya adalah pengembangan proyek yang menggunakan kerangka kerja

Mono
22

dan .NET. MonoDevelop mengintegrasikan fitur yang mirip dengan NetBeans dan

Microsoft Visual Studio, seperti penyelesaian kode otomatis, kontrol sumber,

antarmuka pengguna grafis (GUI) dan desainer Web. MonoDevelop

mengintegrasikan desainer Gtk # GUI yang disebut Stetic. Ini mendukung Boo, C,

C ++, C #, CIL, D, F #, Java, Oxygene, Vala, JavaScript, TypeScript dan Visual

Basic.NET.

MonoDevelop dapat digunakan pada Windows, macOS dan Linux.

Distribusi Linux yang didukung secara resmi termasuk CentOS, Debian, Fedora,

openSUSE, SUSE Linux Enterprise, Red Hat Enterprise Linux dan Ubuntu,

dengan banyak distribusi lain yang menyediakan monoDevelop sendiri dalam

repositori mereka. macOS dan Windows telah didukung secara resmi sejak versi

2.2.

MonoDevelop telah memasukkan kompiler C# (sebuah alternatif untuk

MSBuild dan CSC) sejak versi awalnya. Saat ini termasuk kompiler yang

mendukung CSharp versi 1.0, CSharp versi 2.0, CSharp versi 3.0, CSharp versi

4.0, CSharp 5.0 dan CSharp versi 6.0.

Versi khusus MonoDevelop yang sebelumnya dikirim dengan Unity versi

Windows dan Mac, mesin permainan oleh Unity Technologies. Ini memungkinkan

scripting C # lanjutan, yang digunakan untuk mengkompilasi permainan video

lintas-platform oleh kompilator Unity. Sejak itu telah digantikan oleh Visual

Studio Community, kecuali pada versi Linux.


23

2.3.8 GIMP

GNU (Image Manipulation Program) adalah sebuah software yang biasa

digunakan untuk mengelola graphic(raster). GIMP juga bisa digunakan untuk

mendesain grafik, lambang, resize resolution, cutting foto, mengubah warna

maupun memadukan berbagai aneka jenis gambar ataupun transformasi aneka

jenis gambar.

GIMP adalah software gratis(open source) yang bisa digunakan oleh

semua kalangan. GIMP beroperasi pada desktop GNOME dan dirilis dengan

lisensi GNU (General Public License). Awal mula pengmbangkan GIMP

difungsikan pada desktop X11 yang beroperasi pada sistem operasi Unix. Tetapi

masa sekarang software ini sudah dikembangkan di beberapa perangkat operating

system yang populer seperti Linux, Microsoft Windows dan Mac OS.

Experimental Computing Facility atau disingkat XCF adalah format

gambar yang hasilkan oleh software GIMP. format XCF dapat di ekspor ke

beberapa format grafik gambar seperti pdf, png, svg, tiff, bmp, jpg, gif dan

berbagai jenis format gambar lainnya.


BAB III

METODOLOGI PENELITIAN

Metodologi penelitian adalah suatu proses mendapatkan data untuk

keperluan penelitian, sehingga data tersebut akan di analisa sehingga

menghasilkan jawaban atas apa yang sedang di teliti. Dalam proses untuk

menghasilkan jawaban tersebut ada beberapa metode yang dapat dilakukan seperti

kuantitatif. Kualitatif, survey, desktiptif, dll.

3.1 Perangkat dan Materi Penelitian yang Digunakan

3.1.1 Perangkat Yang Digunakan

Alat yang digunakan untuk mendukung proses pembangunan sistem dalam

penelitian terdiri dari dua jenis alat, perangkat keras (hardware) dan perangkat

lunak (software).

3.1.1.1 Perangkat keras (Hardware)

Perangkat keras (Hardware) yang digunakan dalam pembangunan sistem

adalah komputer dengan spesifikasi sebagai berikut:

Tabel 3.1 Perangkat Keras

No
Perangkat Keras Spesifikasi
.
1. Processor Intel Celeron 2957U
2. Harddisk 500GB
3. VGA Intel HD 4000

24
4. Memori RAM 2GB
5. Monitor 14 inc

24
25

3.1.1.2 Perangkat lunak (Software)

Perangkat lunak (Software) dan bahasa pemrograman yang digunakan

dalam proses pembangunan sistem dalam penelitian ini adalah:

Tabel 3.2 Perangkat Lunak

No. Perangkat Lunak Spesifikasi Sistem

1. Sistem Operasi Windows 7 64-bit

2. Game Engine Unity3D 5.6.7

3. Desain 3D Blender 2.79

4. Editor Mono Develop

5. Desain Tekstur GIMP


26

3.1.2 Alur Cerita (Storyline)

Skenario Game ini menceritakan tentang seorang polisi hutan yang sedang

berpatroli di hutan sanki. Secara tidak sengaja polisi hutan menemukn beberapa

kumpulan zombie yang berada di hutan sanki. Kumpulan zombie itupun

menyadari kehadiran polisi tersebut dan mengejarnya. Untuk keluar dari situasi

ini seorang polisi hutan terpaksa harus membunuh zombie tersebut.

3.1.3 Rancangan Mekanis Game

Mekanisme game mewajibkan player untuk membasmi zombie untuk

menyelamatkan diri. Dalam gameplay, Karakter mempunyai fungsi berlari dan

satu pola tembakan yaitu menggunakan senjata shotgun. Karakter zombie di game

ini menerapkan pathfinding kecerdasan buatan atau artificial intelligence agar

NPC zombie berjalan dan melakukan serangan secara otomatis jika pemain berada

pada jarak tertentu dari NPC zombie. Game dinyatakan “Game Over” jika Health

Point pada player bernilai “0”. Player memenangkan permainan jika membunuh 4

NPC zombie yang ada pada setiap level game.


27

3.1.4 Story Board

Tabel 3.3 Story Board Level 1

No. Frame
Level
1
1.

Keterangan :
Seorang polisi hutan sedang bertugas mengawasi hutan sanki
karena ada laporan aneh dari warga.
2.

Keterangan :
Koloni zombie yang kelaparan mulai muncul ke daratan untuk
mencari mangsa
28

3.

Keterangan :
Polisi hutan yang sedang bertugas tersebut menemukan sesosok
seperti manusia dan polisi itupun mencoba berkomunikasi tetapi
gagal, zombie tersebut menyerbu polisi yang berada didekatnya.

4.

Keterangan :
Koloni zombie yang berada disekitar hutan tersebut bergerak
menyerang polisi dan pertempuran di hutan sanki tidak terelakkan.
29

Tabel 3.4 Story Board Level 2

No. Frame
Level
2
1.

Keterangan :
Polisi tersebut mendatangi lokasi pabrik dan melihat sebagian
koloni zombie yang berada di pablik nuklir tersebut.
2.

Keterangan :
Koloni zombie yang melihat polisi tersebut langsung datang
menyerang dan pertempuran berlangsung.
30

Tabel 3.4 Story Board Level 3

No. Frame
Level
3
1.

Keterangan :
Polisi tersebut mendatangi lokasi tanah tandus dan melihat
sebagian koloni zombie yang berdatangan.
3.1.5 Konten-Konten Permainan

Adapun konten-konten yang terdapat dalam game yaitu:

1. Alur Tempur Permainan

Alur tempur yang akan diterima oleh pemain adalah skenario di hutan

sanki, pabrik nuklir dan tanah tandus.

2. Latar Permainan

Pada setiap button level mempunyai denah yang berbeda-beda.

a. Level 1 : Denah Hutan Sanki

b. Level 2 : Denah Pabrik Nuklir

c. Level 3 : Denah Tanah Tandus


31

3. Tokoh Utama (Pemain)

Pemain yang bertempur untuk memepertahankan hidup dan memusnahkan

koloni zombie.

4. Zombie (NPC Musuh)

Karakter musuh dalam game ini yaitu zombie yang kelaparan dan berniat

menyerang manusia.

3.1.6 Skenario Permainan

Skenario permainan dalam aplikasi ini antara lain sebagai berikut:

Tabel 3.5 Skenario Permainan

SKENARIO PERMAINAN

Level 1

1. Sekumpulan zombie muncul secara tiba-tiba melalui goa di hutan sanki.


2. Seorang polisi hutan yang kebetulan bertugas menerima laporan itu dan
menyelidiki keadaan di hutan sanki.
3. Polisi hutan yang bertugas itupun menemukan beberapa goa di hutan sanki.
4. Koloni zombie yang kelaparan mulai bermunculan dari dalam goa.
5. Polisi hutan menemukan beberapa zombie dan melakukan tembakan.
6. Koloni zombie juga melakukan serangan balik.
7. Koloni zombie di hutan sanki akhirnya dikalahkan.
8. Sebagian koloni zombie kabur ke pabrik nuklir.
32

Level 2

1. Koloni zombie sedang berdiam diri dikawasan pabrik nuklir.


2. Polisi hutan itupun terkejut melihat situasi dan kondisi disana.
3. Situasi tidak mengguntungkan bagi polisi tersebut, ia tidak dapat pulang
karena mobilnya mogok dan alat komunikasinya rusak.
4. Polisi hutan mulai memeriksa kawasan pabrik nuklir sambil memegang
senjata shotgun.
5. Beberapa zombie yang mencium aroma polisi tersebut langsung
menyerangnya.
6. Terjadilah saling serang antara polisi dan koloni zombie dipabrik tersebut.
7. Polisi hutan berhasil membasmi koloni zombie yang ada dipabrik nuklir.

Level 3

1. Setelah membasmi koloni zombie yang berada di Pabrik Nuklir, Polisi hutan
lalu memeriksa kawasan di sekitar kawasan yang tidak jauh dari lokasi
pabrik.
2. Polisi Hutan menemui 4 zombie yang berada di kawasan tersebut.
3. Para zombie yang berada di sekitar tanah tandus langsung merespon
kehadiran polisi lalu berusaha mengejarnya.
4. Polisi Hutan terpaksa melakukan perlawanan terhadap para zombie.
5. Polisi hutan berhasil membasmi koloni zombie yang ada di kawasan tandus
tersebut.
6. Polisi hutan memenangkan pertempuran.

3.1.7 Desain Game

1. Rancangan Karakter Utama


33

Gambar 3.1 Rancangan Karakter Utama

2. Rancangan Karakter Zombie (Musuh)

Gambar 3.2 Rancangan Karakter Zombie

Karakter pada game ini dibedakan menjadi dua, yaitu polisi hutan

dan zombie, koloni zombie akan menyerang polisi hutan untuk

memuaskan nafsu laparnya, sedangkan polisi hutan akan mempertahankan

diri dan membasmi koloni zombie.

3. Rancangan Denah

Denah yang dibuat dalam game ini dirancang menjadi 3 menjadi macam

yang berbeda-beda setiap level


33

Gambar 3.3 Rancangan Denah Level 1


34

Denah Level 1 adalah denah yang berdasar pada kondisi lingkungan di

hutan Sanki yang terdapat beberapa Goa.

Gambar 3.4 Rancangan Denah Level 2

Pada rancangan denah level 2, denah di rancang seperti kawasan pabrik

nuklir dengan melakukan sedikit penyesuaian.

Gambar 3.5 Rancangan Denah Level 3

Pada denah level 3, lokasi pada menyerupai lokasi tanah yang tandus.
35

4. Menu

Gambar 3.6 Rancangan Menu

Main menu pada game uncommander ini dirancang masih

sederhana. Pada main menu ini tersedia 3 button, yaitu button level 1,

button level 2 dan button level 3.

5. Rancangan Item Shotgun

Gambar 3.7 Rancangan Item Shotgun

Rancangan item pada game ini menggunakan shotgun untuk

membasmi zombie yang datang menyerang.


36

3.2 Perancangan Kontrol Game

Game ini dapat dimainkan menggunakan fungsi keyboard dengan control

keyboard yang dapat dijelaskan pada Tabel 3.6 dibawah ini :

Tabel 3.6 Fungsi Tombol Pada Keyboard

No Keyboard Fungsi Output

1 W Jalan(Run) Player Jalan

2 J Menembak(Shoot) Player Menembak

3 A Berputar ke Kiri Player Berputar ke Kiri

4 S Bergerak Mundur Player Bergerak Mundur

5 D Berputer ke Kanan Player Berputar ke Kanan

Dari tabel 3.4 ketika pemain menekan salah satu tombol W, A, S, atau D

pada keyboard, karakter akan bergerak sesuai dengan fungsi antara lain yaitu

tombol W untuk bergerak maju, tombol A untuk berputar ke kiri, tombol S untuk

mundur, tombol D untuk berputar ke kiri dan tombol J untuk menembak zombie.

3.3 Finite State Machine

Finite State Machine adalah tingkah laku musuh terhadap pemain. Pada

masa permainan dimulakan pertama, zombie NPC akan melakukan pencarian

sasaran awal, jadi lihat pada sasarannya, zombie NPC akan melakukan pengejaran

lebih awal dan menyerang sehingga sehingga status pemain HP hingga 0 atau

sasaran mati. Sekiranya NPC belum menemui sasaran, NPC zombie akan mencari

sasaran lagi sehingga anda menjumpainya dan menyerang lagi.


37

Gambar 3.8 Finite State Machine NPC zombie

3.4 Perancangan Algoritma

Dalam merancang algoritma pencarian menggunakan greedy, Dijkstra dan

Astar, persiapan yang perlukan adalah node, tree dan pathfinding manager.

3.4.1 Node

Node adalah dasar dari pathfinding bagi algoritma greedy, dijkstra dan

astar. Dalam permainan ini node digunakan sebagai tempat singgah NPC zombie

dari awal dan mengambil langkah berikutnya sampai akhir. Pada setiap akan

melakukan tahap pencarian, akan dibutuhkan node sebagai awal dari penentuan

node berikutnya. Perpindahan dari node satu ke node yang menghasilkan jarak

yang berbeda dalam 3 jenis cost yaitu G cost, H cost dan F cost.
38

Tabel 3.7 Node

No. Jenis Nilai Keterangan

1. G cost Nilai dari node awal

2. H cost Nilai dari node akhir

3. F cost Fungsi

3.4.2 Tree

Node yang telah dibuat akan bekerja jika disusun ke dalam sebuah

rangkaian tree. Tree adalah pola rangkaian yang menyusun beberapa node. Tree

memiliki 3 bagian, yaitu parent (induk), child left (anak cabang kiri) dan child

right (anak cabang kanan).

Gambar 3.9 Susunan Tree


39

Proses penentuan pengambilan node di dasarkan dari 3 komponen diatas

yang dimulai dari parent dan dilanjutkan perpindahan ke child left atau child

right. Proses penentuan ini disusun sebagai berikut:

Tabel 3.8 Proses Tree (Struktur Pohon)

No
Bagian Tree Simbol Rumus
.
1. Parent P (n-1)/2
2. Child Left CL 2n+1
3. Child Right CR 2n+2

3.4.3 Pathfinding Manager

Pathfinding Manager berfungsi untuk mengelola alur pathfinding sesuai

dengan struktur pohon (tree) yang telah terisi oleh node yang telah ditentukan

seperti di jelaskan pada gambar 3.10.

Gambar 3.10 Pathfinding Manager

Pathfinding manager merupakan tahap pertama yang dilakukan untuk

mengambil node yang menjadi awal langkah dan menentukan node yang menjadi
39

target tujuan. Setiap node yang berada disekitar node awal dapat diasumsikan

sebagai child dari node awal, dapat sebagai child left atau child right. Setelah

menentukan node, pathfinding manager akan membuat keputusan dari algoritma

pathfinding dalam menentukan pencarian jalan.


40

3.4.4 Contoh Perhitungan Algoritma Greedy

Algoritma greedy akan memperhitungkan 8 node disekitarn dan mencari

nilai terkecil menuju target, seperti dijelaskan pada gambar 3.11:

Gambar 3.11 Contoh Perhitungan Greedy

Algoritma greedy akan memperkirakan heuristik cost dari titik target ke titik

start, maka NPC zombie akan berpindah ke node tersebut dengan

memperhitungkan nilai H cost.

3.4.5 Contoh Perhitungan Algoritma Dijkstra

Algoritma ini akan memeriksa 8 node disekitarnya dari titik awal ke titik

akhir menggunakan fungsi G cost, seperti dijelaskan pada gambar 3.12:

Gambar 3.12 Contoh Perhitungan Dijkstra


41

Algoritma dijkstra adalah algoritma yang menggunakan fungsi G cost

berbobot dalam penentuan langkah yang diambil, maka NPC akan berpindah ke

node tersebut.

3.4.6 Contoh Perhitungan Algoritma Astar

Algoritma astar menggunakan kombinasi G cost dan H cost sebagai

penentuan langkahnya, seperti dijelaskan pada gambar 3.13:

Gambar 3.13 Contoh Perhitungan Astar

Algoritma astar akan mencari nilai terkecil menuju target dan mengabaikan

node yang jauh antara posisi start dan target. Setiap node tersebut memiliki nilai

F hasil dari penjumlahan G cost dan H cost.


BAB IV

HASIL DAN PEMBAHASAN

4.1 Implementasi

Pada bab ini membahas tentang implementasi dari perencanaan yang telah

dibuat. Serta melakukan beberapa tahap pengujian terhadap aplikasi game untuk

mengetahui apakah game tersebut telah berjalan sesuai dengan yang diharapkan.

4.1.2 Kebutuhan Perangkat keras (Hardware)

Adapun kebutuhan perangkat keras (Hardware) yang digunakan dalam

pembangunan sistem adalah komputer dengan spesifikasi sebagai berikut:

Tabel 4.1 Kebutuhan Perangkat Keras

No
Perangkat Keras Spesifikasi
.
1. Processor Intel Celeron 2957U
2. Harddisk 500GB
3. VGA Intel HD 4000
4. Memori RAM 2GB
5. Monitor 14 inc

Spesifikasi perangkat keras yang terdapat pada PC ataupun laptop yang

harus dipersiapkan minimal sesuai dengan kriteria kebutuhan perangkat lunak

diatas, apabila spesifikasi komputer semakin tinggi maka akan semakin baik

proses pengolahan grafis dan proses menjalankannya. Untuk kebutuhan perangkat

42
41

lunak (software) dapat disesuaikan dengan kebutuhan pada saat menjalankan

game third person shooting ini.


43

4.1.3 Kebutuhan Perangkat lunak (Software)

Perangkat lunak (software) yaitu sekumpulan data elektronik yang

diformat lalu disimpan secara digital dan diatur oleh komputer, data elektronik

yang disimpan didalam komputer itu dapat berupa bentuk antara lain seperti

grafis, program atau instruksi yang akan menjalankan suatu instruksi. Perangkat

lunak (software) yang di gunakan dalam penelitian game ini yaitu:

Tabel 4.2 Kebutuhan Perangkat Lunak

No. Perangkat Lunak Spesifikasi

1. Sistem Operasi Windows 7 64-bit

2. Game Engine Unity3D 5.6.7

3. Desain 3D Blender 2.79

4. Editor Mono Develop

5. Desain Tekstur GIMP


44

4.2 Implementasi Algoritma

4.2.1 Algorirma Greedy

Berikut pseudeocode algoritma greedy mengenai method / fungsi

dijelaskan pada tabel 4.3:

Tabel 4.3 Pseudoecode Algoritma Greedy

//Greedy

1. inisialisasi open list


2. inisialisasi closed list
3. letakkan simpul awal pada open list (Anda dapat membiarkan f-
nya nol)
4. sementara open list tidak kosong
5. cari simpul dengan f paling sedikit pada open list, sebut saja "q"
6. nilai q didapat dari open list
7. menghasilkan 8 penerus q dan mengatur parent mereka ke q untuk
setiap penerus
8. jika penerus adalah tujuannya, hentikan pencarian
9. successor.h = jarak dari tujuan ke penerus
10. successor.f = successor.h
11. jika sebuah node dengan posisi yang sama dengan penggantinya
ada dalam daftar OPEN \
12. yang memiliki f lebih rendah daripada penerus, lewati penerus ini
13. jika sebuah simpul dengan posisi yang sama dengan penerus ada
dalam daftar TUTUP \
14. yang memiliki f lebih rendah daripada penerus, lewati penerus ini
15. jika tidak, tambahkan simpul ke daftar terbuka
16. akhir
45

4.2.2 Algorirma Dijkstra

Berikut pseudeocode algoritma dijkstra mengenai method / fungsi

dijelaskan pada tabel 4.4:

Tabel 4.4 Pseudoecode Algoritma Dijkstra

// Dijkstra

1. inisialisasi open list


2. inisialisasi close list
3. letakkan simpul awal pada open list (Anda dapat membiarkan f-
nya nol)
4. sementara open list bernilai 0
5. cari simpul dengan f paling sedikit pada daftar terbuka, sebut saja
"q"
6. nilai q didapat dari open list
7. menghasilkan 8 penerus q dan mengatur parent mereka ke q untuk
setiap penerus
8. jika penerus adalah tujuannya, hentikan pencarian
9. successor.g = q.g + jarak antara successor dan q
10. successor.f = successor.g
11. jika sebuah node dengan posisi yang sama dengan penggantinya
ada dalam daftar OPEN \ yang memiliki f lebih tinggi daripada
penerus, lewati penerus ini
12. jika sebuah simpul dengan posisi yang sama dengan penerus ada
dalam close list \ yang memiliki f lebih tinggi daripada penerus,
maka akan dilewati penerus(node) ini.
13. jika tidak, tambahkan simpul ke open list
14. akhir
46

4.2.3 Algorirma Astar

Berikut pseudeocode algoritma astar mengenai method / fungsi akan

dijelaskan pada yabel 4.5:

Tabel 4.5 Pseudoecode Algoritma Astar

// A*

1. inisialisasi open list


2. inisialisasi close list
3. letakkan simpul awal pada open list (Anda dapat membiarkan f-
nya nol)
4. sementara open list tidak kosong
5. cari simpul dengan f paling sedikit pada daftar terbuka, sebut saja
"q"
6. nilai q didapat dari open list
7. menghasilkan 8 penerus q dan mengatur parentnya ke q untuk
setiap penerus
8. jika penerus adalah tujuannya, hentikan pencarian
9. successor.g = q.g + jarak antara successor dan q
10. successor.h = jarak dari tujuan ke penerus
11. successor.f = successor.g + successor.h
12. jika sebuah node dengan posisi yang sama dengan penggantinya
ada dalam OPEN LIST\yang memiliki f lebih rendah daripada
penerus, lewati penerus ini
13. jika sebuah simpul dengan posisi yang sama dengan penerus ada
dalam daftar TUTUP \yang memiliki f lebih rendah daripada
penerus, lewati penerus ini
14. jika tidak, tambahkan simpul ke daftar terbuka
15. akhir
47

4.3 Pengujian

Pengujian adalah tahapan yang dilakukan untuk mengetahui apakah

penelitian yang dilakukan telah sesuai dengan perencanaan yang telah dibuat

sebelumya. Pengujian yang dilakukan meliputi pengujian gameplay dan pengujian

fungsional.

4.3.1 Pengujian Gameplay

Pengujian gameplay dilakukan untuk dapat mengetahui apakah game

tersebut berjalan sesuai dengan rancangan system yang telah dibuat. Untuk

pengujian gameplay dilakukan beberapa tahapan pengujian yang meliputi

Tampilan Main Menu, Denah Level 1 Hutan Sanki, Denah Level 2 Pabrik Nuklir,

Denah Level 3 Final Stage, Tampilan Level 1 Hutan Sanki, Level 2 Pabrik Nuklir,

Level 3 Final Stage.

Gambar 4.1 Main Menu


48

Main menu pada game uncommander dirancang sederhana agar tidak

terjadi mempermudah pemain ketika melihat tampilan awal dari game. Pada main

menu ini tersedia 3 tombol, antara lain yaitu Hutan Sanki, Pabrik Nuklir dan

Final Stage. Tombol bertuliskan Hutan Sanki digunakan untuk memulai

permainan pertama dengan metode greedy, Tombol Pabrik Nuklir digunakan

untuk memulai permainan kedua dengan metode Dijkstra dan Tombol Final Stage

digunakan untuk memulai permainan ketiga dengan metode Astar.

4.3.2 Gameplay Level 1 (hutan sanki)

Gambar 4.2 Denah Hutan Sanki


49

Pada Gameplay Level 1, NPC zombie menggunakan algoritma greedy yang

secara otomatis mengejar polisi yang berada disekitar hutan. Ketika polisi

melakukan berhasil melakukan 1 tembakan, maka posisi zombie akan terlihat

mundur 1 langkah.

4.3.3 Gameplay Level 2 (Pabrik Nuklir)

Gambar 4.3 Gameplay Pabrik Nuklir

Pada Gameplay Level 2, NPC zombie secara otomatis mengejar polisi

yang berada disekitar kawasan pabrik nuklir dengan menggunakan algoritma

dijkstra sebagai pencarian jalan.


50

4.3.4 Gameplay Level 3 (Final Stage)

Gambar 4.4 Gameplay Final Stage

Pada stage terakhir, NPC zombie dirancang menggunakan algoritma astar

untuk pencarian jalan ke posisi polisi dan untuk denah pada stage terakhir ini

menyerupai lokasi tanah tandus.


51

4.4 Pengujian Controller Player

Pengujian Controller pada Player dilakukan untuk mengetahui apakah

semua key button yang ada pada keyboard yang digunakan dalam game

“Uncommander” berfungsi sesuai dengan yang dirancangkan atau tidak. Tabel

Pengujian Controller Player ditunjukkan pada Tabel 4.6:

Tabel 4.6 Tabel Pengujian Controller Player

No Keyboard Fungsi Output Berhasil Gagal

1. W Jalan Jalan Kedepan Ya Tidak

Player
2. J Menembak Ya Tidak
Menembak
Player Berputar
3. A Berputar ke Kiri Ya Tidak
ke Kiri
Player Bergerak
4. S Bergerak Mundur Ya Tidak
Mundur
Player Berputar
5. D Berputer ke Kanan Ya Tidak
ke Kanan
Controller player berfungsi dengan baik dan sesuai dengan tingkat persentase

100%
52

4.5 Pengujian Algoritma

Pengujian algoritma dibutuhkan untuk mengetahui kinerja algoritma dalam

menemukan rute pencarian.

Pada percobaan ini, peneliti menggunakan perangkat dengan spesifikasi Intel

Core Celeron, CPU 1.4 GHz, 2 GB RAM. Pengujian algoritma dilakukan

sebanyak 4 kali, agar data yang diperoleh cukup akurat. Setelah koordinat pemain

diinputkan pada titik (node) awal dan titik target pada game uncommander yang

disesuaikan dengan koordinat NPC zombie dan target pemain, didapatkan

tampilan rute yang berbeda dari ketiga Algoritma.

Perbedaan tersebut disebabkan oleh masing-masing algoritma menerapkan

tiga mekanisme pathfinding yang berbeda.

4.5.1 Pengujian Algoritma Greedy

Pengujian algoritma Greedy untuk dapat mengetahui kinerja algoritma

dalam menemukan target. Proses ini melakukan Pengujian dengan mengambil

nilai koordinat start musuh NPC, Target pemain dan dilakukan perbandingan

kinerja ketiga algoritma dalam segi waktu pemrosesan, langkah node dan resource

(sumber daya) komputer pada pencarian rute terdekat. Perhitungan nilai tidak

dilakukan secara manual, akan tetapi dengan bantuan dari software penguji itu

sendiri sehingga data yang dihasilkan lebih berbobot.

Posisi Pemain : (x = 40.4; y = 0.93884; z = -18.8)


54

Tabel 4.7 Hasil Pengujian Algoritma Greedy

NPC Koordinat Start NPC Koordinat Target Langkah Waktu RAM (MB) CPU (%)

1 Point: (-56, 0, -32.5) (40.4, 0.93884, -18.8) 47 28.26 188 40.3

2 Point: (-45.8, 0, -24.9) (40.4, 0.93884, -18.8) 44 24.14 189.2 39.2

3 Point: (-45.8, 0, 41.8) (40.4, 0.93884, -18.8) 44 24.70 189.6 40.1

4 Point: (-45.8, 0, 55.6) (40.4, 0.93884, -18.8) 43 23.33 189.5 32.8

Rata-rata 44.5 25.10 189 38.1

4.5.2 Pengujian Algoritma Dijkstra

Pengujian algoritma Dijkstra dilakukan untuk dapat mengetahui kinerja

algoritma dijkstra dalam menemukan target. Pengujian ini dilakukan dengan

mengambil nilai koordinat musuh, pemain langkah, waktu dan peforma aplikasi

game yang berjalan pada unity.

Posisi Pemain : (x = 40.4; y = 0.93884; z = -18.8)

Tabel 4.8 Hasil Pengujian Algoritma Dijkstra

NPC Koordinat Start NPC Koordinat Target Langkah Waktu RAM (MB) CPU (%)

1 Point: (-56, 0, -32.5) (40.4, 0.93884, -18.8) 47 28.26 177.5 33.8

2 Point: (-45.8, 0, -24.9) (40.4, 0.93884, -18.8) 44 24.24 177.1 32.3

3 Point: (-45.8, 0, 41.8) (40.4, 0.93884, -18.8) 47 28.10 176.4 32.5

4 Point: (-45.8, 0, 55.6) (40.4, 0.93884, -18.8) 43 23.40 176.3 31.7

Rata-rata 45.25 26 176.8 32.5


54

4.5.3 Pengujian Algoritma Astar

Pengujian algoritma astar dilakukan untuk mengetahui kinerja algoritma

dalam menemukan rute. Proses ini melakukan Pengujian dengan mengambil nilai

koordinat musuh dan pemain.

Posisi Pemain : (x = 40.4; y = 0.93884; z = -18.8)

Tabel 4.9 Hasil Pengujian Algoritma Astar

NPC Koordinat Start NPC Koordinat Target Langkah Waktu RAM (MB) CPU (%)

1 Point: (-56, 0, -32.5) (40.4, 0.93884, -18.8) 47 28.26 165.1 34.1

2 Point: (-45.8, 0, -24.9) (40.4, 0.93884, -18.8) 44 24.21 174.5 33.4

3 Point: (-45.8, 0, 41.8) (40.4, 0.93884, -18.8) 42 23.40 174.2 43.5

4 Point: (-45.8, 0, 55.6) (40.4, 0.93884, -18.8) 43 23.50 174.1 33.4

Rata-rata 44 24.84 171.9 36.1


55

4.6 Perbandingan Algoritma

Posisi penempatan target yang sama dengan posisi NPC ditempatkan berbeda dengan jumlah sebanyak 4 NPC musuh.

Tabel 5 Percobaan Perbandingan Algoritma Pertama

Greedy Dijkstra Astar

Waktu Yang Langkah Waktu Yang Langkah Waktu Yang Langkah


Jarak Jarak Jarak
No. NPC Ditempuh (ms) (Node) Ditempuh (ms) (Node) Ditempuh (ms) (Node)
X Y Z X Y Z X Y Z

1. Pertama 28.26 47 -62.4 23.47 -23.68 28.30 47 -62.4 23.40 -23.68 28.26 47 -62.4 0 -23.68

2. Kedua 24.24 44 -62.4 23.28 -21.15 24.24 44 -62.4 23.21 -21.15 24.21 44 -62.4 0 -21.15

3. Ketiga 28.10 44 -71.15 28.34 48.9 28.10 47 -71.15 28.26 48.9 23.40 42 -71.15 0 48.9

4. Keempat 23.40 43 -71.15 28.27 46.37 23.40 43 -71.15 28.19 46.37 23.50 43 -71.15 0 46.37

Target x = 40.4; y = 0.93884; z = -18.8

Pada tabel 4.7 posisi Target diletakkan pada sumbu x=26; y = 0.93884; z = -3.1 dan posisi NPC zombie pertama, kedua,

ketiga dan keempat diterapkan dengan sumbu X, Y, Z yang sama pada scene level 1, level 2 dan level 3.
56

Dari hasil pengujian, dapat disimpulkan bahwa algoritma greedy, dijkstra

dan astar berhasil menjumpai node target permainan Uncommander yang

mempunyai nilai graph yang tertata dan dari hasil penggujian menghasilan bahwa

pathfinding algoritm astar yang terbaik dalam pencarian tercepat.

Pada kolom NPC merupakan titik awal pathfinding, dan sumbu Target

merupakan titik tujuan, sedangkan “Langkah” adalah jumlah node yang

dibutuhkan untuk mencapai target dari hasil perhitungan algoritma Greedy dengan

rata-rata 44.5, Dijkstra dengan nilai rata-rata 45.25 dan AStar dengan nilai rata-

rata 44 pada game Uncommander dan merupakan solusi tercepat jarak yang bisa

ditempuh.

Algoritma Dijkstra melakukan pengecekan graph pada seluruh node

tetangga jika titik awal ke titik akhir semakin jauh jarak maka pengecekan node

yang titik node semakin banyak.

Hasil uji perbandigan algoritma greedy, djikstra dan astar menyatakan

bahwa Algoritma Astar cukup efektif untuk diterapkan pada game

“uncommander” sebab astar pathfinding algoritm mempunyai fungsi nilai

heuristic dan graph dapat meminimalisir pengecekan jumlah node sehingga

menghasilkan kinerja pathfinding yang lebih efektif dan lebih tercepat dari

algoritma Dijkstra.
BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan hasil dari implementasi dan pengujian yang dilakukan peneliti,

maka dapat ditarik kesimpulan sebagai berikut:

1. Algoritma greedy, algoritma dijkstra dan algoritma astar pada game

Uncommander telah diterapkan sebagai pencarian jalan NPC.

2. Algoritma greedy, algoritma dijkstra dan algoritma astar lumayan baik dalam

penentuan langkah NPC zombie, terbukti dari beberapa hasil Pengujian NPC

dapat menemukan target walaupun posisi targetnya jauh.

3. Berlandaskan hasil pengujian, ketiga algoritma pathfinding dalam

menyelesaikan pencarian jarak terkecil NPC pada game “Uncommander”,

dapat dikesimpulan bahwa algoritma astar mempunyai kinerja yang lebih

unggul dari algoritma dijkstra dan greedy dengan perbedaan langkah node yang

lebih sedikit. Algoritma astar mendapatkan langkah node lebih kecil

dibandingkan kinerja pathfinding greedy dan dijkstra pada saat melakukan

pencarian jalur.

5.2 Saran

Adapun beberapa saran pengembangan selanjutnya antara lain:

1. Pengadaan aneka jenis zombie yang digunakan untuk mencari player.

2. Pengadaan game untuk mobile platform agar dapat dimainkan pada perangkat

mobile.

57
DAFTAR PUSTAKA

Aprilliandi, I. (2013). Implementasi algoritma a* pada aplikasi android penentu

rute terpendek bus transjakarta. Universitas Multimedia Nusantara.

Ardiansyah, F., & Syaifullah, M. (2012). Implementasi Algoritma Greedy Untuk

Melakukan Graph Coloring: Studi Kasus Peta Propinsi Jawa Timur. Jurnal

Informatika, 4(2), 440–448. https://doi.org/10.26555/jifo.v4i2.a5275

Arif, Y. M., Wicaksono, A., & Kurniawan, F. (2012). Pergantian Senjata NPC

pada Game FPS Menggunakan Fuzzy Sugeno. Prosiding Seminas, 1(2).

Baer, R. H. (2005). Videogames: In the Beginning. Rolenta Press.

https://books.google.co.id/books?id=R9kTAQAAIAAJ

DeMaria, R., & Wilson, J. L. (2004). High Score!: The Illustrated History of

Electronic Games. McGraw-Hill/Osborne. https://books.google.co.id/books?

id=HJNvZLvpCEQC

Hayati, E. N., & Yohanes, A. (2014). Pencarian Rute Terpendek Menggunakan

Algoritma Greedy. Seminar Nasional IENACO, 2337–4349.

Kusumadewi, S., & Purnomo, H. (2005). Penyelesaian masalah optimasi dengan

teknik-teknik heuristik. Yogyakarta: Graha Ilmu.

Lubis, H. S. (2009). Perbandingan Algoritma Greedy Dan Dijkstra Untuk

Menentukan Lintasan Terpendek. Repository, U S U, 1–76.

Mcleod, A. (2008). Page 1. 2008.

Munir, R. (2010). Matematika diskrit. Informatika Bandung.

Dimas, F. (2016) Game first person shooter "patroism young" dengan metode
greedy untuk pencarian jalan non-playable. Malang.

Priyana, R., & Handayani, E. T. E. (2019). Perancangan Game “Heroes Surabaya”

Sebagai Edukasi Pengetahuan Sejarah Menggunakan Algoritma BFS

Berbasis Android. J I M P - Jurnal Informatika Merdeka Pasuruan, 4(1), 1–

7. https://doi.org/10.37438/jimp.v4i1.192

Russell, S., & Norvig, P. (2010). Artificial Intelligence A Modern Approach Third

Edition. In Pearson. https://doi.org/10.1017/S0269888900007724

Vezzosi, R. I., Brunetto, E., & Noriega, J. I. (2010). Las Aves de la Formación

Ñuapua (Holoceno temprano) de Bolivia. In Ameghiniana (Vol. 47, Issue 1).

https://doi.org/10.5710/amgh.v47i1.12
LAMPIRAN

Lampiran 1 : Implementasi Algoritma Greedy

Berikut akan dijelaskan penggunaan method / fungsi:


Lampiran 2 : Implementasi Algoritma Dijkstra

Berikut adalah tabel penjelasan method/fungsi pada algoritma dijkstra:


Lampiran 3 : Implementasi Algoritma Astar

Anda mungkin juga menyukai