• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA A* DALAM PENCARIAN RUTE TERPENDEK PADA GAME GRASSHOPPER vs HUNTER TUGAS AKHIR

N/A
N/A
Protected

Academic year: 2022

Membagikan "IMPLEMENTASI ALGORITMA A* DALAM PENCARIAN RUTE TERPENDEK PADA GAME GRASSHOPPER vs HUNTER TUGAS AKHIR"

Copied!
14
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA A* DALAM PENCARIAN RUTE TERPENDEK PADA GAME “GRASSHOPPER vs HUNTER”

TUGAS AKHIR

Diajukan Untuk Memenuhi

Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Disusun oleh :

INGGAR BAYU SASONGKO 08560366

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2013

(2)

LEMBAR PENGESAHAN

IMPLEMENTASI ALGORITMA A* DALAM PENCARIAN RUTE TERPENDEK PADA GAME “GRASSHOPPER vs HUNTER”

TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Disusun Oleh:

INGGAR BAYU SASONGKO 08560366

Tugas Akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis penguji pada tanggal 26 Oktober 2013

Menyetujui

Penguji I Penguji II

(Gita Indah Marthasari, ST) (Diah Risqiwati, ST) NIP. 0720038101

Mengetahui Kajur Informatika

(Eko Budi Cahyono, S.Kom, MT) NIDN. 0717027001

(3)

LEMBAR PERSETUJUAN

IMPLEMENTASI ALGORITMA A* DALAM PENCARIAN RUTE TERPENDEK PADA GAME “GRASSHOPPER vs HUNTER”

TUGAS AKHIR

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang

Menyetujui

Pembimbing I Pembimbing II

(Yuda Munarko, S.Kom, M.Sc.) (Hardianto Wibowo, S.Kom)

NIDN. 0706077902 NIDN. 0721038602

(4)

LEMBAR PERNYATAAN

Yang bertanda tangan dibawah ini :

NAMA : INGGAR BAYU SASONGKO

NIM : 08560366

FAK./JUR. : TEKNIK/INFORMATIKA

Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul

“IMPLEMENTASI ALGORITMA A* DALAM PENCARIAN RUTE TERPENDEK PADA GAME “GRASSHOPPER vs HUNTER”” beserta isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya.

Demikian surat pernyataan ini saya buat dengan sebenar-benarnya.

Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/sanksi yang berlaku.

Mengetahui, Malang, 18 Oktober 2013

Dosen Pembimbing Yang Membuat Pernyataan

(Yuda Munarko, S.Kom, M.Sc.) (Inggar Bayu Sasongko) NIDN. 0706077902 NIM. 08560366

(5)

iii

LEMBAR PERSEMBAHAN

Tugas Akhir ini penulis menyadari bahwa penyusunan dan pembuatan karya sederhana ini tidak lepas dari berbagai pihak, oleh karena itu dengan segala kerendahan hati, penulis menyampaikan terima kasih kepada :

1. Allah Subhanahu Wa Ta’ala yang tiada henti memberikan rahmat dan hidayah-Nya serta menerangi setiap langkah saya.

2. Rosulullah Muhammad SAW, suri tauladannya, panutan terbaikku, dan tokoh idolaku.

3. Ibu saya tercinta, bapak saya yang memberikan segala sesuatu yang saya butuhkan, doa tulus untuk saya, pengorbanan, motivasi, kesabaran, ketabahan dan tetes air matamu yang terlalu mustahil untuk dinilai, walaupun jauh, engkau sebaik-baik panutan meski tidak terlalu sempurna.

4. Bapak Yuda Munarko, S.Kom, M.Sc. selaku dosen pembimbing I dan Bapak Hardianto Wibowo, S.Kom selaku dosen pembimbing II yang senantiasa telah banyak memberikan pengarahan dan bimbingannya selama dalam penyelesaian penulisan Tugas Akhir ini.

5. Seluruh dosen pengajar di Jurusan Teknik Informatika yang telah menjadi membimbing saya dalam menuntut ilmu sehingga saya bisa menjadi seseorang yang lebih baik.

6. Adik-adik saya Manggar Respati Kusuma dan M. Rafi Rizqullah atas kebersamaan, dukungan, doa, kasih sayang, dan perhatian kalian padaku, semoga selalu menjadi yang terbaik, dan keluarga besar saya yang selalu memberikan semangat, dorongan, dan saran-saran dalam menyelesaikan Tugas Akhir ini.

(6)

iv

7. Teman-teman seperjuangan di Universitas Muhammadiyah Malang, khususnya jurusan Informatika (Nizar, Bibil, Arif, Rifan, Irfan, Azam, Firdi, Reza P., Faris, Sultan, Jo *cempe dan cempewati dan teman-teman kelas G lainnya) dan sahabat saya dari SMK sampai lulus kuliah, Nur, terima kasih atas support dan semangat kebersamaan kalian.

8. Teman baik dan tutor saya saat masa mahasiswa baru sampai sekarang Nizar Hidayat, terima kasih sudah membantu dengan sabar.

9. Musisi-musisi band Ether (Angga, Arif, Nur, Anjar) yang telah senantiasa membantu saya dalam menyalurkan hobi bermusik, Thanks, Keep Rockin’.

10. Teman-teman ngopi (Egi, Sipul, Rofiq, Gondrong, anak-anak ex-Keiko) yang selalu menemani saya di saat suka dan duka, terima kasih atas kebersamaan kalian dalam men-support saya.

11. Teman dekat saya Marcelina Rachmawati yang telah memberi semangat dan kasih sayang, terima kasih banyak.

12. Teman kos Rizal Jambrong, Siraj, Willy, Arifin, beserta Ibu-Bapak Kos yang telah ikut membantu dan doa, terima kasih atas segala sesuatu yang telah diberikan selama ini.

Malang, 30 Januari 2013

Penulis

Hamzah Rais

(7)

v

MOTTO

“Jadilah seperti karang di lautan yang kuat dihantam ombak dan kerjakanlah hal yang bermanfaat untuk diri sendiri dan orang lain, karena hidup hanyalah sekali.

Ingat hanya pada Allah apapun dan di manapun kita berada kepada Dia-lah tempat meminta dan memohon.”

“Jenius adalah 1 % inspirasi dan 99 % keringat. Tidak ada yang dapat menggantikan kerja keras”

“Stop saying I WISH, start saying I WILL”

(8)

vi

KATA PENGANTAR

Assalamu'alaikum Wr. Wb.

Dengan memanjatkan puji syukur kehadirat Allah SWT atas limpahan rahmat yang telah diberikan sehingga Penulis dapat menyelesaikan Tugas Akhir yang berjudul Implementasi Algoritma A* dalam Pencarian Rute Terpendek pada Game “Grasshopper vs Hunter”.

Penulis menyadari sepenuhnya bahwa penulis Tugas Akhir ini masih banyak kekurangan, oleh karena itu penulis mengharapkan saran dan kritik yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu kedepannya.

Akhir kata penulis mengucapkan terima kasih kepada semua pihak yang telah membantu sehingga tugas akhir ini terselesaikan.

Wassalamu’alaikum Wr. Wb.

Malang, 18 Oktober 2013 Penulis

Inggar Bayu Sasongko

(9)

vii DAFTAR ISI

Halaman Judul Lembar Persetujuan Lembar Pengesahan

Lembar Pernyataan Keaslian

Abstrak ... i

Abstract ... ii

Lembar Persembahan ... iii

Motto ... v

Kata Pengantar ... vi

Daftar Isi ... vii

Daftar Gambar ... ix

Daftar Tabel ... xi

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi ... 3

1.5.1 Studi Literatur ... 3

1.5.2 Perancangan Sistem ... 3

1.5.3 Implementasi Sistem ... 3

1.5.4 Pengujian Sistem ... 3

1.5.5 Pengujian dan Analisa Hasil Program ... 3

1.6 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI 2.1 Game ... 6

2.1.1 Gambaran Umum ... 6

2.1.2 Gameplay ... 7

2.1.3 Game Pathfinding ... 8

2.1.4 Artificial Intelligence ... 8

2.2 Algoritma A* ... 9

2.3 2D Collision Detection... 12

2.4 Java ... 13

2.4.1 Pengantar Java ... 13

2.4.2 Sejarah Java ... 14

2.4.3 Kelebihan Java ... 15

(10)

viii

BAB III ANALISA DAN PERANCANGAN SISTEM

3.1 Gambaran Umum ... 18

3.2 Analisa Kebutuhan ... 20

3.2.1 Kebutuhan Hardware ... 21

3.2.2 Kebutuhan Software ... 21

3.3 Perancangan Sistem ... 21

3.3.1 Use Case Diagram ... 22

3.3.2 Activity Diagram ... 23

3.3.3 Sequence Diagram ... 25

3.3.4 Class Diagram ... 29

3.3.5 Finite State Machine (FSM) ... 30

3.4 Perancangan Interface ... 31

BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Kode Program ... 35

4.1.1 Menampilkan Menu Awal ... 36

4.1.2 Menggerakkan Grasshopper ... 36

4.1.3 Collision Detection ... 36

4.1.4 Implementasi Algoritma A* ... 37

4.1.5 Penambahan Fitur Skill ... 40

4.2 Pengujian Sistem ... 41

4.2.1 Pengujian A* Pathfinding ... 41

4.2.1.1 Pengujian Path dengan Penghitungan Manual 41 4.2.1.2 Pengujian Path pada Kedua Hunter ... 48

4.2.2 Pengujian Escaping Skills ... 50

4.2.2.1 Dash ... 51

4.2.2.2 Freeze ... 52

4.2.2.3 Spin Aura ... 53

4.2.3 Pengujian Game State ... 54

4.2.3.1 Menu Awal ... 54

4.2.3.2 Tampilan Kalah ... 55

4.2.3.3 Tampilan Menang ... 56

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 59

5.2 Saran ... 59 DAFTAR PUSTAKA

BIODATA PENYUSUN

(11)

xi

DAFTAR TABEL

Tabel 3.1 Objek dan karakter dalam game Grasshopper vs Hunter ... 20

(12)

ix

DAFTAR GAMBAR

Gambar 2.1 a) Peta permainan sederhana b) Solusi path ... 11

Gambar 3.1 Use case diagram ... 22

Gambar 3.2 Activity diagram Memulai Permainan ... 23

Gambar 3.3 Activity diagram Mengendalikan Grasshopper ... 24

Gambar 3.4 Activity diagram Menggunakan Escaping Skills ... 25

Gambar 3.5 Activity diagram Keluar Permainan ... 25

Gambar 3.6 Sequence diagram Memulai permainan ... 26

Gambar 3.7 Sequence diagram Mengendalikan grasshopper ... 27

Gambar 3.8 Sequence diagram Menggunakan escaping skills... 28

Gambar 3.9 Sequence diagram Keluar permainan ... 29

Gambar 3.10 Class diagram dalam game grasshopper vs hunter ... 29

Gambar 3.11 State Machine (FSM) dari karakter Hunter ... 31

Gambar 3.12 Rancangan interface Tampilan Menu Awal ... 32

Gambar 3.13 Rancangan interface Tampilan Permainan grasshopper vs hunter 33 Gambar 3.14 Interface Tampilan game jika player kalah ... 34

Gambar 3.15 Interface Tampilan game jika player menang ... 34

Gambar 4.1 Class-Class Pada Game Grasshopper vs Hunter ... 35

Gambar 4.2 Potongan Class Game untuk menampilkan screen Menu awal 36 Gambar 4.3 Potongan Class Grasshopper untuk menggerakkan karakter grasshopper ... 36

Gambar 4.4 Potongan Class Tile untuk mengecek collision antara grasshopper dengan wall ... 37

Gambar 4.5 Potongan Class AStar untuk penghitungan algoritma A* ... 37

Gambar 4.6 Potongan Class AStar untuk menentukan node yang dimasukkan ke dalam Open List ... 38

Gambar 4.7 Potongan Class Astar untuk menentukan node yang dimasukkan ke dalam Closed List dan penelusuran path ... 39

Gambar 4.8 Potongan Class Grasshopper untuk skill Dash ... 40

Gambar 4.9 Potongan Class Grasshoper untuk skill Spin Aura ... 40

Gambar 4.10 Potongan Class Enemy untuk skill Freeze ... 40

Gambar 4.11 Peta manual koordinat start dan goal ... 41

Gambar 4.12 Screenshot posisi awal... 47

Gambar 4.13 Screenshot hunter sampai pada posisi grasshopper ... 47

(13)

x

Gambar 4.14 Screenshot kedua hunter saat bergerak dari koordinat yang sama 48 Gambar 4.15 Screenshot kedua hunter saat bergerak dengan path yang berbeda49 Gambar 4.16 Potongan kode program untuk pemanggilan fungsi pathfinding

pada hunter 1 ... 49

Gambar 4.17 Potongan kode program untuk pemanggilan fungsi pathfinding pada hunter 2 ... 50

Gambar 4.18 Screenshot saat skill belum diaktifkan ... 50

Gambar 4.19 Screenshot saat skill dash diaktifkan ... 51

Gambar 4.20 Screenshot saat skill freeze diaktifkan ... 52

Gambar 4.21 Screenshot saat skill spin aura diaktifkan ... 53

Gambar 4.22 Screenshot Menu Awal ... 54

Gambar 4.23 Screenshot Collision Grasshopper dengan Hunter ... 55

Gambar 4.24 Screenshot Tampilan Kalah ... 56

Gambar 4.25 Screenshot Kunci lengkap dan player menuju Exit Door yang telah aktif ... 57

Gambar 4.26 Screenshot Tampilan Menang ... 58

(14)

DAFTAR

PUSTAKA

[1] Putrady Ecky, 2009, “Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game”, Makalah IF2091 Strategi Algoritmik Institut Teknologi Bandung.

[2] Igor Bonny Tua Panggabean, Yoseph Suryadharma, Prasetyo Nugroho, 2006, “Penyelesaian Permasalahan 8 Puzzle Dengan Menggunakan Algoritma A* (A Star)”, Laboratorium Ilmu dan Rekayasa Komputer, Institut Teknologi Bandung.

[3] Matthews, James, 2002, “Basic A* Pathfinding Made Simple”, AI Game Programming Wisdom, Charles River Media.

[4] Fabricatore, Carlo, 2007, Gameplay and Game Mechanics Design : A Key to Quality in Videogames, OECD, CERI.

[5] Juan José Jiménez, Rafael J. Segura, Francisco R. Feito, 2003, “Efficient Collision detection between 2D Polygon”, Departamento de Informática.

E.P.S.J. Universidad de Jaén, Av. Madrid, 35, Spain (23071), Jaén, Jaén [6] Game Programming, Collision detection, IT Telkom,

http://gameprogramming.blog.ittelkom.ac.id/blog/files/2009/09/11307011 4-collision-detection-game-programming.docx, diakses tanggal 18 April 2013.

[7] Ross Graham, Hugh McCabe, Stephen Sheridan, 2006, Pathfinding in Computer Games, School of Informatics & Engineering, Institute of Technology Blanchardstown.

[8] Ramadhani, Aristama, 2008, “Menggerakkan Karakter Game Menggunakan Algoritma Breadth-First Search (BFS) dan Algoritma A*

(A Star)”, Makalah IF2251 Strategi Algoritmik, Institut Teknologi Bandung.

[9] Laksono, Adi Chandra, 2012, “Gerak Pekerja Pada Game Real Time Strategy (RTS) Menggunakan Metode Finite State Machine (FSM)”, Jurusan Teknik Informatika, Fakultas Teknik, Universitas Trunojoyo Madura.

Referensi

Dokumen terkait

Alternatif yang dapat digunakan untuk mengatasi permasalahan tersebut adalah pemanfaatan pozzolan Penelitian ini mengkaji tentang kuat tekan beton serta durabilitas

Akhirnya penyelesaian pembiayaan mud{a<rabah tersebut berujung pada pelelangan atau penjualan barang jaminan, seperti pada penyelesaian kasus bapak Frengki harga

Penelitian ini bertujuan untuk merancang bangun/membuat alat/rancang bangun yang berfungsi untuk mereduksi emisi gas buang kendaraan bermotor yang sering disebut

Zainal Arifin Tesis 7676/PS/DKB/01 2003 Arahan Penataan Ruang Jalan Sebagai Ruang Publik pada Kawasan Komersial Kajian pada Setting Elemen Fisik dan Aktifitas Setting

Dengan memanjatkan puji dan syukur kehadirat Allah SWT atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul: Penerapan

Mengontrol per kelas (Lantai II dan III) bila ada guru yang tidak hadir atau terlambat masuk kelas/hadir. Mendampingi kelas yang guru bidang studi bersangkutan

Dengan menggunakan Contextual Teaching and Learning (CTL) memungkinkan saya untuk belajar bukan saja dari guru, tetapi juga dari siswa lainnya. Contextual Teaching and Learning

Sardjito terhadap pengobatan dan memperbaiki kontrol glikemik kelompok intervensi dibandingkan dengan kelompokkontrol dengan masing-masingnilai p adalah 0,023(p<0,05)