PENGEMBANGAN GAME MENANAM POHON
SKRIPSI
RAHMAT IRFAN POHAN 111401077
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA A* BERBASIS PATHFINDING DALAM PENGEMBANGAN GAME MENANAM POHON
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
RAHMAT IRFAN POHAN 111401077
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA A* BERBASIS PATHFINDING DALAM PENGEMBANGAN GAME MENANAM POHON
Kategori : SKRIPSI
Nama : RAHMAT IRFAN POHAN
Nomor Induk Mahasiswa : 111401077
Program Studi : SARJANA(S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (Fasilkom-TI)
Diluluskan di Medan, Agustus 2016
Komisi Pembimbing:
Dosen Pembimbing II Dosen Pembimbing I
M. Andri Budiman, ST, M.Comp.Sc, MEM Ade Candra, ST, M.Kom NIP. 197510082008011011 NIP. 197909042009121002
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA A* BERBASIS PATHFINDING DALAM PENGEMBANGAN GAME MENANAM POHON
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2016
UCAPAN TERIMA KASIH
Alhamdulillah. Puji dan syukur kehadirat Allah SWT yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma A* berbasis Pathfinding dalam Pengembangan Game Menanam Pohon, penulis menyadari
bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada:
Ucapan terima kasih penulis sampaikan kepada:
1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum. selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Opim Sitompul, M.Si. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc. selaku Sekretaris Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara, Wakil Dekan III Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, dan selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam dalam penyempurnaan skripsi ini.
5. Bapak Ade Candra, ST, M.Kom. selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.
7. Bapak Dr. Syahril Efendi, S.Si., M.IT selaku Dosen Pembanding I dan Dosen Pembimbing akademik yang telah memberikan bimbingan, kritik dan saran dalam penyempurnaan skripsi ini.
8. Bapak Buchari, S.T., M.Kes selaku Ketua Pengurus Student Entreprenurship Center Universitas Sumatera Utara yang telah memberikan nasehat, dukungan, dan semangat kepada penulis.
9. Yang tercinta dan teristimewa Almarhum Ayahanda Ir. Zulkifli Pohan yang selama masih hidup beliau selalu memberikan nasehat dan memberi pengaruh besar terhadap penulis dan yang Ibunda tersayang Fatmasari Hasibuan yang selama ini selalu memberikan doa, dukungan, dan semangat kepada penulis.
10. Abangda dr. Fathy Zuandi Pohan, Sp.A. yang selalu mendukung penulis dan menjadi tauladan bagi penulis, dan Kakanda Ferina Zulyana Pohan, S.Sos. yang memberi dukungan dan semangat terhadap penulis.
11. Seluruh keluarga besar khususnya, Bou Swastina Pohan, Amangboru Hatta Nasution, Wak Toto, Tante Herawati, Om Rusli Siregar., Abang Hafiz Atra S.Kom, Kakak dr. Nia Novianti Siregar, Kakak Trisna Dini Nasution S.E., Kakak dr. Nindy Jayatri, Abang Pahmi Utamaraja Ginting S.T., M.Sc, Adinda Ahmad Raihan Siregar dan Keponakan Syah Prima Oktora Nasution yang selalu membantu, memberi semangat dan dukungan buat penulis. 12. Om Erwin Siregar selaku ketua Persatuan Artis Seluruh Indonesia (PARFI)
Sumatera Utara yang selalu mendukung dan memberi semangat penulis dan menjadi panutan bagi penulis.
13. Rekan seperjuangan tim VUSEON, adik-adik hebat di S1 Teknologi Informasi stambuk 2013 Muhammad Putra Yuszar dan Dendy Herlambang yang telah memberikan bantuan dan semangat terhadap penulis.
15. Seluruh teman-teman seperjuangan S1 Ilmu Komputer stambuk 2011, khususnya Hari Rahman Nihe S.Kom, Hanafi Ahmad Subrata S.Kom, Rizki Pratama S.Kom, Al Mizfar S.Kom, Febri Aro Gea S.Kom, Andrus S.Kom, M. Arief Aulia Anwar dan Satria Ramadhan yang turut membantu, memberi semangat, dan dukungan terhadap penulis dalam menulis skripsi.
16. Seluruh rekan-rekan bisnis Noire Pomade, khususnya Abang Anto, Martin Ginting, Mirza, Danil Akbar, Anhar Ismail dan Abang Iqbal Siregar yang menjadi tempat berbagi cerita, suka dan duka, dan selalu mendukung penulis.
17. Seluruh tenaga pengajar dan pegawai Fakultas Ilmu Komputer dan Teknologi Informasi USU, khususnya abang Faisal Hamid di Program Studi S-1 Ilmu Komputer.
18. Seluruh rekan-rekan asisten lab IKLC (Ilmu Komputer Laboratory Center). 19. Seluruh rekan-rekan pengurus PEMA FASILKOM-TI tahun 2014-2015. 20. Seluruh rekan-rekan UKMI Al-Khwarizi tahun 2012-2014 dan redaksi
Alamagz (Al-Khwarizmi Magazine).
21. Seluruh teman-teman seperjuangan Sobat Bumi Indonesia dan Sobat Bumi Medan, khususnya Apriandi Syahputra S.S., Tito Hanafi S.Kom, Maharaniy S.Kep., Surati S.S, Romulus S.T., Ulfah S.Kep, Hafizah Mahfuzah S.S. 22. Seluruh teman-teman PARFI SUMUT khusunya Fradana Satria, Ari
Ridwan, Rudi Micco, Qudrat Syahputra, Chairani Lubis, dan Angelista Wulandari yang memberi semangat dan dukungan kepada penulis.
23. Semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tuliskan satu per satu.
24.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya..
ABSTRAK
IMPLEMENTATION OF THE A*-BASED PATHFINDING ALGORITHM ON GAME DEVELOPMENT OF PLANT TREES
ABSTRACT
Anyone would take the path that they consider to be the shortest path when they travel from one place to another. But it would be difficult for such a person to choose which path is the shortest, because it could be the chosen path is not the shortest path. The method for determining the shortest path is pathfinding. Pathfinding is widely used in various fields of Computer Science, one of them on the field of video game development. In this research, the authors will design and analyze the pathfinding using the A * algorithm and implemented it on a game application for the creation of a simple AI (Artificial Intelligence). The AI in the game will find its own shortest path from the start node to the goal node. The heuristic of Algorithm A * that be used is the Manhattan Distance that allows AI can walk on 4 different directions. Number of visited nodes will increase if the grid has many obstacle nodes. The average time of A* pathfinding process is 0.0732 seconds.
DAFTAR ISI
Abstract viii
Daftar Isi ix
1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penelitian
3 3 4
Bab II Tinjauan Pustaka 6
2.1 Video Game 6
2.2 Desain Analisis Algoritma 6
2.6 Algoritma A*
Bab III Analisis Dan PerancanganSistem 18
3.1 AnalisisSistem 18
3.1.1 Analisis Masalah 18
3.1.2 Analisis Kebutuhan 19
3.1.2.1 Kebutuhan Fungsional Sistem 19 3.1.2.2 Kebutuhan Non-Fungsional Sistem 20
3.1.3 Analisis Proses 20
3.2 Pemodelan 21
3.2.1 Use Case Diagram 21
3.2.2 Sequence Diagram 3.2.3. Activity Diagram
22 23 3.3 Flowchart Sistem
3.3.1 Flowchart Sistem
3.3.2 Flowchart Flowchart Pathfinding Algoritma A* 3.3.3 Flowchart Proses Game
24 25 26 27 3.4 Pseudocode Sistem
3.4.1 Pseudocode Pathfinding A*
28 28 3.5 Perancangan Antarmuka
3.5.1 Form Utama 3.5.2 Form Pilihan Level 3.5.3 Form Game
Bab IV Implementasi dan Pengujian 32
4.1 Implementasi 32
4.1.1 Form Main Menu 4.1.2 Form Pilihan Level 4.1.3 Form Game
4.1.4 Form Bantuan 4.1.5 Form Tentang
32 33 33 34 34
4.2 Pengujian Sistem 35
4.2.1 Skenario Algoritma A* 4.2.1.1 Searching 4.2.1.2 Backtracking
4.2.1.3 Rute Pohon Terdekat 4.2.2 Pengujian Pathfinding A*
35 43 50 51 54
Bab V Kesimpulan dan Saran 58
5.1 Kesimpulan 58
5.2 Saran 59
DAFTAR TABEL
Nomor Tabel
NamaTabel Halaman
3.1 4.1 4.2 4.3
4.4 4.5
Narrative Use-Case Pathfinding A* Proses Pathfinding Algoritma A* Heuristik Manhattan Distance
Banyak Node yang Dikunjungi terhadap Banyak Penghalang
Banyak Node Dikunjungi terhadap Panjang rute Pengaruh Banyak Node Penghalang, Banyak Node yang Dikunjungi dan Panjang Rute terhadap Waktu
DAFTAR GAMBAR Nomor
Gambar
Nama Gambar Halaman
2.1
Graf Tidak Berarah Graf Berarah Weighted Graph Unweighted Graph
Ilustrasi Manhattan Distance
Ilustrasi Heuristik Diagonal Distance Ilustrasi Heuristik Euclidean Distance Diagram Ishikawa
Diagram Use-Case
Diagram Sequence Untuk Proses Pathfinding A* Activity Diagram Pathfinding A*
Flowchart Sistem
Flowchart Pathfinding Algoritma A* Flowchart Proses Game.
Rancangan Tampilan Form Utama Rancangan Form Pilihan Level Rancangan Form Game
Form Main Menu Form Pilihan Level Form Game Form Bantuan Form Tentang
Grid Permainan
Ilustrasi Proses Pathfinding A* ke-1 dan 2 Ilustrasi Proses Pathfinding A* ke-3 s.d. 5 Ilustrasi Proses Pathfinding A* ke-6 s.d. 8 Ilustrasi Proses Pathfinding A* ke-9 s.d. 11 Ilustrasi Proses Pathfinding A* ke-12 s.d. 14 Ilustrasi Proses Pathfinding A* ke-15 s.d. 17 Ilustrasi Proses Pathfinding A* ke-18 s.d. 20 Ilustrasi Proses Pathfinding A* ke-21 s.d. 23 Ilustrasi Proses Pathfinding A* ke-24 s.d. 26 Ilustrasi Proses Pathfinding A* ke-27 s.d. 29 Ilustrasi Proses Pathfinding A* ke-30
Proses Backtracking
Sebelum proses backtracking (a), sesudah proses
4.20 4.21
4.22
4.23
4.24
4.25
backtracking (b)
Rute Musuh menuju Pohon T1 Rute Musuh menuju Pohon T2 Rute Musuh menuju Pohon T3
Grafik Banyak Node Dikunjungi terhadap Banyak Penghalang
Grafik Pengaruh Panjang Rute terhadap Banyak Node yang Dikunjungi
Grafik Pengaruh Banyak Node Pengahalang, Banyak Node yang Dikunjungi dan Panjang Rute terhadap Waktu
52
52
53
53
55
DAFTAR LAMPIRAN
A. Listing Program A1