Pembangunan game action the defend island

(1)

(2)

(3)

(4)

Nama : Yana Jenis kelamin : Laki-laki

Tempat, tanggal lahir : Sukabumi, 07 Maret 1989

Agama : Islam

Kewarganegaraan : Indonesia

Anak ke : 1 (Satu)

Alamat : Jl.Sekeloa Kubang Sari IV No.35, Bandung 40133

Telepon : +62857-2331-7755

E-mail : yana.toing@gmail.com

2. RIWAYAT PENDIDIKAN

1996 – 2002 : Sekolah Dasar Negeri Bangbayang Kab. Sukabumi 2002 – 2005 : Sekolah Menengah Pertama Negeri 4 Sukabumi 2005 – 2008 : Sekolah Menengah Atas SMK Teknika Sukabumi 2008 – sekarang : Fakultas Teknik dan Ilmu Komputer Jurusan Teknik

Informatika Universitas Komputer Indonesia (UNIKOM)

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

Bandung


(5)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

YANA

10108476

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(6)

iii

Assalamu’alaikum Wr.Wb.

Puji syukur alhamdulillah penulis panjatkan kehadirat Allah SWT, atas rahmat dan karunia-Nya tugas akhir dengan judul “Pembangunan Game Action The Defend Island” sebagai syarat untuk menyelsaikan program studi Strata I

Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer pada Universitas Komputer Indonesia dapat selesai sebagaimana mestinya.

Terima kasih yang sebesar-besarnya kepada :

1. Ibu, Ayah, Tante dan Paman yang selalu mendoakan setiap saat dan juga dukungan baik moril maupun materil yang tak terhingga selama ini.

2. Ibu Utami Dewi W, S.Kom selaku dosen pembimbing yang telah membimbing dan memberikan pengarahan dalam tugas akhir ini.

3. Bapak Dr. Ir. Eddy Suryanto Soegoto, M.Sc., selaku Rektor Universitas Komputer Indonesia.

4. Bapak Irawan Afrianto, S.T, M.T selaku Ketua Program Studi Teknik Informatika Universitas Komputer Indonesia sekaligus dosen wali kelas IF-10 angkatan 2008.

5. Bapak Alif Finanditha, S.Kom selaku dosen riviewer yang telah memberikan banyak sekali waktu dan masukan yang sangat berarti bagi penulis.

6. Triantoro Sulistio, Beny Pribadi, Yudie Rusmayudi, Lufti Azhar, Anggi, Refi Meisadri, Febrian Doni, Deny Ocktaviani, Atep Nurdin sebagai

senior developer game yang telah memberikan masukan dan motivasi dalam tugas akhir ini.

7. Deni Suwandi, Wanda Julian Dika, Rido, Dito, Dani, Yosso, Daun, Joko yang telah berjuang bersama-sama dalam tugas akhir ini.

8. Seluruh Dosen dan Staff pengajar jurusan Teknik Informatika Universitas Komputer Indonesia.


(7)

iv

akhir skripsi ini masih banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu saran dan kritik yang membangun sangat diharapkan untuk pengembang ke arah yang lebih baik.

Bandung, Januari 2014


(8)

v

ABSTRACT ...ii

KATA PENGANTAR ...iii

DAFTAR ISI ...v

DAFTAR GAMBAR ...viii

DAFTAR TABEL ...xi

DAFTAR SIMBOL ...xiii

DAFTAR LAMPIRAN ...xvii

BAB PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metode Penelitian ... 3

1.6 Sistematika Penulisan ... 5

BAB 2TINJAUAN PUSTAKA ... 7

2.1 Game ... 7

2.1.2 Pengertian Game ... 7

2.1.3 Elemen Dasar Game ... 8

2.1.4 Game 3D ... 9

2.1.5 Jenis-jenis Game ... 9

2.1.6 Genre Game ... 10

2.1.7 Unsur Game ... 14

2.2 Kecerdasan Buatan ... 16

2.3 Teknik Dasar Pencarian ... 18

2.4 Algoritma Pencarian ... 19

2.4.1 Pencarian Buta (Blind Search) ... 20


(9)

vi

2.7.1 Fungsi Keanggotaan ... 27

2.7.2 Metode Sugeno ... 39

2.8 Link List ... 31

2.9 OOP (Object Oriented Programming) ... 32

2.9.1 Istilah-istilah OOP ... 33

2.9.2 Konsep-konsep OOP ... 35

2.10 UML (Unified Modeling Language) ... 37

2.10.1 Use Case Diagram ... 38

2.10.2 Class Diagram ... 39

2.10.3 Activity Diagram ... 39

2.10.4 Sequence Diagram ... 39

2.11 Unity3D ... 40

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 41

3.1 Analisis Sistem ... 44

3.1.1 Analisis Masalah ... 41

3.1.2 Analisis Game Sejenis... 41

3.1.3 Analisis Game yang akan dibangun ... 51

3.2 Analisis Algoritma ... 55

3.2.1 Analisis Algoritma SMA* ... 56

3.2.2 Analisis Algoritma Fuzzy Logic ... 62

3.3 Analisis Kebutuhan Non-Fungsional ... 71

3.3.1 Analisis Kebutuhan Perangkat Lunak ... 71

3.3.2 Analisis Kebutuhan Perangkat Keras ... 72

3.3.3 Analisis Pengguna ... 73

3.4 Analisis Kebutuhan Fungsional ... 75

3.4.1 Use Case Diagram ... 75

3.4.2 Activity Diagram ... 85


(10)

vii

3.5.2 Senjata / Weapon ... 100

3.5.3 Musuh atau Enemy ... 101

3.5.4 Karakter Teman ... 103

3.5.5 Items ... 104

3.5.6 Storyboard ... 105

3.6 Perancangan Arsitektur ... 106

3.6.1 Perancangan Struktur Menu ... 106

3.6.2 Perancangan Antarmuka ... 107

3.6.3 Perancangan Pesan ... 111

3.6.4 Jaringan Semantik ... 111

3.7 Perancangan Method ... 112

3.7.1 Method Player Weapon ... 112

3.7.2 Method Character Damage ... 113

3.7.3 Method Update GUI ... 114

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 117

4.1 Implementasi ... 117

4.1.1 Implenetasi Perangkat Keras ... 117

4.2 Implementasi Antarmuka ... 118

4.3 Pengujian ... 124

4.3.1 Pengujian Alpha ... 124

4.3.1.1 Skenario Pengujian Aplikasi ...134

4.3.1.2 Kasus dan Hasil Pengujian (Black Box) ...135

4.3.1.3 Kasus dan Hasil Pengujian (Whte Box) ...139

4.4.1 Pengujian Beta ... 145

4.4.2 Kesimpulan Beta ... 149

BAB 5 KESIMPULAN DAN SARAN ... 153

5.1 Kesimpulan ... 153


(11)

(12)

155

DAFTAR PUSTAKA

[1] Katie Salen and Eric Simmerman “Rules of Play : Game Design

Fundamentals”, 2003.

[2] ESA (Entertainment Software Association). (2011). Essential Facts About

The Computer And Video Game Industry.

[3] Nazir, Moh. 2006. Metode Penelitian. Jakarta : Ghalia Indonesia.

[4] Sommerville, Ian. 2003. Software Engineering Rekayasa Perangkat Lunak. Jakarta : Airlangga.

[5] Andang, Educatioin Games (Menjadi cerdas dan ceria dengan permainan edukatif), Yogyakarta: Pilar Media, 2006.

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

[7] Russell dan P. Norvig, Artificial Intelligence : A Modern Approach, 2nd penyunt., United States of America: Prentice-Hall, 2003.

[8] Suyanto. 2007. Artificial Intelligence Searching, Reasoning, Planning dan Learning. Bandung : Informatika.

[9] Kusumadewi, Sri dan Purnomo, Hari. 2004. Aplikasi Logika Fuzzy untuk

Pendukung Keputusan. Yogyakarta : Graha Ilmu.

[10] B. Hariyanto, Struktur Data : Pondasi Membuat Program Yang Elegan dan Efisien, Bandung: Informatika, 2008.

[11] Prabowo Pudjo Widodo, Herlawati. Menggunakan UML (Unified

Modeling Language). Bandung : Informatika.

[12] Munawar. 2009. Pemodelan Visual dengan Unified Modeling Language. Yogyakarta : Graha Ilmu.

[13] W. Goldstone, Unity 3.5 Game Development Essentials: Game Development With C# and Javascript, Birmingham: Packt Publishing Ltd, 2011.


(13)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Game berasal dari bahasa inggris yang mempunyai arti dasar permainan, permainan merupakan bagian dari bermain dan bermain juga bagian dari permainan sehingga keduanya saling berhubungan. Sebuah permainan merupakan sebuah sistem dimana pemain terlibat dalamnya dan game juga bertujuan untuk menghibur, game biasanya banyak disukai oleh anak-anak hingga orang dewasa[1]. Game dengan jenis action merupakan game yang paling banyak diminati dan dimainkan pada saat ini, hal ini diperkuat dengan penelitian yang dilakukan oleh ESA (Enginering Software Association) pada tahun 2011 menunjukan bahwa game action masih memiliki minat paling tinggi dibanding jenis game lain[2].

Salah satu game ber-genre FPS 3D adalah gameAlien Exterminator. Alien Exterminator merupakan game FPS yang menceritakan seorang prajurit yang mempunyai misi utama untuk mempertahankan pulau dari jajahan mahluk asing (alien) yang ingin menguasai pulau tersebut. Dalam game ini terlihat beberapa kelemahan atau masalah diantaranya adalah musuh terlihat kurang cerdas dalam melakukan pengejaran terhadap pemain, musuh hanya akan mengejar pemain apabila mendekati daerahnya. Kekurangan lainnya adalah alur cerita tidak jelas dan kurang bervariatifnya objek permainan terutama objek musuh. Dan juga musuh hanya memiliki kemampuan untuk menyerang pemain sampai pemain kalah, musuh tidak memiliki kemampuan seperti bertahan ataupun melarikan diri dalam kondisi tertentu.

Game The Defend Island merupakan game 3D dengan genre FPS yang

mempunyai genre yang sama dengan gameAlien Exterminator. GameTheDefend Island mempunyai kelebihan yang berupa perbaikan dari kelemahan yang ada pada game Alien Exterminator yang telah disebutkan. Untuk memperbaiki


(14)

character) musuh akan diberikan AI (artificial intelligence) yang mempunyai kemampuan melakukan pencarian sehingga NPC tidak kesulitan dalam mencari posisi player dan NPC juga akan diberikan kemampuan untuk melakukan beberapa opsi keputusan sebagai reaksi terhadap player seperti bertahan dan melarikan diri dengan kondisi dan pertimbangan yang diberikan.

Berdasarkan uraian diatas, maka akan dibangun aplikasi game dengan menerapkan artificial intelligence agar permainan terlihat lebih menarik. Adapun penelitian tersebut dituangkan dalam penyusunan skripsi dengan judul

“PEMBANGUNAN GAME ACTION THE DEFEND ISLAND”.

1.2 Rumusan Masalah

Berdasarkan uraian latar belakang masalah diatas, maka dapat dirumuskan sebuah masalah yaitu ; Bagaimana membangun game action The Defend Island?

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang telah di uraikan diatas, maka maksud dari penulisan tugas akhir ini adalah membangun Game Action The Defend Island.

Adapun tujuan yang ingin dicapai adalah sebagai berikut :

1. Menjadikan game memiliki karakter NPC yang lebih bervariatif dan alur cerita yang lebih jelas.

2. Memberikan kemampuan pencarian jalan tercepat (pathfinding) pada NPC untuk bergerak menemukan player pada game FPS.

3. Memberikan kemampuan dalam mengambil keputusan pergerakan pada NPC agar dapat membuat game FPS lebih menarik dan menantang untuk dimainkan.

1.4 Batasan Masalah

Agar penelitian lebih terfokus, permasalahan yang ditinjau tidak terlalu luas dan sesuai dengan maksud dan tujuan yang akan dicapai, maka perlu dibuat batasana masalah. Batasana masalah dalam penelitian ini sebagai berikut :


(15)

1. Game berbasis desktop.

2. Game ber-genre FPS (first person shooter).

3. Game dengan grafis 3D.

4. Game ini terdiri dari tiga level.

5. Algoritma SMA* digunakan untuk mencarian jalan pada NPC.

6. Algoritma Fuzzy Logic untuk pengambilan keputusan yang diterapkan kepada NPC.

7. Analisis yang digunakan dalam membangun aplikasi ini berbasis

object.

8. Pemodelan yang digunakannya adalah UML (Unified Modeling Language).

1.5 Metode Penelitian

Metodologi penelitian yang digunakan dalam mengerjakan laporan penelitian ini adalah metode deskriptif yaitu metode pnelitian yang menggambarkan secara sistematika 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[3].

1. Metode Pengumpulan Data.

Metode pengumpulan data yang dilakukan adalah : a. Studi Literatur

Studi literatur dilakukan dengan cara mengumpulkan literatur seperti jurnal, paper, buku dan bacaan-bacaan yang ada kaitannya dengan latar belakang dan materi penelitian, khususnya tentang game.

b. Observasi

Observasi dilakukan pada game sejenis yang sudah ada untuk mengamati kelebihan dan kekurangan yang ada pada game tersebut.

2. Metode Pengembangan Perangkat Lunak.

Model yang digunakan dalam pembangunan dan pengambangan game ini adalah model waterfall yang dirumuskan oleh Ian Sommerville di dalam bukunya


(16)

Software Enginering (Rekayasa Perangkat Lunak) [4]. Model ini mengusulkan sebuah pendekatan kepada pengembang software yang sistematik dan sekuensial yang mulai pada tingkat

a. System Enginering

Karena sistem merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut. Pandangan sistem ini penting ketika software harus berhubungan dengan elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan anasisis sistem menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta disain tingkat puncak. Rekayasa informasi mencakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.

b. Analysis

Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.

c. Design

Desain software sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda; struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi software.

d. Coding

Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.

e. Testing

Sekali program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk


(17)

menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.

f. Maintenance

Software akan mengalami perubahan setelah disampaikan kepada pelanggan (pengecualian yang mungkin adalah software yang dilekatkan). Perubahan akan terjadi karena kesalahan-kesalahan yang ditentukan, karena software harus disesuaikan untuk mengakomodasi perubahan-perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan software

mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.

System Engineering

Analysis

Design

Coding

Testing

Maintenance

Gambar 1.1 waterfall [4].

1.6 Sistematika Penulisan

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

BAB I PENDAHULUAN

Bab ini membahasa latar belakang masalah, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan sistematika penulisan.


(18)

BAB II LANDASAN TEORI

Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah dilakukan sebelumnya termasuk sintesisnya.

BAB III ANALISIS MASALAH

Bab ini membahas tentang analisis sistem, analisis kebutuhan non-fungsional, analisis kebutuhan fungsional dan perancangan sistem.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Pada bab ini membahas implementasi yang terdiri atas implementasi perangkat keras, implementasi perangkat lunak, implementasi aplikasi dan pengujian yang terdiri atas pengujian alpha, pengujian beta serta kesimpulan hasil pengujian.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yaitu apakah tujuan penelitian sudah terpenuhi atau belum. Selain itu juga berisi saran untuk memperbaiki dan menindak lanjuti pengembangan game ini selanjutnya.


(19)

7

BAB 2

TINJAUAN PUSTAKA

2.1 Game

Game merupakan salah satu media hiburan yang paling populer untuk semua kalangan usia. Sejak pertama kali ditemukan sampai saat sekarang, teknologi game telah mengalami kemajuan yang terbilang pesat. Hal ini ditandai dengan berkembangnya jenis game, produk, alat dan jenis interaksi game dengan penggunaan yang semakin beragam bentuknya.

2.1.2 Pengertian Game

Game merupakan sebuah bentuk seni dimana pemainnya 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. Videogame adalah bentuk game

yang interaksi umumnya melibatkan media video dan audio.

Menurut Andang Ismail terdapat dua pengertian game (permainan). Pertama, game (permainan) adalah sebuah aktifitas bermain yang murni mencari 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 dua jenis yaitu game dua dimensi (2D) dan game tiga dimensi (3D). Game 2D adalah game

yang secara matematis 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[5].


(20)

2.1.3 Elemen Dasar Game

Menurut Teresa Dillon, elemen-elemen dasar sebuah game adalah:

1. Game Rule

Game rule merupakan aturan perintah, cara menjalankan dan fungsi objek, karakter di dalan dunia permainan. Dunia game bisa berupa pulau, dunia khayalan, dan tempat-tempat lain yang sejenis yang biasa digunakan sebagai

setting tempat dalam permainan game. 2. Plot

Plot biasanya berisi informasi tentang hal-hal yang akan di lakukan oleh player di dalam game secara detail, perintah tentang hal yang akan harus dicapai dalam

game.

3. Thema

Di dalam suatu game biasanya ada pesan moral yang akan disampaikan.

4. Character

Pemain sebagai karakter utama maupun karakter lain yang mempunyai ciri dan sifat tertentu.

5. Object

Object merupakan suatu hal yang penting dan biasanya digunakan pemain untuk

memecahkan masalah dan adakalanya pemain harus punya keahlian dan pengetahuan untuk bisa memainkannya.

6. Text, graphic dan Sound

Game biasanya merupakan gabungan dari media teks, gambar, suara dan animasi,

walaupun tidak harus semuanya ada di dalam permainan game.

7. Animation

Sebuah game tidak akan bisa dipisahkan dengan animasi, animasi biasanya digunakan di dalam sebuah game untuk menggerakan karakter yang ada di dalam permainan, seperti properti dari objek.

8. User Interface


(21)

2.1.4 Game 3D

Pada saat kemampuan proses pada komputer semakin cepat, para developer

juga senantiasa menciptakan game yang semakin canggih sehingga muncul engine

dengan grafik 3D (3 dimensi). Maka dari itu, game 3D dengan hitungan polygon

yang sangat besar dan pencahayaan yang sudah canggih, juga tekstur maping

mulai diproduksi. Game 3D merepresentasikan objek dalam bentuk 3 dimensi sehingga objek akan terlihat lebih nyata seperti dalam kehidupan nyata.

Game bertipe 3 dimensi merupakan game dengan grafis yang baik dalam penggambaran secara realita, kebanyakan game-game ini memiliki perpindahan kamera (angle) hingga 360 derajat sehingga dapat melihat secara keseluruhan dunia game tersebut.

2.1.5 Jenis-jenis Game

Berikut ini beberapa jenis game berdasarkan cara pembuatannya, cara pemasarannnya dan mesin yang menjalankannnya. Jenis-jenis game tersebut adalah[5]:

1. Game PC (Personal Computer)

Game PC adalah game yang dimainkan pada PC (Personal Computer) yang memiliki kelebihan tampilan yaitu antarmuka yang baik untuk input maupun

output. Output visual berkualitas tinggi karena layar komputer biasanya memiliki resolusi yang jauh lebih tinggi dibandingkan dengan layar televisi biasa. Kekurangannnya adalah spesifikasi komputer yang sangat bervariasi antar satu komputer dengan komputer yang lainnya menyebabkan beberapa game dapat ditampilkan dengan baik pada komputer tetapi tidak berjalan dengan baik pada komputer yang lainnya.

2. Game Consol

Game consol adalah game yang dijalankan pada suatu mesin spesifik yang biasanya tersedia di rumah seperti Xbox, Nintendo, Wii dan lain-lain.


(22)

3. Game Arcade

Game arcade adalah game yang dijalankan pada mesin dengan input dan output

audio visual yang telah terintegrasi dan tersedia ditempat-tempat umum.

4. Game Online

Gameonline adalah game yang hanya dapat dimainkan secara online melalu LAN (Local Area Network) atau Internet.

2.1.6 GenreGame

Berdasarkan genre (tipe), game dapat dibagi menjadi beberapa genre (tipe) yaitu[5] :

1. Action Game

Action game dikategorikan sebagai gameplay dengan model pertarungan.

Beberapa macam game yang termasuk dalam genreaction yaitu :

a. Action Adventure Game

Genre game yang berfokus pada eksplorasi dan biasanya mempunyai unsur

item gathering, penyelsaian puzzle simple dan pertarungan. Contoh game

dari genre ini adalah TheLegend of Zelda series dan Metroidseries.

b. Stealth Game

Termasuk dalam genre baru, biasanya digolongkan dalam mata-mata yang bisa melakukan aksinya secara rahasia. Contoh game dari genre ini adalah

MetalGearSeries.

c. Survival Horror Game

Genre game yang berusaha membuat pemain menjadi tegang dan takut

dengan elemen-elemen horror. Contoh game dari genre ini adalah Dead Island dan AloneInTheDark.

d. Beat’em Up Game

Genre game combat dimana satu orang melawan banyak musuh yang telah

disediakan. Contoh game dari genre ini adalah Dynasty Warior Series dan


(23)

e. Fighting Game

Game pertarungan dua pemain dengan jurus-jurus yang bisa dikeluarkan dengan menekan beberapa tombol pada keyboard dengan urutan tertentu. Contoh game

dari genre ini adalah streetfighter dan Tekenseries.

f. Maze Game

Genre game yang membutuhkan kecepatan berpikir dan beraksi serta berunsur ketepatan menavigasi. Contoh game dari genre ini adalah Pac-Man.

g. Platform Game

Genre game dengan gameplay berlari, melompat , mengayun dan sebagainya. Contoh game genre ini adalahDonkey Kong dan Ray Man.

h. Shooter

a. First Person Shooter

Genre game yang mengutamakan shooter dan combat dari perspektif

langsung mata karakter yang bertujuan untuk memberukan pemain perasaan berada ditempat itu dan bisa fokus menembak.

b. Massively Multiplayer Online First Person Shooter

Genregame yang mengkonmbinasikan gameplay first personshooter dengan

dunia virtual dimana banyak player juga ikut bermain melalui internet. Contoh gamegenre ini adalah CounterStrikeOnline.

c. ifdsfds

Game dengan genre yang sama seperti First Person Shooter yaitu mengutamakan shooting dan combat dari perspektif yang bertujuan untuk memberikan pemandangan yang lebih luas dan gerakan yang lebih banyak.

d. Tactical Shooter Game

Genre yang megutamakan perencanaan dan kerjasama tim untuk

memenangkan game. Contoh game dari genreini adalah Tom Clancy’s Ghost

Recon series.

e. Light Gun Game

Genre dengan lebih banyak pada arcade dengan peralatan tertentu seperti senjata mainan yang mempunyai sensor khusus terhadap layar. Contoh game


(24)

f. Shoot’em Game

Game dengan genre ciri khas gambar 2D dan scrolling palying area. Contoh game dari genre ini adalah StarFox Series.

2. AdventureGame

game pertualangan yang dikategorikan sebagai gameplay yang mengharuskan pemain memecahkan bermacam-macam teka-teki melalui interaksi dengan orang lingkungan game tersebut.

a. Text Adventure

Pemain akan menggunakan keyboard untuk mengetikkan berupa perintah dan komputer akan menganalisa tersebut lalu menjalankan karakter sesuai perintah tersebut.

b. Graphical adventure game

Genre yang merupakan perkembangan dari text adventure. Pemain dapat menggunakan mouse untuk menggerakkan karakter.

c. Visual Novel Game

Genre yang memberikan keleluasaan untuk memilih jalan ceritanya sendiri.

d. Intercative Movie Game

Genregame dengan rangkaian liveaction dari karakter yang dimainkan pemain. Contoh game dari genre ini adalah sace Ace.

e. Dialog Game

Pada genre ini, pemain akan mengalami kemajaun tergantung pada apa yang mereka katakan. Contoh game dari genre ini adalah Law and Order : The Vangeful Heart.

3. Role Playing Game

a. Action Role Playing Game

Genregame yang memasukan unsur action game dan actionadventure


(25)

b. Massively Multiplayer Online Game

Konsep dari genre ini terkombinasi dengan genre-genre lainnya yang berupa fantasi. Contoh game dari genre ini adalah Rising Force online.

c. Tactical Role Playing Game

Dalam genre ini pemain akan diberikan giliran masing-masing untuk menentukan langkah-langkah yang akan dilakukan oleh karakter. Contoh

game dari genre ini Final Fantasy Tactics.

4. Simulation Game

Genre game ini bertujuan untuk memberikan pengalaman simulasi kepada

pemain.

a. Contruction and Management Simulation Game

Genre ini merupakan bagian dari economic simulation game. Contoh game

dari genre ini adalah Sims City Series.

b. Economic Simulation Game

Genre ini berupa simulasi keadaan ekonomi dimana pemain mengontrol

keadaan ekonomi dari game tersebut. Contoh dari genre ini adalah Monopoly Tycoon.

c. God Game

Dalam genre ini tidak ada tujuan akhir yang membuat pemain memenangkan game. Contoh game dari genre ini adalah The Sims Series.

d. Goverment Simulation Game

Genre game yang memasukan unsur kepolisian, pemerintahan atau politik sebuah negara.

5. Strategy Game

Genrestrategygame berfokus pada gameplay dimana dibutuhkan pemikiran yang

tepat agar dapat meraih kemenangan.

a. Real Time Strategi

Game real time strategi, action dilakukan dalam waktu bersamaa oleh masing-masing pihak dimana action dimainkan per ronde atau bergiliran. Contoh game dari genre ini adalah Warcraft Series.


(26)

b. Tactical Game

Dalam genre ini pemain harus menggunakan bermacam-macam taktik dan strategi untuk mencapai kemenangan. Contoh game dari genre ini adalah Dark Omen.

c. 4X Game

Genre ini berarti penjelajahan, menjajah dan memusnahkan. Contoh

game dari genre ini adalah Galactic Civizations.

d. Artillery Game

Genregame ini biasanya mengikutkan combat dengan tank atau tentara militer, contoh game dari genre ini adalah Tanarus.

6. Vehcile Simulation Game

Genre ini merupakan simulasi yang memberikan pemain sebuah

pengalaman realistik dalam mengendarai kendaraan tertentu.

a. Flight Game

Dalam genre ini, pemain tidak hanya bersimulasi mengontrol pesawat terbang tetapi juga bisa combat di udara. Contoh game dari genre ini adalah Falcon 4.0

b. Racing Game

Genre yang menempatkan pemain sebagai driver dengan kendaraan seperti mobil. Contoh game dari genre ini adalah NFS (Need For Speed) Series.

c. Space Game

Genre ini bersifat pertarungan diluar angkasa. Contoh game dari genre

ini adalah Star Wars dan HomeWorld.

d. Trian Game

Genre ini mensimulasikan yang berhubungan dengan transfortasi

kereta. Contoh dari genre ini adalah Rail Simulator. 2.1.7 Unsur Game

Dalam sebuah game terdapat unsur-unsur yang melengkapinya. Berikut beberapa unsur dalam game yaitu[5]:


(27)

1. Warna

Warna mempunyai kemampuan untuk membuat orang tanggap terhadap semua yang dilihat karena tidak ada seseuat hal bermakna tanpa warna.Warna terlihat sebelum penampakan gambar. Mata manusia tertarik oleh warna pada suatu level karena warna dari objek diterima sebelum detail-detail dipisahkan oleh bentuk-bentuk dan garisnya. Warna merah memiliki panjang gelombang yang terpanjang,biru memiliki panjang gelombang yang pendek sedangkan hijau memiliki panjang gelombang menengah. Pada anak-anak cenderung tertarik pada warna-warna yang cerah dan mencolok. Warna-warna yang cerah terutama warna primer (merah,kuning,biru) dan warna sekunder

(orange,ungu,hijau).

Gambar 2.1 Warna Primer dan Sekunder. 2. Komposisi

Komposis adalah pengaturan elemen di dalam sebuah karya desain yang sedemikian rupa dengan tujuan tertentu. Komposisi yang baik adalah komposisi yang mampu memenuhi kebutuhan dan tujuan desain, mudah dipahami dan membentuk kesatuan yang serasi dan harmonis. Kemudian layout yaitu perencanaan, penempatan semua unsur mulai dari tulisan, gambar, ilustrasi, teks, nama dan sebagainya dengan pengukuran secara seksama. Komposisi yang sesuai dengan anak-anak adalah komposisi yang sederhana adan tidak menggunakan petunjuk terlalu rumit. Kesederhanaan diwujudkan dengan penggunaan visual 2D dan penerapan warna-warna dalam seluruh aspek desian.


(28)

3. Bentuk Dasar

Bentuk dasar adalah bentuk-bentuk yang mudah ditemui dalam kehidupan sehari-hari seperti kotak, lingkaran, segitiga dan lain sebagainya.

Gambar 2.2 Bentuk Dasar 4. Tripografi

Tipografi merupakan representasi visual dari sebuah bentuk komunikasi verbal dan merupakan property yang pokok dan efektif. Huruf memainkan peranan penting dalam keberhasilan suatu bentuk komunikasi grafis. Dalam media pembelajaran untuk anak-anak, sebuah huruf harus legible yaitu jelas dan memiliki tingkat kemudahan untuk dibaca.

5. Audio

Audio adalah sinyal elektrik yang digunakan untuk membawa suara dalam batas pendengaran manusia. Audio merupakan komponen sistem yang mudah termasuk didalamnya atau dapat ditambahkan pada komputer.

2.2 Kecerdasan Buatan

Kecerdasan buatan atau artificialintelligence (AI) merupakan cabang dari ilmu komputer yang berhubungan dengan pengautomatisasian tingkah laku cerdas. Kecerdasan buatan didasarkan pada teori suara (sound theoritical) dan prinsip-prinsip aplikasi dari bidangnya. Prinsip-prinsip ini meliputi struktur data yang digunakan dalam representasi pengetahuan, algoritma yang diperlukan untuk mengaplikasikan pengetahuan tersebut serta bahasa dan teknik pemrograman yang digunakan untuk mengimplementasikannya[6].

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.


(29)

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.

4. Sudut pandang penelitian :

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 sub disiplin ilmu yang sering digunakan untuk pendekatan yang esensial bagi penyelsaian suatu masalah dan dengan aplikasi bidang AI yang berbeda. Berikut gambar bidang-bidang tugas dari AI yaitu:

Expert Task

Formal Task

Mundane Task

Engineering

Scientific Analysis

Medical Diagnosis

Financial Analysis

Mathematics

Games

Robotics

Natural Language Systems Artificial

Intelligence

Gambar 2.3 Bidang-bidang tugas (task domain) dari AI. Aplikasi penggunaan AI dapat dibagi ke dalam tiga kelompok, yaitu :


(30)

1. Expert Task

AI dibentuk berdasarkan pengalaman dan pengetahuan yang dimiliki oleh para ahli. Pengetahuan ini dapat membantu para ahli untuk menyampaikan ilmu-ilmu yang dimiliki. Contohnya adalah anaisis finansial, analisis medical, analisis pengetahuan, dan rekayasa (desain, pencarian, kegagalan. Perencanaan, manufaktur).

2. Formal Task

AI digunakan untuk melakukan tugas-tugas formal yang selama ini manusia biasa laukan dengan lebih baik. Contohnya adalah game dan matematika (geometri, logika, kalkulus, integral).

3. Mundane Task

Secara harfiah mundane adalah keduniaan. AI digunakan untuk melakukan hal-hal yang sifatnya duniawi atau melakukan kegiatan yang dapat membantu manusia. Contohnya adalah persepsi, bahasa alami, dan 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 berdasarkan pengalaman.

2.3 Teknik Dasar Pencarian

Pencarian atau pelacakan merupakan salah satu teknik untuk menyelesaikan permasalahan AI. Keberhasilan suatu sistem salah satunya ditentukan oleh kesuksesan dalam pencarian dan pencocokan. Teknik dasar pencarian memberikan suatu kunci bagi banyak sejarah penyelesaian yang penting dalam bidang AI. Ada beberapa aplikasi yang menggunakan teknik pencarian ini, yaitu[6] :

1. Papan game dan puzzle (tic-tac-toc, catur, menara honai).

2. Penjadwalan dan masalah routing (travelling, salesman problem). 3. Parsing bahasa dan interprestasinya (pencarian struktur dan arti). 4. Logika pemrograman (pencarian fakta dan implikasinya).


(31)

5. Computer vision dan pengenalan pola.

6. Sistem pakar berbasis kaidah (rule base expert system).

Pencarian adalah proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkanan ruang keadaan (state space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Kondisi suatu pencarian meliputi :

1. Keadaan sekarang atau awal

2. Keadaan tujuan-solusi yang dijangkau dan perlu diperiksa apakah telah mencapai sasaran.

3. Biaya atau nilai yang diperoleh dari solusi. Solusi merupakan suatu lintasan dari keadaan awal sampai keadaan tujuan.

Secara umum, proses pencarian dapat dilakukan seperti berikut : 1. Memeriksa keadaan sekarang atau awal.

2. Mengeksekusi aksi yang dibolehkan untuk memindahkan ke keadaan berikutnya.

3. Memeriksa jika keadaan baru merupakan solusinya. Jika tidak, maka keadaan baru tersebut menjadi keadaan sekarang dan proses ini diulangi sampai solusi ditemukan atau ruang keadaan habis dipakai.

2.4 Algoritma Pencarian

Permasalahan pencarian dapat diselsaikan dengan beberapa metode yaitu[6] :

1. Metode pencarian yang pertama adalah metode sederhana yang hanya berusaha mencari kemungkinan penyelsain yang disebut juga pencarian buta.

2. Metode yang lebih kompleks yang akan mencari jarak terpendek. Metode ini adalah british museum procedure, branch dan bound,

dymanic programming, best first search,greddy search, A* (A Star) dan hill climbing search. Metode-metode ini digunakan pada saat perjalanan untuk mencari kemungkinan menjadi perhitungan.


(32)

Metode pencarian sangat penting untuk menyelsaikan permasalahan karena setiap state atau keadaan menggambarkan langkah-langkah untuk menentukan apa yang harus dilakukan dimana setiap state menggambarkan menungkinan posisi pada sutau saat. Metode pencarian adalah bagian dari kesimpulan dimana setiap state menggambarkan hipotesis dalam sebuah rangkaian dedukatif.

Menurut cara algoritma mengembangkan node dalma proses pencarian gambar bagan metode penelusuran dibagi menjadi dua golongan, yakni pencarian buta (blindsearch) dan pencarian terbimbing (heuristicsearch).

Beberapa contoh algoritma pencarian yang menggunakan metode heuristic Search adalah : Best First Search, Greedy Search, A* (A Star) Search, dan Hill ClimbingSearch.

2.4.1 Pencarian Buta (Blind Search)

Pencarian buta (Blind Search) adalah pencarian solusi tanpa adanya informasi yang dapat mengarahkan pencarian untuk mencapai goal state dari

current state. Informasi yang ada hanyalah definisi goal state itu sendiri sehingga algoritma dapat mengenali goal state. Apabila tidak ada informasi maka pencarian buta dalam kerjanya akan memeriksa node-node secara tidak terarah dan kurang efisien untuk kebanyakan kasus karena banyaknya node yang dikembangkan. Beberapa contoh algoritma yang termasuk Blind Search adalah Breadth First Search, Uniform Cost Search, Depth First Search, Depth Limited Search, Interative Deepening Search dan Bidirectional Search[6].

2.4.2 Pencarian Terbimbing (Heuristic Search)

Pencarian terbimbing (Heuristic Search) mempunyai informasi tentang biaya untuk mencapai goal state dari current state. Pencarian terbimbing dapat melakukan pertimbangan untuk mengembangkan atau memeriksa node-node yang mengarah ke goal state. Pencarian terbimbing untuk menghitung cost ke goal state digunakan fungsi heuristic. Fungsi heuristic berbeda dari pada algoritma di mana heuristic lebih merupakan perkiraan untuk membantu algoritma dan tidak


(33)

harus valid setiap waktu. Beberapa contoh algoritma pencarian yang menggunakan metode heuristic search adalah Best First Search, Greedy Search, A* (A Star) dan Hill Climbing Search[6].

Gambar bagan metode pencarian dibagi mendari dua golongan, yaitu :

Metode Pencarian

Pencarian Buta

Pencarian Terbimbing

Breadth First Search

Uniform Cost Search

Depth First Search

Depth Limited Search

Iterative Deepening Search

Bidirectional Search

Best First Search

Greedy Search

A* (A Star) Search

Hill Climbing Search

Gambar 2.4 Bagan Metode Pencarian. 2.5 Fungsi Heuristik

BFS dan A* sebagai algoritma pencarian yang menggunakan fungsi

heuristik untuk “menuntun” pencarian rute, khususnya dalam hal pengembangan

dan pemeriksaan node-node pada peta. Dalam aplikasi ini, fungsi heuristik yang digunakan untuk pencarian rute mengatasi nilai/notasi h pada algoritma BFS dan A*. Ada beberpa fungsi heuristik umum yang bisa dipakai untuk algoritma BFS

dan A* ini. Salah satunya adalah yang dikenal dengan istilah “Manhhattan Distance”. Fungsi heuristik ini digunakan untuk kasus dimana pergerakan pada peta hanya lurus (horizontal atau vertical), tidak diperbolehkan pergerakan diagonal[7].


(34)

Perhitungan nilai heuristik untuk node ke-n mengguanakn Manhattan Distance adalah sebagai berikut :

(2.1)

Dimana h(n) adalah nilai heuristik untuk node n, dan goal adalah node tujuan. Jika pergerakan diagonal pada peta diperbolehkan, maka fungsi heuristik selain Manhattan Distance. Untuk mendekati kenyataan, cost untuk perpindahan

node secara diagonal dan orthogonal dibedakan. Cost diagonal adalah 1,4 kali

cost perpindahan secara orthogonal.

Maka fungsi heuristik yang digunakan adalah sebagai berikut :

(2.2)

(2.3)

(2.4)

Dimana h_diagonal(n) adalah banyaknya langkah diagonal yang bisa diambil untuk mencapai goal dari node n. H_orthogoanl adalah banyaknya langkah lurus yang bisa diambil untuk mencapai goal node n.

Nilai heuristik kemudian diperoleh dari h_diagonal(n) ditambah dengan selisih h_orthogonal(n) dengan dua kali h_diagonal(n). Dengan kata lain, jumlah langkah diagonal kali cost ditambah jumalh langkah lurus yang masih bisa diambil dikali cost pergerakan lurus.

2.6 Algoritma SMA* (Start)

Simplified memory bounded A* merupakan pengembangan algoritma A*

yang mengatasi masalah storage problem dengan meletakan limit tetap pada ukuran openlist. Ketika sebuah node baru diproses, jika memiliki nilai yang lebih besar dari setiap node yang ada di list maka akan dibuang. Jika tidak maka akan ditambahkan, dan node yang sudah di dalam list dengan nilai terbesar dihapus.


(35)

Pendekatan ini bisa jauh lebih efeisien dibandingkan dengan pendekatan IDA* (Iretative Deeping A*), walaupun ini masih bisa menyebabkan mengunjungi ulang node yang sama berulang kali selama proses pencarian. Hal ini sangat tergantung dengan nilai heuristik yang digunakan. Nilai heuristik yang tidak tepat bisa menyebabkan node penting tersingkirkan oleh node tidak berguna dari openlist.

SMA* adalah contoh dari sebauh mekanisme pencarian “lossy”. Dalam

rangka untuk mengurangi konsumsi memory, hal ini membuang informasi dengan asumsi bahwa informasi yang dibuang itu tidak penting. Bagaimanapun tidak ada jaminan bahwa hal itu tidak penting. Dalam semua kasus dengan SMA*, jalur yang ditemukan tidak memiliki jaminan menjadi jalur yang optimal. Pada awal pencarian, node yang tidak menjanjikan bisa saja dibuang.

Menetapkan limit yang besar pada ukuran open list dapat membantu meringankan masalah ini, namun fungsi untuk mengurangi penggunaan memori menjadi terbuang. Pada kasus ekstrem yang lain, dengan memberi limit 1 simpul pada open list, ini bisa mempercepat sekaligus mengurangi penggunaan memori dalam pencarian, namun jalur yang ditemukan bisa tidak optimal[8].

SMA* memiliki beberapa sifat sebagai berikut :

1. F-cost digunakan untuk mendapatkan node dengan nilai terkecil diantara semua node yang berada di openlist.

2. SMA* selalu memperluas node yang memiliki nilai terbaik pada keturunannya yang blm diperiksa.

3. SMA* dijamin mendapatkan solusi yang optimal, jika disediakan

max setidaknya sama besar dengan jumlah node pada jalur solusi optimal.

4. SMA* berperilaku indetik dengan A*, bila max lebih besar dari jumlah node yang dihasilkan oleh A*.


(36)

Adapun deskripsi atau pseudocode dari algoritma SMA* bisa dilihat pada gambar 2.5

Pseudocode Algoritma SMA* (start) put start on OPEN; USED – 1; loop

if empty(OPEN) return with failure;

best ← deepest least f-cost leaf in OPEN; if goal(best) then return with success;

succ ← next successor (best);

f(succ) ← max(f(best),g(succ) + h(succ));

if completed(best), BACKUP(best);

if S(best) all in memory, remove best from OPEN

USED ← USED +1;

if USED > MAX then

delete shallowest, highest f-cost node in OPEN;

remove it from its parent’s successor list; insert its parent on OPEN if necessary;

USED ← USED -1;

insert succ on OPEN. Procedure BACKUP(n)

if n is completed and has parent then f(n)=least f cost of all successors; if f(n) changed, BACKUP(parent(n));

Gambar 2.5 Pseudocode Algoritma SMA*

SMA* dimulai dengan memasukan node awal ke dalam openlist. Variable global max ditentukan untuk maksimum node yang bisa dimasukan ke dalam

open list, dan variabel uses digunakan untuk melihat berapa banyak node yang sedang berada di dalam memori. Di dalam setiap node disimpan nilai g, h, dan


(37)

(38)

2.7 FuzzyLogic

Konsep tentang logika fuzzy diperkenalkan oleh Prof. Lotfi Astor Zadeh pada 1962. Logika fuzzy adalah metodologi sistem kontrol pemecahan masalah, yang cocok diimplementasikan pada sistem, mulai dari sistem yang sederahana, sistem kecil, embedded system, jaringan PC, multi-channel atau workstation berbasis akurasi data, dan sistem kontrol. Metodologi ini dapat diterapkan pada perangkat keras, perangkat lunak, atau kombinasi keduanya. Dalam logika klasik dinyatakan bahwa segala sesuatu bersifat biner, yang artinya adalah hanya

mempunyai dua kemungkinan, “Ya atau Tidak”, “Benar atau Salah”, “Baik atau Buruk” dan lain-lain. Oleh karena itu, semua ini dapat mempunyai nilai keanggotaan 0 dan 1. Akan tetapi, dalam logika fuzzy memungkinkan nilai kenaggotaan berada diantara 0 dan 1. Artinya, bisa saja suatu keadaan mempunyai

dua nilai “Ya dan Tidak”, “Benar dan Salah”, “Baik dan Buruk” secara

bersamaan, namun besar nilainya tergantung pada bobot keanggotaan yang dimilikinya. Logika fuzzy dapat digunakan diberbagai bidang, seperti pada sistem diagnosis penyakit (dalam bidang kedokteran), pemodelan sistem pemasaran, riset operasi (dalam bidang ekonomi), kendali kualitas air, prediksi adanya gempa bumi, klasifikasi dan pencocokan pola (dalam bidang teknik)[9].

Konsep himpunan fuzzy memiliki dua atrubut, yaitu :

1. Linguistik, yaitu nama suatu kelompok yang mewakili suatu keadaan tertentu dengan menggunakan bahasa alami, misalnya dingin, sejuk, panas mewakili variable temperatur.

2. Numeris, yaitu suatu nilai yang menunjukan ukuran dari suatu variabel, misalnya 10, 35, 40 dan sebagainya.


(39)

Basis Pengetahuan

Fuzzy Fuzzifikasi

Input Mesin

Inferensi Defuzzifikasi Output

Gambar 2.7 Struktur sisten inferensi fuzzy. Keterangan :

1. Basis Pengetahuan Fuzzy merupakan kumpulan rule-rule fuzzy dalam

bentuk pernyataan IF…THEN.

2. Fuzzyfikasi adalah proses untuk mengubah input sistem yang mempunyai

nilai tegas menjadi variabel linguistic menggunakan fungsi keanggotaan yang disimpan dalam basis pengetahuan fuzzy.

3. Mesin Inferensi merupakan proses untuk mengubah input fuzzy dengan cara mengikuti aturan-aturan (IF-THEN Rules) yang telah ditetapkan pada basis pengetahuan fuzzy.

4. DeFuzzyfikasi merupakan proses mengubah output fuzzy yang diperoleh dari mesin inferensi menjadi nilai tegas menggunakan fungsi keanggotaan yang sesuai saat dilakukan fuzzyfikasi.

2.7.1 Fungsi Keanggotaan

Fuzzysystem merupakan fungsi keanggotaan yang memainkan peran yang

sangat penting untuk merepresentasikan masalah dan menghasilkan keputusan yang akurat. Terdapat banyak sekali fungsi keanggotaan yang dapat digunakan di antaranya adalah [9] :


(40)

1. Fungsi Segitiga

Fungsi Segitiga hanya terdapat satu nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika x = b. Tetapi nilai-nilai disekitar b memiliki derajat keanggotaan yang turun cukup tajam (menjauhi 1). Grafik dan notasi matematika dari fungsi segitiga dapat dilihat pada gambar 2.8

Gambar 2.8 Grafik Fungsi Segitiga Fungsi Keanggotaan :

2. Fungsi Trapesium

Berbeda dengan fungsi segitiga, pada fungsi trapesium ini terdapat beberapa nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika . Tetapi derajat keanggotaan untukmemiliki karakteristik yang sama dengan fungsi segitiga. Grafik dan notasi matematika dari fungsi trapesium dapat di lihat pada gambar 2.9.


(41)

Gambar 2.9 Grafik Fungsi Trapesium Fungsi Keanggotaan :

µ(x) =            ); /( ) ( ; 1 ); /( ) ( ; 0 c d x d a b a x

2.7.2 Metode Sugeno

Fuzzy metode sugeno merupakan metode inferensi fuzzy untuk aturan yang direpresentasikan dalam bentuk pernyataan IF – THEN, dimana output (konsekuen) sistem tidak berupa himpunan fuzzy melainkan berupa konstanta atau persamaan linier. Metode ini diperkenalkan oleh Takagi Sugeno pada tahun 1985.model sugeno menggunakan fungsi kenanggotaan singleton yaitu fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan 0 pada nilai crisp yang lain. Penalaran dengan metode sugeno hampir sama dengan penalaran metode Mamdani, hanyasaja output (konsekuen) sistem tidak berupa himpunan fuzzy, melainkan berupa konstanta atau persamaan linier. Michio sugeno mengusulkan penggunaan singleton [9].

Tahapan-tahapan dalam metode sugeno yaitu sebagai berikut : 1. Pembentukan Himpunan Fuzzy

Pada tahapan ini variabel input (crisp) dari sistem fuzzy ditransfer ke dalam himpunan fuzzy untuk dapat digunakan dalam perhitungan nilai kebenaran dari premis pada setiap aturan dalam basis pengetahuan. Dengan demikian tahap ini mengambil


(42)

nilai-nilai crisp dan menentukan derajat dimana nilai-nilai-nilai-nilai tersebut menjadi anggota dari setiap himpunan fuzzy yang sesuai.

2. Aplikasi Fungsi Implikasi

Tiap=tiap aturan (proposisi) pada basis pengetahuan fuzzy akan berhubungan dengan suatu relasi fuzzy. Bentuk umum dari aturan yang akan digunakan dalam fungsi implikasi adalah sebagai berikut :

IF x is A AND y is B THEN z is f(x,y)

Dengan x dan y adalah skalar, A dan B adalah himpunan fuzzy. Proposisi yang mengikuti IF disebut sebagai antesenden. Sedangkan proposisi yang mengikuti THEN disebut konsekuen. Proposisi ini dapat diperluas dengan operator fuzzy seperti,

IF(x1 is A1) o (x2 is A2) o (x3 is A3) o..o (xN is AN) THEN y is B Dengan o adalah operator misal (OR atau AND).

Fungsi ini akan menskala output himpunan fuzzy. Pada metode sugeno ini fungsi implikasi yang digunakan adalah fungsi min. 3. Defuzzifikasi (Defuzzification)

Input dari proses defuzzifikasi adalah himpunan fuzzy yang dihasilkan dari proses komposisi dan output adalah sebuah nilai (crisp).

Defuzzifikasi pada metode sugeno lebih sederhana, karena hanya menghitung center of single-ton atau titik pusat nilai crisp dengan metode rata-rata (average).

Ʃμi . zi

z* =

Ʃμi

Dengan z* = titik pusat nilai crisp

μi = derajat kanggotaan masing-masing variabel


(43)

2.8 Link List

Dikembangkan tahun 1955-1956 oleh Allen Newell, Cliff Shaw dan Herbert Simon di RAND corporation sebagai struktur data utama untuk bahasa

information processing Language (IPL). IPL dibuat untuk mengembangkan

program artificial intelligence, seperti pembuatan Chess Solver. Victor Ynhve di

Massachusetts Institute of Technology (MIT) jugs menggunakan linked list pada

natural language processing dan machine transittions pada bahasa pemrograman COMMIT.

Linked list adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung menyambung, dinamis dan tidak terbatas. Pada tabel 2.1 dapat disimpulkan linked list lebih optimal daripada array. Linked list sering disebut juga senarai berantai dan saling terhubung dengan bantuan variabel pointer. Masing-masing data dalam linked list

disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri dari beberapa field[10].

Table 2.1 Perbandingan array dan link list

Array Linked List

Statis Dinamis

Penambahan/penghapusan data terbatas Penambahan/penghapusan data tidak terbatas

Random access Random access

Penghapusan array tidak mungkin Penghapusan linked list mudah

Linked list terdiri dari tiga jenis yaitu singlelinked list, doubel linked list, dan circularlinkedlist. Salah satu yang akan dijelaskan yaitu singlelinkedlistI.

Single linked list adalah linked list dengan simpul berisi satu link/pointer


(44)

Gambar 2.10 Ilustrasi Single link list.

Setiap node pada linked list mempunyai field yang berisi pointer ke node

berikutnya, dan juga memiliki field yang berisi data. Pada akhir linked list, node

terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti pada saat pembacaan isi linked list.

Penambahan node baru memiliki tiga cara penyisipan yaitu sisip didepan, sisip ditengah dan sisip si akhir. Pada pembahasan ini akan lebih dijelaskan tentang sisip didepan, penambahan dara didepan akan dikaitkan di node paling awal, namun pada saat pertama kali (data masih kosong), maka penambahan data

dilakukan dengan cara “Awal” ditunjukan ke node baru tersebut[10].

2.9 OOP (Object Oriented Programming)

OOP (Object Oriented Programming) atau yang dikenal dengan Pemrograman Berorientasi Objek merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus ke dalam kelas-kelas atau objek-objek.

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.

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah tidak harus melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh suatu departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin


(45)

memperoleh data dari bagian administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian 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 administrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri[11].

2.9.1 Istilah-istilah OOP

Istilah OOP sendiri sudah sering kali didengar di dalam ilmu bahasa pemrograman. Berikut ini istilah-istilah yang sering digunakan didalam teknik pemrograman OOP.

1. Object

Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai objek. Misalnya rumah, mobil, sepeda, motor, gelas, komputer, meja, sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah laku sebagai behavior. Contoh objek : Motor. Maka atribute- nya (state) adalah pedal, roda, jeruji, speedometer, warna, jumlah roda. Sedangkan tingkah laku (behavior) adalah kecepatan menaik, kecepatan menurun dan perpindahan gigi motor. Analogi pemrograman berorientasi objek sama dengan penggambaran pada dunia nyata seperti contoh di atas. Dalam OOP,

state disimpan pada variabel dan tingkah laku disimpan pada method. Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek[11].

2. Class

Definisi class yaitu template untuk membuat objek. Class merupakan prototipe atau blue prints yang mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instansiasi dari suatu class. Proses pembentukan


(46)

objek dari suatu kelas disebut sebagai instantiation. Objek disebut juga sebagai

instances. Dalam bahasa teoritis OOP, class merupakan 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 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[11].

3. Attributes

Atribut adalah data yang membedakan antara objek satu dengan yang lainnya. Contoh Objek : Volcano Robot (a volcanic exploration vehicle), mempunyai atribut sebagai berikut :

Status exploring, moving, returning home

Speed in miles per hour

Temperature in Fahrenheit degrees

Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan menjadi dua jenis yaitu Instance Variable dan Class Variable. Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek dari class yang sama boleh mempunyai nilai yang sama atau berbeda. Class Variable adalah atribut untuk semua objek yang dibuat dari class yang sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek dari class yang sama mempunyai hanya satu nilai yang value nya sama.


(47)

1. Behavior

Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari suatu

class. Behavior dapat digunakan untuk mengubah nilai atribut suatu objek, menerima informasi dari objek lain, dan mengirim informasi ke objek lain untuk melakukan suatu tugas (task).

Contoh behavior untuk objek Volcano Robot:

a. Check current temperature

b. Begin a survey

c. Report its current position

Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah serangkaian statements dalam suatu class yang menangani suatu task tertentu. Cara objek berkomunikasi dengan objek yang lain adalah dengan menggunakan

method.

2. Abstaksi

Abstraksi adalah 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.

2.9.2 Konsep-konsep OOP

Konsep dasar dari pemrograman berorientasi objek lebih menekankan pada konsep sebagai berikut[11] :

1. Kelas Abstaksi (Class Abstraction)

 Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.

 Kelas dapat di ilustrasikan sebagai sesuatu cetak biru (blueprint) atau prototipe yang digunakan untuk menciptakan objek.


(48)

 Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.

 Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).

2. Enkapsulasi (Encapsulation)

 Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.

 Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.

 Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.

 Contoh : kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalir yang diperlukan untuk proses tersebut.

3. Pewarisan (Inheritance)

 Kita dapat mendefinisikan suatu kelas baru dengan mewarisi dari kelas lain yang sudah ada.

 Penurunan sifat ini bisa dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah kelas tersebut semakin spesifik.

 Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusu dari kelas supernya.

 Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super

berulang kali pada kelas turunananya tanpa harus menulis ulang semua kode.


(49)

Contoh pewarisan :

Hewan

Kucing Domba

Kambing

Gambar 2.11 Contoh Pewarisan Keuntungan dari pewarisan :

a. Subclass menyediakan state/behaviour yang spesifik yang membedakan

supercalss, sehingga memungkinkan programmer untuk menggunakan

ulang source code dari superclass yang telah ada.

b. Programmer dapat mendefinisikan superclass khusus yang bersifat

generik, yang disebut abstract class (abstaksi), untuk mendefinisikan class

dengan tingkah laku dan state secara umum.

4. Polimorfisme

 Polimorfisme merupakan kemampuan objek-objek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.

 Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.

2.10 UML (Unified Modeling Language)

UML adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sebuah sistem. 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


(50)

1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

UML mendefinisikan diagram-diagram sebagai berikut[12] :

1. Use Case Diagram.

2. Class Diagram.

3. Activity diagram.

4. Sequence Diagram.

2.10.1 Use CaseDiagram

Use case adalah deskrispsi fungsi dari sebuah system dari persprektif pengguna. Use case bekerja dengan mendeskripsikan tipikal interaksi antara user (pengguna) dengan system sendiri melalui sebuah cerita bagaimana sebuah system

digunakan. Urutan langkah-langkah yang menerangkan antara antara user (pengguna) dan system disebut scenario. Setiap scenario mendekskipsikan urutan kejadian, setiap urutan di inisialisasi oleh orang, system yang lain. Perangkat keras atau urutan waktu. Dengan demikian secara singkat bisa dikatakan usecase

adalah serangkaian scenario yang digabungkan bersama-sama oleh tujuan umum pengguna[12].

Use case diagram dapat sangat membantu menyusun requirement sebuah

sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case

untuk semua feature yang ada pada sistem.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.

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


(51)

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 merupakan spesialisasi dari yang lain[12].

2.10.2 Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain[12].

2.10.3 Activity Diagram

Activity diagram menggambarkan 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[12].

2.10.4 Sequence Diagram

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


(52)

Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons 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[12].

2.11 Unity3D

Unity adalah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa untuk games PC dan games Online. Untuk

games Online kita memerlukan sebuah plugin, yaitu Unity Web Player, sama halnya dengan Flash Player pada Browser. Bahasa pemrograman yang digunakan bermacam-macam, mulai dari Javascript, C#, dan Boo.

Pada unity, kita tidak bisa melakukan desain / modelling, dikarenakan unity bukan tool untuk mendesain Jadi jika kita ingin mendesain, kita memerlukan 3D editor lain seperti 3dsmax atau Blender. Banyak hal yang bisa di lakukan di unity , ada fitur audio reverb zone , particle effect , Sky Box Untuk menambahkan langit , dan masih banyak lagi tentunya .kita juga bisa langsung mengedit texture

dari editor seperti photoshop dll , unity bagus untuk pemula maupun expert[13].

Features (Scripting)

1. Mendukung 3 bahasa pemrograman, JavaScript, C#, dan Boo.

2. Flexible adn EasyMoving, rotating, dan Scaling Object hanya perlu sebarus kode. Begitu juga dengan Duplicating, removing, dan changing properties.

3. Multiplatform game bisa di deploy di PC, Mac, Wii, iphone, iPad dan browser, android.

4. Visual properties variables yang di definisikan dengan script ditampilkan pada Editor. Bisa digeser, di drag and drop, bisa memilih warna dengan color picker.

5. Berbasis .NET penjalanan program dilakukan dengan Open Source


(53)

41

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Pada analisis sistem akan mencakup analisis game sejenis, analisis AI, analisis kebutuhan non-fungsional dan analisis kebutuhan fungsional.

3.1.1 Analisis Masalah

Berdasarkan tinjauan analisis sistem yang telah dilakukan dengan melakukan evaluasi terhadap game sejenis, berikut adalah beberapa masalah yang terdapat pada game sejenis :

1. Alur cerita game yang tidak jelas dan karakter NPC yang kurang bervariatif.

2. NPC masih kesulitan dalam melakukan pencarian jalan terhadap player.

3. Enemy boss yang hanya mempunyai kemampuan menyerang tanpa

memiliki kemampuan seperti melarikan diri ataupun bertahan.

Beberapa permasalahan yang merupakan hasil dari analisis yang dijadikan sebagai latar belakang dalam pembangunan game Action The Defend Island.

3.1.2 Analisis Game Sejenis

Pada analisis game sejenis, akan dilakukan observasi terhadap game yang memiliki kesamaan gameplay dan genre dengan game yang akan dibangun. Tujuan dari analisis ini yaitu mendapatkan konsep permainan dan perbandingan dari game yang telah ada. Dalam pembahasan game sejenis ini, akan dibahasa

game sejenis yang dilihat dari jenis genre game, maupun dari kesamaan alur cerita yang diambil. Game yang menjadi acuan disini adalah game Alien Exterminator


(54)

1. Game Alien Exterminator

Game Alien Exterminator merupakan game dengan genre FPS (First Person Shooter) yang mempunyai tampilan 3D (tiga dimensi).

Beberapa tampilan permainan dari game Alien Exterminator dapat dilihat pada gambar 3.1 dan gambar 3.2 :

Gambar 3.1 menu utama dari game Alien Exterminator.


(55)

Gambar 3.2 merupakan tampilan layar permainan level satu pada game Alien Exterminator, pada layar permainan dapat dilihat status lives, energy, score. lives menunjukan jumlah nyawa yang dimiliki player, energy menunjukan jumlah

health atau darah player dan score akan didapat ketika musuh terkena tembakan

player.

2. Gameplay Game Alien Exterminator

Tabel 3.1 Gameplay Game Alien Exterminator

Level Deskripsi

Level 1 Pada level pertama menceritakan seorang prajurit yang ditugaskan untuk mempertahankan pangkalan pesawat yang berada di tengah pulau dari serangan alien yang ingin menguasai pangkalan pesawat tersebut, pemain harus mengalahkan semua alien yang ada di pangkalan pesawat dan juga harus mempertahankan pulau dari invasi alien. Pemain harus masuk ke dalam gedung yang dipangkalan pesawat dimana para alien sudah berada di dalamnya dan pemain harus mengalahkan semua alien yang ada di dalam gedung pangkalan pesawat agar pangkalan pesawat tidak jatuh ke tangan alien. Ketika pemain terkena tembakan musuh maka darah atau energy pemain akan berkurang dan jika darah atau energy pemain habis, pemain akan mati. Akan tetapi di dalam arena permainan pemain dapat mencari healthpack yang berfungsi untuk menambah darah atau energy untuk pemain agar bisa bertahan hidup lebih lama. Pemain harus mengalahkan semua musuh yang ada di level 1 untuk bisa melanjutkan permainan ke level selanjutnya.

Level 2 Di level kedua pemain harus menghancurkan pesawat alien yang berada di pangkalan pesawat dan mengalahkan semua prajurit alien yang muncul, dan ketika prajurit alien sudah berhasil dikalahkan pemain akan menghadapi boss alien yang mempunyai healthbar lebih banyak dan damage tembakan yang lebih besar dari alien yang biasa sehingga sangat sulit untuk di kalahkan. Dan setiap level pemain


(56)

mempunyai tiga nyawa sehingga pemain masih mempunyai kesempatan untuk bisa mengalahkan semua alien berserta boss.

3. Skenario Game Alien Exterminator

Skenario permainan dalam game Alien Exterminator disusun oleh beberapa hal sebagai berikut :

1. Alur Permaian

Alur permainan pada gameAlien Exterminator adalah sebagai berikut :

a. Pemain ditempatkan pada map disebuah pulau yang ternyata sudah dihuni oleh para Alien.

b. Pemain akan mendapatkan score ketika player musuh terkena tembakan

player.

c. Pemain harus mengalahkan semua musuh pada setiap level untuk bisa lanjut ke level selanjutnya.

d. Jika pemain terkena serangan oleh musuh, maka darah / healthpoint akan berkurang dan apabila waktu habis maka permainan diulangi ke awal permainan.

Adapun alur sistem dari permainan game Alien Exterminator dapat di gambarkan melalui activity diagram pada Gambar 3.3:


(57)

Sistem Pemain

Klik Icon Game Splash Screen

Menampilkan Menu Utama Klik Tombol Space

Menampilkan Permainan

Misi Berhasil Misi Gagal

Game Over

Alur permainan pada game Alien Exterminator

Tabel 3.2 Kekurangan dan Kelebihnan game alien exterminator

kekurangan game Alien Exterminator 1. Algoritma Pencarian terlihat masih kurang optimal 2. Animasi pergerakan NPC masih kurang baik, 3. Grafis 3D masih kurang baik

4. Tidak ada mini map

5. Tidak ada alur cerita atau prologue tentang misi yang harus dilakukan. 6. Musuh kurang bervariatif

Kelebihan game Alien Exterminator

1. Terdapat score.


(58)

4. Game Island Defense

Game Island Defense merupakan game bergenre action yang menceritakan seorang kapten kapal laut yang diberi misi untuk mempertahankan pulau dari musuh yang ingin menguasai pulau itu. Game ini mempunyai tampilan 3D. beberapa tampilan permainan Island Defense dapat dilihat pada gambar 3.3

Gambar 3.3 tampilan Menu Utama game Island Defense


(1)

Tabel 4.15 Pengujian Beta No 4

Kategori Jawaban Skor Responden S

Sangat Setuju 4 3 12

Setuju 3 12 36

Ragu-ragu 2 10 20

Tidak Setuju 1 5 5

JUMLAH 30 73

P = 73 /120* 100% = 60,83%% Berikut adalah kriteria interpretasi skor :

Sangat Setuju

0% 25% 50% 75% 100%

Setuju Tidak Setuju Ragu-Ragu

60,83%

Gambar 4.22 Interpretasi Skor Pertanyaan No 4

Berdasarkan hasil dari presentase diatas, maka dapat disimpulkan bahwa penilaian terhadap variasi musuh pada game The Defend Island pada setiap level -nya adalah 60,83% dari yang diharapkan 100%, atau dapat dikatakan setuju. Untuk pertanyaan No 5

“Apakah anda setuju alur cerita dan gameplay pada game The Defend Island

menarik”

Tabel 4.16 Pengujian Beta No 5

Kategori Jawaban Skor Responden S

Sangat Setuju 4 7 28

Setuju 3 18 54

Ragu-ragu 2 5 10

Tidak Setuju 1 0 0

JUMLAH 30 92


(2)

150

Berikut adalah kriteria interpretasi skor :

Sangat Setuju

0% 25% 50% 75% 100%

Setuju Tidak Setuju Ragu-Ragu

76,66%

Gambar 4.23 Interpretasi Skor Pertanyaan No 5

Berdasarkan hasil presentase diatas, maka dapat disimpulan bahwa penilaian terhadap alur cerita dan gameplay pada game The Defend Island adalah76,66% dari yang diharapkan 100%, atau dapat dikategorikan sangat setuju.

Untuk pertanyaan No 6

“Apakah anda setuju kemampuan musuh untuk mengambil opsi keputusan membuat game ini lebih menarik dan menantang untuk dimainkan”

Tabel 4.17 Pengujian Beta No 6

Kategori Jawaban Skor Responden S

Sangat Setuju 4 4 16

Setuju 3 17 51

Ragu-ragu 2 6 12

Tidak Setuju 1 3 3

JUMLAH 30 82

P = 82/120 * 100% = 68,33% Berikut adalah kriteria interpretasi skor :

Sangat Setuju

0% 25% 50% 75% 100%

Setuju Tidak Setuju Ragu-Ragu

68,33%


(3)

Berikut adalah hasil dari presentase diatas, maka penilaian apakah musuh dapat memilik opsi keputusan dalam melakukan pergerakan adalah 68,33% dari yang diharapkan 100%, maka dapat dikatakan sangat setuju.

Untuk pertanyaan No 7

“Apakah anda setuju info petunjuk permainan setiap level sudah cukup jelas dan membantu dalam memainkan gameini”

Tabel 4.18 Pengujian Beta No 7

Kategori Jawaban Skor Responden S

Sangat Setuju 4 10 40

Setuju 3 15 45

Ragu-ragu 2 5 10

Tidak Setuju 1 0 0

JUMLAH 30 95

P = 95/120 * 100 = 79,16% Berikut adalah kriteria interpretasi skor :

Sangat Setuju

0% 25% 50% 75% 100%

Setuju Tidak Setuju Ragu-Ragu

79,16%

Gambar 4.25 Interpretasi Skor Pertanyaan No 7

Berdasarkan hasil dari penelitian diatas, maka dapat disimpulkan bahwa penilaian terhadap informasi misi dalam permainan dan setiap level nya sudah cukup jelas adalah 79,16% dari yang diharapkan 100%, maka dapat dikategorikan sangat setuju untuk pentujuk dan indormasi pada permainan.


(4)

152

4.4.2 Kesimpulan Beta

Berdasarkan dari jawaban yang diberikan oleh responden, bisa ambil

kesimpulan bahwa “Game Action The Defend Island” dinyatakan menarik untuk

untuk dimainkan sebesar 76%, untuk desain interface yang ada pada game the

defend island memiliki persentase sebesar 71,66%, untuk pergerakan musuh

dalam menemukan player serta kemampuan dalam memilih keputusan pergerakan pada game the defend island adalah 79,16%, komponen musuh yang bervariatif pada game The Defend Island memiliki persentase sebesar 60,83%, untuk

gameplay dan alur cerita pada game The Defend Island memiliki bobot persentase

sebesar 76,66, kemampuan musuh dalam mengambil keputusan pada game The

Defend Island apakah sudah menarik dan menantang untuk dimainkan sebesar

68,33%, dan info atau pentujuk dalam game The Defend Island pada tiap level

sudah cukup jelas dan membantu dalam memainkan game ini sebesar 79,61%. Dari hasil perhitungan kuesioner, maka game The Defend Island menghasilkan nilai rata-rata 73.11% atau dikatakan sangat setuju dari 7 pertanyaan yang diperoleh dari responden terhadap game yang dibangun. Berikut adalah kriteria interpretasi skor nilai rata-rata sebagai berikut :

Sangat Setuju

0% 25% 50% 75% 100%

Setuju Tidak Setuju Ragu-Ragu

73,11%

Gambar 4.26 Interpretasi Skor Nilai Rata-rata


(5)

153 BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan dari hasil penelitian, analisis, perancangan sistem, dan implementasi serta pengujian yang berupa kuesioner, maka diperoleh kesimpulan bahwa :

1. Dengan diterapkannya algoritma SMA* (Simplified Memory Bounded A Star) dapat membuat NPC bergerak dengan cepat menemukan jalur terpendek untuk menyerang player.

2. Dengan diterapkannya algoritma fuzzy logic pada NPC untuk memberikan kemampuan dalam memilih keputusan pergerakan dan menjadikan game lebih menarik dan menantang untuk dimainkan.

5.2 Saran

Berikut ini beberapa saran untuk pengembangan lebih lanjut, yaitu sebagai berikut :

1. Memperluas gameplay dan konten yang terdapat pada game terutama konten musuh lebih bervariatif agar tidak terlalu monoton, salah satunya dengan menambahkan kecerdasan buatan lain pada musuh sehingga lebih banyak lagi variasi dari perilaku musuh.

2. Pengembangan game secara online agar game dapat dikenal lebih luas.

3. Penambahan pengembangan ke arah multiplayer.


(6)