• Tidak ada hasil yang ditemukan

Gambar I.1. Model Waterfall ... 5 Gambar II.1. Bidang-bidang tugas (task domains) dari AI ... 10 Gambar II.2. Penerapan konsep kecerdasan buatan di komputer [8] ... 12 Gambar II.3. Sebuah peta dan representasi graphnya [8] ... 14 Gambar II.4. Contoh permainan yang merupakan pencarian ... 16 Gambar II.5. Ruang keadaan ... 17 Gambar II.6. Bagan metode pencarian (searching) ... 19 Gambar II.7. Contoh pencarian dengan A* [16, p.95] ... 25 Gambar II.8. Keadaan sepadan ... 29 Gambar II.9. Rute dengan langkah diagonal tidak diperbolehkan ... 30 Gambar II.10. Rute dengan langkah diagonal diperbolehkan ... 31 Gambar II.11. Ilustrasi singlelinked list ... 33 Gambar II.12. Penentuan rute tanpa pathfinding ... 36 Gambar II.13. Penentuan rute dengan pathfinding ... 36 Gambar II.14. System Development Life Cycle (SDLC) ... 39 Gambar II.15. Model waterfall ... 41 Gambar II.16. IDE Delphi ... 44 Gambar II.17. Menu bar dan tool bar ... 44 Gambar II.18. Component pallete ... 45 Gambar II.19. Form designer... 45 Gambar II.20. Code Explorer... 46

xiii

Gambar II.21. Object treeview ... 47 Gambar II.22. Object inspector ... 47 Gambar III.1. Proses algoritma A* ... 49 Gambar III.2. Hasil akhir pencarian A* ... 50 Gambar III.3. Ruang peta (map) ordo 3 x 3 dengan tiga kondisi... 52 Gambar III.4. Contoh kondisi ruang map yang akan dihitung dengan A* ... 55 Gambar III.5. Contoh kondisi (i) tanpa penghalang dengan pencarian A* ... 55 Gambar III.6. Langkah pertama pencarian BestNode pada kondisi (i) ... 58 Gambar III.7. Langkah ke dua pencarian BestNode pada kondisi (i) ... 59 Gambar III.8. Hasil pencarian jalan dengan Algoritma A*pada kondisi (i) ... 59 Gambar III.9. Contoh kondisi (ii) dan (iii) dengan maksimal penghalang ... 60 Gambar III.10. Contoh kondisi (iv) dengan pencarian A*... 61 Gambar III.11. Langkah pertama pencarian BestNode pada kondisi (iv) ... 62 Gambar III.12. Langkah ke dua pencarian BestNode pada kondisi (iv) ... 64 Gambar III.13. Langkah ke tiga pencarian BestNode pada kondisi (iv) ... 66 Gambar III.14. Langkah ke empat pencarian BestNode pada kondisi (iv) ... 67 Gambar III.15. Hasil pencarian jalan dengan Algoritma A*pada kondisi (iv) .... 67 Gambar III.16. Pohon pencarian jalan untuk masalah pada gambar III.4... 68 Gambar III.17. Diagram Konteks... 82 Gambar III.18. DFD Level 0 game pathfinding ... 83 Gambar III.19. DFD Level 1 Proses 2.0 pengaturan titik awal dan titik ... 85 Gambar III.20. DFD Level 1 Proses 3.0 penentuan penghalang ... 86 Gambar III.21. DFD level 1 Proses 5.0 pencarian rute ... 87

xiv

Gambar III.22. DFD Level 1 Proses 6.0 penampilan menu map ... 88 Gambar III.23. Flowchart pencarian rute pada game pathfinding... 97 Gambar III.24. Flowchart algoritma A* Search ... 99 Gambar III.25. Struktur menu ... 100 Gambar III.26. Rancangan antarmuka menu utama... 101 Gambar III.27. Rancangan antarmuka menu file map ... 104 Gambar III.28. Rancangan antarmuka panduan ... 104 Gambar III.29. Rancangan antarmuka tentang aplikasi ... 105 Gambar III.30. Rancangan antarmuka pesan ... 106 Gambar III.31. Jaringan semantik ... 107 Gambar IV.1. Implementasi tampilan utama ... 110 Gambar IV.2. Implementasi tampilan menu ... 110 Gambar IV.3. Implementasi antarmuka panduan ... 111 Gambar IV.4. Implementasi antarmuka tentang aplikasi ... 111 Gambar IV.5. Implementasi rute algoritma A* search... 112 Gambar IV.6. Implementasi lihat cabang pencarian rute A*... 113 Gambar IV.7. Implementasi pencarian rute A* jalan tidak ditemukan ... 113 Gambar IV.8. Pengujian ordo 3 x 3 tanpa penghalang ... 120 Gambar IV.9. Pengujian ordo 31 x 39 tanpa penghalang ... 121 Gambar IV.10. Pengujian ordo 3 x 3 dengan penghalang ... 122 Gambar IV.11. Pengujian ordo 31 x 39 dengan penghalang ... 123

vi

DAFTAR ISI

LEMBAR JUDUL LEMBAR PENGESAHAN ABSTRAK ... i ABSTRACT ... ii KATA PENGANTAR ... iii DAFTAR ISI ... vi DAFTAR TABEL ... x DAFTAR GAMBAR ... xii DAFTAR SIMBOL ... xv DAFTAR SINGKATAN DAN LAMBANG ... xvii DAFTAR LAMPIRAN ... xviii BAB I PENDAHULUAN ... 1 I.1 Latar Belakang ... 1 I.2 Perumusan Masalah ... 2 I.3 Maksud dan Tujuan... 3 I.4 Batasan Masalah ... 3 I.5 Metodologi Penelitian ... 4 I.6 Sistematika Penulisan ... 7 BAB II TINJAUAN PUSTAKA ... 9 II.1 Kecerdasan Buatan... 9 II.2 Teknik-Teknik Dasar Pencarian ... 12

vii

II.2.1 Masalah Pencarian... 13 II.2.1.1 Graph Keadaan ... 14 II.2.1.2 Pohon Pencarian ... 15 II.2.2 Contoh Pencarian ... 16 II.3 Algoritma Pencarian (Search Algoritms) ... 18 II.3.1 Pencarian Buta (Blind Search) ... 19 II.3.2 Pencarian Terbimbing (Heuristic Search)... 20 II.4 Algoritma A* (A Star) ... 21 II.4.1 Kompleksitas Algoritma A* (A Star) ... 28 II.4.2 Efisien Waktu Algoritma A*... 28 II.4.3 Keadaan Sepadan pada Algoritma A* ... 29 II.4.4 Fungsi Heuristic ... 30 II.5 Linked List ... 32 II.6 Pathfinding ... 35 II.7 Perkembangan Game Komputer ... 37 II.8 Algoritma Penerapan A* pada Game ... 38 II.9 Metode Pengembangan Perangkat Lunak ... 38 II.10 Borland Delphi ... 43 BAB III ANALISIS DAN PERANCANGAN SISTEM ... 48 III.1 Deskripsi Masalah ... 48 III.2 Analisis Kasus ... 49 III.3 Analisis Masalah ... 51 III.4 Analisis Pemecahan Masalah dengan Algoritma A* (A Star) ... 53

viii

III.5 Analisis Kebutuhan Non Fungsional ... 79 III.6 Analisis Kebutuhan Fungsional ... 81 III.6.1Diagram Konteks... 81 III.6.2Data Flow Diagram (DFD)... 82 III.6.2.1DFD Level 0 ... 83 III.6.2.2DFD Level 1 Proses 2.0

Pengaturan Titik Awal dan Titik Tujuan ... 84 III.6.2.3DFD Level 1 Proses 3.0 Penentuan Penghalang ... 85 III.6.2.4DFD Level 1 Proses 5.0 Pencarian Rute ... 86 III.6.2.5DFD Level 1 Proses 6.0 Penampilan Menu Map ... 87 III.6.3Spesifikasi Proses ... 88 III.6.4Kamus Data ... 94 III.7 Perancangan Sistem ... 95 III.7.1Perancangan Komponen Game Pathfinding ... 95 III.7.2Perancangan Prosedural ... 96 III.7.2.1Bagan Alir Algoritma A* (A Star) ... 98 III.7.3Perancangan Struktur Menu ... 100 III.7.4Perancangan Antarmuka ... 100 BAB IV IMPLEMENTASI DAN PENGUJIAN ... 108 IV.1 Implementasi ... 108 IV.1.1Implementasi Antarmuka ... 110 IV.1.2Implementasi Contoh Kasus Jalur A* ... 112 IV.2. Pengujian... 114

ix

BAB V KESIMPULAN ... 128 V.1 Kesimpulan ... 128 V.2 Saran ... 129 DAFTAR PUSTAKA ... 130

130

[1] Adipranata, Rudi., Handojo, Andreas., Setiawan Happy. (2007), Aplikasi Pencari Rute Optimum pada Peta Guna meningkatkan Efisiensi Waktu Tempuh Pengguna Jalan dengan Metode A* dan Best First Search, Jurusan Teknik Informatika Universitas Kristen Petra.

http://puslit2.petra.ac.id/ejournal/index.php/inf/article/view/16774, diakses pada 10 Mei 2010 pukul 11.30 (GMT + 7).

[2] Aldillah, Diko., Hamidi, Ivan., Victor. Algoritma A* (A Star) Sebagai Salah Satu Contoh Metode Pemograman Branch and Bound, MakalahStmik24, Laboratorium Ilmu dan Rekayasa Komputasi ITB, Bandung.

http://www.informatika.org/~rinaldi/Stmik/Makalah/MakalahStmik24.pdf, diakses pada 10 Mei 2010 pukul 12.00 (GMT + 7).

[3] Amit’s Introduction A*. http://theory.stanford.edu/. diakses pada 4 April 2010 pukul 13.41 (GMT + 7).

[4] Bahri, Saiful, Kusnassriyanto., Sjachriyanto, Wawan. (2007), Pemrograman

Delphi, Bandung, Informatika.

[5] Bin Ladjamudin, Al-Bahra. (2005), Analisis dan Desain Sistem Informasi,

Yogyakarta, Graha Ilmu.

[6] Bonny, Igor., Suryadharma, Yoseph., Nogroho, Prasetyo. (2006), Penyelesaian Permasalahn 8 Puzzle dengan Menggunakan Algoritma A* (A Star), MakalahStmik-01, Laboratorium Ilmu dan Rekayasa Komputasi ITB, Bandung.

http://www.informatika.org/~rinaldi/Stmik/2005-

2006/Makalah2006/MakalahStmik2006-01.pdf, diakses pada 12 Mei 2010 pukul 10.32 (GMT + 7).

[7] Hartono, Jogiyanto. (2005), Analisis & Desain : Pendekatan Terstruktur Teori Dan Praktik Aplikasi Bisnis Ed.III, Yogyakarta, Andi.

[8] Kusumadewi, Sri. (2003), Artificial Intelegence ( Teknik dan Aplikasinya).

Yogyakarta, Graha Ilmu.

http://www.policyalmanac.org/games/aStarTutorial.htm, diakses pada 11 Mei 2010 pukul 13.22 (GMT + 7).

[10] Noor, T. Ricky . (2009), Efisiensi Waktu Algoritma A* untuk Penentuan Jalur Optimal Pada Peta Geografis, Program Studi Teknik Elektro, Universitas Pancasila.

http://research.mercubuana.ac.id/proceeding/Kommit2000_komputasi_008. pdf, diakses pada 27 Maret 2010 pukul 11.15(GMT + 7).

[11] Pressman, Roger, S. (2001), Software Engineering: A Practitioner’s

Approach, Fifth Ed. New York, McGraw-Hill Book Company.

[12] Putrady, Ecky. (2009), Penerapan Algoritma A* Sebagai Algoritma Pencari Jalan Dalam Game, MakalahIF2091 Strategi Algoritmik, Jurusan Teknik Informatika ITB, Bandung.

http://webmail.informatika.org/~rinaldi/Matdis/2009-

2010/Makalah0910/MakalahStrukdis0910-062.pdf, diakses pada 10 Maret 2010 pukul 14.10 (GMT + 7).

[13] Ramadhani, Aristama. (2008), Menggerakkan Karakter Game Menggunkan Algoritma Breadth-First Search (BFS) dan Algoritma A* (A Star), MakalahIF2251-043, Program Studi Teknik Informatika ITB, Bandung.

http://www.informatika.org/~rinaldi/Stmik/2007-

2008/Makalah2008/MakalahIF2251-2008-043.pdf, diakses pada 11 Mei 2010 pukul 15.40 (GMT + 7).

[14] Riftadi, Mohammad. (2007), Variasi Penggunaan Fungsi Heuristik dalam Pengaplikasian Algoritma A*, MakalahIF2251, Teknik Informatika ITB, Bandung.

http://www.informatika.org/~rinaldi/Stmik/2006-

2007/Makalah_2007/MakalahSTMIK2007-069.pdf, diakses pada 5 Juni 2010 pukul 10.35 (GMT + 7).

[15] Riyadi, Puanta Della Maharani. (2010), Algoritma Pencarian A* dengan Fungsi Heuristik Jarak Manhattan, MakalahIF3051-013, Program Studi Teknik Informatika ITB, Bandung.

http://www.informatika.org/~rinaldi/Stmik/2009-

2010/Makalah2009/MakalahIF3051-2009-013.pdf, diakses pada 5 Juni 2010 pukul 10.40 (GMT + 7).

[17] Sukamto, Rosa Ariani. System Development Life Cycle (SDLC).

http://www.gangsir.com/download/Minggu2-SDLC.pdf, diakses pada 2 Oktober 2010 pukul 14.20 (GMT + 7).

[18] Sutanto, Arnold Nugroho.(2009), Penerapan Algoritma A* dalam Pencarian Jalan untuk Permainan Lose Your Marble, MakalahIF3051-059, Program Studi Teknik Informatika ITB, Bandung.

http://www.informatika.org/~rinaldi/Stmik/2009-

2010/Makalah2009/MakalahIF3051-2009-059.pdf, diakses pada 6 Juni 2010 pukul 11.10 (GMT + 7).

[19] Suyanto. (2007), Artificial Intelligence Searching, Reasoning, Planning dan

Learning, Bandung, Informatika.

[20] Wibowo, Toto Agung. (2009), Jurnal Perkuliahan AI pada Game

Development (Path finding), Telkom Bandung.

http://gameprogramming.blog.ittelkom.ac.id/blog/, diakses pada 28 Maret 2010 pukul 13.05 (GMT + 7).

[21] Wikipedia The Free Encyclopedia . Artikel A* Search Algoritm.

http://en.wikipedia.org/wiki/A*_search_algorithm, diakses pada 27 Maret 2010 pukul 11.32 (GMT + 7).

[22] Zou, Huilai., Qu, Zening., Qu, Youtian. Optimized Application and Practice

of

A

* Algorithm in Game Map Path-Finding. 2010 10th IEEE International

Conference on Computer and Information Technology (CIT 2010).

http://multicore.zju.edu.cn/iwcsei/iwcsei2010/4108c138.pdf,

28-03-2010, 11:20.

[23] ___________,Pencarian Rute Angkutan Kota dengan Menggunakan Algoritma A*. Tugas Akhir Teknik Informatika Universitas Widytama, Bandung.

[24] ___________,Bab IV Teknik Pelacakan.

http://202.91.15.14/upload/files/2532_BAB_4.pdf, diakses pada 27 Maret 2010 pukul 10.05 (GMT + 7).

[25] __________,Bab 4 Algoritma Pencarian (Searching Algoritm).

http://lecturer.eepi-

sits.edu/~kangedi/materi%20kuliah/Kecerdasan%20Buatan/Bab%204%20A lgoritma%20Pencarian.pdf,diakses pada 27 Maret 2010 pukul 10.00 (GMT + 7).

LAMPIRAN A

Dokumen terkait