Pembangunan aplikasi game hybrid shooter side-scrolling destroyer Garuda berbasis desktop

(1)

(2)

(3)

(4)

(5)

Nama : Nurul Iman Jenis Kelamin : Laki-laki

Tempat/Tanggal Lahir : Cirebon, 17 Desember 1987

Agama : Islam

Warga Negara : Indonesia

Alamat : Jl. Let Jend S Parman No 26 Rt 01/Rw 02 Kecamatan Pabuaran Kabupaten Cirebon

Telepon : +6285721252121

E-mail : Boele_razor@yahoo.com

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : SD Negeri 1 CENTRE tahun ajaran 1993-1999

2. Sekolah Menengah Pertama : SMP Muhammadiah tahun ajaran 1999-2002

3. Sekolah Menengah Atas : SMA Negeri 1 Lemahabang tahun ajaran 2002-2005

4. Perguruan Tinggi : Program Studi S1 Teknik Informatika Universitas Komputer Indonesia tahun ajaran 2008-2013

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

Bandung,


(6)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

NURUL IMAN

10107654

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2013


(7)

iii

KATA PENGANTAR

Assalammu’alaikum Wr. Wb.

Alhamdulillah segala puji syukur kehadirat Allah Subhanallah Wata’ala karena atas semua rahmat dan ijin-Nya penulis dapat melakukan dan menyelesaikan penulisan skripsi yang berjudul Pembangunan Aplikasi Game Hybrid Shooter Side-Scrolling Destroyer Garuda Berbasis Dekstop ”. Tak lupa shalawat beserta Salam penulis panjatkan kehadirat Nabi dan Rasul Muhammad SAW .

Adapun tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) Program Studi Teknik Informatika, Universitas Komputer Indonesia.

Dalam proses penyelesaian skrisi ini penulis banyak mengalami kesulitan dalam pengerjanya, penulis ingin mengucapkan banyak terimakasih kepada pihak-pihak yang terkait dari awal kuliah sampai penyelesaian skripsi ini. Berikut adalah pihak yang ingin penulis sampaikan terimakasih :

1. Kepada kedua orang tua, Bapak Ambyah sebagai ayah terbaik, pemimpin keluarga terbijak yang paling penulis hormati dan kagumi, dan Ibu Cicih Wasriah sebagai ibu terbaik yang senantisa mendoakan, menyemangati dan memeberikan dorongan moril maupun materil.

2. Ibu Tati Harihayati M., S.T., M.T. selaku dosen pembimbing, terima kasih banyak bu atas arahan dan masukanya yang sangat membantu dalam penyusunan skripsi ini.

3. Ibu Nelly Indriani W, S.Si., M.T. selaku dosen penguji seminar yang juga ikut membimbing saya, yang telah memberikan banyak masukan dan motivasi yang berarti bagi penulis.

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


(8)

iv

5. Kepada seluruh dosen dan staff Program Studi Teknik Informatika Universitas Komputer Indonesia, terima kasih atas semua ilmu yang telah diberikan.

6. Kepada rekan-rekan IF-14 angkatan 2007 yang telah memberikan motifasi, inspirasi, dorongan semangat serta pengalaman yang tak ternilai harganya kepada penulis yang tidak dapat penulis sebutkan satu per satu.

7. Kepada rekan-rekan tugas akhir yang mengambil tema game yang telah memberikan inspirasi, serta kebersamaan yang tak ternilai.

8. Kepada pihak-pihak yang tidak dapat penulis sebutkan satu per satu, terima kasih atas semua bantuan serta dukungan sehingga penulis dapat menyelesaikan kuliah ini.

Penulis menyadari bahwa pada laporan skripsi ini masih banyak kekurangan dan jauh dari kesempurnaan, baik dalam cara penyampaian laporan maupun kelengkapan data. Hal itu tidak lepas karena penulis hanyalah manusia biasa yang tidak luput dari kesalahan, kesalahan milik manusia dan kesempurnaan hanya milik Allah SWT. Untuk itu penulis akan selalu menerima segala masukan yang ditujukan untuk menyempurnakan skripsi ini. Akhir kata, penulis berharap semoga hasil skripsi ini bermanfaat bagi penulis khususnya dan seluruh pembaca umumnya.

Wassalamu’alaikum Wr. Wb Bandung, 25 Januari 2013


(9)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xiii

DAFTAR LAMPIRAN ... xv

DAFTAR REFERENSI PROPERTIES GAME ... xvi

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 3

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 6

BAB 2 LANDASAN TEORI ... 9

2.1 Video game ... 9

2.1.1 Pengertian Game ... 9

2.1.2 Jenis Jenis Game ... 10

2.1.3 Genre Game ... 11

2.2 Kecerdasan Buatan ... 14


(10)

vi

2.4.3 UML (Unified Modeling Language) ... 21

2.4.4 Greenfoot ... 26

2.4.5 Corel Draw ... 27

BAB 3 ANALISIS DAN PERANCANGAN ... 29

3.1 Analisis Sistem ... 29

3.1.1 Analisis Masalah ... 29

3.1.2 Analisis game yang sejenis ... 30

3.1.2.1 Game Mario Bros ... 30

3.1.3 Analisis game yang dibangun ... 33

3.1.3.1 Storyline ... 35

3.1.3.2 Analisis Tingkat Kesulitan... 35

3.1.3.3 Gameplay ... 36

3.1.3.4 Analisis Scoring ... 37

3.1.4 Analisis Metode Collision Detection ... 37

3.1.5 Analisis Algoritma Djikstra ... 38

3.1.6 Analisis Kebutuhan Non-Fungsional ... 40

3.1.6.1 Analisis Kebutuhan Perangkat Keras ... 41

3.1.6.2 Analisis Kebutuhan Perangkat lunak ... 42

3.1.6.3 Analisis User ... 42

3.1.6.4 User Knowledge and Experience ... 42

3.1.6.5 User Physical Characteristic ... 42


(11)

vii

3.1.10.1 Skenario Usecase ... 45

3.1.10.2 Skenario Usecase Play ... 45

3.1.10.3 Skenario Usecase Control... 46

3.1.10.4 Skenario Usecase Level 1 ... 47

3.1.10.5 Skenario Usecase Level 2 ... 47

3.1.10.6 Skenario Usecase Level 3 ... 48

3.1.11 Activity Diagram ... 49

3.1.12 Class Diagram ... 51

3.1.13 Sequence Diagram ... 60

3.1.13.1 Sequence Diagram Level 1 ... 60

3.1.13.2 Sequence Diagram Level 2 ... 61

3.1.13.3 Sequence Diagram Level 3 ... 62

3.2 Perancangan Sistem ... 63

3.2.1 Karakter Game ... 64

3.2.2 Storyboard ... 66

3.2.3 Perancangan Antarmuka Menu Utama ... 66

3.2.4 Perancangan Antarmuka Level 1, 2, & 3 game ... 67

3.2.5 Perancangan Antarmuka Control ... 68

3.2.6 Perancangan Antarmuka Finish ... 69

3.2.7 Perancangan Antarmuka Game Over ... 70

3.2.8 Jaringan Semantik ... 70


(12)

viii

3.2.9.4 Perancangan Method fall ... 73

3.2.9.5 Perancangan Method Jump ... 74

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 75

4.1 Implementasi ... 75

4.1.1 Perangkat Kebutuhan Aplikasi ... 75

4.1.1.1 Perangkat Keras ... 75

4.1.1.2 Perangkat Lunak ... 75

4.1.2 Identifikasi Kelas ... 76

4.1.3 Implementasi Antarmuka ... 76

4.1.3.1 Tampilan Menu Utama ... 77

4.1.3.2 Tampilan Control ... 77

4.1.3.3 Tampilan Level 1 ... 78

4.1.3.4 Tampilan Level 2 ... 79

4.1.3.5 Tampilan Level 3 ... 79

4.1.3.6 Tampilan Game Over ... 80

4.1.3.7 Tampilan Finish ... 80

4.2 Pengujian Sistem ... 81

4.2.1 Pengujian Alpha (fungsional) ... 81

4.2.2 Pengujian White Box ... 84

4.2.3 Hasil Pengujian ... 87

4.2.3.1 Hasil Pengujian White Box ... 88


(13)

ix

5.2 Saran ... 96 Daftar Pustaka ... 97


(14)

99

DAFTAR PUSTAKA

[1] Kursusprivat, 2012, Definisi Arcade, Artificial Intelligence, Side Scrolling Game.

[2] Sommerville, Ian , 2007, Software Engineering – Eight Edition, Addison Wesley, Massachussets.

[3] Desiani, A. dan Arhami, M., 2006, Konsep Kecerdasan Buatan, Penerbit Andi, Yogyakarta.

[4] Wijaya Nurdiansah, 2011, Pembangunan Aplikasi Game 2D Kabayan Saving Our Cultures, Skripsi, Teknik Informatika, Universitas Komputer Indonesia, Bandung.

[5] Lutfi, Hendratmono Arief, 2008 Algoritma Djikstra untuk menemukan jarak terpendek dengan menggunakan strategi greedy.

[6] Setiadi, Robert, 2008. Algoritma itu mudah, PT. Prima Infosaran Media.

[7] Fowler Martin, 2004, UML Distilled 3th Edition. Panduan Singkat Bahasa

Pemodelan Objek Standar, Andi, Yogyakarta.

[8] http://www.greenfoot.org/scenarios/2444, (Diakses pada tanggal 12 Desember 2012).

[9] Amber W Scoot, 2005, The Elements of UML 2.0 Style, CAMBRIDGE UNIVERSITY PRESS, New York.

[10] Suyanto, 2009, Artificial Intelligence, Informatika, Bandung.

[11] Fatta, A. H. 2007, Analisis dan Perancangan Sistem Informasi. Yogyakarta: Andi.

[12] Overmars, Mark, 2009, The Game Maker’s Apprentice, technology in action. [13] http://www.gamexeon.com/forum/retro-game/62580-retroreview-super-mario-


(15)

1 BAB 1 PENDAHULUAN

1.1. Latar Belakang Masalah

Seiring dengan perkembangan teknologi informasi, kini komputer menjadi salah satu media pilihan dalam pertukaran informasi komputer juga bisa menjadi media hiburan pilihan selain televisi. Dengan adanya komputer orang-orang dapat melakukan pencarian informasi di internet, bermain game, memutar musik dan video, dan lain sebagainya. Game merupakan salah satu produk teknologi informasi yang cukup digemari saat ini, para pengelola industri berlomba-lomba untuk menciptakan game lebih menarik untuk para pemainya dengan cara meningkatkan kelincahan intelektual pada tingkat gameplay. Sehingga game tidak sekedar permainan untuk mengisi waktu luang melainkan cara untuk meningkatkan kreatifitas dan intelektual para penggunanya

Game side scrolling adalah salah satu genre game dengan sudut pandang kamera seolah-olah di samping karakter, dan mengikuti pergerakan pemain yang pada umumnya bergerak dari sisi kiri menuju sisi kanan layar untuk mencapai target atau lokasi yang telah ditentukan. Alasan menerapkan side scrolling adventure game pada game yang akan dibangun adalah, karena game sejenis ini paling cocok untuk diterapkan pada umur 6 tahun ke atas, karena kontrol permainan yang tidak terlalu rumit dalam memainkannya [1].

Game tentu akan lebih menarik jika di dalamnya ada sebuah tantangan yang cukup sulit dengan memberikan sebuah kecerdasan buatan pada musuh yang berada dalam game. AI adalah sebuah kecerdasan buatan yang di tanamkan pada mesin atau komputer, agar seolah-olah menjadi lebih pintar dan bisa berfikir sendiri layaknya manusia. AI yang akan di gunakan adalah algoritma Dijkstra, yaitu algoritma pencarian buta untuk mencari jalur terpendek yang akan diterapkan pada musuh dalam melakukan perburuan terhadap pemain.


(16)

Garuda adalah hewan yang terbang maka dari itu pemilihan genre shooter sejalan dengan hal itu. Genre yang menampilkan lansekap luas adalah mutlak diperlukan dan genre side-scrolling-lah yang cocok. Kedua genre tersebut kemudian dikombinasikan sehingga menghasilkan sebuah genre baru yaitu hybrid shooter side-scrolling. Genre baru inilah yang akan diterapkan dalam pembangunan aplikasi game ini, Berdasarkan latar belakang tersebut, maka diambil tema skripsi ini dengan judul “Pembangunan Aplikasi Game Hybrid Shooter Side-Scrolling Destroyer Garuda Berbasis Dekstop”.


(17)

1.2. Perumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan, terdapat masalah yang muncul yaitu bagaimana meningkatkan kesulitan dalam permainan game yaitu dengan cara menerapkan algoritma Djikstra sebagai AI pada game yang akan dibangun.

1.3. Maksud dan Tujuan

Berdasarkan permasalahan yang telah diteliti, maka maksud dari penelitian skripsi ini yaitu membangun suatu aplikasi game hybrid shooter side-scrolling Destroyer Garuda berbasis dekstop.

Sedangkan tujuan yang hendak dicapai dari penulisan skripsi ini sendiri adalah untuk meningkatkan tingkat kesulitan permainan dalam game dengan cara menerapkan algoritma Dijkstra pada game yang akan dibangun.

1.4. Batasan Masalah

Agar Di dalam mengkaji suatu permasalahan diperlukan suatu batasan agar pengkajiannya tidak terlalu meluas. Berikut adalah batasan-batasan dalam penulisan Skripsi ini :

1. Aplikasi game yang akan dibangun bergrafis 2 dimensi dan berbasis desktop. 2. AI yang dipergunakan adalah algoritma Djikstra, yang diterapkan pada musuh

dalam melakukan perburuan terhadap pemain. 3. Pemain game ini hanya single player.

4. Level game hanya dibatasi sampai level 3 saja.

5. Musuh yang disertakan dalam aplikasi permainan ini terdiri dari 4 jenis yaitu UFO, Robot Ufo, Shooter Ufo dan Boss.

6. Model analisis dalam pemodelan berorientasi objek menggunakan UML (Unifed Modelling Language).

7. Aplikasi game ini dibangun dengan Bahasa Pemrograman Java, menggunakan JDK 1.6 dan IDE GreenFoot 2.0.1.


(18)

1.5. Metodologi Penelitian

Metodologi penelitian yang digunakan dalam mengerjakan laporan penelitian ini adalah metode deskriptif, yaitu metode penelitian yang menggambarkan secara sistematika dan akurat mengenai keadaan-keadaan nyata yang berjalan pada saat penelitian. Gambaran tersebut diperoleh dengan cara mengumpulkan, mengklasifikasikan, menyajikan, serta menganalisis data sehingga dapat ditarik suatu kesimpulan [1].

Metode ini dibagi menjadi dua, yaitu pengumpulan data dan pengembangan perangkat lunak.

1. Metode Pengumpulan Data

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

a. Studi Pustaka

Pengumpulan data dilakukan dengan cara mempelajari, meneliti, dan menelaah berbagai literatur dari perpustakaan yang bersumber dari buku, jurnal ilmiah, situs internet, dan bacaan lainnya yang berkaitan dengan judul skripsi.

b. Observasi

Teknik pengumpulan data dengan cara melakukan pengamatan secara langsung terhadap permasalahan yang diambil. Observasi langsung di lingkungan sekitar rumah untuk mengetahui situasi dan kondisi anak-anak pra remaja (usia 9-12 tahun) terhadap kemampuan matematika dasar yang dimiliki secara langsung.

c. Kuesioner

Kuesioner adalah Pengumpulan data dengan cara memberi seperangkat pertanyaan kepada responden dengan format pilihan ganda. Hal ini dilakukan saat pengujian aplikasi guna mengetahui tanggapan dan respon mengenai game ini


(19)

2. Metode Pengembangan Perangkat Lunak

Metode Metode pengembangan perangkat lunak yang digunakan dalam pengembangan aplikasi game Destroyer Garuda menggunakan paradigma model waterfall yang mengacu pada aturan Sommerville, Ian dimana tahap demi tahap proses yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan yang meliputi sebagai berikut :

a. Requirtments analysis and definition

Requirtments analysus and definition merupkn tahap dimana tugas, kendala dan tujuan sistemdi tentkan melalui konsultasi dengan pemakai sistem. Kemudian di tentukan cara yang dapat diphami baik oleh user maupun pengembang.

b. System dan software desain

Planning System and software desain adalah tahap dimana proses desain sistem terbagi dalam ebutuhan perangkat keras dan perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditransformasikan kedalam satu atau lebih program yang dapat dieksekusi.

c. Implementation and unit testing

Implementation and unit testing merupakan tahap dimana desain perangkat lunak direalisasikandalam suatu himpunan program atau unit-unit program. Pengujian unit mencakup kegiatan verifikasi terhadap suatu unit sehingga memenuhi syarat spesifikasinya.

d. Integration and system testing

Integration and system testing merupakan tahap dimana unit program secara individual diintegrasikan dan diuji sebagai satu sistem yang lengkap untuk memastikan bahwa kebutuhan perangkat lunak disampaikan kepada user.


(20)

e. Operation and maintenance

Operation and maintenance secara normal walaupun tidak selalu diperlukan, tahap ini merupakan bagian siklus hidup yang panjang. Sistem telah terpasang dan sedang dalam penggunaan. Pemeliharaan mencakup perbaikan kesalahan yang tidak ditemukan dalam tahap-tahap sebelumnya, meningkatkan implementasi unit-unit sistem dan mempertinggi pelayanan sistem yang disebabkan oleh ditemukannya kebutuhan baru.

Dari penjelasan tersebut dapat digambarkan seperti yang terlihat pada Gambar 1.1 Metode Sistem Waterfall [1].


(21)

1.6. Sistematika Penulisan

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

BAB 1 PENDAHULUAN

Bab ini menguraikan tentang latar belakang masalahan, rumusan masalah, menentukan maksud dan tujuan, metodologi penelitian, dan sistematika penulisan dari tugas akhir yang dibuat.

BAB 2 LANDASAN TEORI

Bab ini Menguraikan tentang teori-teori yang relevan dengan kajian penelitian dan hal-hal lainnya yang mendukung penelitian serta berguna dalam pengembangan aplikasi game Destroyer Garuda.

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini menguraikan tentang proses rekayasa balik dari aplikasi permainan yang dijadikan acuan kemudian menganalisis hasilnya untuk kebutuhan pengembangan aplikasi. Selain itu diuraikan pula mengenai tahap perancangan aplikasi berdasarkan dari hasil analisisnya.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini menguraikan implementasi dari pembangunan aplikasi game Destroyer Garuda berisi tentang perancangan dalam pembuatan sistem dan tahapan-tahapan yang dilakukan untuk menerapkan sistem yang telah dirancang. Mulai perancangan dan pembuatan karakter, map dan environment game sampai pada penerapan AI.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan tentang keseluruhan hasil dari proses penelitian yang telah dilakukan yaitu mengenai pembangunan aplikasi game Destroyer Garuda.


(22)

(23)

9 2.1. Video game

Video games adalah permainan elektronik yang melibatkan interaksi antarmuka dengan pengguna untuk menghasilkan umpan balik secara visual pada perangkat video. Kata video pada Video game tradisional disebut perangkat layar raster. Namun dengan semakin dipakainya istilah "Video game", kini kata permainan video dapat digunakan untuk menyebut permainan pada perangkat layar apapun. Sistem elektronik yang digunakan untuk bermain Video game dikenal sebagai platform, contoh ini adalah komputer pribadi dan konsol permainan video. Platform ini dari tingkatan besar seperti komputer mainframe sampai yang kecil seperti perangkat mobile. Video game khusus seperti game arcade, sementara sebelumnya umum, telah berangsur-angsur menurun digunakan. Video game telah pergi untuk menjadi sebuah bentuk seni dan industry [4].

Sebuah video game adalah permainan yang biasanya melibatkan player berinteraksi dengan alat pengendali untuk menghasilkan umpan balik secara visual dalam sebuah layar video. Perangkat input yang digunakan untuk memanipulasi permainan video disebut pengendali permainan, dan bervariasi di seluruh platform. Sebagai contoh, controller mungkin hanya terdiri dari sebuah tombol dan joystick, sementara yang lain mungkin mempunyai selusin tombol dan satu atau lebih joystick.

Video game biasanya menggunakan sarana tambahan menyediakan

interaktivitas dan informasi untuk pemain. Audio hampir universal, menggunakan perangkat reproduksi suara, seperti speaker dan headphone. Umpan balik lain mungkin datang melalui peripheral haptic, seperti getaran atau kekuatan, dengan getaran kadang-kadang digunakan untuk mensimulasikan umpan balik kekuatan.


(24)

2.1.1 Pengertian Game

Pengertian game menurut beberapa ahli [4] :

1. Menurut Agustinus Nilwan dalam bukunya Pemrograman Animasi dan Game Profesional terbitan Elex Media Komputindo, game merupakan permainan komputer yang dibuat dengan teknik dan metode animasi. Jika ingin mendalami pengunaan animasi haruslah memahami pembuatan game. Atau jika ingin membuat game, maka haruslah memahami teknik dan metode animasi, sebab keduanya saling berkaitan.

2. Menurut Clark C. Abt, Game adalah kegiatan yang melibatkan keputusan pemain, berupaya mencapai tujuan dengan dibatasi oleh konteks tertentu (misalnya, dibatasi oleh peraturan).

3. Menurut Chris Crawford, seorang computer game designer mengemukakan bahwa game, pada intinya adalah sebuah interaktif, aktivitas yang berpusat pada sebuah pencapaian, ada pelaku aktif (player), ada pelaku pasif (NPC). 4. Menurut David Parlett, Game adalah sesuatu yang memiliki "akhir dan cara

mencapainya" : artinya ada tujuan, hasil dan serangkaian peraturan untuk mencapai keduanya.

5. Menurut Roger Caillois, seorang sosiolog Perancis, dalam bukunya yang berjudul Les jeux et les hommes menyatakan game adalah aktivitas yang mencakup karakteristik berikut: fun (bebas bermain adalah pilihan bukan kewajiban), separate (terpisah), uncertain, non-productive, governed by rules (ada aturan), fictitious (pura-pura).

6. Menurut Greg Costikyan, Gameadalah “sebentuk karya seni di mana peserta, yang disebut Pemain, membuat keputusan untuk mengelola sumberdaya yang dimilikinya melalui benda di dalam gamedemi mencapai tujuan”.


(25)

2.1.2 Jenis – Jenis Game

Berikut ini akan dijabarkan beberapa jenis game berdasarkan cara pembuatannya, cara pemasarannya, mesin yang menjalankannya. Jenis game diantaranya adalah [4] :

1. Game PC

Game yang dimainkan pada PC (Personal Computer) yang memiliki kelebihan yaitu memiliki tampilan antarmuka yang baik untuk input maupun output, output visual kualitas tinggi karena layar computer biasanya memiliki resolusi yang jauh lebih tinggi dibandingkan dengan layar televise biasa.

2. Game Console

Game yang dijalankan pada suatu mesin spesifik yang biasanya tersedia di rumah pribadi, seperti Microsoft Xbox 360, Nintendo Wii dan sebagainya. 3. Game Arcade

Game yang dijalankan pada mesin dengan input dan output audio visual yang telah terintegrasi dan tersedia ditempat-tempat umum, seperti mal, bandara dan sebagainya.

4. Game Online

Game yang hanya dapat dimainkan secara online melalui LAN atau internet.

2.1.3 Genre Game

Chris Crawford mencatat bahwa "keadaan desain komputer game berubah dengan cepat karena itu kita akan mengharapkan taksonomi disajikan di sini untuk menjadi usang atau tidak memadai dalam waktu singkat. Hampir semua jenis klasifikasi genre, soal genre tertentu setiap video game individu terbuka untuk interpretasi pribadi. Selain itu, penting untuk dapat memikirkan setiap permainan individu sebagai milik beberapa genre sekaligus, Game dibagi menjadi beberapa genre, berikut ini adalah macam-macam genre game [4]:


(26)

1. Action Shooting (tembak – menembak)

Menembak , memukul , bisa juga menebas, tergantung cerita dan tokoh di dalamnya, Video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak menembak.

Contoh : GTA dan Crysis. 2. Fighting (pertarungan)

Ada yang mengelompokan Video game fighting di bagian Aksi, namun sebenarnya berbeda, jenis ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini adalah penguasaan jurus (hafal caranya dan lancar mengeksekusinya), pengenalan karakter dan timing sangatlah penting untuk mengalahkan lawan secepat mungkin. Contoh : Mortal Kombat dan Tekken.

3. Adventure (Petualangan)

Memasuki gua bawah tanah, melompati bebatuan di antara lahar, bergelayutan dari pohon satu ke pohon lain, bergulat dengan ular sambil mencari kunci untuk membuka pintu kuil legendaris, atau sekedar mencari telepon umum untuk mendapatkan misi berikutnya, itulah beberapa dari banyak hal yang karakter pemain harus lakukan dan lalui dalam Video game jenis ini.

Contoh : Kings Quest, dan Space Quest. 4. Strategy (strategi)

Video game strategi biasanya memberikan pemain atas kendali tidak hanya satu orang tapi minimal sekelompok orang dengan berbagai jenis tipe kemampuan, sampai kendaraan, bahkan hingga pembangunan berbagai bangunan, pabrik dan pusat pelatihan tempur, tergantung dari tema ceritanya. Kebanyakan game stategi adalah game perang. Contoh : Warcraft. 5. Simulation (Simulasi)

Video game jenis ini seringkali menggambarkan dunia di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan detil


(27)

berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari berjualan limun pinggir jalan hingga membangun laboratorium cloning. Video game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas.

6. Puzzle (menyusun)

Video game jenis ini sesuai namanya berintikan mengenai pemecahan teka-teki, baik itu menyusun balok, menyamakan warna bola, memecahkan perhitungan matematika, melewati labirin, sampai mendorong-dorong kota masuk ke tempat yang seharusnya, itu semua termasuk dalam jenis ini. Sering pula game jenis ini adalah juga unsur game dalam Video game petualangan maupun game edukasi

7. Sport game (Olahraga)

Game ini merupakan adaptasi dari kenyataan, membutuhkan kelincahan dan juga strategi dalam memainkannya. Game berupa kompetisi antara dua pemain atau lebih, di mana pemain dapat berupa individual atau tim. Contoh game tipe ini antara lain sepakbola, bola basket, tenis, dan bilyard.

8. RPG (Role Playing Game)

Video game jenis ini sesuai dengan terjemahannya, bermain peran, memiliki penekanan pada tokoh/peran perwakilan pemain di dalam game, yang biasanya adalah tokoh utamanya, dimana seiring permainannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter, senjata yang semakin sakti, ataupun jumlah teman maupun mahluk peliharaan. 9. Education (edukasi)

Game edukasi merupakan paket software yang menciptakan kemampuan pada lingkungan game yang diberikan sebagai alat bantu untuk memotivasi atau membantu siswa untuk melalui prosedur game secara teliti untuk


(28)

mengembangkan kemampuannya. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan design visual ataupun animasinya

2.1.4 Kecerdasan Buatan

Kecerdasan Buatan (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika [3].

Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain sepak bola.

AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin.

Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan,


(29)

teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan Video game.

2.1.5

Algoritma Djikstra

Algoritma Dijkstra ditemukan oleh Edsger W. Djikstra yang merupakan salah satu varian bentuk algoritma popular dalam pemecahan persoalan yang terkait optimasi dan bersifat sederhana. Algoritma ini menyelesaikan masalah mencari sebuah lintasan terpendek (sebuah lintasan yang mempunyai panjang minimum) dari verteks a ke verteks z dalam graph berbobot, bobot tersebut adalah bilangan positif jadi tidak dapat dilalui oleh node negatif [5].

Algoritma Djikstra melibatkan pemasangan label pada verteks. Misalkan L(v) menyatakan label dari verteks v. pada setiap pembahasan beberapa verteks mempunyai label sementara dan yang lain mempunyai label tetap. Misalkan T menyatakan himpunan verteks yang mempunyai label sementara. Dalam menggambarkan algoritma tersebut verteks-verteks yang mempunyai label tetap akan dilingkari. Selanjutnya, jika L(v) adalah label tetap dari verteks v, maka L(v) merupakan panjang lintasan terpendek dari a ke v. Sebelumnya semua verteks mempunyai label sementara. Setiap iterasi dari algoritma tersebut merubah status label dari sementara menjadi tetap, sehingga algoritma dapat berakhir ketika z menerima sebuah label tetap. Pada bagian ini L(z) merupakan panjang lintasan terpendek dari a ke z. pada algoritma Djikstra node digunakan, karena algoritma Djikstra menggunakan digram pohon (tree) untuk penentuan jalur lintasa terpendek dan menggunakn graph yang berarah.

Algoritma Djikstra mencari panjang lintasan terpendek dari verteks a ke z dalam sebuah graph berbobot tersambung.

Langkah-langkah dalammenentukan lintasan terpendek pada algoritma Djikstra yaitu:


(30)

1. Pada awalnya pilih node dengan bobot yang terendah dari node yang belum terpilih, diinisialisasikan dengan „0‟ dan yang sudah terpilih diinisialisasikan dengan „1‟.

2. Bentuk tabel terdiri dari node, status, bobot dan predecessor. Lengkapi kolombobot yang diperoleh dari jarak node sumber ke semua node yang langsung terhubung dengan node tersebut.

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

4. Tetapkan node terpilih dengan label permanen dan perbaharui node yang langsung terhubung

5. Tentukan node sementara yang tehubung pada node yang sudah terpilih sebelumnya dan merupakan bobot terkecil di lihat dari tabel dan tentukan sebagai node terpilih berikutnya.

6. Apakah node terpilih merupakan node tujuan? Jika ya, maka kumpulkan node terpilih atau predecessor merupakan rangakaian yang menunjukan lintasan terpendek.

7. Begitu seterusnya hinga semua node terpilih Procedure algoritma Djikstra adalah sebagai berikut:

Misal |1<|2<|3, merupakan adj vertek dari s ke v1,v2,v3 dan dikatakan bahwa sp dari s-V1 adalah |1, serta berlaku untuk semua part dari ske setiap v dalam G, karean | adalah bernilai positif, dan dapat dinotasikan distance/jarak pada d[v1]=|1,d[v2]<=|2, dst.

1. D[v1] = 0.7, karena hanya terdapat 1 path

2. D[2] = 1.1 → 1.2, ada path lain (s-v1-v3) tapi tidak update 3. D[3] =2.3 → 1, ada path lain (s-v1-v3)

- Path d[2] dan d[3] mengalami update untuk mendapatkan shortest path

4. D[4] = 1.1 5. D[5] = 1.2


(31)

Procedure Djikstra;

{ djikstra menghitung cost shortest path dr vertex

1 ke tiap vertex dari directed graph }

Begin

S := {1};

for i : = 2 to n do

D [i] := C [1, i] ; {inisialisai D}

for I := 1 to n-1 do begin

Pilih vertex w dalam V-S sedemikian sehingga D

[W] adalah minimum ;

Tambahkan w ke S;

for tiap vertex v dalam V-S do

D[v] := min (D[v], D[w] + c[w, v])

end

end; {Djikstra}

Jika menggunakan algoritma Djikstra untuk menentukan jalur terpendek dari suatu graph, maka akan menemukan jalur yang terbaik, karena pada waktu penentuan jalur yang akan dipilih, akan dianlisis bobot dari node yang belum terpilih, lalu dipilih node dengan bobot yang terkecil. Jika ternyata ada bobot yang lebih kecil melalu node tertentu, maka bobot akan dapat berubah. Algoritma


(32)

Djikstra akan berhenti ketik semua node sudah terpilih, dan dengan algoritma Djikstra ini dapan menemukan jarak terpendek dari seluruh node, tidak hanya untuk node dari asal dan tertentu saja.

Algoritma Djikstra menggunakan waktu sebesar O(V*logV+E) dimana V dan E adalah banyaknya verteks dan are. Kompleksitas algoritma Djikstra adalah O(n²). sehingga untuk mencari semua pasangan verteks terpendek, total waktu asimptotik komputasinya adalah T(n)=n. O(n²)= O(n³), algoritma Djikstra lebih menguntungkan dari sisi running time [5].

2.1Aplikasi Pembangun Perangkat Lunak

Aplikasi yang digunakan untuk membangun aplikasi ini adalah OOP, JAVA, UML, Greenfoot dan Corel Draw. Berikut ini penjelasannya :

2.4.1OOP (Object Oriented Programming)

Pemrograman berorientasi objek (Inggris : object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut [6] :

1. Kelas kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada


(33)

berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

2. Objek membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

3. Abstraksi Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

4. Enkapsulasi Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

5. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan


(34)

tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

2.4.2 JAVA

Java adalah bahasa pemrograman yang disusun oleh James Gosling yang dibantu oleh rekan-rekannya seperti Patrick Naugton, Chris Warth, Ed Frank, dan Mike Sheridan di suatu perusahaan perangkat lunak yang bernama Susn Microsystems, pada tahun 1991 (Raharjo.B, Heryanto. I, Arif Haryano, 2009, hlm. 1-2). Bahasa pemrograman ini mula-mula diinisialisasi dengan nama “Oak”, namun oada tahun 1995 diganti namanya menjadi “Java”.Bahasa ini banyak


(35)

mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan selogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

Sun Myrosystems telah mendefinisikan tiga buah edisi dari Java 2 yaitu sebagai berikut :

1. Java 2 Standard Edition (J2SE), yang digunakan untuk mengembangkan aplikasi-aplikasi desktop dan applet (aplikasi untuk Java yang dapat dijalankan di dalam browser web).

2. Java 2 Enterprise Edition (J2EE), merupakan superset dari J2SE yang memperbolehkan kita untuk mengembangkan aplikasi-aplikasi berskala besar(enterprise), yaitu dengan melakukan pembuatan aplikasi-aplikasi di sisi server dengan menggunakan EJBs (Enterprise JavaBeans), aplikasi web dengan menggunakan Servlet dan JSP (JavaServer Pages) dan teknologi lainnya seperti CORBA (Common Object Request Broker Architecture) dan XML (Extensible Markup Language).

3. Java 2 Micro Edition (J2ME), merupakan subset dari J2SE yang digunakan untuk menangani pemrograman di dalam perangkat-perangkat kecil, yang tidak memungkinkan untuk mendukung implementasi J2SE secara penuh seperti pada teknologi mobile.


(36)

2.4.3UML (Unified Modeling Language)

UML (Unified Modeling Language) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun system (Flowler, 2006). Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.

UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP [5]. Logo UML dapat dilihat pada gambar 2.1.

Gambar 2.1 Logo UML

UML suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat, ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

Bagian-bagian utama dari UML adalah view, diagram, model element, dan general mechanism [7]. Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu


(37)

dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya

2.4.3.1Usecase Diagram

Usecase adalah abstraksi dari interaksi antara system dan actor. Usecase bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Usecase merupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan Usecase diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client. Usecase dapat dilihat pada Gambar 2.2

Gambar 2.2 Usecase

2.4.3.2Class Diagram

Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat


(38)

memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system. Class diagram dapat dilihat pada Gambar 2.3

Gambar 2.3 Class Diagram

2.4.3.3Component Diagram

Component software merupakan bagian fisik dari sebuah system, karena menetap di komputer tidak berada di benak para analis. Komponent merupakan implementasi software dari sebuah atau lebih class. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view. Sehingga component diagram merepresentasikan dunia riil yaitu component software yang mengandung component, interface dan relationship.Component software dapat dilihat pada Gambar 2.4


(39)

Gambar 2.4 Component Diagram

2.4.3.4Sequence Diagram

Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem. Sequence Diagram diagram dapat dilihat pada Gambar 2.5


(40)

2.4.3.5Activity Diagram

Activity Diagram menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti Usecase atau interaksi, sebagai contoh dapat dilihat pada gambar 2.6

Gambar 2.6 Activity Diagram

2.4.4 Greenfoot

Greenfoot merupakan sebuah IDE berbasis java yang dikhususkan untuk pembuatan game sederhana. Greenfoot diprakarsai oleh Michael Kolliung pada tahun 2003. Prototype yang pertama dibangun oleh Poul Henriksson dan Michael Kolling pada tahun 2003/2004. semenjak tahun 2005 pembuatan greenfoot ini dilanjutkan dengan melibatkan anggota kelompok dari University of Kent dan Deakin University.

Pada awalnya, greenfoot bertujuan untuk menarik minat anak-anak untuk belajar pemrograman, greenfoot ini cocok untuk anak usia 13 tahun ke atas. Cara penggunaannya pun cukup mudah. Selain berbentuk teks seperti editor lainnya, pada greenfoot ini terdapat perangkat alat bantu seperti class browser, editor dan compiler. Greenfoot juga mendukung bahasa Java secara utuh. Dengan adanya bantuan perangkat-perangkat tadi, konsep OOP pada greenfoot lebih mudah dimengerti.


(41)

Didalam greenfoot terdapat project yang dinamakan scenario. Di dalam project tersebut, kita bisa membuat dua macam tipe class dari library greenfoot. Yaitu class world dan actor. World merupakan latar dari game yang akan dibuat. Untuk membuat class world, caranya adalah dengan meng-klik new sub class di bagian world. Maka akan mucul sebuah kotak dialog. Kemudian kita diminta untuk memberi nama untuk kelas world tersebut. Setelah itu kita dapat memilih gambar sebagai latar belakang class world yang akan kita buat. Begitu pula pada Class actor, membuat actor caranya adalah dengan meng-klik icon aktor, kemudian pilih new subclass, logo greenfoot dapat dilihat pada gambar 2.7.

Gambar 2.7 Logo Greenfoot 2.4.5 Corel Draw

Corel Draw merupakan salah satu aplikasi pengolah gambar berbasis

vector yang banyak dipakai oleh pengguna PC. Karena berbagai kemudahan dan

keunggulan yang dimiliki oleh corel draw, maka corel draw sering dimanfaatkan untuk desktop publishing, percetakan, dan bidang lain yang memerlukan pemrosesan visual.


(42)

Keunggulan mengolah gambar berbasis vector adalah ukuran hasil akhir yang dapat ditekan seminimal mungkin namun dengan kualitas yang tidak kalah dengan gambar berbasis raster atau bitmap.

Sebenarnya ada banyak sekali software desain grafis dan pengolah gambar berbasis vector yang bisa kita gunakan,misalnya saja diantaranya adalah corel draw, photoshop, freehand, adobe ilustrator dll. Namun corel draw merupakan program paling populer yang sering dimanfaatkan. Selain karena tampilannya yang user friendly dan mudah dipelajari, corel draw juga mempunyai berbagai keunggulan - keunggulan lain yang sangat bermanfaat.


(43)

29 BAB 3

ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem

Analisis Analisis sistem merupakan proses penguraian konsep ke dalam bagian-bagian yang lebih sederhana, sehingga struktur logisnya menjadi lebih jelas. Pada analisis sistem ini akan mencakup analisis masalah yang berhubungan dengan game yang akan di bangun, mulai dari analisis terhadap game sejenis serta analisis kebutuhan non-fungsional dan analisis kebutuhan fungsional.

3.1.1 Analisis Masalah

Game merupakan salah satu produk teknologi informasi yang cukup digemari saat ini, para pengelola industri berlomba-lomba untuk menciptakan game lebih menarik untuk para pemainya dengan cara meningkatkan kelincahan intelektual pada tingkat gameplay. Sehingga game tidak sekedar permainan untuk mengisi waktu luang melainkan cara untuk meningkatkan kreatifitas dan intelektual para penggunanya.

Game side scrolling adalah salah satu genre game dengan sudut pandang kamera seolah-olah di samping karakter, dan mengikuti pergerakan pemain yang pada umumnya bergerak dari sisi kiri menuju sisi kanan layar untuk mencapai target atau lokasi yang telah ditentukan. Alasan menerapkan side scrolling adventure game pada game yang akan dibangun adalah, karena game sejenis ini paling cocok untuk diterapkan pada umur 6 tahun ke atas, karena kontrol permainan yang tidak terlalu rumit dalam memainkannya [1].

Game tentu akan lebih menarik jika di dalamnya ada sebuah tantangan yang cukup sulit dengan memberikan sebuah kecerdasan buatan pada musuh yang berada dalam game. AI adalah sebuah kecerdasan buatan yang di tanamkan pada mesin atau komputer, agar seolah-olah menjadi lebih pintar dan bisa berfikir sendiri layaknya manusia. AI dibangun dari sebuah algoritma, dan algoritma yang di terapkan pada game ini adalah algoritma Djikstra. Algoritma ini merupakan


(44)

algoritma pencarian buta untuk mencari solusi dengan jalur terpendek. Algoritma ini nantinya akan di terapkan pada musuh yang berjalan dalam game in

3.1.1 Analisis game yang sejenis

Analisis game sejenis dilakukan untuk memberikan gambaran sistem agar lebih mudah dalam pembangunan dan sebagai pembanding untuk kesempurnaan game yang akan dicapai.

3.1.2.1Game Mario Bros

Mario Bros adalah suatu permainan platform yang dikembangkan dan diterbitkan oleh Nintendo pada akhir 1985 untuk konsol Nintendo Entertainment System. Permainan ini membawa pengaruh yang besar pada perkembangan dunia hiburan rumahan dan merupakan salah satu permainan terlaris dengan penjualan lebih dari 40 juta salinan hingga saat ini. Dengan latar permainan yang cerah dan alur cerita yang berkembang, Super Mario Bros. berhasil mengubah wajah industri permainan video. Meskipun sering disalah persepsikan sebagai permainan platform bergulir (scrolling) pertama (yang pada kenyataannya paling tidak ada setengah lusin permainan serupa yang telah muncul sebelumnya), Super Mario Bros. bisa dianggap sebagai pelopor jenis permainan tersebut unruk media permainan konsol.

A. Pengenalan

Game Mario bros sangat popular di Indonesia pada tahun 1990. Game ini di ciptakan oleh Shigeru Miyamoto danmerupakan game yang bisa kita mainkan pada consule seperti Nontendo dan Spica. Permainan Ini dikembangkan dan diterbitkan oleh Nintendo pada akhir 1985, tampilan game mario bros dapat dilihat pada gambar 3.1.


(45)

Gambar 3.1 Game Mario Bross B. Gameplay

Super mario bros adalah game bertipe platform, pemain akan mendapati dirinya sebagai mario atau saudaranya luigi, dalam petualangan menyelamakan putri dari kura-kura raksasa bernama Bowser. Meski menyelamatkan putri terdengar cukup klise dan tidak original, untuk game semacam ini cerita tidaklah terlalu penting. dengan setting di mushrom kingdom, super mario bros memiliki banyak musuh yang inovatif dan menantang, alur permainan game mario bros dapat dilihat pada gambar 3.2.


(46)

C. Skenario Game

Skenario Pada game ini pemain berperan sebagai Mario dan pemain kedua berperan sebagai kakak Mario yaitu Luigi. Tujuan utamanya dan menyelamatkan Princess Peach yang ditahan oleh Raja yang menyerupai buaya bernama Koppa. Mario memiliki kemampuan menghindar sekaligus mengalahkan musuhnya dengan cara melompat di atas musuh-musuhnya.

Musuh Mario Bros pada game ini adalah jamur pengkhianat, yang dikenal sebagai Goombas, dan tentara kura-kura dikenal sebagai Koopa Troopas. Jika menemukan box atau kotak yang memiliki tanda tanya kita dapat menyundulnya. Saat menyundulnya akan menemuan jamur ajaib. Mario juga dapat memperoleh 1-up melalui menemukan 1-up jamur dan dengan mengumpulkan 100 koin. Semua musuh memiliki satu persamaan dasar, loncat dan injak kepala mereka untuk membunuhnya.

Mario memiliki beragam kekuatan yang terus bertambah sampai sekarang. Mario biasanya memiliki tiga buah kekuatan dasar seperti, Jamur untuk membesar, bunga api untuk membuat Mario menembakkan api dan bintang yang membuat Mario tidak bisa dilukai oleh serangan apapun.

Permainan terdiri dari 4 sub dunia, yaitu: 1. Sub-dunia diatas tanah.

2. Dalam sebuah penjara bawah tanah atau air. 3. Serangakian platform tergantung tinggi di langit. 4. Benteng atau puri

Semua dunia terjadi di siang hari kecuali dunia ke 3 dan ke 6. Pada akhir setiap tingkat benteng, Mario berhadapan dengan Raja Koopa, melintasi sebuah jembatan di atas kolam lava. Di akhir dunia (dunia 6-8), Raja Koopa melemparkan palu serta sesekali semburan api napas. Raja Koopa dapat dikalahkan dalam salah satu dari dua cara,yaitu:

1. Dengan menyentuh kapak di ujung jembatan (sehingga menjatuhkan Raja Koopa ke dalam lava


(47)

2. Seperti Fiery Mario, melemparkan bola api pada dia untuk mengalahkan dia secara langsung dan mengungkapkan apa musuh menyamar.

Setelah menyelesaikan permainan, pemain diberi pilihan untuk memulai permainan lagi di 'Hard' Mode, dimana semua Goombas digantikan oleh Buzzy Beetles (Koopa Troopa yaitu musuh yang tidak dapat dibunuh oleh bola api), dan semua musuh berjalan cepat. Selain itu lift juga berjalan lebih cepat 60% dari Mario pada mode biasa.

Kelebihan dari game Mario bros adalah :

1. Game ini adalah game yang sangat menarik dimasanya.

2. Game ini pada layar dan background mempunyai gerakan yang khas yaitu double screen, pada era itu umumnya hanya mempunyai single screen, sehinga gameplay pada umumnya berpindah screen, dan jika ada game yang memiliki screen scrolling yang sama dengan metode Mario bros.

3. Game ini merupakan game dengn penjualan terbanyak versi Guiness Word of Record.

Kekurangan dari game Mario bros ini adalah:

1. Game ini pada saat ini terlihat kurang begitu menarik karena peralihan gme semakin canggih pada saat ini.

2. Game Mario bros layar hanya bisa bergeser dari kiri ke kanan. Player utama dapat berjalan dan melompat serta dapat menginjak musuhnya 3. Musuh dalam game Mario bros hanya bisa berjalan secara random dan

tidak dapat mengejar player utama. 4. Kualitas suara yang masih berformat midi 3.1.2 Analisis game yang dibangun

Ada berbagai macam genre game yang telah dikembangkan, maka dari itu diperlukan pemilihan genre yang sesuai dalam pembangunan aplikasi game ini. Pada pembangunan aplikasi game ini, Garuda adalah hewan yang terbang maka dari itu pemilihan genre shooter sejalan dengan hal itu. Untuk pemilihan genre


(48)

yang menampilkan luas kota adalah mutlak diperlukan genre side-scrolling. Kedua genre tersebut kemudian dikombinasikan sehingga menghasilkan sebuah genre baru yaitu hybrid shooter side-scrolling. Genre baru inilah yang akan diterapkan dalam pembangunan aplikasi game ini ini lah salah satu kelebihan dari game destroyer garuda.

Alur permainan game yang dibangun akan diterapkan dalam 2 mode yaitu mode pesawat dan mode robot pada tokoh utamanya yaitu Garuda F01. Hampir mirip dengan konsep Transformer yang membedakan mode karakter utama dari segi kemampuan dan kelebihan ketika dalam suatu mode tertentu. Ketika Garuda F01 dalam mode pesawat ia akan memiliki kemampuan layaknya pesawat yaitu seperti terbang dan memburu musuh yang berada di udara. Tetapi mode pesawat memiliki kelemahan yaitu ia tidak bisa melawan musuh yang bertebaran di darat karena keterbatasan kemampuan senjatanya yang hanya dapat menembak sasaran terbang. Kelemahan itu kemudian ditutupi dengan mode robot yang mana pada mode ini robot dapat berjalan dan berlari di daratan dan memiliki kemampuan menghancurkan musuh dengan kontak fisik. Adapun kelemahan pada mode robot adalah ia tidak bisa melawan serangan udara dari musuh terbang. Selain itu, karena robot ini mempunyai kode etik untuk tidak merusak bangunan kota, maka harus kembali ke mode pesawat untuk bermain aman.

Game akan menjadi menarik dengan menambah segmentasi pengguna,

maka unsur pengenalan kota-kota besar di indonesia yang diterapkan akan dipadukan dengan fiksi ilmiah. Fiksi ilmiah akan menjadikan alur cerita game ini bermula di masa depan ketika Indonesia menjadi negara adikuasa dan segalanya telah serba modern. Indonesia memiliki skuadron pesawat garuda yang terkenal dengan kesaktiannya. Kota-kota terkenal di Indonesia memiliki wajah baru di masa depan dan hal itu ditampilkan dengan serba metalnya komponen infrastruktur kota dari mulai jalanan hingga monumen yang ada di sana. Pesawat garuda andalan tidak seperti pesawat biasa pada umumnya, tetapi mereka juga bisa berubah menjadi robot seperti pada Transformers.


(49)

3.1.3.1Storyline

Tahun 2500 dunia sudah berubah, hampir semua negara menggunakan robot sebagai penggerak roda ekonominya termasuk juga di Indonesia. Di masa ini bumi mengalami penyerangan dari mahluk asing yang berniat menguasai bumi. Satu demi satu negara di hancurkan dan di kuasai oleh mahluk asing, hanya satu negara saja yang masih bisa mempertahankan negaranya dari serangan mahluk asing. Indonesia adalah satu-satunya negara yang masih mampu melindungi teritorial negaranya dari serangan mahluk asing karena memiliki alat militer berupa pesawat yang bisa berubah bentuk menjadi robot yaitu GARUDA F01.

GARUDA F01 adalah satu-satunya mesin tempur milik indonesia yang dapat menyaingi kemampuan mesin-mesin yang di miliki oleh para mahluk asing, dengan kemampuan khusus yang di miliki GARUDA F01 yaitu berubah menjadi robot maka mahluk asing pun menjadi sedikit kesulitan dalam menguasai Indonesia.

Indoneisa merencanakan untuk melakukan penyerangan diam-diam ke markas besar para mahluk asing untuk mengahancurkan kapal induknya. Karena hanya melakukan penyerangan sendirian, maka GARUDA F01 harus benar-benar cerdik dalam bertindak agar tidak jatuh tertembak oleh musuh.

3.1.3.2 Analisis Tingkat Kesulitan

Level game mempunyai tingkat kesulitan yang berbeda-beda, di level 1 pemain akan menghadapi musuh yang hanya bisa mengejar dan menyarang dari jarak dekat serta musuh terbang yang hanya bisa bergerak secara horizontal. Berbeda dengan level 2 musuh di level ini selain bisa mengejar juga punya kemampuan untuk menembakkan meriam dari jarak yang cukup jauh sehingga sedikit menyulitkan jika pemain sedang dalam keadaan terdesak, serta musuh terbang yang hanya mampu bergerak secara horizontal. Dan di level 3 musuh yang ada merupakan kombinasi dari musuh-musuh dari level 1 dan 2 di tambah bos besar yang mempunyai jurus kombinasi dari seluruh musuh yang ada dalam game, jadi bisa di simpulkan level ini lah yang tersulit.


(50)

3.1.3.3Gameplay

Pemain dalam game ini di haruskan melewati seluruh rintangan yang ada dan termasuk mengalahkan semua musuh yang ada. Di level 1 pemain harus menghadapi serangan mahluk asing yang mencoba menyerang jakarta, di sini pemain harus bisa mengalahkan semua musuh yang ada sehingga pemain bisa melanjutkn ke level 2. Gambar activity diagram level 1 dapat di lihat pada gambar 3.3.

Gambar 3.3 Activity diagram level 1 Destroyer Garuda

Di level 2 pemain harus melakukan pembersihan basecamp mahluk asing yang berada di daerah bandung, di sini nanti pemain pun harus mengalahkan semua musuh yang ada sehingga pemain bisa melanjutkan ke level 3 . Dan di


(51)

level 3 pemain harus melakukan penyerangan ke markas utama musuh yang berada di samudra hindia, di sini nanti pemain harus menghadapi bos utama dari para mahluk asing. Perbedaan tiap levelnya adalah di tingkat kesulitannya, semakin tinggi levelnya maka musuh yang di hadapi akan semakin sulit.

3.1.3.4Analisis Scoring

Berikut cara memperoleh nilai atau score pada game destroyer garuda yaitu : 1. Garuda mode pesawat harus menembak ufo yang terbang di atas kota.

Setiap menghancurkan ufo akan mendapatkan score sebanyak 30 point. 2. Garuda mode robot harus melawan robot ufo, shooter ufo, bos hingga

hancur maka score akan bertambah sebanyak 30 point setiap menghancurkan musuh.

3.1.3

Analisis Metode

Collision Detection

Aplikasi game destroyer garuda dapat menjadi lebih menarik, apabila diterapkan metode collision detection yang berupa metode dimana yang bersinggungan merupakan objek secara langsung, baik itu sprite dengan sprite maupun sprite dengan objek lain.

Metode yang akan pada aplikasi game destroyer garuda diterapkan pada serangan fisik dan peluru yang ditembakan oleh pemain untuk membunuh setiap musuh yang ada adalah metode collision antara objek dengan objek yang terjadi apabila objek tersebut saling bersentuhan pada titik yang sama. Diagram Activity tembakan pemain menyerang musuh ditunjukkan pada gambar 3.4.


(52)

Metode yang akan diterapkan pada musuh yang menyerang pemain adalah metode collision antara objek dengan objek yang terjadi apabila objek tersebut saling bersentuhan pada titik yang sama. Diagram Activity metode collision musuh menyerang pemain ditunjukkan pada gambar 3.5.

Gambar 3.5 Diagram Activity Metode Collision Musuh Menyerang Pemain 3.1.4 Analisis Algoritma Djikstra

Game tentu akan lebih menarik jika di dalamnya ada sebuah tantangan yang cukup sulit dengan memberikan sebuah kecerdasan buatan pada musuh yang berada dalam game. AI adalah sebuah kecerdasan buatan yang di tanamkan pada mesin atau komputer, agar seolah-olah menjadi lebih pintar dan bisa berfikir sendiri layaknya manusia. AI yang akan di gunakan dalam game destroyer garuda ini adalah algoritma Dijkstra, yaitu algoritma pencarian buta untuk mencari jalur terpendek yang akan diterapkan pada musuh dalam melakukan perburuan terhadap pemain

Algoritma Dijkstra melakukan sejumlah langkah dengan konsep greedy, konsep greedy ini dalam algoritma Djikstra menyatakan bahwa setiap langkah yang mempunyai sisi bobot minimum akan dimasukkan ke dalam himpunan solusi. Algoritma ini melakukan pencarian secara buta untuk mencari solusi terpendek. Untuk lebih jelasnya bisa di lihat pada contoh gambar 3.6.


(53)

Gambar 3.6 Algoritma djikstra 1

Pada gambar di 3.5 , node berwarna orange merupakan tembok dalam game, dan node berwarna kuning adalah player utama sedangkan node berwarna hijau merupakan musuh seperti di gambarkan pada gambar 3.7.

Gambar 3.7 Algoritma djikstra 2

Node hijau akan melakukan pencarian secara horizontal, vertikal dan diagonal. Pertama pencarian dilakukan ke arah kiri secara horizontal dengan nilai cost 10, lalu pencarian dilanjutkan ke arah atas secara vertikal dengan nilai cost 10, dan terakhir pencarian dilakukan ke arah kiri atas secara diagonal dengan nilai cost 14 seperti di gambarkan pada gambar 3.8.


(54)

Node vertikal atas dengan cost 10 pencarian dilanjutkan ke arah atas secara vertikal dengan cost 10 sehingga sekarang total cost menjadi 20, lalu pencarian juga dilakukan secara diagonal sehingga total cost menjadi 24. Node diagonal kiri atas dengan cost 14 pencarian dilakukan ke arah kiri atas secara diagonal dengan cost 14 sehingga sekarang total cost menjadi 28 seperti digambarkan pada gambar 3.9.

.

Gambar 3.9 Algoritma djikstra 4

Node berwarna hijau menuju node berwarna kuning didapatkan jalur terpendek menggunakan algoritma djikstra, yaitu sebagai berikut:

1. Node berwarna hijau bergerak ke kiri atas secara diagonal dengan cost 14. 2. Node kiri atas dengan nilai cost 14, bergerak lagi ke kiri atas secara diagonal

dengan cost 14 maka sampai lah ke node kuning dengan total cost 28. 3.1.5 Analisis Kebutuhan Non-Fungsional

Analisis non-fungsional merupakan analisis yang dibutuhkan untuk menentukan spesifikasi kebutuhan sistem. Spesifikasi ini juga meliputi elemen atau komponen-komponen apa saja yang dibutuhkan untuk sistem yang akan dibangun sampai dengan sistem tersebut diimplementasikan. Analisis kebutuhan ini juga menentukan spesifikasi masukan yang diperlukan sistem, keluaran yang akan dihasilkan sistem dan proses yang dibutuhkan untuk mengolah masukan sehingga menghasilkan suatu keluaran yang diinginkan.

Analisis kebutuhan sistem non fungsional ini menjelaskan analisis kebutuhan perangkat lunak, analisis kebutuhan perangkat keras dan analisis pengguna.


(55)

3.1.6.1Analisis Kebutuhan Perangkat Keras

Perangkat keras atau hardware merupakan salah satu hal yang penting karena tanpa hardware yang memenuhi syarat, program yang akan dibuat tidak akan dapat berjalan. Berikut spesifikasi standar perangkat keras yang dapat dipergunakan untuk membangun aplikasi game ini dan spesifikasi perangkat keras yang dapat dipergunakan untuk menjalankan alplikasi game ini yaitu :

A. Spesifikasi standar perangkat keras untuk pembangunan aplikasi game tersebut adalah :

1. Processor 2.6 Ghz 2. RAM 4 GB 3. VGA 512 MB 4. Harddisk 500 GB 5. Monitor

6. Mouse, keyboard dan speaker.

B. Spesifikasi standar perangkat keras untuk dapat menjalankan aplikasi game tersebut adalah :

1. Processor 1.8 Ghz 2. RAM 1 GB 3. VGA 512 MB 4. Harddisk 40 GB 5. Monitor

6. Mouse, keyboard dan speaker.

Dari hasil pengamatan perangkat lunak, terdapat beberapa hal penting yang harus diperhatikan agar sistem yang dirancang dapat berjalan dengan baik dan sesuai dengan yang diharapkan. Pengguna diharapkan dapat memenuhi kebutuhan perangkat lunak yang telah direkomendasikan agar aplikasi dapat berjalan dengan baik.


(56)

3.1.6.2Analisis Kebutuhan Perangkat lunak

Perangkat lunak atau software merupakan hal yang terpenting dalam mendukung kinerja sebuah sistem. Perangkat lunak digunakan dalam sebuah sistem merupakan perintah-perintah yang diberikan kepada perangkat keras agar dapat salung berinteraksi diantara keduanya.

Perangkat lunak yang dibutuhkan untuk membangun aplikasi game destroyer garuda ini adalah sebagai berikut :

1. Sistem Operasi Windows XP, Windows 7 dan sistem operasi lainnya. 2. Greenfoot 2.0 ke atas

3. Java JDK 1.6 ke atas

Sedangkan perangkat lunak yang dibutuhkan untuk menjalankan aplikasi game destroyer garuda ini adalah sebagai berikut :

1. Sistem Operasi Windows XP, Windows 7 dan sistem operasi lainnya. 2. Greenfoot 2.0 ke atas

3. Java Jdk 1.6 ke atas 3.1.6.3Analisis User

Pada analisis user (pemakai) ini akan mencakup analisis beberapa parameter terhadap calon user dari aplikasi.

3.1.6.4User Knowledge and Experience

Game Destroyer Garuda ini bisa digunakan oleh kalangan apapun dan tentunya mampu menggunakan komputer serta pengetahuan dan pengalaman akan memudahkan user dalam penggunaanya. Terutama pengetahuan dan pengalaman dalam memainkan game action atau shooter.

3.1.6.5User Physical Characteristic

Keadaan fisik seseorang mungkin akan berpengaruh pada penggunaan aplikasi game ini. Ada hal-hal yang harus diperhatikan juga terhadap user dari karakteristik fisiknya untuk dapat menggunakan aplikasi ini yaitu, Color Blind, Handednes, dan Gender seperti terlihat pada tabel 3.1.


(57)

Tabel 3.1 Analisis Users Physical Characteristic

Age 6 tahun keatas

Gender Pria dan Wanita Handedness Kanan dan Kiri

Color Blind User yang tidak bisa membedakan warna yang satu dengan yang lainnya (buta warna) masih mampu menggunakan aplikasi ini, karena tidak ada indicator warna-warna khusus yang membedakan antara fungsional yang satu dengan fungsional yang lainnya. Akan tetapi penggunaannya tidak akan optimal karena dalam game ini terdapat banyak sekali perbedaan warna yang menunjang interaksi dan ketertarikan dalam permainan.

3.1.6 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional merupakan tindak lanjut dari analisis sistem. Tujuannya adalah untuk memberikan gambaran mengenai sistem yang akan dibuat. Tahap awal yang dilakukan dalam melakukan analisis berorientasi objek mengunakan UML (Unified Modeling Language). Dimana tahap-tahap perancangan yang dilakukan dalam membangun aplikasi game hybrid shooter side-scrolling destroyer garuda antara lain Usecase Diagram, Class Diagram, Sequence Diagram, dan Activity Diagram.

3.1.7 Usecase Diagram

Usecase atau diagram Usecase merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Usecase mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat dapat dilihat pada gambar 3.10.


(58)

Gambar 3.10 Usecase Destroyer Garuda 3.1.8 Definisi Actor

Definisi Actor berfungsi untuk menjelaskan Actor yang terdapat pada Usecase Diagram. Definisi Actor diterangkan pada Tabel 3.2.

Tabel 3.2 Definisi Actor

No Actor Deskripsi

1. Pemain Orang yang memainkan Game

3.1.9 Definisi Use Case

Definisi Usecase berfungsi untuk menjelaskan proses yang terdapat pada setiap use case. Skenario Usecase diterangkan pada Tabel 3.3.

Tabel 3.3 Definisi usecase

No Use Case Deskripsi


(59)

2 Memilih control Proses untuk melihat petunjuk control permainan 3 Menampilkan level 1 Proses untuk menampilkan level 1

4 Menampilkan level 2 Proses untuk menampilkan level 2 5 Menampilkan level 3 Proses untuk menampilkan level 3 6 Menampilkan game over Proses untuk menampilkan game over 7 Menampilkan finish Proses untuk menampilkan finish

3.1.10.1 Skenario Usecase

Skenario Usecase menunjukan proses apa saja yang terjadi pada setiap bagian di dalam Usecase tersebut, di mana user memberikan perintah pada setiap bagian Usecase dan nanti sistem akan meresponnya. User case scenario yang terdapat pada pembangunan aplikasi ini antara lain sebagai berikut :

3.1.10.2 Skenario Usecase Play

Skenario Usecase Play berfungsi untuk memberikan tampilan menu pilihan masing-masing pada Play sebagai play game. Skenario Usecase Play diterangkan pada Tabel 3.4.

Tabel 3.4 Skenario memilih play Identifikasi

Nomor 1

Nama Memilih play

Tujuan Menampilkan level 1

Deskripsi Proses untuk memainkan level 1 Aktor User

Skenario Utama Kondisi Awal Menu utama game


(60)

Aksi Aktor Memilih menu play

Reaksi Sistem Aplikasi merespon dengan cara menampilkan level 1 Kondisi Akhir Menampilkan level 1

Skenario Alternatif

Kondisi Awal -

Akasi Aktor -

Kondisi Akhir -

3.1.10.3 Skenario Usecase Control

Skenario Usecase Control berfungsi untuk memberikan tampilan petujuk control permainan. Skenario Usecase control diterangkan pada Tabel 3.5.

Tabel 3.5 Skenario memilih play Identifikasi

Nomor 2

Nama Memilih control

Tujuan Menampilkan control permainan

Deskripsi Proses untuk melihat control permainan dalam game Aktor User

Skenario Utama Kondisi Awal Menu control

Aksi Aktor Melihat control perminan

Reaksi Sistem Aplikasi merespon dengan cara menampilkan control permainan


(61)

Skenario Alternatif

Kondisi Awal -

Akasi Aktor -

Kondisi Akhir -

3.1.10.4 Skenario Usecase Level 1

Skenario Usecase Level 1 Game berfungsi untuk memberikan tampilan level 1 pada game. Skenario Usecase Level 1 diterangkan pada Tabel 3.6.

Tabel 3.6 Skenario menampilkan level 1 Identifikasi

Nomor 3

Nama Menampilkan level 1 Tujuan Menampilkan level 2

Deskripsi Proses untuk memainkan level 2 Aktor User

Skenario Utama Kondisi Awal Level 1

Aksi Aktor Menyelesaikan level 1

Reaksi Sistem Aplikasi merespon dengan cara menampilkan level 2 Kondisi Akhir Menampilkan level 2

Skenario Alternatif Kondisi Awal Level 1

Aksi Aktor Player utama mati Kondisi Akhir Menampilkan game over


(62)

3.1.10.5 Skenario Usecase Level 2

Skenario Usecase Level 2 Game berfungsi untuk memberikan tampilan level 1 pada game. Skenario Usecase Level 2 diterangkan pada Tabel 3.7.

Tabel 3.7 Skenario menampilkan level 2 Identifikasi

Nomor 4

Nama Menampilkan level 2 Tujuan Menampilkan level 3

Deskripsi Proses untuk memainkan level 3 Aktor User

Skenario Utama Kondisi Awal Level 2

Aksi Aktor Menyelesaikan level 2

Reaksi Sistem Aplikasi merespon dengan cara menampilkan level 3 Kondisi Akhir Menampilkan level 3

Skenario Alternatif Kondisi Awal Level 2

Aksi Aktor Player utama mati Kondisi Akhir Menampilkan game over

3.1.10.6 Skenario Usecase Level 3

Skenario Usecase Level 3 Game berfungsi untuk memberikan tampilan level 1 pada game. Skenario Usecase Level 3 diterangkan pada Tabel 3.8.


(63)

Tabel 3.8 Skenario menampilkan level 3 Identifikasi

Nomor 5

Nama Menampilkan level 3 Tujuan Menampilkan finish Deskripsi Proses finish

Aktor User

Skenario Utama Kondisi Awal Level 3

Aksi Aktor Menyelesaikan level 3

Reaksi Sistem Aplikasi merespon dengan cara menampilkan finish Kondisi Akhir Menampilkan finish

Skenario Alternatif Kondisi Awal Level 3

Aksi Aktor Player utama mati Kondisi Akhir Menampilkan game over

3.1.10 Activity Diagram

Activity diagram menggambarkan berbagai aliran aktivitas dalam sistem yang sedang dirancang.Berikut ini beberapa activity diagram yang terdapat pada game tersebut yaitu :

1. Activity Proses Menu Play

Activity digram menggambarkan berbagai aliran aktivitas dalam

sistem yang sedang berjalan, bagaimana masing-masing alir berawal, proses yang terjadi dan bagaimana mereka berakhir, bisa di lihat pada gambar 3.11.


(64)

Gambar 3.11 Activity diagram menu play

2. Activity Proses Control

Menu control digunakan pemain untuk melihat control permainan dalam game destroyer garuda, proses yang terjadi pada menu control bisa di lihat pada gambar3.12.


(65)

3.1.11 Class Diagram

Class diagram adalah suatu diagram yang memperlihatkan suatu struktur dari sebuah sistem. Dapat dilihat pada gambar 3.13.


(66)

Nama nama kelas yang ada dalam game ini adalah sebagai berikut : 1. Kelas Bplay

2. Kelas ControlScreen

3. Kelas World

4. Kelas Bback


(67)

(68)

7. Kelas Enemy

8. Kelas Bcontrol

9. Kelas Finish


(69)

11. Kelas Health


(70)

13. Kelas MidiPlayer

14. Kelas Ufo


(71)

16. Kelas Bullet2

17. Kelas MbHealth


(72)

(73)

20. Kelas ShooterUfo


(74)

3.1.12 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarakan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

Berikut ini beberapa sequencial diagram yang terdapat pada game Destroyer Garuda yaitu :

3.1.13.1 Sequence Diagram Level 1

Sequence diagram untuk Usecase Level 1 menggambarkan interaksi antara objek dari class menu utama dan objek yang berkaitan dengan class level 1. Keseluruhan sequence level 1 dapat dilihat pada Gambar 3.14.


(75)

Gambar 3.14 Sequence Diagram level 1 3.1.13.2 Sequence Diagram Level 2

Sequence diagram untuk Usecase Level 2 menggambarkan interaksi antara objek dari class menu utama dan objek yang berkaitan dengan class level 2. Keseluruhan sequence level 2 dapat dilihat pada Gambar 3.15.


(76)

Gambar 3.15 Sequence diagram level 2 3.1.13.3 Sequence Diagram Level 3

Sequence diagram untuk Usecase Level 3 menggambarkan interaksi antara objek dari class menu utama dan objek yang berkaitan dengan class level 3. Keseluruhan sequence level 3 dapat dilihat pada Gambar 3.16.


(77)

Gambar 3.16 Sequence diagram level 3 3.1 Perancangan Sistem

Perancangan adalah suatu bagian dari metodologi pengembangan suatu perangkat lunak yang dilakukan setelah tahapan untuk memberikan gambaran secara terperinci. Dalam tahap ini digambarkan rancangan sistem yang akan dibangun sebelum dilakukan pengkodean ke dalam suatu bahasa pemrograman.


(1)

Ufo

Musuh yang

berada di udara

hitpoint

sebanyak 1


(2)

 Shooter ufo

 Musuh yang berada di darat, kemampuan mendeteksi

keberadaan lawannya dalam jarak tertentu dan

mengejarnya.

 Tembakan berupa peluru meriam

 Hitpoint sebanyak 3.


(3)

Bos

Musuh terakhir

Mempunyai tiga jurus

yaitu tendangan salto,

Tandukan serta

tembakan meriam.

mempunyai hitpoint

sebanyak 10

Karakter Musuh

BOS


(4)

Berdasarkan hasil penelitian, analisis, perancangan sistem dan pengujian Black box dan white box pada

game Destroyer Garuda ini, maka dapat di ambil kesimpulan bahwa :

1. Game Destroyer Garuda yang dibangun dengan memperkenalkan kota-kota besar di Indonesia dan sosok garuda sebagai karakter utamanya dapat

mengenalkan negara indonesia kepada anak–anak. 2. Penerapan algoritma Djikstra sebagai AI pada game

agar musuh bisa mengejar player membuat Tingkat

kesulitan game ini semakin bertambah dan menjadikan permainan menarik untuk dimainkan


(5)

Pengembangan

desain

gambar, agar

game

semakin menarik secara tampilan.

Alur cerita

game

dapat dikembangkan apalagi

di tambah sehingga dapat memperbanyak

level

game

yang semakin menantang.

Ditambahkan jurus-jurus dalam menyerang

sehingga menjadi lebih menarik.

Pengembangan

game

secara

online

agar

game


(6)