• Tidak ada hasil yang ditemukan

Pembangunan aplikasi game takedown the terrorist

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan aplikasi game takedown the terrorist"

Copied!
135
0
0

Teks penuh

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

nama : Angga Dharmawan jenis kelamin : Laki-laki

tempat, tanggal lahir : Bandung, 30 Juli 1990

agama : Islam

kewarganegaraan : Indonesia

status : Belum kawin

anak ke : Tiga dari tiga bersaudara

alamat : Kp. Parakan Desa Bojong Koneng RT03/08 Kec. Ngamprah Kab. Bandung barat

telepon : +6289 7900 0075

e-mail : ongoks@gmail.com

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : SD Negeri Kertajaya I Padalarang

tahun ajaran 1996-2002

2. Sekolah Menengah Pertama : SMP Krida Utama Padalarang

tahun ajaran 2002 – 2005

3. Sekolah Menengah Atas : SMA Negeri I Padalarang

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

(6)

PEMBANGUNAN GAME TAKEDOWN THE TERRORISTS

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer

ANGGA DHARMAWAN

10108130

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(7)

iii

Assalammu’alaikum Wa Rohmatullohi Wa Barokatuh.

Puji syukur alhamdulillah penulis panjatkan atas kehadirat Allah SWT sang Pencipta alam semesta, manusia, dan kehidupan beserta seperangkat aturan Nya, karena berkat limpahan rahmat, taufiq, hidayah serta inayah-Nya, sehingga penulis dapat menyelesaikan Skripsi yang berjudul ”Membangun Aplikasi Game Takedown The Terrorists”. Tidak lupa juga, shalawat beserta salam semoga dicurah limpahkan kepada baginda Rasulullah Muhammad SAW.

Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia.

Penulismenyadari bahwa skripsi ini masih banyak kekurangan dari berbagai macam hal.Namun berkat bantuan dan bimbingan dari beberapa pihak akhirnya skripsi ini dapat diselesaikan tepat pada waktunya. Karena itu pada kesempatan ini, penulis ingin mengucapkan banyak terima kasih kepada :

1. Allah SWT, yang telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga dapat menyelesaikan skripsi ini dengan baik.

2. Nabi Muhammad SAW sebagai junjungan yang telah menyampaikan wahyu Allah.

3. Kedua orang tua Hj. Anih Rohaeni dan Otip Suhanda, beserta nenek saya Hj. Rokayah yang senantiasa selalu mendukung saya setiap saat baik moril maupun materil.

(8)

iv

7. Yth. Bapak Adam Mukharil Bachtiar, S.Kom., selaku dosen wali kelas IF-3 angkatan 2008.

8. Kepada Kakak-kakak Tercinta Erik Teguh Gunawan dan Otang Rohendi yang selalu memberi semangat.

9. Rekan-rekan mahasiswa Program Studi Teknik Informatika angkatan 2008 khususnya rekan-rekan mahasiswa dari kelas IF-3.

10.Kepada sahabat-sahabat seperjuangan yang selalu memberi dukungan dan motivasi yang lebih

11.Seluruh dosen pengajar dan staff tata usaha.

12.Semua pihak yang telah membantu dalam menyelesaikan skripsi ini yang tidak bisa disebutkan satu persatu oleh penulis.

Akhir kata penulis hanya berharap semoga skripsi ini dapat bermanfaat bagi penulis dan para pembaca umumnya.

Wassalamu’alaikum wr. Wb

Penulis

(9)

v

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xiv

DAFTAR SIMBOL ... xvi

DAFTAR LAMPIRAN ... xx

BAB 1 PENDAHULUAN ... 1

I.1 LatarBelakangMasalah ... 1

I.2 PerumusanMasalah ... 2

I.3 MaksuddanTujuan ... 2

I.4 BatasanMasalah ... 3

I.5 MetodologiPenelitian ... 3

I.6 SistematikaPenulisan ... 5

BAB II LANDASAN TEORI ... 7

II.1 Game... 7

II.1.1 Pengertian Game ... 7

II.1.2 Jenis-jenis Game ... 8

II.2. AI (Artificial Intelligence) ... 10

II.3. Algoritma A* ... 12

II.4 Analisis Sistem Berbasis Objek... 15

II.4.1 Object Oriented Programming ... 16

II.4.2 UML (Unified Modelling Language) ... 17

II.4.1.1 Use Case Diagram ... 17

II.4.1.2 Class Diagram ... 18

II.4.1.3 Component Diagram ... 19

II.4.1.4 Deployment Diagram ... 20

(10)

vi

II.6. Java ... 25

II.7. Unity ... 27

II.8 3D Studio Max ... 27

II.8.2.7 Collaboration Diagram ... 26

II.8.2.8 Activity Diagram ... 27

BAB III ANALISIS DAN PERANCANGAN ... 29

III.1 AnalisisSistem ... 29

III.1.1 Analisis Masalah ... 29

III.1.2 Analisis Game sejenis ... 30

III.1.2.1 Soldier Of Fortune Payback ... 30

III.1.3 Analisis Game yang Dibangun... 33

III.1.4 Storyline ... 33

III.1.5Gameplay ... 34

III.1.6Analisis Tingkat Kesulitan ... 35

III.1.7 Analisis Scoring ... 35

III.1.8 Analisis Algoritma A star... 35

III.1.9 Collision Detection... 50

III.2 Analisis dan Kebutuhan Non-Fungsional ... 51

III.2.1 Analisis dan Kebutuhan Perangkat Lunak ... 52

III.2.2 Analisis dan Kebutuhan Perangkat Keras ... 52

III.2.3 Analisis Pengguna ... 53

III. 2.3.1 User Knowledge and Experience ... 53

III. 2.3.2 Users Physical Characteristic ... 53

III.3AnalisisdanKebutuhanFungsional... 54

III.3.1 Use Case Diagram ... 54

III.3.2Definisi Actor ... 55

(11)

vii

III.3.4.4 Skenario Use Case Pergerakkan karakter ... 58

III.3.4.5 Skenario Use Case Perhitungan Skor ... 58

III.3.4.6 Skenario Use Case Menampilkan Petunjuk Misi ... 59

III.3.5 Activity Diagram ... 59

III.3.5.1 Activity Diagram Menampilkan Level 1 ... 60

III.3.5.2Activity Diagram Menampilkan Level 2 ... 62

III.3.5.3Activity Diagram Menampilkan Level 3 ... 64

III.3.5.4Activity Diagram Pergerakan Karakter ... 66

III.3.5.5Activity Diagram Perhitungan Skor ... 66

III.3.5.6Activity Diagram Menampilkan Petunjuk Misi ... 67

III.3.6 Sequence Diagram ... 68

III.3.6.1 Sequence Diagram Menampilkan Level 1 ... 68

III.3.6.2 Sequence Diagram Menampilkan Level 2 ... 70

III.3.6.3 Sequence Diagram Menampilkan Level 3 ... 72

III.3.6.4 Sequence Diagram Pergerakkan Karakter ... 73

III.3.6.4 Sequence Diagram Perhitungan Skor... 74

III.3.6.4 Sequence Diagram menampilkan Petunjuk Misi ... 75

III.4 Class Diagram ... 76

III.4.1 Perancangan Sistem ... 78

III.4.1 Perancangan Komponen Permainan ... 78

III.4.1.1 Storyboard ... 78

III.4.1.2 Pengenalan Karakter ... 80

III.4.2.1 Perancangan Struktur Menu ... 82

III.4.3 Perancangan Antarmuka ... 83

III.4.3.1 Perancangan Antarmuka Menu Utama ... 83

III.4.3.2 Perancangan Antarmuka Permainan ... 84

(12)

viii

III.4.5.2 Method Enemy.UpdateGUI() ... 87

III.4.5.3 Method EnemyRespawn.Respawn() ... 88

III.4.5.4 Method CharacterDamage.ApplyDamage() ... 89

III.4.5.5 Method misiSelesai.misiSelesai() ... 90

III.4.5.6 Method UniversalGUn.Reload() ... 91

III.4.5.7 Method AI.AttackPlayer()... 93

III.4.5.8 Method AI.Patrol() ... 93

III.4.5.8 Method AI.searchPlayer() ... 95

III.4.5.8 Method FPSwalker.FixedUpdate() ... 96

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 97

IV.1 Implementasi ... 97

IV.1.1 Implemenatasi Perangkat Keras ... 97

IV.1.2 Implementasi Perangkat Lunak... 97

IV.1.3 Implementasi Instalasi Aplikasi Game ... 97

IV.1.4 Implementasi Antarmuka ... 98

IV.1.4.1 Implementasi Menu Utama ... 98

IV.1.4.2 Implementasi Menu Option ... 98

IV.1.4.3 Implementasi Menu Main ... 99

IV.1.4.4 Implementasi Menu Petunjuk ... 101

IV.2 Pengujian... 102

IV.2.1 Skenario Pengujian Blackbox ... 102

IV.2.2 Kasus dan Hasil Pengujian (Black boxTesting)... 103

IV.2.3 Kasus dan Hasil Pengujian (White Box Testing) ... 105

4.2.4 Kuesioner ... 110

BAB V KESIMPULAN DAN SARAN ... 119

V.1Kesimpulan... 119

(13)
(14)

118

[1] Mubah. A Safaril. (2011). “Strategi meningkatkan daya tahan budaya lokal dalam menghadapi arus globalisasi”.Departemen Hubungan Internasional, FISIP, Universitas Airlangga, Surabaya. Volume24, Nomer 4 hal : 302-308

[2] wartakota live. (2010) Kesadaran Masyarakat Terhadap Budaya Sejarah rendah. Document.

[3] Grimshaw, Mark. (2008). "Sound and immersion in the first-person shooter..". Games Computing and Creative Technologies: Journal Articles (Peer-Reviewed). Paper 3.

[5] Ian Sommerville, Software Engineering (Rekayasa Perangkat Lunak), 6th ed., Hilarius Wibi Hardani, Ed. Jakarta, Indonesia: Erlangga, 2003.

[6] Hengky Fitrayco & Piere Dayaka. (2012) scribd website. http://id.scribd.com, diakses pada tanggal 17 September 2012, 17.33 WIB

[7] Andang, Ismail., (2009)Education Games (Menjadi cerdas dan ceria dengan permainan

edukatif). Yogyakarta : Pilar Media.

[8] Thomas, (2006). Genre and game studies : Toward a critical approach to video game

genres. Simulation & Gaming, Vol. 37, University of Melbourne.

[9] Kusumadewi, Sri., (2003).Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta : Graha Ilmu.

[10] Tilawah, Hapsari, (2011), Penerapan Algoritma A-Star(A*) Untuk Menyelesaikan

Masalah Maze, Jurnal, Teknik Informatika, Institut Teknologi Bandung, Bandung

[11] Hamilton, Kim, and Miles, Russell. 2006. Learning UML 2.0. United States of America: O’Reilly Media.

[12] Ratnasari Nurrohmah. Definisi UML. Dokumen.

[13] Fowler, Martin., (2005). UML Distilled edisi 3 Panduan Singkat Bahasa Pemodelan

(15)

[15] Universitas Mulawarman. (2011) ftikom-unmul. http://ftikom-unmul.nstars.org

[16] Unity Technologies., (2012). Create the game you love with unity.Diakses tanggal 22 September 2012 pukul 09.00 (GMT +7), dari http://unity3d.com/unity/.

[17] Zaharuddin, G., Djalle., (2007).The Making of 3D Animation Movie Using 3Dstudio Max.

(16)

1

Seiring dengan berkembangnya peradaban saat ini membuat kebudayaan asing mudah masuk hal ini berdampak kepada berkurangnya kepedulian terhadap sejarah. Menariknya budaya masa lalu yang berakibat banyaknya budaya asing yang cenderung lebih menarik sehingga menggeser keberadaan sejarah yang ada [1]. Bangunan bersejarah tentu dimiliki oleh setiap kota setiap negara diseluruh penjuru dunia. Bangunan bersejarah merupakan cermin akan akar budaya sejarah masa lalu, warisan dari perjalanan panjang hasil jerih payah seluruh warga masa lalu untuk membentuk kotanya.

Pemerhati sejarah dan kebudayaan, Asep Kambali mengatakan jika kesadaran masyarakat Indonesia khususnya remaja untuk mengenal dan mencintai sejarah dan budaya, berangsur-angsur mulai meredup menurutnya Kesadaran masyarakat, khususnya pemuda, terhadap budaya dan sejarah dinilai saat ini justru rendah. Kita bisa menilai pertama dari pengetahuan mereka yang kurang terhadap sejarah dan budaya. Kedua, dari cara bersikap. Ketiga, dari cara mereka menghargai dan bertindak terhadap kebudayaan itu sendiri

2

]. Dengan diaplikasikannya ke dalam

game diharapkan bisa menambah pengetahuan pengguna tentang sejarah

khususnya beberapa bangunan bersejarah yang ada di Indonesia seperti Gedung Merdeka, Musium Fatahilah, dan Musium Kereta Api ambarawa, selain itu agar dapat lebih menghargai terhadap sejarah itu sendiri, serta dapat menarik minat para remaja untuk mengunjungi objek-objek wisata yang menyajikan edukasi sejarah.

First Person Shooter atau disingkat FPS merupakan genre sebuah game yang

mengambil sudut pandang orang pertama. Dimana pemain seolah-olah menjadi karakter utama dalam game yang berpusat pada permainan tersebut. First person

shooter sama seperti third person shooter game yaitu mengutamakan shooting dan

combat dari perspektif karakter yang bertujuan untuk memberikan pemandangan

(17)

FPS (First Person Shooter)adalah jenis game yang mengutamakan kecepatan dan gerakan pandangan pemain untuk melihat tampilan dilayar, seperti yang terlihat dari pandangan mata pemain itu sendiri [3].

Banyaknya remaja yang menggemari game bergenre first person shooter

membuat game bergenre ini laris di pasaran dan banyak dimainkan oleh masyarakat terutama dari kalangan remaja. Berdasarkan hasil survey terhadap

gamers di Indonesia yang dilakukan oleh Agate Studio game bergenre FPS

menempati urutan ke 3 setelah game bergenre RPG dan strategi dengan presentasi 40%. Game bergenre first person shooter menurut Entertainment Software Rating

Board salah satu lembaga yang bergelut pada bidang peratingan game.

Berdasarkan hal-hal yang telah dipaparkan dari atas penulis tertarik untuk melakukan penelitian dengan mencoba membangun game yang berjudul

Takedown The Terrorists yang bergenre first person shooter dengan menerapkan

algoritma pencarian A* pada NPC untuk mencari jalur terpendek dari NPC menuju player.

I.2 Rumusan Masalah

Berdasarkan uraian latar belakang yang telah dijelaskan sebelumnya maka rumusan masalah yang bisa diambil ialah bagaimana membangun aplikasi game

3D first person shooter (FPS) Takedown The Terrorists.

I.3 Maksud dan Tujuan

Berdasarkan permasalahan yang telah diteliti sebelumnya, maka maksud dari penulisan tugas akhir ini adalah membangun sebuah game 3D yang bergenre first

person shooter yang di dalamnya memiliki konten informasi tentang beberapa

gedung bersejarah yang ada di Indonesia. Tujuan dari pembangunan aplikasi

game 3D ini yaitu :

1. Sebagai media penyampaian informasi mengenai beberapa bangunan-bangunan bersejarah yang ada di Indonesia

(18)

I.4 Batasan Masalah

a. Game bisa dijalankan di desktop

b. Game bisa dimainkan oleh satu pemain.

c. Menggunakan algoritma A* pada NPC untuk mencari jalur terpendek dari

NPC menuju player

d. Software pembangun menggunakan Unity 4.0.

e. Software perancangnya menggunakan Autodesk 3ds Max, Google Sketchup,

dan Adobe Photoshop.

f. Sasaran pengguna 13 tahun ke atas.

g. Bahasa pemrograman yang digunakan menggunakan Javascript dan C#

h. Game terdiri atas 3 level

I.5 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah metode analisis deskriptif, yaitu metode yang menggambarkan dan menginterpretasikan objek sesuai dengan apa adanya.

Metode analisis deskriptif terbagi menjadi dua yaitu:

1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan untuk mengumpulkan informasi dalam pembangunan dan perancangan game takedown the terrorists ini adalah sebagai berikut :

a. Studi literatur

Studi literatur yang dilakukan yaitu berupa pengumpulan data-data sumber informasi dari buku, internet ataupun literatur lainnya tentang informasi beberapa gedung bersejarah.

b. Kuesioner

(19)

berusia 13 tahun ke atas yang sebelumnya telah memainkan game

Takedown The Terrorrists.

2. Metode Pembangunan Perangkat Lunak

Metode pembangunan perangkat lunak yang digunakan ialah model

waterfall yang bisa dilihat pada gambar I.1 [5]

Definisi persyaratan

Implementasi dan pengujian unit

Integrasi dan pengujian sistem Perancangan sistem

dan perangkat lunak

Operasi dan pemeliharaan

Gambar I.1 Siklus Metode Waterfall

Tahap tahap utama dari model waterfall ini memetakan kegiatan-kegiatan pengembangan dasar yaitu:

a. Definisi persyaratan dilakukan dengan melakukan konsultasi dengan calon pemakai sistem kemudian ditentukan cara yang mudah untuk dipahami baik oleh pengguna maupun pengembang

(20)

c. Implementasi dan pengujian unit. Pada tahap ini, dilakukan serangkaian pengujian terhadap perangkat lunak yang dibangun dengan mencoba seluruh fungsionalitas yang ada di dalam perangkat lunak yang dibangun. d. Integrasi dan pengujian sistem. Pada tahap ini dilakukan pengecekan

terhadap perangkat lunak apakah sudah sesuai dengan semua sistem dari perangkat lunak itu sendiri agar bisa dinilai apakah sudah layak diberikan kepada calon pengguna.

e. Operasi dan pemeliharaan. Di tahap ini dilakukan apabila masih terdapat kekurangan yang ada di dalam perangkat lunak yang dibangun maka akan dilakukan update untuk perangkat lunak tersebut mulai dari fitur-fitur yang dimiliki sampai dengan sistem yang ada di dalam perangkat lunak yang dibangun[ HYPERLINK \l "Ian03"

5

].

I.6 Sistematika Penulisan

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

BAB I PENDAHULUAN

Bab ini menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian yang kemudian diikuti dengan pembatasan masalah, serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini membahas tentang teori-teori dasar yang berkaitan dengan topik pembuatan aplikasi game. Teori-teori tersebut meliputi game, AI atau kecerdasan buatan, algoritma pencarian yang digunakan yaitu algoritma A*, game engine

yang digunakan yaitu Unity, software perancang 3D Studio Max, bahasa pemrograman yang digunakan yaitu C#, Java, analisis sistem berbasis objek,

UML (Unified Modelling Language),

(21)

Analisis masalah yang dihadapi dalam pembuatan aplikasi game 3D First

Person Shooter Takedown The Terrorists. Baik dari segi gameplay ataupun AI

yang akan dipergunakan.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Implementasi yang ada yaitu implementasi perangkat keras, impementasi perangkat lunak, implementasi installasi aplikasi game, implementasi antamuka metode dan kaidah yang diterapkan dalam penelitian. Pengujian meliputi pengujian white box dan pengujian black box, juga hasil kuesioner yang telah diberikan kepada pengguna

BAB V KESIMPULAN DAN SARAN

(22)
(23)

7

suatu aktivitas rekreasi yang dapat dimainkan untuk menciptakan kesenangan, tujuan dari permainan itu sendiri adalah untuk refreshing.Biasanya permainan dilakukan sendiri ataupun bersama-sama.Teori permainan mula-mula dikembangkan oleh seorang ahli matematika perancis bernamaEmile Borel pada tahun 1921. Kemudian, Jhon Von Neumann dan Oscar morgensten mengembangkan lebih lanjut sebagai alat untuk merumuskan perilaku ekonomi yang bersaing.Aplikasi-aplikasi nyata yang palingsukses dari teori permainan banyak ditemukan dalam militer. Tetapi denganberkembangnya dunia usaha (bisnis) yang semakin bersaing dan terbatasnyasumber daya serta saling ketergantunga social, ekonomi, dan ekologi yangsemakin besar, akan meningkatkan pentingnya aplikasi-aplikasi teori permainan. Kontrak dan program tawar menawar serta keputusan-keputusan penetapan harga adalah contoh penggunaan teori permainan yang semakin meluas [6].

Model-model teori permainan dapat diklasifikasikan dengan sejumlah cara,seperti jumlah pemain, jumlah keuntungan dan kerugian dan jumlah strategi yangdigunakan dalam permainan. Sebagai contoh, bila jumlah pemain adalah dua,permainan disebut sebagai permainan dua-pemain. Begitu juga, bila jumlahpemain adalah N (dengan N ≥3 ), permainan disebut permainan N-pemain.

II.1.1 Pengertian Game

Game merupakan sebuah bentuk seni dimana penggunanya disebut dengan pemain (player), diharuskan membuat keputusan-keputusan dengan tujuan mengelola sumber daya yang diperoleh dari kesempatan-kesempatan bermain

(token) miliknya untuk mencapai tujuan tertentu. Video game adalah bentuk game

yang interaksi umunya melibatkan media video dan audio.

(24)

kesenangan tanpa mencari menang atau kalah. Kedua, permainan diartikan sebagai aktifitas bermain yang dilakukan dalam rangka mencari kesenangan dan kepuasan, namun ditandai pencarian menang – kalah.

Berdasarkan representasinya, game dapat dibedakan menjadi 2 jenis yaitu

game 2 dimensi (2D) dan 3 dimensi (3D). Game 2D adalah game yang secara matamatis hanya melibatkan 2 elemen koordinat kartesius yaitu x dan y, sehingga konsep kamera pada game 2D hanya menentukan gambar pada game yang dapat dilihat oleh pemain. Sedangkan game 3D adalah game yang selain melibatkan elemen x dan y juga melibatkan elemen z pada perhitungannya sehingga konsep kamera pada game 3D benar-benar menyerupai konsep kamera pada kehidupan nyata [7].

II.1.2 Jenis-jenis Game

Berikut klasifikasi game berdasarkan genre permainannya [8] : 1. Aksi Shooting

Video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata

dan tangan, juga timing, inti dari game jenis ini adalah tembak, tembak dan tembak. Termasuk didalamnya tedapat :

a. First person shooter (FPS) seperti Counter Strike dan Call of Duty.

Drive n shoot, menggunakan unsur simulasi kendaraan tetapi tetap dengan tujuan utama menembak dan menghancurkan lawan, contoh : Spy Hunter, Rock and Roll Racing, Road Rash.

b. Shoot em up, seperti Raiden, 1942, dan gradius.

c. Beat em up (tonjok hajar) seperti Double Dragon dan Final Fight, lalu

hack and slash (tusuk tebas) seperti Shinobi dan Legend of Kage.

d. Light gun shooting, yang menggunakan alat yang umumnya berbentuk

seperti senjata, seperti Virtua Cop dan Time Crisis.

e. Fighting ( pertarungan ) Ada yang mengelompokan video game fighting di

(25)

2. Petualangan.

Jenis videogame aksi-petualangan memerlukan kelihaian pemain dalam bergerak, refleks, berlari, melompat hingga memecut atau menembak tidak diperlukan di sini. Video Game murni petualangan lebih menekankan pada jalan cerita dan kemampuan berpikir pemain dalam menganalisa tempat secara

visual, memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan

percakapan karakter hingga penggunaan benda-benda tepat pada tempat yang tepat.

3. Simulasi, Konstruksi dan manajemen.

Video Game jenis ini seringkali menggambarkan dunia di dalamnya sedekat

mungkin dengan dunia nyata dan memperhatikan dengan detil berbagai faktor.

Video Game jenis ini membuat pemain harus berpikir untuk mendirikan,

membangun dan mengatasi masalah dengan menggunakan dana yang terbatas. Contoh: Sim City, The Sims, Tamagotchi.

4. Role Playing.

Video game jenis ini sesuai dengan terjemahannya, bermain peran, memiliki

penekanan pada tokoh/peran perwakilan pemain di dalam permainan, yang biasanya adalah tokoh utamanya, dimana siring kita memainkannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain ( biasanya menjadi semakin hebat, semakin kuat, semakin berpengaruh, dll) dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter. seperti Final Fantasy,

Dragon Quest dan Xenogears.Never Winter Nights, baldurs gate, Elder Scroll,

dan Fallout.

5. Puzzle.

Video game jenis ini sesuai namanya berintikan mengenai pemecahan

(26)

petualangan maupun game edukasi. Tetris, Minesweeper, Bejeweled, Sokoban

dan Bomberman.

6. Simulasi kendaraan.

Video Game jenis ini memberikan pengalaman atau interaktifitas sedekat mungkin dengan kendaraan yang aslinya, muskipun terkadang kendaraan tersebut masih eksperimen atau bahkan fiktif, tapi ada penekanan khusus pada detil dan pengalaman realistik menggunakan kendaraan tersebut.

II.2 AI (Artificial Intelligence)

Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam gameseperti musuh biasa berinteraksi dengan player dalam berbagai hal, mulai dari bertarung hinggaberjalan. khusus proses berjalan, algoritma pathfinding adalah algoritma yangdapat dimanfaatkan membantu musuh menemukan alur jalannya.

Kecerdasan buatan atau Artificial Intelligence (AI) merupakan cabang dari ilmu komputer yang berhubungan dengan pengotomatisan tingkah laku cerdas.Kecerdasan buatan didasarkan pada teori suara (sound theoretical) dan prinsip-prinsip aplikasi dari bidangnya.Prinsip-prinsip ini meliputi struktur data yang digunakan dalam representasi pengetahuanalgoritama yang diperlukan untuk mengaplikasikan pengetahuan tersebut serta bahasa dan teknik pemrograman yang digunakan dalam mengimplementasikannya.

Berdasarkan sudut pandang, AI dapat dipandang sebagai berikut :

1. Sudut pandang kecerdasan, AI adalah bagaimana membuat mesin yang cerdas dan dapat melakukan hal-hal yang sebelumnya hanya dapat dilakukan manusia.

2. Sudut pandang bisnis, AI adalah sekelompok alat bantu yang berdayaguna dan metodologi yang menggunakan alat-alat bantu tersebut untuk menyelesaikan masalah-masalah bisnis.

3. Sudut pandang pemrograman,AI meliputi studi tentang pemrograman simbolik,pemecahan masalah dan proses pencarian

(27)

a. Riset tentang AI dimulai pada awal tahun 1960-an,percobaan pertama adalah membuat program permainan catur,membuktikan teori dan

general problem solving.

b. AI adalah nama pada akar dari studi area.

Kecerdasan buatan memiliki sejumlah sub disiplin ilmu yang sering digunakan untuk pendekatan yang esensial bagi penyelesaian suatu masalah dan dengan aplikasi bidang AI yang berbeda.Pada gambar 2.3 dapat dilihat bidang-bidang tugas dari AI.

Expert

Gambar II.1 Bidang-bidang tugas (task domains) dari AI [9] Aplikasi penggunaan AI dapat dibagi ke dalam tiga kelompok yaitu :

1. Expert Task

AI dibentuk berdasarkan pengalaman dan pengetahuan yang dimiliki oleh para ahli.Penggunaan ini dapat membantu para ahli untuk menyampaikan ilmu-ilmu yang dimiliki. Contohnya adalah:

a. Analisis finansial. b. Analisis medikal.

(28)

d. Rekayasa

(desain,pencarian,kegagalan,perencanaan,manufaktur).

2. Formal Task

AI digunakan untuk melakukan tugas-tugas formal yang selama ini manusia biasa lakukan dengan lebih baik.Contohnya adalah :

a. Game.

b. Matematika (geometri,logika,kalkulus,integral).

3. Mundane Task

Secara harfiah mundane adalah keduniaan.AI digunakan untuk melalukan hal-hal yang sifatnya duniawi atau melakukan kegiatan yang dapat membantu manusia.Contohnya adalah:

a. Persepsi. b. Bahasa alami. c. Robot control.

Aplikasi kecerdasan buatan memiliki dua bagian utama yaitu :

1. Basis Pengetahuan (Knowledge Base): berisi fakta-fakta,teori,pemikiran dan hubungan antara satu dengan lainnya.

2. Motor Inferensi (Inference Engine): kemampuan menarik kesimpulan berdasarikan pengalaman.

II.3 Algoritma A*

Algoritma ini merupakan algoritma Best First Search yang menggabungkan

Uniform Cost Search dan Greedy Best-First Search. Biaya yang diperhitungkan

didapat dari biaya sebenarnya ditambah dengan biaya perkiraan. Dalam notasi matematika dituliskan sebagai f (n) = g(n) + h(n).Dengan perhitungan biaya seperti ini, Algoritma A* adalah compelete dan optimal.

Algorima A*, merupakan salah satu contoh algoritma pencarian yang cukuppopular di dunia. Jika mengetikkan Algoritma A* pada sebuah mesin

(29)

Beberapa terminologi dasar yang terdapat pada algoritma ini adalah starting point, simpul (nodes), A, open list, closed list, harga (cost), halangan

(unwalkable). Starting point adalah sebuah terminologi untuk posisi awal sebuah

benda.A adalah simpul yang sedang dijalankan dalam algortima pencarian jalan terpendek. Simpul adalah petak-petak kecil sebagai representasi dari area

pathfinding.Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.open list

adalah tempat menyimpan data simpul yang mungkin diakses dari starting point

maupun simpul yang sedang dijalankan. Closed list adalah tempat menyimpan data simpul sebelum A yang juga merupakan bagian dari jalur terpendek yang telah berhasil didapatkan. Harga (F) adalah nilai yang diperoleh dari penjumlahan nilai G, jumlah nilai tiap simpul dalam jalur terpendek dari starting point ke A, dan H, jumlah nilai perkiraan dari sebuah simpul ke simpul tujuan. Simpul tujuan yaitu simpul yang dituju.Rintangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh A.

Prinsip algoritma ini adalah mencari jalur terpendek dari sebuah simpul awal

(starting point) menuju simpul tujuan dengan memperhatikan harga (F) terkecil.

Diawali dengan menempatkan A pada starting point, kemudian memasukkan seluruh simpul yang bertetangga dan tidak memilik atribut rintangan dengan A ke dalam open list. Kemudian mencari nilai H terkecil dari simpul-simpul dalam

open list tersebut. Kemudian memindahkan A ke simpul yang memiliki nilai H

terkecil. Simpul sebelum A disimpan sebagai parent dari A dan dimasukkan ke dalam closed list. Jika terdapat simpul lain yangbertetangga dengan A (yang sudah berpindah) namun belum termasuk kedalam anggota open list, maka

masukkan simpul-simpul tersebut ke dalam open list. Setelah itu, bandingkan nilai G yang ada dengan nilai G sebelumnya (pada langkah awal, tidak perlu dilakukan perbandingan nilai G). Jika nilai G sebelumnya lebih kecil maka A kembali ke posisi awal. Simpul yang pernah dicoba dimasukkan ke dalam closed list. Hal terebut dilakukan berulangulang hingga terdapat solusi atau tidaka ada lagi simpul lain yang berada pada open list.

Terdapat beberapa hal yang perlu didefinisikan terlebih dahulu dalam kasus

(30)

yang akan dibahas yaitu path, open list, closed list, nilai f, g dan n.

Algoritma A* menggunakan dua senarai yaitu OPEN dan CLOSED.OPEN

adalah senarai (list) yang digunakan untuk menyimpan simpul-simpul yangpernah dibangkitkan dan nilai heuristiknya telah dihitung tetapi belum terpilih sebagai simpul terbaik (best node) dengan kata lain, OPEN berisi simpul-simpul masih memiliki peluang untuk terpilih sebagai simpul terbaik, sedangkan CLOSED

adalah senarai untuk menyimpan simpul-simpul yang sudah pernahdibangkitkan dan sudah pernah terpilih sebagai simpul terbaik. Artinya, CLOSED berisi

simpul-simpul yang tidak mungkin terpilih sebagai simpul terbaik (peluang untuk terpilih sudah tertutup).

1. OPEN LIST adalah list yang menyimpan kemungkinan path yang akan

diperiksa. OPEN LIST dibuat terurut berdasarkan nilai f. OPEN LIST

digunakan untuk menentukan secara selektif (berdasarkan nilai f) jalan yang dikira lebih dekat menuju pada path tujuan. OPEN berisi simpul-simpul yang masih memiliki peluang untuk terpilih sebagai simpul terbaik (best node).

2. CLOSED adalah senarai (list) untuk menyimpan simpul-simpul yang

sudahpernah dibangkitkan dan sudah pernah terpilih sebagai simpul terbaik

(bestnode) atau senarai yang menyimpan jalan yang sudah diperiksa dari open

list.Artinya, CLOSED berisi simpul-simpul yang tidak mungkin terpilih sebagai simpul terbaik (peluang untuk terpilih sudah tertutup). Kedua list

(OPENLIST dan CLOSED LIST) ini bertujuan juga untuk menghindari

penelusuranberkali-kali jalan (rute) yang memang sudah diidentifikasi agar tidak masuk kembali ke dalam OPEN LIST.

3. Nilai F adalah cost perkiraan suatu path yang teridentifikasi. Nilai F merupakan hasil dari f(n).

4. Nilai G hasil dari fungsi g(n), adalah banyaknya langkah yang diperlukan untuk menuju ke path sekarang.

(31)

dengan :

f(n) = fungsi evaluasi ( jumlah g(n) dengan h(n) )

g(n) = biaya (cost) yang dikeluarkan dari keadaan awal sampai keadaan n

h(n) = estimasi biaya untuk sampai pada suatu tujuan mulai dari n

Perhitungan nilai H digunakan fungsi heuristic, metode yang digunakan di dalam contoh ini adalah metode Manhattan dimana perhitungan jumlah node

hanya yang bergerak secara vertical dan horizontal menuju tujuannya serta

mengabaikan penghalang atau collision, yang kemudian nilainya dikalikan dengan 10. Atau dirumuskan dengan [10]:

H = 10*(abs(currentX-targetX) + abs(currentY-targetY)) Di bawah ini merupakan pseudocode dari algoritma A*.

Tabel II.1 Pseudocode Algoritma A*

II.4 Analisis Sistem Berbasis Objek

Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan mengguna kan model yang dibuat menurut konsep sekitar dunia nyata. Dasar pembuatan adalah objek,yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas

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

1. fungsi A*(awal,tujuan)

2. var himpunan_tertutup <- himpunan_kosong

3. var q <- buat_antrian(titk_awal)

4. while (q tidak kosong)

5. var p <- hapus_elemen_pertama(q)

6. var x <- titik_akhir_dari_p

7. if (x = tujuan)

8. return p

9. for (tiap y pada suksesor(p))

10. if (y bukan anggota himpunan_tertutup)

11. masuk_antrian(q, y)

12. tambahkan y ke himpunan_tertutup

13. endif

14. endfor

15. endwhile

(32)

II.4.1 Object Oriented Programming

OOP (Object Oriented Programming) adalah pemodelan atau alat untuk mendesain sebuah game.Desainnya bisa dari objek karakter ataupun dari programnya.

Objek adalah kesatuan entitas yang memiliki sifat dan tingkah laku. Dalamkehidupan sehari-hari, objek adalah benda, baik benda berwujud nyata seperti manusia, hewan, mobil, komputer, handphone, pena, ataupun benda yang tidak nyata atau konsep, seperti halnya tabungan bank, sistem antrian, sistem internet banking, dan sebagainya. Jadi pengertian OOP adalah konsep yang membagi program menjadi objek-objek yang saling berinteraksi satu sama lain. Objek adalah benda, baik benda yang berwujud nyata maupun benda yang tidak nyata (konsep). Jika menggunakan OOP maka akan ada enam keuntungan yang dapat diperoleh, yaitu [11]:

1. Alami (Natural).

2. Dapat diandalkan (Reliable).

3. Dapat digunakan kembali (Reusable).

4. Mudah untuk dalam perawatan (Maintainable). 5. Dapat diperluas (Extendable).

6. Efisiensi waktu.

Berikut ini beberapa bahasa pemrograman yang sudah menggunakan konsep

OOP, adalah : 1. C++.

2. Visual C++.

(33)

II.4.2 UML (Unified Modeling Language)

UML (Unified Modeling Language) adalah sebuah bahasa yang

berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari sebuah sistem pengembangan software

berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print,yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem software.

Metode objek-oriented banyak digunakan dalam pengembangan perangkat lunak.Unified Modeling Language (UML) adalah bahasa yang dapat digunakan untuk spesifikasi, visualisasi dan dokumentasi sistem software pada fase pengembangan.UML merupakan unifikasi metode-metode Booch, OMT dan

Objectory serta beberapa metode lainnya, de facto UML merupakan standar

bidang analisis dan desain sistem objek-oriented. View adalah jendela (window) yang merupakan aspek pandang UML terhadap sistem. UML memperkenalkan lima buah view untuk memandang sistem yaitu: Use-Case View, Logical View,

Componentview, Deployment Viewdan Concurrency View (Eriksson dan Penker,

1998). Booch (1998) menyebut view ini sebagai arsitektur 4+1´ dan menyebut

Concurrency View sebagai Process View. Tahap pengembangan sistem perangkat

lunak di dalam UML meliputi:

Analisis Kebutuhan (Requirement Analysis), Analisis Sistem (Analysis), Desain (Design), Implementasi (Implementation) dan Testing [12]

II.4.1.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari

(34)

Use case diagram dapat sangat membantu menyusun requirement sebuah sistem,mengkomunikasikan rancangan dengan klien, dan merancang test case

untuk semua feature yangada pada sistem.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalamdirinya. Secara umum diasumsikan bahwa use case yang

di-include akan dipanggil setiap kali usecase yang meng-include dieksekusi secara

normal.

Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitasdapat dihindari dengan cara menarik keluar fungsionalitas yang common.

Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.Sementara hubungan generalisasi antar use case menunjukkan bahwa use

case yang satu merupakanspesialisasi dari yang lain [13]. contoh use case dapat

dilihat pada gambar II.1

Gambar II.2 Diagram Use Case

II.4.1.2 Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan

(35)

Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungansatu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain [13]. Gambar II.3 menunjukkan contoh class diagram

Gambar II.3 Class Diagram

II.4.1.3 Component Diagram

Component diagram menggambarkan struktur dan hubungan antar

komponen piranti lunak,termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code

maupun binary code, baik library maupun executable, baik yang muncul pada

compile time, link time, maupun run time.

(36)

Gambar II.4 Component Diagram

II.4.1.4 Deployment Diagram

Deployment/physical diagram menggambarkan detail bagaimana

komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.

(37)

Gambar II.5 Deployment Diagram

II.4.1.5 State Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan (dari

satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli

yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram).

Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki namasesuai kondisinya saat itu. Transisi antar state

umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukansebagai akibat dari event tertentu dituliskan dengan diawali garis miring [13]. Contoh state

(38)

Gambar II.6 State Diagram

II.4.1.6 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 atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event

untuk menghasilkan output tertentu. Diawali dariapa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan [13]. Salah satu contoh sequence diagram digambarkan pada gambar II.6.

Gambar II.7 Sequence Diagram

II.4.1.7 Collaboration Diagram

Collaboration diagram juga menggambarkan interaksi antar objek seperti

(39)

bukan pada waktu penyampaian message. Setiap message memiliki sequence

number, di mana message dari level tertinggi memiliki nomor 1. Messages dari

level yang sama memiliki prefiks yang sama [13]. Gambar II.8 menunjukkan contoh collaboration diagram.

Gambar II.8 Collaboration Diagram

II.4.1.8 Activity Diagram

Activity diagrammenggambarkan berbagai alur aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, dimana sebagian besar

state adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum [13].

(40)

Gambar II.9 Activity Diagram

II.5 Bahasa Pemrograman C#

C# merupakan sebuah bahasa pemrograman yang berorientasi objek yangdikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET

Framework [13].C# adalah Java versi Microsoft, sebuah bahasa multi flatform

yang didesain untuk bisa berjalan di berbagai mesin.C# adalah pemrograman berorientasi Object (OOP).C# memiliki kekuatan bahasa C++ dan portabilitas seperti Java. Fitur-fitur yang diambilnya dari bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar kelas (root class), dan juga penyederhanaan terhadap pewarisan jamak (multiple inheritance).

Bahasa pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat general-purpose (untuk tujuan jamak), berorientasi objek, modern, dan sederhana.C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem clien-server (hosted system) maupun sistem embedded

(embedded system), mulai dari program aplikasi yang sangat besar yang

menggunakan sistem operasi yang canggih hingga kepada program aplikasi yang sangat kecil.

(41)

bersaing secara langsung dengan kinerja dan ukuran program aplikasi yang dibuat dengan menggunakan bahasa pemrograman C [14].

II.6 Java

Java adalah sebuah bahasa pemrograman pada komputer sama seperti

pendahulunya C++. Bahasa pemrograman ini dikembangkan oleh Sun

microsystems yang dikembangkan pada tahun 1995 . Awalnya javadiciptakan

pada tahun 1991 oleh Patrick Naughton, Mike Sheridan , James Gosling dan Bill Joy beserta programer dari Sun Microsystems . Uniknya nama javadiambil dari nama pulau jawa ( bahasa inggris dari jawa ) karena James Gosling " Bapak Java" menyukai kopi tubruk yang berasal dari pulau Jawa . Jadi kita perlu berbangga menjadi warga negara Indonesia [15].

Java sendiri merupakan bahasa pemrograman yang berbasis objek ,

maksudnya adalah semua aspek yang terdapat pada javaadalah objek sehingga sangat memudahkan untuk mendesain , membuat dan mengembangkan program

javadengan cepat . Kelebihan ini membuat program javamenjadi mudah untuk digunakan oleh banyak orang . Bahasa pemrograman ini juga dapat digunakan oleh banyak sistem operasi , seperti : Microsoft Windows, Linux, Mac OS, dan Sun Solaris ( Multiplatform ) .

Kelebihan Java:

- Berorientasi objek, Memudahkan untuk mendesign dan mengembangkan program dengan cepat dan teliti, sehinnga mudah digunakan. Salah satu bahasa pemrograman yang berorientasi objek secara murni. Mirip C++, Mempunyai sintaks yang mirip dengan bahasa pemrograman C++. Sehingga para pengguna C++ banyak yang hijrah menggunakan Java.

- Multiplatform, Dapat digunakan dibanyak sistem operasi. Perkembangan yang luas, Dari game sampai sistem operasi handphone menggunakan program java.

(42)

- Proses Compile, Mengharuskan pengguna mengcompile programnya sebelum dijalankan, berbeda dengan bahasa pemrograman python yang tidak perlu mengcompile terlebih dahulu .

- Penggunaan Memori yang besar, Berbeda dengan bahasa pemrograman lain yang hanya membutuhkan memori sedikit

SunMicrosystem mendefinisikan 3 (tiga) edisi java, yaitu :

1. J2ME (JavaMicro Edition)

Edisi ini ditunjukan bagi lingkungan dengan sumber daya terbatas, seperti

smartcard, ponsel, dan PDA.

2. J2SE (Java2 Standard Edition)

Edisi ini ditunjukan bagi lingkungan workstation, seperti pembuatan aplikasi-aplikasi desktop.

3. J2EE (Java2 Enterprise Edition)

Edisi ini ditunjukan bagi lingkungan Internet atau aplikasi terdistribusi dalam skala besar.

Perbedaan setiap edisi meliputi fitur-fitur bahasa yang didukung dan API

yang tersedia. Berdasarkan tingkatannya, edisi yang lebih tinggi mampu mengemulasi edisi yang lebih rendah. Adapun urutan edisi yang tertinggi ke rendah adalah J2EE, J2SE, J2ME.

Sedangkan pada Versi javakita cermati dari versi-versi Javayang telah dirilis

Sun Microsystems yang menggunakan dua jenis versi, yaitu versi produk dan versi

developer. Seperti kita ketahui, versi terbaru saat ini adalah versi 6 (Versi produk) atau versi 1.6.5 (Versi developer), dengan nama kode Mustang. Sejak tahun 2006, Sun juga menyederhanakan penamaan platform dengan tujuan untuk mencerminkan tingkat kematangan, stabilitas, skalabilitas, dan sekuriti yang lebih baik.Jika penamaan versi sebelumnya adalah Java2 Platform, Standard Edition

5.0 (J2SE 5.0), maka sekarang disederhanakan menjadi Java Platform, Standard

(43)

II.5 Unity

Unity Game Engine adalah software atau game engine yang digunakan

untuk membuat video game berbasis dua atau tiga dimensi dan dapat digunakan secara gratis. Selain untuk membuat game, unity juga dapat digunakan untuk membuat konten yang interaktif lainnya seperti, visual arsitektur dan real-time 3D animasi.

Unity adalah sebuah sebuah tool yang terintegrasi untuk membuat game,

arsitektur bangunan dan simulasi.Unity bisa digunakan untuk games PC dan

games online. Untuk games online diperlukan sebuah plugin, yaitu Unity Web

Player, yang sama halnya dengan flashplayer pada browser. Bahasa pemrograman

yang digunakan bermacam-macam, mulai dari javascript, C#, dan boo[16].

II.6 3D Studio Max

3ds Max atau 3D Studio Max adalah salah satu software atau perangkat

lunak yang sering digunakan oleh perancang produk untuk membuat animasi atau pemodelan dalam bentuk 3 dimensi. Aplikasi canggih ini dirilis oleh salah satu perusahaan Autodesk Media & Entertainment yang pada mulanya dikenal sebagai

Discreet and Kinetix.3D Max merupakan salah satu dari sekian banyak aplikasi

modeling untuk membuat model 3D dan paling banyak digunakan oleh perancang

yang tersebar di seluruh dunia.

Sejalan dengan berkembangnya teknologi termasuk juga dalam bidang komputerisasi.3D Max pun mengalami perubahan-perubahan untuk menyesuaikan dengan kemampuan komputer yang semakin tinggi dalam hal grafis.3D Max

dikembangkan dari aplikasi sebelumnya yang bernama 3D Studio for Dos, tetapi aplikasi ini hanya diperuntukan untuk platform Win32.

Dengan semakin canggihnya kemampuan software ini, maka tidak aneh

3D Max menjadi program animasi komputer 3D dengan penjualan terbesar di

dunia.Software ini memiliki kemampuan modeling yang kuat dan merupakan

plugin architecture yang fleksibel dan bekerja dengan platform Microsoft

(44)
(45)

29 BAB III

ANALISIS DAN PERANCANGAN

III.1 Analisis Sistem

Pada bagian analisis sistem merupakan penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbarui. Analisis sistem ini mencakup analisis-analisis terhadap masalah yang akan dilakukan terhadap game mulai dari analisis masalah, analisis game sejenis, analisis kebutuhan non fungsional, analisis pengguna, analisis algoritma, analisis fungsional hingga perancangan antarmuka dari game yang akan dibua.

III.1.1 Analisis Masalah

Seiring dengan berkembangnya peradaban saat ini membuat kebudayaan asing mudah masuk hal ini berdampak kepada berkurangnya kepedulian terhadap pendidikan sejarah. Menariknya budaya masa lalu yang berakibat banyaknya budaya asing yang cenderung lebih menarik sehingga menggeser keberadaan sejarah yang ada [1]. Menurut pemerhati budaya dan sejarah Asep Kambali mengatakan jika kesadaran masyarakat Indonesia untuk mengenal dan mencintai sejarah dan budaya, berangsur-angsur mulai meredup menurutnya Kesadaran masyarakat, khususnya pemuda, terhadap budaya dan sejarah dinilai saat ini justru rendah.Kita bisa menilai pertama dari pengetahuan mereka yang kurang terhadap sejarah dan budaya. Kedua, dari cara bersikap. Ketiga, dari cara mereka menghargai dan bertindak terhadap kebudayaan itu sendiri [2]. Dengan diaplikasikannya ke dalam game diharapkan bisa menambah pengetahuan pengguna tentang sejarah khususnya beberapa bangunan bersejarah yang ada di Indonesia seperti Gedung Merdeka, Musium Fatahilah, dan Musium Kereta Api ambarawa, selain itu agar dapat lebih menghargai terhadap sejarah itu sendiri, serta dapat menarik minat para remaja untuk mengunjungi objek-objek wisata yang menyajikan edukasi sejarah.

(46)

1. Bagaimana membangun sebuah aplikasi hiburan yang bisa dinikmati oleh para remaja dalam bentuk sebuah game PC .

2. Menjadikan game sebagai media penyampaian informasi mengenai beberapa bangunan-bangunan bersejarah yang ada di Indonesia

III.1.2 Analisis Game Sejenis

Analisis game sejenis dilakukan untuk memberikan gambaran dari sistem yang akan dibuat yang digunakan sebagai pembanding agar sistem dari game

yang dibuat semakin baik agar bisa memenuhi keinginan dari pembuat game.

III.1.2.1 Soldier Of Fortune payback

Game Soldier Of Fortune Payback ini merupakan game bergenre first

person shooter yang dibuat oleh Activision dan dirilis pada tanggal 14 Nopember

2007. Game ini memiliki grafis yang sangat bagus karena game ini ditujukan untuk console Xbox 360, Playstation 3, dan PC. Thomas Mason diberikan perintah untuk melaksanakan suatu misi pengawalan dan harus melibatkan dirinya di dalam masalah ketika ada campur tangan kelompok teroris, dan Thomas harus bisa menghentikan kelompok teroris yang bisa menimbulkan kekacauan di seluruh dunia berikut adalah gambar dari game Soldier Of Fortune : Payback

terlihat pada gambar III.1

(47)

Game memiliki grafis dan alur cerita yang cukup baik, namun di dalam

game terdapat konten-konten yang menunjukan sadisme yaitu apabila user

menembak kepada musuh pada anggota badan tertentu maka anggota badan yang tertembak akan terpisah dari anggota badan lainnya.

Tabel III.1 analisis game sejenis Nama Game Genre Game Desain Grafis Storyline dan

gameplay

multiplayer Basis

Soldier Of bersifat sadis di

dalam game tersebut

tidak Desktop

a. Gameplay

Pada game Soldier of Fortune, pemain harus mengalahkan musuh-musuh yang ada di dalam game, dan harus sampai ke titik yang telah ditentukan untuk menuju level selanjutnya.

b. Skenario Game

Skenario dalam permainan Soldier of Fortune dapat dilihat alur permainannya sebagai berikut :

a. Pemain berada di sebuah kota yang tandus di tengah gurun

b. Pemain harus mencari sebuah titik yang sudah ditentukan untuk menuju level selanjutnya

c. Pemain harus menghindari dan mematikan musuh ketika berada di dalam arena permainan

(48)

Alur sistem dari game Soldier of Fortune ini dapat digambarkan melalui activity diagram yang terlihat pada gambar III.2.

Gambar III.2 Alur permainan pada game Soldier of Fortune

Game Soldier of Fortune memiliki beberapa keterbatasan yaitu,

1. Game ini memiliki sifat sadisme karena banyaknya darah yang diperlihatkan

pada game ini.

2. Game ini hanya bisa dimainkan oleh satu pemain saja.

Disamping ada beberapa keterbatasan yang dimiliki game Soldier of Fortune

ada juga beberapa kelebihan yang dimiliki yaitu ;

1. Konten yang disajikan cukup lengkap di dalam game ini 2. Memiliki grafis yang sangat baik

3. Memiliki banyak senjata

Pemain Sistem

Memilih menu play menampilkan intro

menampilkan arena permainan mengendalikan karakter

menembak musuh mengambil item gagal menyelesaikan permainan

(49)

III.1.3 Analisis game yang dibangun

Game yang akan dibangun berjudul Takedown The Terrorists. Game ini bergenre first person shooter, Game ini memiliki grafis 3D (3 Dimensi). Memiliki alur cerita tentang perlawanan terhadap kelompok teroris.

Game dibangun dengan konsep sudut pandang orang pertama agar

permainan yang ditampilkan terkesan lebih nyata, seolah-olah pemain terlibat langsung ke dalam arena permainan

Berikut ini adalah fitur-fitur yang terdapat di dalam game: 1. Grafik game 3D

2. Game ini memiliki 3 buah level

3. Game ini dibuat dengan genre first person shooter

4. Game dapat dihentikan ketika permainan sedang berlangsung

5. Memiliki objek-objek gedung bersejarah dimana info dari objek gedung tersebut bisa ditampilkan pada saat permainan berlangsung

6. Game ini memiliki pause menu

7. Game dilengkapi dengan menu option untuk pengaturan suara dan resolusi

gambar

III.1.4 Storyline

Cerita dimulai tentang maraknya kasus terrorisme yang terjadi di Indonesia dan juga banyaknya kelompok teroris yang ada di Indonesia. Seorang kapten tim dari sebuah pasukan khusus yang bernama Kapten dari pasukan densus 88 yang ditugaskan untuk menangkap kelompok-kelompok teroris di yang ada di Indonesia.

- Level pertama misi utama di level ini ialah player harus menuju mobil

pasukannya yang telah menunggu untuk menuju kota selanjutnya di dalam

level 1 petunjuk keberdaan musuh akan ditunjukkan oleh pasukan yang ada di

(50)

- Level kedua misi utama dari level ini harus mencari pasukan-pasukan yang diculik oleh para teroris. Karakter harus mengalahkan teroris yang akan menghadang dan membebaskan pasukan yang sedang ditawan oleh teroris. Pada level ini karakter akan dihadapkan dengan jumlah musuh yang semakin banyak daripada level sebelumnya, petunjuk akan diberikan oleh warga sipil yang akan memberitahu keberadaan player dan karakter akan mendapat NPC bantuan yang membantu karakter. Gedung-gedung bersejarah di level ini adalah Bank Indonesia, Stasiun Jatinegara, dan Musium Fatahilah.

- Level ketiga, karakter harus menemukan bom yang disembunyikan oleh para

teroris untuk menyelesaikan misi terakhir ini. Karakter tidak akan mendapat petunjuk apapun tentang lokasi disimpannya bom-bom tersebut. Level ini karakter akan menghadapi musuh yang jauh lebih banyak dan lebih kuat daripada level sebelumnya. Gedung-gedung bersejarah di level ini adalah Taman Sari, Lawang Sewu, dan Stasiun Ambarawa.

III.1.5 Gameplay

Misi utama dari game ini adalah mengagalkan rencana terorisme terhadap gedung-gedung bersejarah yang ada di Indonesia sekaligus memberantas komplotan teroris yang telah melakukan teror terhadap masyarakat. Menu utama memiliki beberapa menu yaitu Main, petunjuk, option, dan keluar. Di dalam game ini terdapat tiga buah level, dua level semua level memilik setting di perkotaan.

Semakin banyak level yang dilewati maka semakin sulit musuh yang dihadapi pada setiap level player akan mendapatkan beberapa item yaitu berupa darah dan amunisi senjata, pada setiap level player akan menjumpai gedung-gedung bersejarah, informasi gedung-gedung tersebut akan tampil jika aktor utama mendekati objek gedung tersebut.

Senjata yang terdapat di dalam game berupa M4A1 dengan grenade launcher,dan

(51)

III.1.6 Analisis Tingkat Kesulitan

Tingkat kesulitan akan berbeda di setiap levelnya dilihat dari jumlah musuh, kekuatan musuh, dan selang waktu setiap tembakan yang dilakukan musuh. Di bawah ini adalah perbandingan tingkat kesulitan tiap level, dapat dilihat pada tabel III.2

Tabel III.2 Tingkat Kesulitan tiap Level

Keterangan Level 1 Level 2 Level 3

Jumlah musuh 10 15 20

Jarak tembak musuh 50 75 100

Jarak Pencarian Player 100 125 150

III.1.7 Analisis Scoring

Skor yang ada di dalam game Takedown the terrorists ini dilakukan dengan cara menghitung jumlah musuh yang mati akan dikalikan 100 poin skor ti saling berhubungan tiap levelnya.

III.1.8 Analisis Algoritma A star

Algoritma A* di dalam game akan diterapkan pada NPC (Non Playable

Character) sebagai penentuan jalur tependek atau pathfinding menuju target yaitu

(52)

Tabel III.3 Pseudocode Algoritma A*

Kamus global yang digunakan ditampung dalam class node yang terdapat pada script astarclasses.

{Kamus Global} public class Node type:

{

public Int3 position; public Node parent; public int pathIDx;

1. public int f {

8. void UpdateH (Int3 targetPosition, Heuristic 9. heuristic, float scale) {

10. if (heuristic == Heuristic.None) { 11. h = 0;

12. return; 13. }

14. if (heuristic == Heuristic.Manhattan) { 15. h = Mathfx.RoundToInt (

16.(Abs (position.x-targetPosition.x) + 17. Abs (position.y-targetPosition.y) + 18. Abs (position.z-targetPosition.z)) 19. * scale

20. );

21. } else if (heuristic == 22. Heuristic.DiagonalManhattan) {

23. int xDistance = Abs (position.x-targetPosition.x); 24. int zDistance = Abs (position.z-targetPosition.z); 25. if (xDistance > zDistance) {

26. h = (14*zDistance + 10*(xDistance-zDistance))/10; 27. } else {

28. h = (14*xDistance + 10*(zDistance-xDistance))/10; 29. }

30. h = Mathfx.RoundToInt (h * scale); 31. } else {

32. h = Mathfx.RoundToInt ((position- 33. targetPosition).magnitude*scale);

(53)

public static Path activePath; public int g;

public int h; public int cost; public int penalty; public int tags = 1; }

public Node[] connections; public int[] connectionCosts;

script di atas merupakan kamus global yang akan dimasukkan ke dalam

banyaknya node yang saling berhubungan, juga untuk menentukan nilai dari tiap-tiap node

Cara kerja algoritma A* di dalam game lebih jelasnya kita lihat pada gambar III.3

Gambar III.3 Tahap awal pencarian Algoritma A*

Pada gambar III.3 pencarian wilayah dibagi ke dalam node-node yang terdiri dari node berwarna hijau merupakan node awal (node A), node berwarna merah merupakan node akhir (node B) dan yang berwarna biru merupakan penghalang (unwalkable node).

A

(54)

Selanjutnya adalah, melakukan pencarian untuk menemukan jalan terpendek dengan cara memeriksa node-node yang berdekatan dengan node awal untuk bisa sampai node B. Berikut adalah langkah pencarian yang dilakukan oleh

node awal:

1. Langkah pertama, dimulai dari node awal yang ditambahkan ke dalam

Open list yangmerupakan list untuk node-node yang harus diperiksa.

2. Periksa semua node yang berdekatan dengan node awal apakah bisa dilalui atau tidak, node penghalang yang berwarna biru diabaikan lalu tambahkan semua node tersebut ke dalam open list, untuk setiap node yang baru ditambahkan, simpan node awal sebagai “parent” yang nantinya akan

digunakan untuk menelusuri jalan.

3. Hapus node awal dari open list, dan tambahkan ke dalam closed list.

Closed list merupakan list untuk node yang tidak perlu diperiksa atau

dalam artian merupakan bagian dari jalur terpendek yang sudah didapatkan.

Untuk lebih jelasnya open list dan closed list diilustrasikan pada gambar III.4

Gambar III.4 Ilustrasi open list dan closed list

Pada gambar III.4 diatas node awal yang berwarna hijau sudah ditambahkan ke dalam closed list. Sedangkan kotak yang berada di sekelilingnya

Closed List

A

Open

List

B

Open List

(55)

adalah open list yang harus diperiksa satu persatu nilai dari masing-masing node open list.

Langkah berikutnya adalah memilih node yang memiliki nilai F terendah di dalam open list dengan menggunakan rumus (F = G + H) G adalah nilai yang dikeluarkan untuk dari node A ke node yang ada disekitarknya. Sedangkan H adalah fungsi heuristic yang digunakan untuk menghitung perkiraan biaya yang dikeluarkan dari node awal menuju node tujuan.

Proses ini dilakukan secara berulang-ulang, dimulai dari open list dan menemukan node dengan nilai F paling rendah. Perhitungan persamaan untuk mendapatkan nilai F dijelaskan pada ilustrasi gambar III.5.

Gambar III.5 Perhitungan menentukan nilai F

Gambar III.5 menunjukkan pada open list dari node awal yaitu NPC nilai F yang dihasilkan adalah 4 yang didapatkan dari menambahkan nilai G = 2 dan nilai H = 2. Di dalam contoh ini G akan diberi nilai 2 apabila node bergerak secara vertical atau horizontal dan diberi nilai 3 apabila node bergerak secara

diagonal.

Perhitungan nilai H yaitu nilai estimasi jalur terpendek dari node awal ke

node tujuan yaitu player dirumuskan dengan:

(56)

H = 2*(abs(n.x-tujuan.x) + abs(n.y-tujuan.y))

Sebagai contoh node yang terletak disebelah kanan dari node awal diberikan nilai H = 6 yang didapatkan dari perhitungan 6 node menuju node

tujuan dan dikalikan 2, 2*3 = 6.

Setelah didapatkan nilai F dari setiap node yang ada di open list, maka akan dipilih node yang memiliki nilai F paling rendah yang kemudian disebut dengan current node, langkah selanjutnya adalah sebagai berikut.

1. Hapus current node dari open list dan masukkan ke dalam closed list.

2. Periksa semua node yang berdekatan dengan current node, abaikan node

penghalang. Jika tidak ada pada open list, tambahkan ke dalam open list,

lalu tambahkan “parent” untuk node tersebut.

3. Jika node sudah ada pada open list, lalu bandingkan dengan node awal apakah jalur yang di ambil lebih baik dari node awal, dengan dengan memeriksa nilai G-nya apakah lebih rendah jika kita menggunakan node

ini, jika lebih rendah maka hitung ulang nilai F dan G serta merubah arah

pointer, jika tidak maka jangan lakukan apa-apa.

Langkah pertama menghasilkan node-node di dalam open list dan closed list dijelaskan pada tabel III.3

Tabel III.4 Tabel Perhitungan Langkah Pertama

Open List 2, 6, 7

Closed List 1

Parent 1

Current Node 7

(57)

Gambar III.6 Penjelasan A* menggunakan tree pada langkah pertama

Proses yang dijelaskan di atas, dilakukan berulang kali atau looping,

dimulai dari open list, dimana open list juga berperan sebagai parent dan menemukan node dengan nilai F yang paling rendah yang selanjutnya akan dijadikan current Proses yang dijelaskan di atas, dilakukan berulang kali atau

looping, dimulai dari open list, dimana open list juga berperan sebagai parent dan

menemuka node dengan nilai F yang paling rendah yang selanjutnya akan dijadikan current node (1,1), langkah-langkahnya sebagai berikut

1. Hapus current node dari open list atau parent lalu masukkan current node

tersebut ke dalam closed list.

2. Periksa semua node yang berdekatan dengan current node, abaikan penghalang atau unwalkable node. Jika tidak ada pada open list,

tambahkan ke dalam open list dan tambahkan parent untuk node tersebut 3. Jika node sudah ada pada open list, periksa open list yang mana yang

memiliki nilai F terendah dengan rumus F = G + H, node dengan nilai F terendah akan dijadikan current node selanjutnya.

Perhitungan pada langkah kedua yang berada pada node dengan koordinat (7)dapat dilihat pada gambar 3.7

8 8 7 1

Gambar

Tabel II.1 Pseudocode Algoritma A*
Gambar II.2 Diagram Use Case
Gambar II.3 Class Diagram
Gambar II.4 Component Diagram
+7

Referensi

Dokumen terkait

Entitas data masukan dari subproses tampil informasi petunjuk penggunaan, yaitu masukan atau pilihan user (pengguna) yang memilih menu untuk menampilkan informasi

Pada tahap ini, akan dijelaskan mengenai pemodelan aplikasi yang digunakan, perancangan arsitektur program yang akan dibuat, perancangan Tampilan dan perancangan

Pengujian white box merupakan pengujian yang didasarkan pada pengecekan terhadap detail perancangan dan menggunakan struktur kontrol dari desain aplikasi secara

Tujuan implementasi adalah untuk menerapkan perancangan yang telah dilakukan terhadap sistem sehingga user dapat memberi masukan demi berkembangnya sistem yang

Merancang isi adalah hasil dari konsep yang telah dibuat dan diimplementasikan dalam bentuk rancangan struktur navigasi. Pada halaman menu utama dan judul sub

Pada halaman Sub Menu Laporan user verifikator dapat milihat data laporan yang sedang di upload pada hari berkenaan dengan memilih satuan kerja yang akan di lihat

Pada Case ini ditampilkan menu utama pada sistem aplikasi dengan berbagai button dengan fungsi masing-masing yang sudah disediakan sistem untuk mempermudah user

Pengujian fungsionalitas sistem No Kondisi Awal Hasil Harapan Fungsional 1 User memilih menu maps Menampilkan titik koordinat lokasi gantangan serta nama gantangan Berjalan sesuai