• Tidak ada hasil yang ditemukan

Membangun game action-shooter Teh tale of Hunter berbasis desktop

N/A
N/A
Protected

Academic year: 2017

Membagikan "Membangun game action-shooter Teh tale of Hunter berbasis desktop"

Copied!
177
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

Jenis kelamin : Laki-laki

Tempat, tanggal lahir : Atambua, 18 September 1990 Agama : Kristen Protestan

Kewarganegaraan : Indonesia

Status : Belum kawin

Anak ke : Dua dari lima bersaudara

Alamat : Jl. Kedondong No.18 Kelurahan Oeba, Kupang

Telepon : 081339000567

(6)

2. Sekolah Menengah Pertama : SMP Kristen Mercusuar tahun ajaran 2002-2005 3. Sekolah Menengah Kejuruan : SMA Negeri 1 Kupang

tahun ajaran 2005-2008 4. Perguruan Tinggi : FTIK Unikom Bandung

tahun ajaran 2008-2013

Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

Bandung, 25 Februari 2013

(7)

THE TALE OF HUNTER BERBASIS DESKTOP

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

RONAN DEOVOLENTA MALELAK

10108561

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(8)

iii

Dengan mengucapkan puji syukur kepada Tuhan Yang Maha Esa dan berkat rahmat yang dilimpahkan-Nya, penulis telah dapat menyelesaikan karya tulis ini dengan judul ”MEMBANGUN GAME ACTION-SHOOTER THE TALE OF HUNTER BERBASIS DESKTOP”.

Laporan Tugas Akhir ini merupakan relisasi penulis dari ilmu yang penulis dapatkan ketika menjalani proses kuliah. Maka dari itu diharapkan dengan selesainya laporan Tugas Akhir ini, kemampuan yang dimiliki oleh penulis dapat terasah, serta ilmu pengetahuan yang dimiliki penulis bertambah.

Penulisan karya tulis ini adalah untuk memenuhi persyaratan dalam penyelesaian Program Sarjana Teknik Informatika. Berkat bantuan yang telah diberikan berbagai pihak berupa bimbingan moril dan materil, sehingga penulis dapat menyelesaikan karya tulis ini.

Pada kesempatan ini penulis ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada :

1. Papa Yesus Kristus, Tuhan Juruselamat hidupku.

2. Bapak Dr. Ir. Edy Soeryanto Soebroto, M.Sc. selaku Rektor Universitas Komputer Indonesia.

3. Bapak Prof. Dr. Ir Denny Kurniadie, M. Sc. Selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

4. Ibu Nelly Indriani W, S.Si., M.T. selaku pembimbing dan penguji 2 yang telah memberikan pengarahan dan masukan yang sangat berguna bagi penulis dalam penyusunan skripsi ini.

5. Bapak Galih Hermawan, S.Kom., M.T. selaku penguji 1 yang telah memberikan banyak masukan yang sangat berguna bagi penulis.

6. Bapak Eko Budi Setiawan, S.Kom, selaku penguji 3 yang telah memberikan banyak masukan yang sangat berguna bagi penulis.

7. Bapak Irawan Afrianto, S.T., M.T., selaku Ketua Program Studi Teknik Informatika Universitas Komputer Indonesia.

(9)

iv

selalu sabar memberikan dukungan, senantiasa memberikan kasih sayang yang begitu besar, serta senantiasa memberikan doa setiap waktu.

11. Rekan-rekan mahasiswa kelas IF-12 angkatan 2008, khususnya R mochamad reza nurhakim, Aris, Agung Rosamaji, Dadang Sujana, Ikbal Latief Iskandar, Teddy Indra Saputra, Fadly Fadillah Sulaeman, Oscar Anwar Nurdin, Didin Hidayat dan Erdy H serta sahabat-sahabat seperjuangan Aera, Triantoro, Restu, Ahmad Royani.

12. Sang kekasih Wulansari Triutami Dwipratiwi yang senantiasa memberikan kasih sayang yang begitu besar, serta senantiasa memberikan doa setiap waktu. You are my inspiration, my miho dan my milan angel.

13. Sahabat terbaik penulis Hamdan Pribadi Baehaki, Julia Maharani Sinuraya, Yoana, Wilma, Chyta Pareira, Ryzky Tally, dan Hanum Khairana Fatmah.

14. Serta semua pihak yang telah membantu dalam penyusunan skripsi ini, yang tidak bisa penulis sebutkan satu-persatu.

Semoga Tuhan Yang Maha Esa senantiasa melimpahkan rahmat dan karunia-Nya, serta memberikan balasan berlipat ganda atas jasa dan amal baiknya.

Keterbasan kemampuan dan pengetahuan dari penulis dalam melaksanan penelitian yang hasilnya dituangkan ke dalam skripsi ini masih jauh dari kata sempurna. Oleh karena itu penulis sangat mengharapkan segala masukan dari berbagai pihak untuk menyempurnakan skripsi ini.

Akhir kata semoga skripsi ini dapat menjadi ilmu yang bermanfaat bagi penulis sendiri khususnya dan bagi pembaca pada umumnya.

Bandung, 22 Januari 2013

(10)

v LEMBAR PENGESAHAN

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xiii

DAFTAR PROPERTI GAME ... xvii

DAFTAR LAMPIRAN ... xx

BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 2

1.3. Maksud dan Tujuan... 2

1.4. Batasan Masalah ... 2

1.5. Metodologi Penelitian ... 3

1.6. Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1. Game ... 7

2.1.1. Sejarah Singkat Game ... 7

2.1.2. Jenis-Jenis Game ... 8

2.1.3. Konsep Game ... 15

2.2. Kecerdasan Buatan (Artificial Intelligence) ... 16

2.2.1. Definisi AI ... 16

2.2.2. Teknik Pemecahan Masalah AI ... 18

2.2.2.1. Algoritma A* (A Star Algorithm) ... 19

2.2.2.2. Waypoint ... 24

(11)

vi

2.5.2. Pengujian White Box ... 37

2.6. Tools yang Digunakan ... 38

2.6.1. Java ... 38

2.6.2. Greenfoot ... 39

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 41

3.1. Analisis Sistem... 41

3.1.1. Analisis Masalah ... 41

3.1.2. Analisis Pembangunan Aplikasi Permainan The Tale of Hunter ... 44

3.1.2.1. Story Line ... 44

3.1.2.2. Analisis Tingkat Kesulitan ... 46

3.1.2.3. Gameplay ... 46

3.1.2.4. Scoring ... 47

3.1.3. Analisis Algoritma ... 47

3.1.4. Analisis Kebutuhan Non Fungsional ... 65

3.1.4.1. Analisis Kebutuhan Perangkat Keras ... 65

3.1.4.2. Analisis Kebutuhan Perangkat Lunak ... 66

3.1.4.3. Analisis Kebutuhan Perangkat Pikir ... 66

3.1.5. Analisis Kebutuhan Fungsional ... 67

3.1.5.1. Diagram Use Case ... 67

3.1.5.2. Skenario Use Case ... 67

3.1.5.3. Diagram Activity ... 74

3.1.5.4. Diagram Class ... 82

3.1.5.5. Diagram Sequence ... 83

3.2. Perancangan Sistem ... 87

3.2.1. Perancangan Komponen Permainan ... 87

3.2.1.1. Karakter... 87

(12)

vii

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 105

4.1. Implementasi ... 105

4.1.1. Perangkat Pendukung yang digunakan ... 105

4.1.1.1. Perangkat Keras (Hardware) ... 105

4.1.1.2. Perangkat Lunak (Software) ... 106

4.1.2. Implementasi Aplikasi ... 106

4.1.3. Implementasi Antarmuka ... 107

4.2. Pengujian Sistem ... 110

4.2.1. Pengujian Alpha ... 110

4.2.1.1. Rencana Pengujian ... 111

4.2.1.2. Kasus dan Hasil Pengujian Black Box ... 111

4.2.1.3. Kasus dan Hasil Pengujian White Box ... 113

4.2.1.4. Kesimpulan Pengujian Alpha ... 118

4.2.2. Pengujian Beta ... 118

4.2.2.1. Hasil Pengujian Beta ... 121

4.2.2.2. Kesimpulan Pengujian Beta ... 126

BAB 5 KESIMPULAN DAN SARAN ... 127

5.1. Kesimpulan ... 127

5.2. Saran ... 127

(13)

128

DAFTAR PUSTAKA

[1] Sommerville, Ian. (2011) "Software Engineering". 9th. Addison Wesley [2] Leonard Herman, Jer Horwitz, Steve Kent, and Skyler Miller (2002), The

History of Video Games, Gamespot.

Oktober 2012 pukul 14:27 (GMT + 7)

[3] Pier Luca LanziDavison, (2011), A Short History of Videogames, Politecnico Di Milano.

[4] Jamson Chan (2007), Game Genres – Overview of Major Game Categories, University of Hongkong.

[5] Flynt, John P. and Omar Salem (2005), Software Engineering for Game Developers, Thomson Course Technology, Boston.

[6] Suyanto (2007), Artificial Intelligence, Informatika, Bandung.

[7] Lester, Patrick (2005), A* Pathfinding for Beginners, [Online], Tersedia http://www.policyalmanac.org/games/aStarTutorial.htm, diakses pada tanggal 15 Oktober 2012 pukul 15:35 (GMT + 7)

[8] Davison, Andrew (2005), Killer Game Programming in Java, O’ReillyMedia, Sebastopol.

[9] Harbour, Jonathan S. (2008), Beginning Java Programming : Second Edition, Thomson Course Technology PTR, Boston.

[10] Shalahuddin, M dan Rosa A. S (2011), Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek), Modula, Bandung.

[11] Pressman, Roger S. (2002), Rekayasa Perangkat Lunak Pendekatan Praktisi (buku satu), Andi Offset, Yogyakarta.

(14)

129 [13] , ,

[14]

Greenfoot Overview, [Online],

http://www.greenfoot.org/overview , diakses pada tanggal 9 Oktober 2012 pukul 16:21 (GMT + 7).

, ,

[15]

Greenfoot Scenario, [Online],

http://www.greenfoot.org/scenarios/5617 , diakses pada tanggal 8 Oktober 2012 pukul 18:22 (GMT + 7).

, ,

[16]

Freearcade, [Online],

http://www.freearcade.com/Boondog.flash/Boondog.html , diakses pada tanggal 6 januari 2013 pukul 20:13 (GMT + 7).

(15)

1 1.1 Latar Belakang Masalah

Game dengan judul “Boondog” merupakan game online yang terdapat pada situs freearcade.com[15]. Gameplay dari game tersebut mempunyai tujuan untuk mencari jalan keluar untuk menuju pintu atau level berikutnya.

Pada analisis game dengan judul “boondog [15], bahwa di dalam tersebut, mempunyai rating yang sedikit, yakni dengan 8080 kali dimainkan. Game tersebut juga hanya mencari jalan ke pintu dan tidak terdapat musuh. Area permainan atau map terlalu kecil sehingga pemain bisa langsung mengetahui area permainan dengan sekali melihat. Pada analisis game yang lain yang berjudul “garden maze” [14], bahwa di dalam game tersebut mempunyai musuh yang berjalan atau berpatroli dan tidak mengejar bersifat monoton dan kurang menarik serta mempunyai karakter musuh yang sedikit. Tembok Penghalang hanya beberapa saja dan area permainan yang kecil sehingga mempunyai alur permainan yang cepat. Game dengan jenis yang sama juga seringkali membuat game menjadi monoton, apalagi dengan tidak adanya kecerdasan buatan pada objek musuh.

Salah satu solusi untuk membuat game menjadi lebih bervariasi dan menarik adalah membangun sebuah game yang memiliki lebih dari satu jenis game, selain solusi tersebut, penerapan kecerdasan buatan pada game yang dibuat dapat menjadi menarik dan menantang bagi para gamer. Dengan bertambahnya tingkat kesulitan, maka akan meningkatkan ketangkasan bermain untuk pemain yang memainkan game tersebut. Game dengan dua jenis permainan yang berbeda juga bisa menambahkan tantangan dalam permainan.

(16)

1.2 Perumusan Masalah

Berdasarkan latar belakang yang telah disampaikan, maka perumusan masalah dari penelitian ini adalah bagaimana menambahkan variasi jenis permainan dan menambahkan perilaku dari musuh yang berbeda dari game yang dianalisis.

1.3 Maksud dan Tujuan

Maksud dari penelitian tugas akhir ini adalah membangun aplikasi permainan The Tale of Hunter.

Tujuan yang diharapkan dari aplikasi yang dibangun yaitu menambahkan tantangan pada game yang akan dibangun dengan cara

1. Mengembangkan perilaku musuh berupa penambahan kecerdasan buatan pada musuh sehingga lebih pintar.

2. Membangun game dengan dua jenis yang berbeda sehingga game menjadi lebih bervariasi dan menarik.

1.4 Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut :

1. Game yang dibangun difokuskan untuk mencari jalan keluar, mengoleksi

item serta menghindari dan mengalahkan musuh.

2. Game dibangun dengan menggunakan bahasa pemrograman java berbasis desktop.

3. Game yang dibangun memiliki 4 level dengan tingkat kesulitan yang berbeda.

4. Kecerdasan buatan yang diimplementasikan di dalam game adalah Algoritma A* (A star) untuk pencarian rute bagi karakter NPC.

5. Mempunyai 2 jenis permainan yaitu side-scrooling dan tile-base.

6. Menggunakan pemodelan berorientasi objek dengan tools UML (Unified Modelling Language).

(17)

1.5 Metodologi Penelitian

Metodologi penelitian yang akan digunakan dalam pembuatan skripsi ini menggunakan metodologi analisis deskriptif, yaitu metode penelitian menggunakan studi kasus. Metodologi penelitian pada penelitian tugas akhir ini dibagi menjadi dua metode yaitu :

1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur

Studi literatur adalah metode pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi

Observasi adalah metode pengumpulan data dengan melakukan pengamatan secara langsung terhadap objek yang diteliti, yaitu perangkat lunak yang itu sendiri.

2. Metode Pengembangan Perangkat Lunak.

Metode yang digunakan untuk pembangunan perangkat lunak pada aplikasi permainan The Tale of Hunter ini menggunakan model proses waterfall, yang secara garis besar meliputi beberapa proses diantaranya:

a. Requirements Analysis and Definition

Pada tahap ini, ditentukan pelayanan, batasan, dan tujuan sistem berdasarkan hasil konsultasi dengan pengguna sistem itu sendiri. Pada tahap ini sistem didefinisikan secara rinci yang kemudian disajikan sebagai sebuah spesifikasi sistem.

b. System and Software Design

(18)

proses mengidentifikasi dan mendeskripsikan sistem perangkat lunak yang mendasar berupa abstraksi dan hubungannya.

c. Implementation and Unit Testing

Pada tahap ini, desain perangkat lunak direalisasikan menjadi serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya.

d. Integration and System Testing

Pada tahap ini, unit program atau program itu sendiri diintegrasikan dan diuji sebagai sebuah sistem yang lengkap untuk memastikan bahwa semua kebutuhan sistem telah terpenuhi. Setelah dilakukan pengetesan, sistem perangkat lunak dikirim kepada pelanggan.

e. Operation and Maintenance

(19)

Model waterfall yang digunakan dalam pembangunan perangkat lunak the tale of hunter dapat dilihat pada gambar 1.1.

Gambar 1.1 Model Waterfall [1]

1.6 Sistematika Penulisan

Sistematika penulisan penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

Bab ini berisi uraian tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan maksud dan tujuan penelitian, metodologi penelitian yang digunakan, dan diikuti dengan pembatasan masalah, serta sistematika penulisan.

BAB 2 TINJAUAN PUSTAKA

Bab ini berisi pembahasan mengenai teori permainan video, gameplay action maze, kecerdasan buatan, object oriented programming (OOP), unified

(20)

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis tentang sistem yang akan dibangun, analisis aplikasi permainan sejenis beserta analisis masalah pada aplikasi permainan tersebut, analisis pembangunan aplikasi permainan The Tale of Hunter, analisis dan kebutuhan fungsional yang berupa diagram-diagram UML, serta analisis dan kebutuhan non-fungsional yang terdapat perancangan antarmuka pada aplikasi permainan yang dibuat.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi implementasi dari perangkat keras yang digunakan, perangkat lunak yang digunakan, implementasi pada aplikasi permainan The Tale of Hunter dan implementasi antarmuka, serta berisi hasil pengujian pada aplikasi

permainan The Tale of Hunter menggunakan metode pengujian black box dan white box dengan tahap pengujian alpha dan beta.

BAB 5 KESIMPULAN DAN SARAN

(21)

7 2.1 Game

Permainan video adalah permainan yang menggunakan interkasi dengan antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Sistem elektronik yang digunakan untuk menjalankan permainan video yang disebut dengan platform seperti game console dan Personal Computer.

Untuk melakukan perintah memanipulasi permainan video digunakan game controller, adapun game controller dapat berupa joystick yang terdiri dari

satu tombol saja. Namun seiring perkembangan jaman, saat ini game controller tidak hanya joystick, melainkan dengan menggunakan sebuah mouse maupun keyboard dan juga penggunaan joystick yang memiliki beberapa tombol.

2.1.1 SejarahSingkat Game

Pada tahun 1949, seorang insinyur muda bernama Ralph Baer mendapat tugas untuk membangun sebuah televisi. Ralph Baer bukan hanya membuat televisi yang biasa-biasa saja, tetapi sebuah televisi yang akan menjadi terbaik dari semua televisi. Ralph ingin menggabungkan beberapa jenis game kedalam televisi, tapi masih belum tahu jenis game yang akan digabungkan dan akan membutuhkan waktu 18 tahun untuk menjadi kenyataan[2]. Pada saat itu ada orang yang berbagi ilmu dalam game seperti William Higibotham yang berperan sebagai orang yang mendesain game tenis interaktif pada oscilloscpe, Steve Russel yang berperan sebagai orang yang menciptakan space game pada DEC PDP-1 mainframe computer dan Nolan Bushnell yang bermain space game dan bermimpi bahwa kedepannya dunia dipenuhi oleh game yang didukung dengan komputer.

(22)

dijalankan pada komputer analog dan dihubungkan ke osiloskop, permainan ini terlihat jelas dan cepat, yang mengejutkan adalah permainan ini tidak hanya top-down perspective seperti Pong, namun menampilkan dua sudut seperti lapangan

tenis. Dua pemain harus melakukan pukulan terhadap bola secara bergantian dengan bola yang memantul ke tanah dan net searah gravitasi. Pada awal tahun 1962, seorang murid di MIT bernama Steve Russel menciptakan permainan Spacewar pada komputer DEC PDP-1. Tujuan dari permainan tersebut adalah setiap pemain melakukan maneuver pesawatnya ketika mencoba menembak pesawat pemain lain dengan menggunakan misil.

Pada akhir tahun 1971, perusahaan televisi yang bernama Magnavox akhirnya menandatangani kontrak dengan Sanders. Pada tahun 1972, Magnavox menunjukkan peralatan terbarunya yang diberi nama Magnavox Odyssey.

Pada tahun selanjutnya, berbagai perusahan pembuat permainan video berlomba-lomba untuk menciptakan perangkat dan permainan bagi para penggemar permainan video dan merupakan awal dari kebangkitan permainan video hingga saat ini.

2.1.2 Jenis-jenis Game

Dalam permainan video terdapat beberapa jenis permainan yang dapat dimainkan, hal ini dibedakan berdasarkan cara bermain yang dapat dilakukan oleh para pemain[4].

A. Adventure Games

Permainan berdasarkan/berbasiskan pada cerita, menggunakan teka-teki untuk menyelesaikan permainan sepanjang cerita.

a. Bisa berupa first, second, atau third person.

b. Dapat berbasis teks (membutuhkan parser dari beberapa jenis) atau grafis (titik dan klik).

(23)

Gambar 2.1 Contoh Adventure Games [4]

B. Action Games

Permainan real-time dengan membutuhkan respon atau reaksi yang cepat. First Person Shooter (FPS) seperti Quake dan Unreal Tournament, Platform

games seperti Mario dan Sonic The Hedgehog, Maze games seperti Pac-man

dan Shooters seperti Space Invaders dan Metal Slug. Musuh bisa berupa komputer yang di-generate atau manusia. Beberapa juga menambahkan petualangan, strategi, atau taktis elemen untuk pengalaman yang berbeda[4].

(24)

C. Role-Playing Games (RPGs)

Dalam RPG, pemain umumnya mengarahkan sekelompok

heroes/pahlawan dalam serangkaian misi. Dunia atau ruang lingkupnya luas,

pemain bisa mengkontrol setiap karakter, karakter diciptakan dengan kekuatan dan kemampuan, berperang adalah elemen yang penting untuk mendapatkan/mengumpulkan pengalaman, uang dan kekuatan. RPG memiliki fitur magis yang kompleks dan beragam ras karakter[4].

.

Gambar 2.3 Contoh Role-Playing Shooter[4]

D. StrategyGames

Pemain mengelola beberapa sumber daya yang terbatas untuk mencapai tujuan yang telah ditentukan. Memanejemen sumber untuk menciptakan karakter dan bagaimana menempatkan karakter.

Dapat berupa turn-based atau real-time. Turn-based strategi memberi pemain waktu untuk berpikir dan mengimplementasikan keputusan. Real-time strategi (RTS) memiliki semua lawan berpikir dan bertindak pada waktu yang bersamaan. Lawan b

(25)

Gambar 2.4 Contoh Strategy Game[4]

E. Simulation (sims) Games

Simulation adalah jenis permainan dengan meniru dunia nyata dengan

kondisi operasi dengan sangat baik. Membutuhkan waktu dan pembelajaran untuk mengenal seluk-beluk permainan. Kebanyakan dari game jenis ini berkaitan dengan sesuatu yang berhubungan dengan mesin seperti pesawat, tank, mobil dan sebagainya. Contohnya seperti simulasi pesawat terbang, game balap[4].

(26)

F. Sports Games

Berpatisipasi dalam acara kegiatan olahraga. Pemain (gamer) bisa sabagai pemain, pemilik, manejer atau pelatih. Konsep permainan bisa seperti pertandingan tunggal, seluruh musim atau seumur hidup dari sebuah tim[4].

Gambar 2.6 Contoh Sport Game[4]

G. Fighting Game

Permainan ini menggunakan tombol dan kombinasi untuk bergerak menyerang dan bertahan dari serangan. Pemain diberikan serangan dasar dan serangan balasan, serta kombinasi yang kompleks. Umumnya pertarungan berakhir hanya dalam beberapa menit saja, tetapi mungkin akan banyak putaran/ronde untuk menyelesaikan permainan ini[4].

(27)

H. Casual Game

Casual game adalah jenis permainan yang mudah untuk dimainkan, sesi permainan yang singkat. Permainan ini banyak mengadaptasi dari permainan tradisional seperti catur, hearts dan solitaire. Termasuk juga dalam acara televisi seperti “Who Wants To Be a Millionaire?”, Jeopardy dan Wheel of Fortune. Adapun permainan sederhana seperti Minesweeper [4].

Gambar 2.8 Contoh Casual Game[4]

I. God Game

Permainan yang tidak memiliki tujuan, selain untuk mendorong pemain untuk bermain dengan mereka untuk melihat apa yang terjadi. Sering disebut juga dengan software toys [4].

(28)

J. Educational Game

Dirancang untuk mengajar dan menghibur. Umumnya ditujukan kepada pamain yang relatif lebih muda dari kebanyakan produk game[4].

Gambar 2.10 Contoh EducationalGame[4]

K. PuzzleGame

Permainan ini memberikan tantangan intelektual untuk menyelesaikan masalah. Teka-teki merupakan tujuan dari game ini dan tidak terdapat cerita di dalamnya[4].

(29)

L. OnlineGame

Online Game dapat mencakup beberapa genre dan yang menjadi fitur utama adalah bermain dengan multiplayer dalam sebuah jarigan. Biasanya hanya terdapat 2-4 pemain, tetapi dapat melibat dengan puluhan, ratusan atau bahkan ribuan pemain. Dikenal sebagai Massively Multiplayer (Massively Multiplayer Online Role-Playing Game or MMORPG). Seringkali pemain berkomunikasi dalam permaian ini[4].

Gambar 2.12 Contoh Online Game[4]

2.1.3 Konsep Game

Menurut J. P. Flynt dan O. Salem dalam bukunya[5], terdapat beberapa syarat yang dibutuhkan dalam membangun sebuah aplikasi permainan (game production) sehingga aplikasi permainan yang dibangun memiliki karakteristik

(30)

2.2 Kecerdasan Buatan (Artificial Intelligence)

2.2.1 Definisi AI

Sebagian kalangan menerjemahkan Artificial Intelligence sebagai kecerdasan buatan, kecerdasan artifisial, intelijensia artifisial, atau intelejensia buatan. Pada bukunya[6], Suyanto sengaja tidak menerjemahkan istilah Artificial Intelligence ke bahasa Indonesia karena istilah tersebut sudah sangat akrab bagi

orang Indonesia. Begitu juga dengan singkatan istilah tersebut, yaitu AI, sudah sangat melekat di berbagai media ilmiah maupun non ilmiah.

Para ahli mendefinisikan AI secara berbeda-beda tergantung pada sudut pandang mereka masing-masing. Ada yang focus pada logika berpikir manusia saja, tetapi ada juga yang mendefinisikan AI secara lebih luas pada tingkah laku manusia. Stuart Russel dan Peter Norvig mengelompokkan definisi AI, yang diperoleh dari beberapa textbook berbeda, ke dalam empat kategori[6], yaitu : A. Thinking humanly: the cognitive modeling approach

Pendekatan ini dilakukan dengan dua cara sebagai berikut :

1. Melalui introspeksi : mencoba menangkap pemikiran-pemikiran kita sendiri pada saat kita berpikir. Tetapi, seorang psikolog barat mengatakan “how do you know that you understand?” Bagaimana anda tahu bahwa

anda mengerti? Karena pada saat anda menyadari pemikiran anda. Sehingga definisi ini terkesan mengada-ngada dan tidak mungkin dilakukan.

2. Melalui eksperimen-eksperimen psikologi. B. Acting humanly : the Turing test approach

Pada tahun 1950, Alan Turing merancang suatu ujian bagi komputer berintelijensia untuk menguji apakah komputer tersebut mampu mengelabui seorang manusia yang menginterogasinya melalui teletype (komunikasi berbasis teks jarak jauh). Jika interrogator tidak dapat membedakan yang diinterogasi adalah manusia atau komputer, maka komputer berintelijensia tersebut lolos dari Turning test. Komputer tersebut perlu memiliki kemampuan : Natural Language

Processing, Knowledge Representation, Automated Reasoning, Machine

(31)

fisik antara interrogator dan komputer karena simulasi fisik manusia tidak memerlukan intelijensia.

C. Thinking rationally : the laws of thought approach Terdapat dua masalah dalam pendekatan ini, yaitu :

1. Tidak mudah untuk membuat pengetahuan informal dan menyatakan pengetahuan tersebut ke dalam formal term yang diperlukan oleh notasi logika, khususnya ketika pengetahuan tersebut memiliki kepastian kurang dari 100%.

2. Terdapat perbedaan besar antara dapat memecahkan masalah “dalam prinsip” dan memecahkannya “dalam dunia nyata”.

D. Acting rationally : the rational agent approach

Membuat inferensi yang logis merupakan bagian dari suatu rational agent. Hal ini disebabkan satu-satunya cara untuk melakukan aksi secara rasional adalah dengan menalar secara logis. Dengan menalar secara logis, maka bisa didapatkan kesimpulan bahwa aksi yang diberikan akan mencapai tujuan atau tidak. Jika mencapai tujuan, maka agent dapat melakukan aksi berdasarkan kesimpulan tersebut.

Thinking humanly dan acting humanly adalah dua definisi dalam arti yang

sangat luas. Sampai saat ini, pemikiran manusia yang diluar rasio, yakni reflex dan intuitif (berhubungan dengan perasaan), belum dapat ditirukan sepenuhnya oleh komputer. Dengan demikian, kedua definisi ini dirasa kurang tepat untuk saat ini. Jika kita menggunakan definisi ini, maka banyak produk komputasi cerdas saat ini yang tidak layak disebut sebagai produk AI.

Definisi thinking rationally terasa lebih sempit daripada acting rationally. Oleh karena itu, definisi AI yang paling tepat untuk saat ini adalah acting rationally dengan pendekatan rational agent. Hal ini berdasarkan pemikiran

(32)

2.2.2 Teknik Pemecahan Masalah AI

Terdapat empat teknik dasar pemecahan masalah yang terdapat pada bidang academic/traditional artificial intelligence (AI)[6], diantaranya adalah sebagai berikut :

A. Searching

Pada teknik searching atau pencarian ini terdiri dari beberapa langkah untuk merealisasikannya. Langkah pertama adalah mendefinisikan ruang masalah untuk suatu masalah yang dihadapi. Langkah kedua adalah mendefinisikan aturan produksi yang digunakan untuk mengubah suatu keadaan ke keadaan lainnya. Langkah terakhir adalah memilih metode pencarian yang tepat sehingga dapat menemukan solusi terbaik.

Metode-metode pencarian pada teknik searching diantaranya[6] : 1. Blind/Un-informed Search

a. Breadth-First Search (BFS) b. Depth-First Search (DFS) c. Depth-Limited Search (DLS) d. Uniform Cost Search (USC) e. Iterative-Deepening Search (IDS) f. Bi-Directional Search (BDS) 2. Metode Pencarian Heuristik

a. Generate-and-Test b. Hill Climbing

c. Simulated Annealing d. Best-First Search (BFS) e. Greedy Best-First Search f. A* (A star)

B. Reasoning

(33)

Teknik ini melakukan proses penalaran berdasarkan basis pengetahuannya untuk menemukan solusi.

C. Planning

Planning adalah suatu metode penyelesaian masalah dengan cara memecah masalah ke dalam sub-sub masalah yang lebih kecil, menyelesaikan sub-sub masalah satu demi satu kemudian menggabungkan solusi-solusi dari sub-sub masalah tersebut menjadi sebuah solusi lengkap dengan tetap mengingat dan menangani interaksi yang terdapat pada sub-sub masalah tersebut.

D. Learning

Pada ketiga teknik sebelumnya, seseorang harus mengetahui aturan yang berlaku untuk sistem yang akan dibangunnya. Tetapi, pada masalah tertentu terkadang suatu aturan tidak bisa didefinisikan secara benar ataupun lengkap. Hal tersebut mungkin dikarenakan data-data yang didapat tidak lengkap. Melalui teknik yang disebut learning ini, secara otomatis aturan yang diharapkan bisa berlaku umum untuk data-data yang belum pernah diketahui dapat ditemukan.

2.2.2.1 Algoritma A* (A Star Algorithm)

Algoritma A* (A star) merupakan algoritma Best First Search yang menggabungkan Uniform Cost Search dan Greedy Best-First Search[6]. Biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan, dalam notasi matematika dituliskan sebagai berikut :

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

Dengan perhitungan biaya seperti diatas, algoritma A* adalah complete dan optimal[6]. Untuk lebih jelasnya berikut merupakan gambaran dari penggunaan algoritma A* dalam pencarian rute terpendek dari point A menuju point B :

(34)

Gambar 2.13 Ilustrasi awal Algoritma A*[7]

Hal pertama yang harus dilakukan adalah membuat sebuah grid layout, karena dalam pencarian rute pada algoritma A* akan lebih mudah apabila peta yang ada berbentuk kotak-kotak kecil, metode ini memudahkan pencarian dalam area yang didefinisikan sebagai array dua dimensi, setiap kotak memiliki status walkable dan unwalkable.

Pusat point pada algoritma A* dinamakan node, hal ini dikarenakan area yang dapat digunakan algoritma A* tidak hanya berbentuk kotak, akan tetapi dapat berbentuk yang lainnya, namun terkadang untuk memudahkan dalam perhitungan maka digunakanlah bentuk kotak.

Langkah-langkah yang dilakukan pada algoritma A* dalam melakukan pencarian rute terpendek dibagi menjadi beberapa tahap, yaitu :

A. Dimulai dari point A awal dan masukkan ke dalam kotak “open list”. “open list” merupakan sebuah kotak yang berfungsi untuk menyimpan setiap nod,

baik yang akan kita lewati maupun yang tidak kita lewati, pada dasarnya setiap kotak yang ada pada “open list” akan dilakukan perhitungan jarak untuk menentukan arah mana yang akan diambil menuju point B.

(35)

C. Keluarkan kotak point awal dari open list kemudian masukkan ke dalam closed list. Closed list berfungsi untuk menyimpan kotak yang tidak akan

pernah dipakai ataupun dilihat lagi.

[image:35.595.253.371.276.393.2]

Kotak berwarna hijau merupakan pusat dari point awal, pada sisinya dikelilingi oleh garis berwarna biru yang berarti bahwa kotak tersebut telah dimasukkan ke dalam closed list, dan untuk setiap garis disekeliling kotak awal menunjukkan setiap jalur yang dapat ditempuh dimulai dari kotak pada point awal.

Gambar 2.14 Ilustrasi kotak awal sebagai closed list[7]

Perhitungan yang terdapat pada algoritma A* untuk melakukan pencarian rute terpendek adalah dengan menggunakan rumus sebagai berikut :

F = G + H (2.1) dimana,

G : nilai yang dibutuhkan untuk menempuh jarak dari point awal menuju kotak selanjutnya

H : estimasi nilai yang dibutuhkan untuk menempuh jarak dari kotak selanjutnya untuk menempuh point tujuan.

Dalam proses perhitungannya dapat dimisalkan sebuah nilai untuk G baik yang terdapat pada kotak horizontal, vertikal, dan diagonal. Pada kasus ini dimisalkan nilai horizontal dan vertikal dari point awal untuk menuju kotak selanjutnya ialah 10, dan untuk nilai diagonalnya ialah 14.

(36)

F ditulis di atas sebelah kiri, nilai G ditulis di bawah sebelah kiri, dan nilai H ditulis di bawah sebelah kanan.

Gambar 2.15 Ilustrasi perhitungan F pada open list[7]

Langkah selanjutnya yang harus dilakukan adalah sebagai berikut :

D. Pilih nilai F yang terkecil dari setiap kotak yang telah dihitung nilai F nya, kemudian keluarkan dari open list dan masukkan ke dalam closed list.

E. Cek semua kotak yang berada di sekitar, abaikan kotak yang unwalkable dan kotak yang terdapat pada closed list, masukkan kotak yang belum ada di dalam open list dan jadikan kotak selanjutnya menjadi kotak induk untuk melakukan perhitungan ulang untuk setiap kotak disekitarnya.

(37)
[image:37.595.175.450.110.532.2]

Gambar 2.16 Ilustrasi penentuan kotak selanjutnya[7]

Gambar 2.17 Ilustrasi perhitungan terhadap kotak unwalkable[7]

(38)
[image:38.595.129.439.110.344.2]

Gambar 2.18 Ilustrasi hasil akhir pencarian rute terpendek[7]

2.2.2.2Waypoint

Waypoint search merupakan pencarian yang efisien dan menghemat

komsumsi pada CPU-time. Hampir semua game sekarang ini menggunakan metode waypoint sebagai search.

Pola gerakan yang paling dasar untuk karakter dalam permainan hanyalah sebuah garis lurus baik dalam bidang horisontal atau vertikal. Biasanya, karakter akan bergerak ke kiri dan kanan antara dua titik dan batas mungkin tepi layar atau sesuatu yang berhubungan dengan latar belakang peta. Contohnya dapat dilihat pada gerakan dasar dalam Space Invaders. Alien dimulai di sebelah kiri dan berbaris di layar ke kanan. Ketika mereka mencapai tepi layar, mereka membalikkan arah mereka dan berbaris ke kiri[15].

(39)

adalah jumlah piksel untuk bergerak setiap waktu dan dapat menjadi positif atau negatif, kecil atau besar. Dua variabel lainnya, x1 dan x2 adalah batas kiri dan kanan. Karakter ini dipindahkan dengan menambahkan dx ke koordinat x hingga mencapai baik x1 atau x2, maka dx menjadi-dx untuk membalikkan arah. Berikut adalah kode:

1 Global x = 320

2 Global y = 240

3 Global dx = 4

4 Global x1=200

5 Global x2=400

6

7 Repeat

8 Cls

9 MoveAlien()

10 Flip

11 Delay 100

12 Until KeyDown(1) 13 End

14 Function MoveAlien()

15 x=x+dx

16 If x<x1 Or x>x2 Then dx=-dx

17 DrawImage alien,x,y

18 End Function

Ini melintasi karakter jalur horisontal antara dua titik pada layar pada setiap kecepatan. Anda hanya perlu mengatur variabel pada awal daftar. Untuk membuatnya lebih menarik, posisi awal (x, y) dan kecepatan (dx) bisa nomor acak. Untuk melakukan langkah karakter vertikal, hanya mengubah dx ke dy dan x1 dan x2 untuk y1 dan y2. Kemudian tambahkan dy ke y mengkoordinasikan setiap kali karakter tersebut akan dipindahkan.

(40)

dari, arah karakter dan batas-batas sebagai daftar yang dibaca ketika tingkat dimasukkan.

2.3 Object Oriented Programming (OOP)

Object Oriented Programming (OOP) menerapkan sifat yang lebih

modular agar setiap program dapat lebih mudah dikembangkan. Dalam OOP dibutuhkan memori lebih besar dibandingkan dengan program procedural (tradisional)[10]. Dua objek yang identik akan memerlukan dua area memori berbeda walaupun dari sisi data dan proses keduanya memiliki jumlah dan jenis yang sama. Hal ini disebabkan karena data dan proses pada kedua objek tersebut dipisahkan oleh komputer.

Secara garis besar yang menjadi ciri dari OOP adalah adanya proses abstraksi (abstraction), pengkapsulan (encapsulation), penurunan sifat (inheritance), dan polimorfisme (polymorphism) pada objek-objek yang dibentuk.

Object Oriented Programming (OOP) dibagi menjadi beberapa cirri

utama[10], yaitu :

A. Kelas

Kelas (class) merupakan contoh abstrak dari sebuah objek yang telah terbentuk dari proses penyederhanaan, dengan kata lain kelas (class) merupakan cikal bakal dari objek (object), kemudian contoh nyata atau perwujudan dari sebuah objek dinamakan instance. Sehingga apabila kita mempunyai sebuah kelas manusia, maka beberapa instances (wujud nyata) dari kelas manusia adalah Prima, Aulia, Dewi, dan masih banyak yang lainnya.

Perbedaan antara kelas (class) dengan objek (object) dalam OOP dibagi menjadi dua[10], yaitu :

1. Class merupakan rancangan (design) dan object merupakan perwujudan dari suatu class.

(41)

B. Objek

Dalam kenyataannya, sebuah objek dalam OOP adalah sebuah persilangan yang berbagi-pakai (share) sejumlah ciri dari objek umum dengan fitur (feature) dari sebuah bentuk komputer[10].

Sebuah objek secara praktis pemrograman berorientasi objek bisa didefinisikan sebagai berikut :

1. Setiap objek dimiliki oleh kelas objek, sehingga sebuah objek tidak bisa hadir tanpa sebuah kelas yang mendefinisikannya. Dengan kata lain objek adalah wujud (instance) dari sebuah kelas.

2. Sebuah objek (dan kelas yang memuatnya) adalah sebuah pengkapsulan (encapsulation) yang memasukkan data dan operasi untuk pemrosesannya. 3. Atribut-atribut (attributes) objek membantu untuk menyimpan dan

menjaga status objek. Atribut-atribut ini menentukan apa yang dengan mengenai objek. Methode objek adalah satu-satunya cara untuk mengakses data dan memodifikasi statusnya. Cara pengaksesan dan pemodifikasian data dilakukan dengan mengirimkan sebuah pesan ke objek tersebut. C. Abstraksi

Abstraksi dapat didefinisikan sebagai suatu proses melakukan desain class dan menentukan data dan method yang akan dimiliki oleh sebuah class[10].

Sebuah method abstrak mendefinisikan sebuah antarmuka dalam kelas dasar dan meninggalkan implementasi pada kelas turunan. Kelas abstrak adalah sebuah kelas yang berisi satu atau beberapa method abstrak.

D. Pengkapsulan

Pengkapsulan (encapsulation) merupakan proses pembungkusan atau penyederhanaan dari beberapa data atau method menjadi sebuah objek (object) atau kelas (class)[10].

E. Pewarisan Sifat

(42)

juga pada access specifier (yaitu, public dan private) yang diberikan dalam proses penurunan kelas.

2.4 Unified Modelling Language (UML)

Pada perkembangan teknik pemrograman berorientasi objek, muncul sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modelling Language (UML). Adapun pengertian dari UML adalah salah

satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek[10].

UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. Dalam hal ini UML merupakan suatu bahasa visual untuk melakukan pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.

2.4.1 Diagram UML

UML menggunakan berbagai macam diagram dengan fungsi masing-masing untuk menggambarkan setiap proses dari sistem berorientasi objek. Berikut merupakan beberapa diagram UML diantaranya[10] :

A. Use Case Diagram

Use Case atau diagram use case merupakan pemodelan yang digunakan

untuk menggambarkan kelakuan (behavior) dari sistem yang akan dibuat[10]. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor

dengan sistem yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.

(43)

1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat diluar sistem yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.

[image:43.595.219.405.260.457.2]

2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesar antarunit-unit atau aktor.

Gambar 2.13 Contoh dari Use Case Diagram[10] B. Activity Diagram

Diagram aktivitas atau activity diagram adalah sebuah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis[10]. Dalam diagram aktivitas yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan aktivitas sistem, bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.

Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut[10] :

1. Rancangan proses bisnis di mana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.

(44)
[image:44.595.199.396.162.355.2] [image:44.595.231.368.513.712.2]

3. Rancangan pengunjian di mana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.

Gambar 2.20 Contoh dari Activity Diagram[10] C. Class Diagram

Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi[10].

1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas 2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas

(45)

D. Sequence Diagram

Diagram sequence adalah diagram yang menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek[10]. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

[image:45.595.173.455.379.588.2]

Banyaknya diagram sekuen yang harus digambarkan adalah sebanyak pendefinisian use case yang memiliki prose situ sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak.

Gambar 2.21 Contoh dari Sequence Diagram[10] E. Object Diagram

(46)
[image:46.595.179.380.256.460.2]

Untuk apa mendefinisikan sebuah kelas sedangkan pada jalannya sistem, objeknya tidak pernah dipakai. Hubungan link pada diagram objek merupakan hubungan memakai dan dipakai di mana dua buah objek akan dihubungkan oleh link jika ada objek yang dipakai oleh objek lainnya.

Gambar 2.22 Contoh dari Object Diagram[10] F. Component Diagram

Diagram komponen dibuat untuk menunjukkan organisasi dan kebergantungan di antara kumpulan komponen dalam sebuah sistem. Diagram komponen focus pada komponen sistem yang dibutuhkan dan ada di dalam sistem[10]. Diagram komponen juga dapat digunakan untuk memodelkan hal-hal berikut[10] :

1. Source code program perangkat lunak 2. Komponen executable yang dilepas ke user 3. Basis data secara fisik

4. Sistem yang harus beradaptasi dengan sistem lain 5. Framework sistem

(47)

1. Komponen user interface yang menangani tampilan

2. Komponen business processing yang menangani fungsi-fungsi proses bisnis

3. Komponen data yang menangani manipulasi data 4. Komponen security yang menangani keamanan sistem

Gambar 2.23 Contoh dari Component Diagram[10] G. Composite Structure Diagram

Diagram ini dapat digunakan untuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung[10]. Contoh penggunaan diagram ini misalnya untuk menggambarkan deskripsi dari setiap bagian mesin yang saling terkait router pada jaringan komputer, dll.

H. Package Diagram

Package diagram menyediakan cara mengumpulkan elemen-elemen yang

saling terkait dalam diagram UML[10]. I. Deployment Diagram

Diagram deployment atau deployment diagram menunjukkan konfigurasi komponen dalam proses eksekusi aplikasi[10]. Diagram deployment juga dapat digunkan untuk memodelkan hal-hal berikut :

(48)

2. Sistem client/server 3. Sistem terdistribusi murni 4. Rekayasa ulang aplikasi

Gambar 2.24 Contoh dari Deployment Diagram[10] J. State Machine Diagram

Diagram mesin status digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem[10]. Perubahan tersebut digambarkan dalam suatu graf berarah. State machine diagram merupakan pengembangan dari diagram Finite State Automata dengan penambahan beberapa fitur dan konsep baru.

[image:48.595.233.331.201.359.2]

Diagram ini cocok digunakan untuk menggambarkan alur interaksi pengguna dengan sistem[10].

(49)

K. Communication Diagram

Diagram komunikasi merupakan penyederhanaan dari diagram kolaborasi (collaboration diagram)[10]. Diagram ini menggambarkan interaksi antarobjek/bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi merepresentasikan informasi yang diperoleh dari Diagram Kelas, Diagram Sekuen, dan Diagram Use Case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem.

Diagram komunikasi mengelompokkan message pada kumpulan diagram sekuen menjadi sebuah diagram. Dalam diagram komunikasi yang dituliskan adalah operasi/metode yang dijalankan antara objek yang satu dan objek yang lainnya secara keseluruhan, oleh karena itu dapat diambil dari jalannya interaksi pada semua diagram sekuen. Penomoran metode dapat dilakukan berdasarkan urutan dijalankannya metode/operasi di antara objek yang satu dengan objek yang lainnya atau objek itu sendiri.

L. Timing Diagram

Timing Diagram merupakan diagram yang focus pada penggambaran terkait

batasan waktu. Timing diagram digunakan untuk menggambarkan tingkah laku sistem dalam periode waktu tertentu[10]. Timing diagram biasanya

digunakan untuk mendeskripsikan operasi dari alat digital karena penggambaran secara visual akan lebih mudah dipahami daripada dengan

[image:49.595.235.409.576.717.2]

kata-kata. Aliran waktu pada timing diagram dibaca dari kiri ke kanan.

(50)

M. Iteraction Overview Diagram

Iteraction overview diagram mirip dengan diagram aktivitas yang

berfungsi untuk menggambarkan sekumpulan urutan aktivitas. Iterraction overview diagram adalah bentuk aktivitas diagram yang setiap titik

merepresentasikan diagram interaksi[10]. Interaksi diagram dapat meliputi diagram sekuen, diagram komunikasi, interaction overview diagram, dan timing diagram.

Hampir semua notasi pada interaction overview diagram sama dengan notasi pada diagram aktivitas. Sebagai contoh initial, final, decision, merge, fork, dan join nodes sama seperti pada diagram aktivitas. Tambahan pada interaction overview diagram adalah interaction accurrence dan interaction

[image:50.595.213.350.365.561.2]

element.

(51)

2.5 Teknik Pengujian Perangkat Lunak

Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean[11].

2.5.1 Pengujian Black Box

Menurut Roger S. Pressman[11], pengujian black box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian black box menungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box bukan merupakan alternatif dari teknik white box, tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kelas kesalahan daripada metode white box.

Pengujian black box berusaha menemukan kesalahan dalam kategori sebagai berikut :

A. Fungsi-fungsi yang tidak benar atau hilang B. Kesalahan dalam interface

C. Kesalahan dalam struktur data atau akses database eksternal D. Kesalahan kinerja

E. Inisialisasi dan kesalahan terminasi

2.5.2 Pengujian White Box

Menurut Roger S. Pressman[11], pengujian white box, yang kadang-kadang disebut pengujian glass box, adalah metode desain test case yang menggunakan struktur kontrol desain procedural untuk memperoleh test case. Dengan menggunakan metode pengujian white box, perekayasa sistem dapat melakukan test case sebagai berikut :

A. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali

(52)

C. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka

D. Menggunakan struktur data internal untuk menjamin validitasnya.

Pengujian white box yang berupa notasi diagram alir dapat dilihat pada gambar 2.20.

Gambar 2.28 Notasi Diagram Alir[11]

2.6 Tools yang Digunakan

Dalam pembuatan sebuah aplikasi tentu dibutuhkan satu atau beberapa tools yang dalam hal ini berupa software (perangkat lunak). Berikut merupakan beberapa perangkat lunak yang digunakan untuk membangun sebuah aplikasi permainan The Tale of Hunter.

2.6.1 Java

Java adalah salah satu bahasa pemrograman komputer yang berorientasi

objek[12], yang diciptakan oleh satu tim dari perusahaan Sun Microsystem, perusahaan workstation UNIX (Sparc) yang cukup terkenal. Java diciptakan berdasarkan bahasa C++, dengan tujuan platform independent (dapat dijalankan pada berbagai jenis hardware tanpa kompilasi ulang), dengan slogan “Write Once, Run Anywhere (WORA), dan Java pada hakikatnya lebih sederhana dan memakai

objek secara murni dibanding dengan bahasa pemrograman C++.

(53)

kemudian memakai bahasa pemrograman C++ untuk menulis beberapa aplikasi untuk peralatan mikro, namun ternyata dia mengalami banyak kesulitan. Setiap kali sebuah peralatan mikro menggunakan jenis microchip yang berbeda, program yang digunakannya harus dikompilasi ulang. Berdasarkan hal itu kemudian munculah ide dari James Gosling untuk menciptakan sebuah bahasa baru, yang ditulis berdasarkan C++ namun dengan beberapa perbaikan. Bahasa ini kemudian disebut Oak (nama pohon yang terlihat dari jendela ruangan kerja James Gosling), yang digunakan untuk membuat perangkat lunak cerdas bagi peralatan elektronika buatan Sun Mirosystem.

Pada tahun 1994, ketika Web mulai popiler nama bahasa Oak kemudian diganti menjadi Java (salah satu sebabnya ternyata nama Oak telah terlebih dahulu dipakai untuk hal lain). Menurut gosip, Gosling bingung mencari nama untuk bahasa baru tersebut karena setiap nama yang dipikirkannya untuk nama bahasa pemrogramannya ternyata sudah ada yang memakai, sampai suatu ketika dia mampir di sebuah kafe untuk minum kopi, dan ia meminta “Java”. Timbullah idenya untuk memakai nama Java. Menurut Gosling nama ini cukup cool.

Java kemudian dipakai untuk membuat sebuah browser yang bernama

WebRunner. Setelah berhasil maka browser ini kemudian dinamakan HotJava

[image:53.595.209.393.509.598.2]

dengan simbol secangkir kopi panas.

(54)

2.6.2 Greenfoot

Greenfoot merupakan tools yang berorientasi objek dengan menggunakan bahasa pemrograman java [13]. Membuat actors yang berada di dalam world untuk membangun permainan, simulasi dan program grafis lainnya. Adapun Interface dari Greenfoot yang visual dan interaktif. Tools visualisasi dan interaksi

dibangun kedalam environment.

Interface-nya terdapat IDE yang lengkap meliputi project management,

auto-completion, syntax highlighting dan beberapa tools seperti kebanyakan IDE

(55)

105

Pada bab ini akan dilakukan implementasi dan pengujian sistem terhadap aplikasi permainan yang dibangun, yaitu permainan The Tale of Hunter. Hasil perancangan pada tahap sebelumnya kemudian akan diimplementasikan ke dalam bahasa pemrograman Java. Setelah tahap implementasi selesai, maka akan dilakukan tahap pengujian terhadap aplikasi permainan The Tale of Hunter

4.1 Implementasi

Tahap implementasi merupakan tahap penciptaan perangkat lunak dan juga tahap kelanjutan dari kegiatan perancangan aplikasi berdasarkan hasil analisis pada bab sebelumnya.

4.1.1 Perangkat Pendukung yang digunakan

Dalam proses pembuatan aplikasi permainan The Tale of Hunter, sangat membutuhkan perangkat yaitu perangkat keras (hardware) dan perangkat lunak (software). Berikut merupakan penjelasan dari perangkat keras dan perangkat lunak yang digunakan.

4.1.1.1Perangkat Keras (Hardware)

Perangkat keras yang digunakan untuk menjalankan aplikasi permainan The Tale of Hunter sebagai berikut:

1. Prosesor : 1.0 GHz 2. Memory : 256 MB 3. VGA : 512 MB

4. Harddisk : minimal 10MB

(56)

4.1.1.2 Perangkat Lunak (Software)

Perangkat lunak yang digunakan untuk membangun aplikasi permainan The Tale of Hunter sebagai berikut :

1. Sistem Operasi Windows 7 2. Greenfoot + JDK

3. Adobe Photoshop 4. Adobe Illustrator 5.

4.1.2 Implementasi Aplikasi

The Tale of Hunter merupakan aplikasi permainan yang di fokuskan untuk

mencari jalan keluar, mengoleksi item, serta mengalahkan semua musuh.

Permainan dikatakan game over apabila jumlah lifepoint berkurang menjadi 0 dan jika permainan dikatakan finish apabila pemain dapat menyelesaikan misi pada setiap level.

(57)

4.1.3 Implementasi Antarmuka

Adapun implementasi antarmuka pada aplikasi The Tale of Hunter adalah sebagai berikut:

1. Antarmuka Menu Main

[image:57.595.184.477.287.504.2]

Antarmuka Menu Main merupakan tampilan menu utama pada saat pertama kali pemain membuka aplikasi permainan. Tampilan dari antar muka meni main dapat dilihat pada gambar 4.1.

Gambar 4.1 Tampilan Antarmuka Menu Main

2. Antarmuka Intro Permainan

Antarmuka intro permainan merupakan tampilan ketika pemain memilih menu start pada menu main. Antarmuka ini bercerita tentang misi yang

(58)

Gambar 4.2 Tampilan Antarmuka Menu Intro

3. Antarmuka Mulai Permainan

Antarmuka mulai permainan merupakan tampilan ketika pemain memilih menu next pada intro, sehingga akan masuk ke level 1. Tampilan dari antarmuka mulai permainan level 1 dapat dilihat pada gambar 4.3.

Gambar 4.3 Tampilan Antarmuka Level 1

(59)

Gambar 4.4 Tampilan Antarmuka Level 2

Tampilan antarmuka level 3 akan muncul, ketika pemain sudah menyelesaikan misi pada level 2. Tampilan antarmuka level 3 dapat dilihat pada gambar 4.5.

(60)

Tampilan antarmuka level 4 akan muncul, ketika pemain sudah menyelesaikan misi pada level 3. Tampilan antarmuka level 4 dapat dilihat pada gambar 4.5.

Gambar 4.6 Tampilan Antarmuka Level 4

4.2 Pengujian Sistem

Dalam melakukan pengujian terhadap aplikasi permainan The Tale of Hunter dilakukan dengan dua macam teknik, yaitu pengujian black-box dan pengujian white-box.Adapun pengujian black box berfokus pada menemukan kesalahan program, sedangkan pengujian white box berfokus kepada struktur internal (source code) program untuk mengetahui apakah masih terjadi error. Pengujian dilakukan dengan dua tahap, yaitu tahap pengujian alpha dan tahap pengujian beta.

4.2.1 Pengujian Alpha

Pada pengujian ini dilakukan untuk menguji aplikasi permainan The Tale of Hunter. Pengujian aplha berfokus pada persyaratakan fungsional perangkat

(61)

4.2.1.1Rencana Pengujian

[image:61.595.116.551.216.499.2]

Rencana pengujian yang akan dilakukan pada aplikasi permainan The Tale of Hunter selengkapnya terlihat pada tabel di bawah.

Tabel 4.1 Rencana Pengujian Aplikasi permainan The Tale of Hunter

No. Komponen yang diuji Skenario Pengujian Jenis Pengujian

1 Menu Main

Pilih Menu Start Black Box

Pilih Menu Instructions Black Box

Pilih Menu Exit Black Box

2 Menu Instructions

Pilih Menu Start Black Box

Pilih Menu Back Black Box

4 Menu Intro

Pilih Menu Back Black Box

Pilih Menu Exit Black Box

Permainan Level1 Black Box

5 Menu Exit Pilih Menu Exit Black Box

6 Algoritma A* (A Star)

Algoritma A* pada

permainan White Box

4.2.1.2Kasus dan Hasil Pengujian Black Box

Berdasarkan hasil pengujian yang telah disusun, maka dapat dilakukan pengujian sebagai berikut. Pengujian yang dilakukan meliputi pengujian tampilan pembuat.

A. Pengujian Mulai Permainan

(62)

Tabel 4.2 Pengujian Mulai Permainan

Kasus dan Hasil Uji (Data benar) Masukan Keluaran yang

diharapkan

Pengamatan Kesimpulan

Pilih Next (pada intro)

Menampilkan map level 1

Dapat menampilkan map level 1

[√] Berhasil [ ] Gagal Menyelesaikan

misi level 1

Menampilkan map level 2

Dapat menampilkan map level 2

[√] Berhasil [ ] Gagal Menyelesaikan

misi level 2

Menampilkan map level 3

Dapat menampilkan map level 3

[√] Berhasil [ ] Gagal Menyesaikan misi level 3 Menampilkan keterangan Game Finish Dapat Menampilkan keterangan Game Finish

[√] Berhasil [ ] Gagal

B. Pengujian Tampil Instructions

[image:62.595.86.494.122.377.2]

Pengujian tampil instuction dengan kasus dan hasil uji, kemudian diamati dan menghasilkan kesimpulan dapat dilihat pada tabel 4.3.

Tabel 4.3 Pengujian Tampil Instruction

Kasus dan Hasil Uji (Data benar) Masukan Keluaran yang

diharapkan

Pengamatan Kesimpulan

Pilih Menu Start Menampilkan Menu Intro

Dapat menampilkan menu intro

[√] Berhasil [ ] Gagal Pilih Menu Back Menampilkan

menu main

Dapat menampilkan menu main

(63)

C. Pengujian Tampil Intro

Pengujian tampil intro dengan kasus dan hasil uji, kemudian diamati dan menghasilkan kesimpulan dapat dilihat pada tabel 4.4.

Tabel 4.4 Pengujian Tampil Intro

Kasus dan Hasil Uji (Data benar) Masukan Keluaran yang

diharapkan

Pengamatan Kesimpulan

Pilih Menu Next Menampilkan permainan level 1

Dapat menampilkan permainan level 1

[√] Berhasil [ ] Gagal Pilih Menu Back Menampilkan

menu main

Dapat menampilkan menu main

[√] Berhasil [ ] Gagal

4.2.1.3Kasus dan Pengujian White Box

Dibawah ini merupakan kasus algoritma A* (A star) untuk menguji perangkat lunk yang sudah dibangun dengan menggunakan metode white box, berdasarkan skenario pengujian aplikasi yang dijabarkan.

A. Algoritma

1 create the open list of nodes, initially containing only our starting node 2 create the closed list of nodes, initially empty

3 while (we have not reached our goal) {

4 consider the best node in the open list (the node with the lowest f value)

5 if (this node is the goal) {

6 then we're done

7 }

8 else {

(64)

10 for (each neighbor) {

11 if (this neighbor is in the closed list and our current g value is lower) {

12 update the neighbor with the new,

lower, g value

change the neighbor's parent to our

current node

13 }

14 else if (this neighbor is in the open list and our current g value is lower) {

15 update the neighbor with the new,

lower, g value

change the neighbor's parent to our

current node

16 }

17 else this neighbor is not in either the open or closed list {

18 add the neighbor to the open list and

set its g value

19 }

20 }

21 }

(65)
[image:65.595.150.451.108.559.2]

B. Flow Graph

Gambar 4.7 Flow Graph A*

Kerangan :

= Menggambarkan kondisi

(66)

C. Cylomatic Complexity V(G) V(G) = E – N + 2

V(G) = 26 – 22 + 2

V(G) = 6

Di mana:

E = jumlah edge pada grafik alir

N = jumlah node pada grafik alir

D. Independent Path

Path 1 = 1-2-3-4-5-6-7-22

Path 2 = 1-2-3-22

Path 3 = 1-2-3-4-5-8-9-10-11-12-20-21-22

Path 4 = 1-2-3-4-5-6-7-8-9-10-13-14-15-16-20-21-22

Path 5 = 1-2-3-4-5-8-9-10-13-17-18-19-20-21-22

(67)

E. Graph Matrices

Berikut in adalah graph matrices dari algoritma A* yang dapat dilihat pada tabel 4.5.

Tabel 4.5 Graph Matrices A*

(68)

V(G) = Jumlah Graph Matrices + 1

V(G) = 5 + 1

V(G) = 6

Berdasarkan hasil pengujian dihasilkan nilai Cyclomatic Complexity yang sama yaitu 6, maka dapat disimpulkan bahwa pada proses pencarian dengan algoritma A* (A star) berjalan dengan baik, karena setiap pengujian menghasilkan nilai yang sama.

4.2.1.4Kesimpulan Pengujian Alpha

Dari hasil pengujian yang dilakukan, dapat disimpulkan bahwa sistem sudah berjalan seperti yang diharapkan dan secara fungsional sudah dapat menghasilkan keluaran yang diharapkan.

4.2.2 Pengujian Beta

Pengujian beta merupakan pengujian yang dilakukan secara objektif, dimana pengujian dilakukan dengan mencoba aplikasi secara langsung ke kalangan yang menjadi target user aplikasi permainan The Tale of Hunter. Pengujian dilakukan dengan cara membagikan kuisioner kepada para penggunakan guna mendapatkan data tentang kepuasan pengguna terhadap game The Tale of Hunter.

Kuesioner disebarkan menggunakan teknik Simple Random Sampling dimana anggota sample dari populasi dilakukan secara acak tanpa memperhatikan strata yang ada dalam populasi.

20 1 1 1 21 1 0 22 0

(69)

Kuesioner disebarkan kepada 25 orang , dari hasil kuesioner tersebut akan dilakukan perhitungan agar dapat diambil kesimpulan terhadap penilaian kepuasan terhadap aplikasi game The Tale of Hunter. Kuesioner terdiri dari 5 pernyataan dengan menggunakan skala 1 sampai 4 (skala likert)

Untuk mencari nilai persentase dari masing-masing pendapat kuesioner digunakan rumus skala likert sebagai berikut :

(4.1) Keterangan :

P = Nilai presentase yang dicari

= Jumlah skor yang didapatkan dari setiap pilihan jawaban dikalikan dengan nilai yang telah ditetapkan sebelumnya

skorideal = Nilai tertinggi pada point pilihan dikalikan dengan jumlah responden

Berikut adalah kuesioner yang disebarkan ke target user dan harus di isi oleh responden :

1) Apakah musuh dalam game ini lebih pintar dari game yang di analisis. a) Sangat Setuju

b) Setuju

c) Kurang Setuju d) Tidak Setuju

2) Apakah memperbanyak penghalang (map) membuat game lebih menantang.

a) Sangat Setuju b) Setuju

(70)

3) Apakah dengan 2 jenis permainan yang berbeda, membuat game lebih menarik.

a) Sangat Setuju b) Setuju

c) Kurang Setuju d) Tidak Setuju

4) Apakah secara umum kontrol dalam permainan sudah baik. a) Sangat Setuju

b) Setuju

c) Kurang Setuju d) Tidak Setuju

5) Apakah secara umum menurut anda game ini sudah menarik a) Sangat Setuju

b) Setuju

(71)

4.2.2.1 Hasil pengujian Beta

1. Apakah musuh dalam game ini lebih pintar dari game yang di analisis. Hasil kuesioner untuk pertanyaan ke-1 dapat dilihat pada tabel 4.6.

Tabel 4.6 Perhitungan Presentase Pernyataan ke-1

Pernyataan Keterangan Skor Frekuensi S

1

Sangat Setuju 4 10 40

Setuju 3 18 54

Kurang

Setuju 2 2 4

Tidak Setuju 1 0 0

Jumlah 30 98

[image:71.595.161.473.220.426.2]

Berdasarkan hasil presentase nilai diatas, maka dapat disimpulkan bahwa penilaian terhadap aplikasi permainan The Tale of Hunter adalah 81,6% dari yang diharapkan 100% atau dikatakan sebagai setuju. Berikut Kriteria skor yang dapat dilihat pada gambar 4.8 :

(72)

2. Apakah memperbanyak penghalang (map) membuat game lebih menantang.

Hasil kuesioner untuk pertanyaan ke-1 dapat dilihat pada tabel 4.7

Tabel 4.7 Perhitungan Presentase Pernyataan ke-2

Pernyataan Keterangan Skor Frekuensi S

2

Sangat Setuju 4 9 36

Setuju 3 16 48

Kurang

Setuju 2 5 10

Tidak Setuju 1 0 0

Jumlah 30 94

Berdasarkan hasil presentase nilai diatas, maka dapat disimpulkan bahwa penilaian terhadap aplikasi permainan The Tale of Hunter adalah 78,3 dari yang diharapkan 100% atau dikatakan sebagai setuju. Berikut Kriteria skor yang dapat dilihat pada gambar 4.9 :

(73)

3. Apakah dengan 2 jenis permainan yang berbeda, membuat game lebih menarik.

Hasil kuesioner untuk pertanyaan ke-3 dapat dilihat pada tabel 4.8

Tabel 4.8 Perhitungan Presentase Pernyataan ke-3

[image:73.595.159.475.224.460.2]

Berdasarkan hasil presentase nilai diatas, maka dapat disimpulkan bahwa penilaian terhadap aplikasi permainan The Tale of Hunter adalah 85% dari yang diharapkan 100% atau dikatakan sebagai setuju. Berikut Kriteria skor yang dapat dilihat pada gambar 4.10 :

Gambar 4.10 Interpretasi Skor Pertanyaan ke-3 Pernyataan Keterangan Skor Frekuensi S

3

Sangat Setuju 4 15 60

Setuju 3 12 36

Kurang

Setuju 2 3 6

Tidak Setuju 1 0 0

(74)

4. Apakah Apakah secara umum kontrol dalam permainan sudah baik. Hasil kuesioner untuk pertanyaan ke-4 dapat dilihat pada tabel 4.9

Tabel 4.9 Perhitungan Presentase Pernyataan ke-4

[image:74.595.94.469.207.449.2]

Berdasarkan hasil presentase nilai diatas, maka dapat disimpulkan bahwa penilaian terhadap aplikasi permainan The Tale of Hunter adalah 77,5 dari yang diharapkan 100% atau dikatakan sebagai setuju. Berikut Kriteria skor yang dapat dilihat pada gambar 4.11 :

Gambar 4.11 Interpretasi Skor Pertanyaan ke-4

Pernyataan Keterangan Skor Frekuensi S

4

Sangat Setuju 4 7 28

Setuju 3 19 57

Kurang

Setuju 2 4 8

Tidak Setuju 1 0 0

(75)

5. Apakah secara umum menurut anda game ini sudah menarik Hasil kuesioner untuk pertanyaan ke-4 dapat dilihat pada tabel 4.10

Tabel 4.10 Perhitungan Presentase Pernyataan ke-5

Pernyataan Keterangan Skor Frekuensi S

5

Sangat Setuju 4 6 24

Setuju 3 21 63

Kurang

Setuju 2 3 6

Tidak Setuju 1 0 0

Jumlah 30 93

Berdasarkan hasil presentase nilai diatas, maka dapat disimpulkan bahwa penilaian terhadap aplikasi permainan The Tale of Hunter adalah 84,1% dari yang diharapkan 100% atau dikatakan sebagai setuju. Berikut Kriteria skor yang dapat dilihat pada gambar 4.12 :

(76)

4.2.2.2 Kesimpulan Pengujian Beta

(77)

127 5.1 Kesimpulan

Berdasarkan hasil penelitian, analisis, perancangan sistem dan pengujian aplikasi permainan The Tale of Hunter berupa kuesioner, maka diperoleh kesimpulan sebagai berikut :

1. Musuh dalam game yang dibangun lebih pintar dari musuh musuh dalam game yang dianalisis.

2. Dua jenis permainan yang berbeda, membuat game lebih bervariasi dan menarik.

5.2 Saran

Aplikasi permainan The Tale of Hunter dapat dikembangkan lebih lanjut agar lebih baik kedepannya, yaitu:

1. Menerapkan kecerdasan buatan lain sehingga lebih banyak lagi variasi dari perilaku musuh.

2. Pengembangan game secara online agar game dapat dikenal lebih luas. 3. Penggunaan sprite pada animasi yang lebih detail pada game.

.

(78)
(79)

Gambar

Gambar 2.14 Ilustrasi kotak awal sebagai closed list[7]
Gambar 2.16 Ilustrasi penentuan kotak selanjutnya[7]
Gambar 2.18 Ilustrasi hasil akhir pencarian rute terpendek[7]
Gambar 2.13 Contoh dari Use Case Diagram[10]
+7

Referensi

Dokumen terkait