• Tidak ada hasil yang ditemukan

Pembangunan aplikasi game side scrolling 2D : save our forest

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan aplikasi game side scrolling 2D : save our forest"

Copied!
131
0
0

Teks penuh

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

1. DATA PRIBADI

Nama : Dani Muhammad Ridwan

Jenis Kelamin : Laki-laki

Tempat, Tanggal Lahir : Bandung, 09 Desember 1990

Agama : Islam

Kewarganegaraan : Indonesia

Status : Belum kawin

Anak ke : Dua dari dua bersaudara

Alamat : Jln. Sekelimus 2 no. 2 Bandung 40266

Telepon : 085720285844

(6)

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : SDN Pelita Bandung

tahun ajaran 1996-2002

2. Sekolah Menengah Pertama : SMP Negeri 34 Bandung tahun ajaran 2002-2005 3. Sekolah Menengah Atas : SMA Negeri 11 Bandung

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, 27 Agustus 2013

(7)

SKRIPSI

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

DANI MUHAMMAD R

10108010

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(8)

iii

KATA PENGANTAR

Assalamu’alaikum Wr.Wb.

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 ” Pembangunan Aplikasi

Game Side Scrolling 2D: Save Our Forest” ini dapat terselesaikan tepat pada

waktunya.

Shalawat serta salam semoga senantiasa tercurahkan kepada baginda Nabi Besar Muhammad SAW beserta seluruh keluarga dan sahabatnya yang selalu membantu perjuangan beliau dalam menegakkan Dinullah di muka bumi ini.

Penyusunan skripsi ini adalah merupakan salah satu syarat untuk memperoleh gelar program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia. Dalam penulisan skripsi ini, tentunya banyak pihak yang telah memberikan bantuan baik moril maupun materil. Oleh karena itu penulis ingin menyampaikan ucapan terimakasih yang tiada hingganya kepada :

1. Kepada kedua orang tua, Effendi Saleh (Ayah yang selalu mendukung penulis dalam berbagai hal, terimakasih ayah), Heryani (Seorang ibu terbaik, yang tentunya selalu memberikan segala daya dan upayanya). 2. Ibu Nelly Indriani W, S.Si., M.T. selaku dosen pembimbing dan penguji 2

yang telah memberikan bimbingan dan dorongan dalam penyusunan skripsi ini.

3. Ibu Tati Harihayati M., S.T., M.T. selaku penguji 1 yang telah banyak membantu dalam penyusunan skripsi ini.

(9)

iv Universitas Komputer Indonesia.

7. Bapak Dr. Ir. Eddy Soeryanto Soegoto selaku Rektor Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia.

8. Seluruh dosen dan karyawan Program Studi Teknik Informatika, Universitas Komputer Indonesia, atas ilmu, bimbingan dan bantuannya hingga penulis selesai menyusun skripsi ini.

9. Kakak penulis, Nurul Kamilia S beserta semua keluarga yang telah membantu memberi dukungan dan doa kepada penulis.

10.Rekan-rekan di Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia, khususnya IF-1 2008 yang telah banyak membantu penulis.

Penulis menyadari bahwa skripsi ini belum sempurna, baik dari segi materi maupun dalam penyajiannya. Untuk itu saran dan kritik yang membangun dari para pembaca sangat diharapkan dalam penyempurnaan skripsi ini.

Terakhir penulis berharap, semoga skripsi ini dapat memberikan ilmu yang bermanfaat dan menambah wawasan bagi pembaca, khususnya bagi penulis. Wassalamu’alaikum Wr. Wb.

Bandung, 27 Agustus 2013

(10)

v

DAFTAR PROPERTI GAME ... xv

DAFTAR LAMPIRAN ... xvi

BAB I PENDAHULUAN ... 1

I.1 Latar Belakang Masalah ... 1

I.2 Perumusan Masalah ... 2

I.3 Maksud dan Tujuan ... 2

I.4 Batasan Masalah ... 3

I.5 Metodologi Penelitian ... 3

I.6 Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 7

II.1 Permainan (Game) ... 7

II.1.1 Klasifikasi Permainan ... 7

II.1.2 Sudut Pandang Permainan ... 9

II.1.3 Jenis Permainan ... 10

II.2 Kecerdasan Buatan/AI (Artificial Intelligence) ... 13

II.2.1 Karakteristik Kecerdasan Buatan ... 13

II.2.2 Kecerdasan Buatan yang Digunakan ... 14

II.3 Tools yang Digunakan ... 24

II.3.1 OOP (Object Oriented Programming) ... 24

II.3.2 UML (Unified Modeling Language) ... 25

II.3.3 Bahasa Pemrograman Java ... 26

II.3.4 Greenfoot ... 29

(11)

vi

II.3.5.2 Pengujian Kolmogorov-Smirnov ... 32

II.3.5.3 Pengujian Wilcoxon ... 32

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 33

III.1 Analisis Sistem ... 33

III.1.1 Analisis Masalah ... 33

III.1.2 Analisis Game Sejenis ... 34

III.1.2.1 Game 2D Kabayan Saving Our Cultures ... 34

III.1.3 Analisis Game yang Akan Dikembangkan ... 37

III.1.3.1 Storyline ... 37

III.1.3.2 Analisis Tingkat Kesulitan ... 37

III.1.3.3 Gameplay ... 38

III.1.3.4 Scoring ... 39

III.1.4 Analisis Algoritma A* ... 39

III.1.5 Analisis Kebutuhan Non Fungsional ... 53

III.1.5.1 Analisis Kebutuhan Perangkat Keras ... 53

III.1.5.2 Analisis Kebutuhan Perangkat Lunak ... 54

III.1.5.3 Analisis Pengguna ... 54

III.1.6 Analisis Kebutuhan Fungsional ... 54

III.1.6.1 Use Case Diagram ... 55

III.1.6.2 DefinisiAktor ... 55

III.1.6.3 Definisi Use Case ... 56

III.1.6.4 Skenario Use Case ... 56

III.1.6.5 Acitivity Diagram ... 63

III.1.6.6 Sequence Diagram ... 70

III.1.6.7 Class Diagram ... 74

III.2 Perancangan Sistem ... 75

III.2.1 Perancangan Komponen Permainan ... 75

III.2.1.1 Karakter ... 75

III.2.1.2 Story Board ... 76

III.2.2 Perancangan Struktur Menu ... 78

III.2.3 Perancangan Antar Muka ... 78

III.2.4 Perancangan Pesan ... 81

(12)

vii

III.2.6 Perancangan Metode ... 83

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM ... 90

IV.1 Implementasi Sistem ... 90

IV.1.1 Implementasi Perangkat Keras ... 90

IV.1.2 Perangkat Lunak (Software) ... 90

IV.1.3 Implementasi Aplikasi ... 91

IV.1.4 Implementasi Antarmuka ... 91

IV.1.4.1 Tampilan Menu Utama Game ... 91

IV.1.4.2 Tampilan Petunjuk Game ... 92

IV.1.4.3 Tampilan Kredit Game ... 93

IV.1.4.4 Tampilan IntroGame 1 ... 93

IV.2 Pengujian Sistem ... 97

IV.2.1 Skenario Pengujian Aplikasi ... 97

IV.2.2 Hasil Pengujian (Black Box) ... 97

IV.2.3 Kasus dan Hasil Pengujian (White Box) ... 99

IV.2.4 Pengujian Beta ... 103

IV.2.5 Kuesioner ... 104

IV.2.6 Hasil dan Evaluasi Pengujian Kuesioner ... 105

IV.2.7 Kesimpulan Kuesioner ... 109

IV.2.8 Hipotesis ... 110

IV.2.9 Hasil dan Evaluasi Pre Test dan Post Test ... 110

BAB V KESIMPULAN DAN SARAN ... 118

V.1 Kesimpulan ... 118

V.2 Saran ... 118

(13)

119

DAFTAR PUSTAKA

[1] Samuel Henry, Panduan Praktis Membuat Game 3D, Penerbit Graha Ilmu, Yogyakarta, 2005.

[2] T. Sutojo, S.Si, M.Kom., Kecerdasan Buatan, Penerbit Andi, 2011. [3] Suyanto, ST, MSc., Artificial Intelligence Searching, Reasoning,

Planning

and Learning, Penerbit Informatika, Bandung, 2007.

[4] Kementerian Kehutanan, Statistik Kehutanan Indonesia 2012, Jakarta 2012

[5] Kölling, Michael, Introduction to Programming with Greenfoot - Object-Oriented Programming in Java with Games and Simulation, Pearson Education, 2009

[6] Tim Penelitian dan Pengembangan Wahana Komputer, Pemrograman Java, penerbit salemba infotek, jakarta 2003

[7] Dr. Suyoto, Intelegensi Buatan: Teori dan Pemrograman, Penerbit Gava Media, Yogyakarta 2004

[8] Rosa A.S, Modul Pembelajaran Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek), Penerbit Modula, Bandung 2011.

[9] Amel Lyana "Tingkat kesadaran masyarakat terhadap lingkungan" Pakpak Media, September 2012

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

[11] Gisella Tani Pratiwi “Cegah Si Kecil Kecanduan Games” Sekar, Juli 2010 [12] Sulistyo, Basuki, Metode Penelitian, Wedatama Widya Sastra dan

Fakultas Ilmu Pengetahuan Budaya Universitas Indonesia, Jakarta 2006. [13] Sudi Rohana, Hubungan Antara Minat Belajar dan Sikap Terhadap

Pelajaran Pendidikan Lingkungan Hidup dengan Perilaku Dalam Memelihara Kebersihan Sekolah, 2013.

(14)

1

BAB I

PENDAHULUAN

I.1 Latar Belakang Masalah

Indonesia merupakan negara dengan luas hutan tropika terbesar ketiga, dimana luas hutan ini mencapai kurang lebih 60% dari luas daratannya dan dapat dikatakan lebih luas dari negara-negara lain dengan total luas hutan di Indonesia yang mencapai 180 juta hektar akan tetapi, menurut Menteri Kehutanan Zulkifli Hasan sebanyak 21 persen atau setara dengan 26 juta hektar telah dijarah total sehingga tidak memiliki tegakan pohon lagi. Artinya, 26 juta hektar hutan di Indonesia telah mengalami deforestasi dan degradasi hutan. Deforestasi merupakan perubahan kondisi penutupan lahan dari hutan menjadi bukan hutan. Sedangkan degradasi hutan merupakan penurunan mutu hutan dari hutan primer menjadi hutan bekas ditebang [4].

Beberapa upaya telah pemerintah lakukan dalam menekan laju deforestasi dan degradasi hutan seperti: konservasi hutan, moratorium gambut, pemberantasan pembalakan liar, dan gerakan menanam 1 miliar pohon. Salah satu cara untuk mengatasi permasalahan akibat dampak lingkungan adalah diperlukannya keterlibatan segenap komponen masyarakat, tak terkecuali anak-anak karena anak-anak-anak-anak merupakan generasi penerus yang mewariskan keberlangsungan bumi. Kepedulian anak-anak kepada kelestarian lingkungan perlu dilakukan sejak dini karena pengaruh pada usia dini merupakan dasar pembentukan karakter anak [9].

(15)

pengaruh terhadap prestasi belajar yang akan dicapai anak-anak dan kemudian diharapkan akan mempengaruhi perilakunya dalam memelihara lingkungan [13].

Berdasarkan permasalahan yang telah dipaparkan maka dibutuhkan suatu metode pembelajaran baru dan salah satu solusi yang ditawarkan untuk mengatasi masalah yang ada adalah dengan dibangunnya sebuah game dengan menyisipkan pesan edukasi tentang pentingnya hutan, karena dengan game dapat melahirkan suasana yang menyenangkan dalam proses penyampaiannya, animasi gambar dan suara yang muncul membuat anak tidak merasa bosan, karena secara alami anak-anak lebih cenderung memiliki minat yang tinggi untuk bermain daripada belajar [11].

I.2 Perumusan Masalah

Berdasarkan uraian pada latar belakang masalah yang telah diuraikan pada sub bab 1.1, maka dapat dirumuskan masalahnya yaitu :

1. Bagaimana membangun suatu game yang dapat memberikan pengetahuan tentang lingkungan hidup.

2. Bagaimana membangun suatu game yang dapat membantu menarik minat anak-anak tentang pengetahuan lingkungan hidup dengan cara yang menarik dan interaktif.

I.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah membangun aplikasi game sebagai media edukasi dan pembelajaran tentang menjaga kelestarian lingkungan hidup.

Tujuan yang ingin dicapai dari dibangunnya aplikasi game Save Our Forest

adalah :

1. Meningkatkan pengetahuan anak-anak tentang lingkungan hidup melalui

game.

2. Menarik minat anak-anak mempelajari lingkungan hidup melalui game

(16)

3

I.4 Batasan Masalah

Batasan masalah dari penelitian ini adalah sebagai berikut: 1. Aplikasi game yang akan dibangun berbasis desktop. 2. Aplikasi game ini ditujukan untuk usia 13 tahun ke atas. 3. Aplikasi game yang akan dibangun bergrafis 2 dimensi.

4. Sudut pandang yang digunakan dalam game adalah Side Scrolling

5. Level game dibatasi 3 level.

6. Game yang akan dibangun bersifat single player.

7. Artificial Intelligence yang akan diterapkan dalam game ini

menggunakan algoritma A* yang akan diterapkan pada Boss sehingga memiliki kemampuan untuk mencari rute terpendek untuk menyerang pemain.

8. Bahasa pemrograman yang akan digunakan adalah Java. 9. Aplikasi game dibangun menggunakan IDE Greenfoot 2.2.1.

I.5 Metodologi Penelitian

Metodologi penelitian yang akan digunakan dalam penulisan tugas akhir ini adalah metode analisis deskriptif yaitu suatu metode yang bertujuan untuk mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan dalam penelitian dan melalui tahapan sebagai berikut:

1. Metode pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai

berikut :

a. Studi Literatur

Studi Literatur adalah metode dengan cara mengumpulkan literatur,

jurnal, paper, game yang sejenis dan bacaan-bacaan yang ada kaitannya

dengan judul penelitian.

b. Kuesioner

(17)

dijawabnya.

c. Pre test dan Post test

Pre test dan Post test merupakan suatu bentuk pertanyaan yang

digunakan untuk menguji tingkatan pengetahuan seseorang sebelum dan sesudah pemberian materi.

2. Metode perancangan perangkat lunak

Metode perancangan perangkat lunak dalam pembuatan game menggunakan metode pengembangan perangkat lunak secara waterfall, yang meliputi beberapa proses diantaranya:

a. Requirement analysis and definition

Requirement analysis and definition merupakan tahap dimana

tugas, kendala, dan tujuan sistem ditentukan melalui konsultasi dengan pemakai sistem. Kemudian ditentukan cara yang dapat dipahami baik oleh user maupun pengembang.

b. System and Software design

System and software design merupakan tahap dimana proses desain

sistem terbagi dalam kebutuhan perangkat keras dan perangkat lunak secara keseluruhan. Desain perangkat lunak mewakili fungsi sistem perangkat lunak dalam suatu bentuk yang dapat ditransformasikan ke dalam satu atau lebih program yang dapat dieksekusi.

c. Implementation and Unit Testing

Implementation and unit testing merupakan tahap dimana desain

perangkat lunak direalisasikan dalam suatu himpunan program atau unit-unit program. Pengujian unit mencakup kegiatan verifikasi terhadap suatu unit sehingga memenuhi syarat spesifikasinya.

d. Integration and System Testing

Integration and system testing merupakan tahap dimana desain

(18)

5

e. Operation and Maintenance

Operation and maintenance secara normal walaupun tidak selalu

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

Dari penjelasan tersebut dapat digambarkan seperti yang terlihat di gambar I.1 berikut:

Gambar I.1 Model Waterfall [10]

I.6 Sistematika Penulisan

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

BAB I PENDAHULUAN

(19)

Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik pembuatan aplikasi game, kecerdasan buatan yang dalam hal ini menggunakan algoritma pencarian A* (A Star), OOP (Object Oriented

Programming), UML (Unified Modeling Language), Bahasa pemrogramman Java

dan Greenfoot.

BAB III. ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis masalah dan perancangan yang dihadapi dalam pembuatan aplikasi Game Side Scrolling 2D Save Our Forest. Baik dari segi gameplay maupun kecerdasan buatan yang akan digunakan.

BAB IV. IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi hasil implementasi dari analisis dan perancangan sistem yang dilakukan, serta hasil pengujian sistem agar diketahui apakah game Save

Our Forest ini sudah memenuhi kebutuhan pengguna.

BAB V. KESIMPULAN DAN SARAN

(20)

7

BAB II

LANDASAN TEORI

II.1 Permainan (Game)

Game adalah permainan elektronik yang menggunakan media komputer maupun mesin konsol seperti PlayStation atau Xbox sudah menjamur dan terkenal dimana-mana. Game mulai popular ke seluruh dunia dimulai dengan populernya berbagai jenis game di Amerika di era 70‟an dan mulai berkembang ke berbagai

Negara di awal tahun 80‟an.

Game pada awalnya dibuat untuk sekedar permainan sederhana yang menguji ketangkasan ataupun kecepatan reaksi pemain, dalam perkembangannya

game itu mampu memberikan berbagai jenis game (genre) lain. Mulai dari game

yang mengetengahkan cerita dan fantasi seperti jenis RPG (Role Playing Game) misalnya, game yang menjual simulasi dari keadaan nyata (balap mobil dan simulasi pesawat) sampai game yang sudah ada di dunia nyata mampu dihidupkan didalam berbagai mesin game (catur, monopoly dan bilyard). Berbagai genre terus muncul, sebagaian adalah perbaikan dari genre yang lama, sebagian lagi adalah

genre baru dan sebagian adalah kombinasi antar genre. Semua ini membuat game

semakin variatif dan semakin banyak produk game yang muncul [1].

II.1.1 Klasifikasi Permainan

Sejarah game tidak lepas dengan namanya platform, dari yang awalnya hanya mesin Arcade (mesin ding dong) hingga sampai sekarang ini yang sudah mencapai era Mobile Games. Untuk lebih jelasnya, berikut ini adalah klasifikasi

game berdasarkan jenis Platform yang di gunakan: [1]

1. Arcade Games yaitu yang sering di sebut ding-dong di Indonesia, biasanya

(21)

menikmati. Seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil (beserta transmisinya).

2. PC Games (personal computer) yaitu video game yang dimainkan

menggunakan Personal Computers.

3. Console Games yaitu video game yang dimainkan menggunakan konsol

tertentu seperti playstation XBOX, Nintendo, dll.

4. Handheld Game yaitu game yang dimainkan di konsol khusus video game

yang dapat dibawa kemana-mana, contoh nintendo DS dan Sony PSP.

5. Mobile Games yaitu game yang biasa di mainkan khusus untuk handphone

atau PDA.

Klasifikasi permainan berdasarkan pembatasan usia dari pemainnya, menurut ESRB (Entertainment Software Rating Board) adalah sebagai berikut: [1]

1. Early Childhood (3+) memiliki isi yang mungkin cocok untuk usia 3

keatas. Tidak mengandung materi yang tidak pantas seperti adegan kekerasan.

2. Everyone (6+) memiliki konten yang mungkin cocok untuk usia 6

keatas. Judul-judul dalam kategori ini mungkin berisi sedikit kartun, fantasi atau kekerasan ringan dan tidak jarang menggunakan bahasa yang ringan.

3. Everyone (10+) memiliki konten yang mungkin cocok untuk usia 10

keatas. Judul-judul dalam kategori ini mungkin berisi lebih banyak kartun, fantasi atau kekerasan ringan, bahasa ringan dan juga minimal tema sugestif.

4. Teen (13+) memiliki konten yang mungkin cocok untuk usia 13

(22)

9

5. Mature (17+) memiliki konten yang mungkin cocok untuk orang usia

17 dan lebih tua. Judul-judul dalam kategori ini mungkin berisi intens kekerasan, darah, konten seksual dan bahasa yang kuat. Mature (17+) memiliki konten yang mungkin cocok untuk orang usia 17 dan lebih tua. Judul judul dalam kategori ini mungkin berisi intens kekerasan, darah, konten seksual dan bahasa yang kuat.

6. Adults Only (18+) memiliki konten yang hanya boleh dimainkan

oleh orang-orang dengan usia 18 tahun keatas. Judul-judul dalam kategori ini mungkin termasuk adegan yang intens, kekerasan dan juga mengandung konten seksual.

7. RP (Rating Pending) telah disampaikan kepada ESRB dan sedang menunggu penilaian akhir. (Simbol ini hanya muncul dalam iklan sebelum permainan dibebaskan).

II.1.2 Sudut Pandang Permainan

Sebuah game biasanya mempunyai sudut pandang permainan tersendiri disesuaikan berdasarkan genre game yang diambil. Berikut beberapa macam sudut pandang permainan yang biasa digunakan: [1]

1. Side Scrolling

Side scrolling adalah sudut pandang permainan yang terlihat dari

samping dan memungkinkan karakter utama untuk bergerak dari kiri ke kanan serta memungkinkan background pada game seolah-olah bergeser mengikuti pergerakan karakter utama.

2. Top Down

Top down adalah sudut pandang permainan yang memungkinkan

(23)

Isometric adalah sudut pandang permainan yang memungkinkan permainan terlihat diantara sisi Side Scrolling dan juga Top Down, dan biasanya diterapkan pada game dengan genre RTS (Real Time Strategy).

II.1.3 Jenis Permainan

Game dari tahun-tahun semakin banyak jenisnya, teknologi yang dipakaipun semakin canggih. Dari ratusan atau bahkan ribuan game yang telah bermunculan di dunia, game-game tersebut dikelompokkan menjadi beberapa genre. Pada dasarnya, genre-genre game yang beredar di pasaran dapat dikelompokkan sebagai berikut: [1]

a. Advergames

Advergames adalah permainan yang dikembangkan untuk tujuan

periklanan.

b. Action Game

Action game adalah tipe game dengan fitur utama berupa banyaknya

aksi di mana pemain harus memiliki keterampilan reaksi yang cepat untuk menghindari musuh atau menghindari rintangan. Pengembang game tipe ini perlu memastikan game yang dibuat dioptimasi sehingga pemain memiliki pengalaman bermain yang baik, yang tidak terganggu oleh delay

proses yang lama, contohnya: Metal Gear Solid.

c. Adventure Game

Adventure game adalah tipe game yang umumnya membuat pemain

(24)

11

d. Fighting Game

Fighting game Adalah tipe game yang intinya harus menjatuhkan

lawan tandingnya, entah itu dengan pukulan, tendangan, combo, maupun dengan jurus spesial, contohnya: Tekken, Mortal Kombat, Naruto, dll.

e. FPS (First Person Shooter)

FPS (First Person Shooter) adalah tipe game yang menggunakan sudut pandang orang pertama untuk membidik atau membunuh musuh, sehingga kita hanya melihat tangannya saja dan tidak melihat tubuh karakter yang dimainkan, contohnya: Call of Duty, Half Life, Crysis, dll.

f. RPG (Role Playing Game)

RPG (Role Playing Game) adalah tipe game yang seringkali berupa multi karakter game di mana setiap pemain memiliki karakter dengan kemampuan, kekuatan, dan kelemahan yang spesifik. Para pemain saling berkompetisi, berinteraksi, dan bertempur satu sama lain. Tampilan grafis yang khas untuk setiap karakter pemain ditambah dengan storyline yang mendebarkan akan sangat menarik dan memberikan pengalaman yang berbeda di dalam bermain, contohnya: Final Fantasy, Warcraft, dll.

g. Platform Game

Platform game adalah tipe game yang mengharuskan pemain

mengarahkan suatu obyek dengan melalui berbagai tahap atau tingkatan area untuk menyerang musuh dan menghindar terhadap serangan. Tipe

game ini sedikit serupa dengan action game, tetapi aksinya tidak secepat

action game. Teknik collision detection sangat sering dimanfaatkan pada

tipe game ini, contohnya: Sonic The Hedgehog, Mario Bros, Metal Slug,

dll.

h. Puzzle Game

Puzzle game adalah tipe game yang umumnya membuat pemain

menggunakan kemampuan berpikirnya sebagai pengganti keterampilan reaksi yang cepat karena terdapat rahasia yang perlu dipecahkan.

(25)

7 Wonders of The Ancient World.

i. Racing Game

Racing game adalah tipe game yang tujuannya adalah mencapai garis

finish dari suatu race, dalam game ini biasanya pemain dapat memilih dan

membeli kendaraan, mendandani, melakukan upgrade mesin, contohnya:

Need For Speed.

j. Simulation Game

Simulation game adalah tipe game yang memberikan pengalaman atau

interaksi sedekat mungkin dengan keadaan yang aslinya, meskipun terkadang keadaan tersebut masih eksperimen atau bahkan fiktif, tapi ada penekanan khusus pada detail dan pengalaman realistik menggunakan keadaan tersebut, contohnya: Gran Turismo.

k. Sandbox Game

Sandbox game adalah tipe game yang umumnya ditujukan untuk

menjelajahi suatu kota atau tempat dan bebas berinteraksi dengan objek disekitarnya. Mungkin game ini bisa di bilang mirip RPG tapi Sandbox sangat berbeda dengan game RPG, perbedaannya adalah tidak adanya peningkatan level karakternya, contohnya: GTA dan Bully.

l. RTS (Real Time Strategy)

RTS (Real Time Strategy) adalah tipe game yang mengharuskan pemainnya menggunakan taktik dan strategi untuk jeli dalam melihat setiap peluang, kelemahan musuh dan bijaksana dalam menggunakan sumber daya yang ada, contohnya: Command and Conquer.

m. Sport Game

Sport game adalah tipe game yang berupa kompetisi antara dua

(26)

13

II.2 Kecerdasan Buatan/AI (Artificial Intelligence)

AI adalah ilmu rekayasa yang membuat mesin mempunyai intelegensi tertentu khususnya program komputer yang „cerdas‟. Intelegensi merupakan bagian kemampuan komputasi untuk mencapai tujuan di dalam dunia. Ada bermacam jenis dan derajat intelegensi untuk manusia, binatang, dan beberapa mesin.

AI berhubungan dengan penggunaan komputer untuk melaksanakan tugas atau menyelesaikan masalah yang memerlukan kecerdasan atau kepintaran. Pada umumnya, komputer memerlukan aplikasi atau software untuk melaksanakan tugas atau menyelesaikan masalah. Kebanyakan tugas atau masalah yang dikontrol oleh komputer adalah berbentuk rutin (berdasarkan memori/ingatan atau perhitungan) walaupun mungkin rumit dari segi perhitungan. Sekiranya pelaksanaan tugas atau penyelesaian masalah itu memerlukan langkah-langkah yang tidak rutin, yang biasanya memerlukan pemikiran yaitu bukan saja menggunakan ingatan atau rumusan/formula, maka aplikasi atau software yang berasaskan teknologi AI diperlukan. Intelegensi perlu dilihat dari berbagai sudut pandang, termasuk pemahaman, inferensi (inferencing/reasoning), daya penjelasan, pembelajaran, komunikasi dan sebagainya. Seseorang atau sebuah mesin yang pintar perlu memiliki beberapa sifat ini. Sebuah mesin tidak mungkin pintar tanpa program yang bersifat pintar atau cerdas [7].

II.2.1 Karakteristik Kecerdasan Buatan

Karakteristik ini didasarkan pada pandangan bahwa AI ada 4 kategori yaitu: [7]

1. Sistem yang dapat berpikir seperti manusia

Sistem yang dapat beraksi seperti manusia. Contoh sistem ini dikembangkan dan dipresentasikan Alan Turing pada 1950 yang kita kenal dengan Turing Test. Untuk lolos dari system ini diperlukan pemrosesan bahasa alami (Natural Language Processing), representasi pengetahuan

(Knowledge Representasion), alasan terotomatisasi (Automated

(27)

Sistem yang dapat berpikir seperti manusia. Sistem ini menggunakan teori pikiran presisi untuk diekspresikan sebagai program komputer.

Sistem Newell & Simon‟s GPS (General Problem Solver) mencari untuk

penyelesaian masalah “jalan yang dilakukan manusia”. Sistem ini

menggunakan ilmu kognitif yaitu gabungan antara model komputer AI dan teknik psikologi.

3. Sistem yang dapat berpikir secara rasional

Sistem yang dapat berpikir secara rasional. Sistem ini menggunakan Logika yaitu dimulai dari pengetahuan dalam istilah formal, kemudian memberikan premis yang benar, dan akhirnya didapatkan kesimpulan yang benar.

4. Sistem yang dapat beraksi secara rasional

Sistem yang dapat beraksi secara rasional. Sistem ini merupakan Agen yang kadang-kadang perlu menggunakan perasaan dan dapat bertindak dengan baik. Rasional agen beraksi untuk mencapai tujuan dan memberikan kepercayaan. Lebih umum daripada berpikir secara rasional, karena inferensi yang benar tidak selalu mungkin, tetapi aksi selalu dibutuhkan. Selain itu, sistem agen ini lebih disetujui untuk pengembanan ilmu daripada pendekatan berdasarkan pada pikiran manusia atau tingkah laku manusia.

II.2.2 Kecerdasan Buatan yang Digunakan

Algoritma A* (A Star) 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. Dengan perhitungan biaya seperti ini, algoritma A* (A Star) adalah complete dan optimal. Dalam notasi matematika dituliskan dengan rumus :

(28)

15

Sama dengan algoritma dasar Best First Search, algoritma A* (A Star) ini juga menggunakan OPEN dan CLOSED. Terdapat tiga kondisi bagi setiap suksesor yang dibangkitkan, yaitu : sudah berada di OPEN, sudah berada di

CLOSED, dan tidak berada di OPEN maupun CLOSED.

Pada ketiga kondisi tersebut diberikan penanganan yang berbeda-beda. Jika suksesor sudah berada di OPEN, maka dilakukan pengecekan apakah perlu pengubahan parent atau tidak tergantung pada nilai g nya melalui parent lama atau parent baru. Jika melalui parent baru memberikan nilai g yang lebih kecil, maka dilakukan pengubahan parent. Jika pengubahan parent dilakukan, maka dilakukan pula perbaruan (update) nilai g dan f pada suksesor tersebut. Dengan perbaruan ini, suksesor tersebut memiliki kesempatan yang lebih besar untuk terpilih sebagai simpul terbaik (best node).

Jika suksesor sudah pernah berada di CLOSED, maka akan dilakukan pengecekan apakah perlu pengubahan parent atau tidak. Jika ya, maka dilakukan perbaruan nilai g dan f pada suksesor tersebut serta pada semua “anak cucunya” yang sudah pernah berada di OPEN. Dengan perbaruan ini, maka anak cucunya tersebut memiliki kesempatan lebih besar untuk terpilih sebagai simpul terbaik (best node).

Jika suksesor tidak berada di OPEN maupun CLOSED, maka suksesor tersebut dimasukkan ke dalam OPEN. Tambahkan suksesor tersebut sebagai suksesornya best node. Hitung biaya suksesor tersebut dengan rumus (2.1). [7]. Berikut adalah Pseudocode algoritma A* dapat dilihat di gambar II.1

function A*(masalah) return solusi OPEN S

CLOSED array kosong

loop sampai goal ditemukan atau sampai tidak ada simpul didalam OPEN if OPEN = kosong then

(29)

Pindahkan simpul terbaik tersebut dari OPEN ke CLOSED if BestNode = goal then

Sukses else

Bangkitkan semua suksesor BestNode tapi jangan buat pointer Untuk setiap suksesor kerjakan :

Hitung g (suksesor) = g (BestNode) + actual cost (dari BestNode ke suksesor)

{Periksa suksesor}

if suksesor ada di OPEN then {sudah pernah dibangkitkan tapi belum diproses}

OLD = simpul di OPEN yang sama dengan suksesor tersebut Tambahkan OLD sebagai suksesor BestNode

Buat pointer dari OLD ke BestNode

Bandingkan nilai g (OLD) dengan g (suksesor) if g (OLD) lebih baik then

Ubah parent OLD ke BestNode

Ubah nilai g dan f yang ada pada OLD end

else

if suksesor ada di CLOSED then {sudah pernah dibangkitkan tapi belum diproses}

OLD = simpul di CLOSED yang sama dengan suksesor tersebut

Tambahkan OLD sebagai suksesor BestNode Bandingkan nilai g (OLD) dengan g (suksesor)

if g (OLD) lebih baik then Ubah parent OLD ke BestNode

Ubah nilai g dan f yang ada pada OLD

(30)

17

penulusuran DFS dengan aturan loop sampai simpul suksesor tidak ada di OPEN atau simpul tidak punya suksesor

if suksesor ada di OPEN then Propagasi diteruskan else

if nilai g via suksesor lebih baik then Propagasi diteruskan

else

Propagasi dihentikan end

end end

else {suksesor tidak ada di OPEN maupun CLOSED} Masukkan suksesor ke OPEN

Tambahkan suksesor tersebut sebagai suksesornya BestNode

Hitung f = g (suksesor) + h (suksesor) end

end end

Gambar II.1 Notasi Pseudo-code Algoritma A*

(31)

Gambar II.2 Langkah 1 pencarian rute terpendek menggunakan algoritma A*

Simpul dengan tanda kotak menyatakan bahwa simpul tersebut berada di

CLOSED (pernah terpilih sebagai BestNode) sedangkan simpul tanpa tanda kotak

menyatakan simpul yang ada berada di OPEN.

Untuk langkah pertama, karena di OPEN hanya terdapat satu simpul yaitu S, maka S langsung terpilih sebagai BestNode dan dipindahkan ke CLOSED. Kemudian dibangkitkan semua suksesor S, yaitu : A, B, C, D dan E. Karena kelima suksesor tidak ada di OPEN dan CLOSED, maka kelimanya dimasukkan ke OPEN. Langkah pertama ini menghasilkan OPEN = [A, B, C, D, E] dan

CLOSED = [S]. Langkah kedua pencarian rute menggunakan algoritma A* akan

(32)

19

Gambar II.3 Langkah 2 pencarian rute terpendek menggunakan algoritma A*

(33)

Gambar II.4 Langkah 3 pencarian rute terpendek menggunakan algoritma A*

Langkah ketiga, B dengan biaya terkecil (yaitu 85) terpilih sebagai

BestNode dan dipindahkan ke CLOSED. Lalu semua suksesor B dibangkitkan,

(34)

21

Gambar II.5 Langkah 4 pencarian rute terpendek menggunakan algoritma A*

Langkah keempat, A dengan biaya terkecil (yaitu 90) terpilih sebagai

BestNode dan dipindahkan ke CLOSED. Lalu semua suksesor A dibangkitkan,

(35)

Gambar II.6 Langkah 5 pencarian rute terpendek menggunakan algoritma A*

Langkah kelima, F dengan biaya terkecil (yaitu 95) terpilih sebagai

BestNode dan dipindahkan ke CLOSED. Lalu semua suksesor F dibangkitkan,

(36)

23

Gambar II.7 Langkah 6 pencarian rute terpendek menggunakan algoritma A*

Langkah keenam, K dengan biaya terkecil (yaitu 95) terpilih sebagai

BestNode dan dipindahkan ke CLOSED. Lalu semua suksesor K dibangkitkan,

yaitu G. Karena G sudah ada di OPEN, maka harus dicek apakah parent dari G perlu diganti atau tidak. Biaya dari S ke G melalui K ternyata lebih kecil daripada biaya dari S ke G melalui parent lama (yaitu A). Oleh karena itu parent dari G harus diubah, yang semula A menjadi K. Selanjutnya nilai g (G) yang semula 100 diubah menjadi 95, dan nilai f (G) dari 100 menjadi 95). Pada akhir langkah keenam ini, OPEN = [C, D, G, J] dan CLOSED = [S, E, B, A, F, K].

(37)

13 simpul yang ada pada graph). [3]

II.3 Tools yang Digunakan

Pada sub bab ini akan dijelaskan tools yang akan digunakan dalam penelitian tugas akhir ini.

II.3.1 OOP (Object Oriented Programming)

Pemrograman berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Pemrograman berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Pemrograman berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Pemrograman berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek dan pengujian berorientasi objek.

Pada saat ini, pemrograman berorientasi objek banyak dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat transformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan saat ini sangat beragam (aplikasi bisnis, real-time, utility, dan sebagainya) dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.

Keuntungan menggunakan pemrograman berorientasi objek adalah sebagai berikut: [8]

1. Meningkatkan produktivitas 2. Kecepatan pengembangan 3. Kemudahan pemeliharaan 4. Adanya konsistensi

(38)

25

Berikut ini beberapa bahasa pemrograman yang sudah menggunakan konsep pemrograman berbasis objek adalah:

1. C++

II.3.2 UML (Unified Modeling Language)

UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah system dengan menggunakan diagram dan teks-teks pendukung. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek.

UML menyediakan bermacam-macam diagram yang dapat digunakan untuk memodelkan aplikasi berorientasi objek yang dibuat, yaitu: [8]

1. Class Diagram untuk menggambarkan struktur sistem dari segi

pendefinisian kelas-kelas yang akan dibuat untuk membangun system.

2. Object Diagram untuk menggambarkan struktur sistem dari segi

penamaan objek dan jalannya objek dalam system.

3. Component Diagram untuk menunjukkan organisasi dan ketergantungan

di antara kumpulan komponen dalam sebuah sistem.

4. Composite Structure Diagram untuk menggambarkan struktur dari

bagian-bagian yang saling terhubug maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung,

5. Package Diagram untuk mengumpulkan elemen-elemen yang saling

terkait dalam diagram UML.

6. Deployment Diagram menunjukkan konfigurasi komponen dalam proses

(39)

akan dibuat.

8. Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas

dari sebuah sistem atau proses bisnis.

9. State Machine Diagram untuk menggambarkan perubahan status atau

transisi status sebuah mesin atau sistem.

10. Sequence Diagram menggambarkan kelakuan objek pada use case dengan

mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek.

11. Communication Diagram menggambarkan interaksi antarobjek/bagian

dalam bentuk urutan pengiriman pesan.

12. Timing Diagram merupakan diagram yang fokus pada penggambaran

terkait batasan waktu.

13. Interaction Overview Diagram untuk menggambarkan sekumpulan urutan

aktivitas.

II.3.3 Bahasa Pemrograman Java

Java adalah merek dagang Sun Microsystems yang merujuk pada bahasa

pemrograman yang dikembangkan oleh Sun Microsystems yang versi alfa dan versi beta-nya dirilis tahun 1995. Bahasa pemrograman Java digunakan untuk membuat program yang dapat didistribusikan melalui jaringan komputer. Secara generik, nama Java merujuk pada seperangkat tool untuk membuat dan mengimplementasikan program dengan menggunakan bahasa pemrograman Java.

Sun sendiri mendeskripsikan Java sebagai bahasa pemrograman yang

“sederhana, berorientasi-objek, bertipe static, terkompilasi, multi-threaded,

garbage collected, netral arsitektur, robust, aman, dan dapat diperluas”. Rincian

sifat-sifat yang dideskripsikan itu dapat dipaparkan sebagai berikut: [6] 1. Sederhana

(40)

27

atau unions, operator overloading, template, header filer, maupun pewarisan majemuk (multiple inheritance).

2. Berorientasi-objek

Seperti halnya C++, Java menggunakan kelas-kelas untuk mengelola kode ke dalam modul-modul logika. Pada saat runtime, program menciptakan objek dari kelas-kelas yang ada. Kelas-kelas Java dapat merupakan warisan dari kelas lain, tetapi pewarisan majemuk di mana suatu kelas mewariskan metode-metode

dan field yang berasal lebih dari satu kelas tidak diperkenankan.

3. Bertipe static

Semua objek yang digunakan dalam program harus dideklarasikan sebelum digunakan. Cara ini memungkinkan kompilator Java melaporkan dan melokalisir terjadinya konflik-konflik tipe.

4. Terkompilasi

Sebelum dapat menjalankan program yang ditulis dengan bahasa pemrogaman java, program harus dikompilasi oleh kompilator java. Hasil kompilasinya berupa file kode byte (byte-code), yang mirip dengan file kode mesin, yang dapat dieksekusi di bawah system operasi apapun asal memiliki

interpreter java. Interpreter membaca file kode byte dan menterjemahkannya

perintah kode byte itu menjadi perintah bahasa mesin yang dapat dieksekusi langsung oleh mesin yang menjalankan program Java. Jadi dapatlah dikatakan bahwa Java merupakan bahasa yang dikompilasi sekaligus diinterpretasi.

5. Multi-threaded

Program java dapat berisi eksekusi multiple threads, yang memungkinkan program mengulas citra pada layar pada satu thread, sementara tetap menerima masukan dari keyboard pada thread utamanya. Semua aplikasi memiliki paling tidak satu thread yang menggambarkan alur eksekusi utama program.

6. Garbage Collected (Pembuang Sampah)

Program Java menyingkirkan sendiri „sampah-sampah‟ yang tidak

(41)

masalah pengelolaan memori. 7. Bebas arsitektur

Pada dasarnya, Java tidak dirancang untuk prosesor ataupun system operasi tertentu. Ia dirancang untuk bekerja pada berbagai arsitektur prosesor dan berbagai sistem operasi. Oleh karena itu, ia bekerja dengan interpreter Java untuk mengubah program Java menjadi byte-code sebelum dijalankan oleh mesin tertentu.

8. Tangguh (Robust)

Karena interpreter Java memeriksa seluruh akses sistem yang dilakukan program, maka program Java tidak akan membuat sistem menjadi crash. Bila terjadi masalah serius, program Java membuat pengecualian (exception).

Exception ini dapat ditangani dan dikelola oleh program tanpa berisiko

memacetkan sistem.

9. Aman

Sistem java tidak hanya memverifikasi seluruh akses ke memori tetapi

juga menjamin bahwa tidak ada virus yang „membonceng‟ pada applet yang sedang berjalan. Karena java tidak mendukung pointer, program tidak dapat memperoleh akses ke area system dimana ia tidak mendapatkan otorisasi.

10. Dapat diperluas

Program Java mendukung metode native yakni fungsi-fungsi yang ditulis dalam bahasa lain, Biasanya C++. Dukungan terhadap metode native ini memungkinkan pemrogram menulis fungsi yang bisa dieksekusi secara lebih cepat daripada fungsi yang sama yang ditulisdalam Java. Metode native dikaitkan secara dinamis (Dynamically linked) ke program Java, yakni dikaitkan dengan program saat runtime. Dalam perkembangannya, bila java berkembang lebih jauh dan mampu mengeksekusi fungsi-fungsi lebih cepat dari bahasa lain, metode

(42)

29

II.3.4 Greenfoot

Greenfoot merupakan software pembelajaran pemrograman berorientasi

objek, dengan berbasis pemrograman java yang memungkinkan kita untuk membuat game 2 dimensi. Greenfoot diprakarsai oleh Michael Kolling pada tahun 2003. Prototype pertama dibangun oleh Michael Kolling dan Paul Henrikson pada tahun 2003-2004. Pembangunan dilanjutkan pada tahun 2005 oleh kelompok Blue J lain dari University of Kent dan Deakin University. Greenfoot versi 1.0 pertama dirilis pada tanggal 31 Mei 2006. Pada bulan Maret 2009, proyek Greenfoot

menjadi software Open Source dan berlisensi dibawah GNU GPL.

Untuk menjalankan Greenfoot ini diharuskan sudah menginstalasi program java 5 (JDK 1.5) atau program java terbaru. Didalam Greenfoot terdapat

project yang dinamakan scenario. Dalam project tersebut, kita dapat membuat

dua macam tipe class dari library Greenfoot, yaitu class world dan class actor.

World merupakan latar dari game yang akan dibuat. Actor adalah kelas yang

berfungsi sebagai karakter pada game yang akan dibuat [5].

II.3.5 Pengolahan Data

Pengolahan data secara sederhana diartikan sebagai proses mengartikan data-data lapangan sesuai dengan tujuan, rancangan, dan sifat penelitian. Misalnya dalam rancangan penelitian kuantitatif, maka angka-angka yang diperoleh melalui alat pengumpul data tersebut harus diolah secara kuantitatif, baik melalui pengolahan statistik inferensial maupun statistik deskriptif. Lain halnya dalam rancangan penelitian kualitatif, maka pengolahan data menggunakan teknik non statitistik, mengingat data-data lapangan diperoleh dalam bentuk narasi atau kata-kata, bukan angka-angka. Mengingat data lapangan disajikan dalam bentuk narasi kata-kata, maka pengolahan datanya tidak bisa dikuantifikasikan.

(43)

sehingga proses penarikan kesimpulan penelitian dapat dilaksanakan. Dengan demikian, pengolahan data tersebut dalam kaitannya dengan praktek pendidikan adalah sebagai upaya untuk memaknai data atau fakta menjadi makna

Dalam setiap kegiatan penelitian selalu ada kegiatan pengumpulan data. Metode pengumpulan data dalam penelitian dalam penelitian meliputi: [12]

1. Observasi nonpartisipan

Pada metode ini peneliti hanya mengamati, mencatat apa yang terjadi. Metode ini banyak digunakan untuk mengkaji perilaku pemustaka di perpustakaan.

2. Kuesioner

Kuesioner adalah pertanyaan terstruktur yang diisi sendiri oleh responden atau diisi oleh pewawancara yang membacakan pertanyaan dan kemudian mencatat jawaban yang diberikan. Pertanyaan yang diberikan pada kuesioner ini adalah pertanyaan menyangkut fakta dan pendapat responden, sedangkan kuesioner yang digunakan pada penelitian ini adalah kuesioner tertutup, dimana responden diminta menjawab pertanyaan dan menjawab dengan memilih dari sejumlah alternatif.

3. Pre Test dan Post Test

Pre test merupakan suatu bentuk pertanyaan yang digunakan untuk

menguji tingkatan pengetahuan seseorang terhadap materi yang akan disampaikan. Manfaat dari pre test adalah untuk mengetahui kemampuan awal seseorang mengenai materi yang akan disampaikan. Sedangkan post test merupakan suatu bentuk pertanyaan yang diberikan setelah materi disampaikan. Manfaat dari post test adalah untuk memperoleh gambaran tentang kemampuan setelah berakhirnya penyampaian materi. Hasil post test ini akan dibandingkan dengan hasil

pre test sehingga akan diketahui seberapa jauh efek dari penyampaian

(44)

31

II.3.5.1 Skala Likert

Skala Likert adalah skala yang dapat dipergunakan untuk mengukur sikap, pendapat, dan persepsi seseorang atau sekelompok orang mengenai suatu gejala atau fenomena pendidikan. Dalam skala Likert terdapat dua bentuk pernyataan yaitu pernyataan positif yang berfungsi untuk mengukur sikap positif dan pernyataan negatif yang berfungsi untuk mengukur sikap negatif.

Skala Likert dalam penelitian mempunyai gradasi nilai dari sangat positif sampai sangat negatif. Lalu hasil data kuesioner tersebut diolah dengan rumus sebagai berikut:

Y = P/Q*100% (II.2) Keterangan :

Y = Persentase

P = Bobot setiap pilihan * jawaban Q = Total bobot maksimal

II.3.5.2 Pengujian Kolmogorov-Smirnov

(45)
(46)

33

BAB III

ANALISIS DAN PERANCANGAN SISTEM

III.1 Analisis Sistem

Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen dengan mempelajari seberapa bagus bagian-bagian komponen tersebut berkerja dan berinteraksi untuk mencapai tujuan mereka. III.1.1 Analisis Masalah

Mengajarkan anak tentang pentingnya menjaga kelestarian lingkungan bukanlah hal yang mudah, diperlukan sebuah media pengajaran yang menyenangkan dan mudah dipelajari untuk anak-anak. Anak-anak memiliki kecendurangan lebih suka bermain daripada belajar, oleh karena itu game edukasi bisa menjadi sebuah media yang tepat untuk mengajarkan anak-anak tentang betapa pentingnya menjaga kelestarian lingkungan hidup. Dengan game edukasi anak-anak akan bermain sambil belajar, selain itu juga game dapat membantu koordinasi visual motorik, mengembangkan visual motorik halus, dan mendorong anak mencapai target tertentu. Video games juga membentuk sikap sportif, melatih daya ingat, konsentrasi, kemampuan berlogika dan menyelasaikan masalah. Namun video games juga bisa memberi efek buruk, bila dikonsumsi berlebihan dan mengandung materi yang tidak sesuai dengan usianya. Maka dari perancangan gameSave Our Forest” unsur kekerasan dalam game akan diminimalisir, untuk menghindari anak-anak yang cenderung suka meniru sikap-sikap kekerasan yang ada dalam video games.

III.1.2 Analisis Game Sejenis

(47)

Kabayan Saving Our Culture:

III.1.2.1 Game 2D Kabayan Saving Our Cultures

Gambar III.1 Tampilan Game 2D Kabayan Saving Our Cultures

Game Kabayan Saving Our Cultures menceritakan perjalanan seorang

pemuda dari suku Sunda yaitu Kabayan yang harus bertualang untuk menyelamatkan alat musik tradisional yaitu angklung yang telah dicuri oleh seorang penjahat dari Negara Misterius yang bernama Juragan Asep.

(48)

35

35

A. Gameplay

Dalam Game Kabayan Saving Our Culture, Pemain berperan sebagai Kabayan dan diharuskan melalui seluruh rintangan yang ada untuk menyelamatkan alat musik yang telah dicuri oleh Negara misterius. Pemain dapat

memilih 2 tingkat yang tersedia yaitu “Mudah” dan “Sulit”, setelah memilih salah

satu pemain diharuskan memilih level. Pada awal permainan, pemain diberikan 3 nyawa.

B. Skenario game

1. Pemain memilih menu mulai 2. Pemain memilih tingkat kesulitan

(49)

Pemain Sistem

Menu mulai Menampilkan pilihan tingkat kesulitan

Memilih tingkat kesulitan Menampilkan menu pilihan level

Memilih level Menampilkan arena permainan

Menggerakkan karakter Update kondisi permainan

Berhasil menyelesaikan permainan Gagal menyelesaikan karakter

Tampilkan permainan selesai

Gambar III.2 Alur Permainan game 2D Kabayan Saving Our Cultures

Kelebihan dari game 2D Kabayan Saving Our Cultures adalah :

1. Diterapkannya kecerdasan buatan pada musuh yang membuat permainan semakin menantang.

2. Pemain dapat memilih tingkat kesulitan permainan.

Kekurangan dari game 2D Kabayan Saving Our Cultures adalah :

1. Pengangkatan latar belakang cerita yang mengisahkan tentang pencurian alat musik kurang.

(50)

37

3. Desain kurang menarik.

III.1.3 Analisis Game yang Akan Dikembangkan

Pada bagian analisis game Save Our Forest ini akan dibahas mengenai storyline, analisis tingkat kesulitan, gameplay dan scoring.

III.1.3.1 Storyline

Save Our Forest adalah game yang bertujuan memberikan edukasi

bahaya kerusakan lingkungan khususnya hutan terhadap anak-anak. Game ini menceritakan petualangan seorang polisi hutan yang ditugaskan untuk menghentikan pembalakan liar di kawasan hutan lindung, berbekal pengalaman dan keahliannya sebagai polisi hutan, ia pun berusaha menghentikan pembalakan liar dan berusaha mencari tahu dalang di balik pembalakan liar ini.

III.1.3.2 Analisis Tingkat Kesulitan

Dalam game ini, terdapat 3 level yang masing-masing level dibedakan berdasarkan alur cerita, tingkat kesulitan rintangan yang harus dihadapi, jumlah, kekuatan dan jenis musuhyang bertambah. Di setiap peningkatan level, user akan dihadapkan pada musuh dengan tingkat kesulitan yang akan bertambah, mulai dari kecepatan dan kesukaran musuh tersebut. Analisis tingkat kesulitan akan dijelaskan di tabel III.1

Tabel III.1 Analisis Tingkat Kesulitan

Level Jumlah musuh Total poin yang

(51)

tingkat kesulitan yang semakin sulit untuk di lewati.

1. Level 1

Di level 1, pemain diharuskan mencari petunjuk tentang lokasi

keberadaan penebangan hutan liar terjadi. Pada level ini pemain dibekali dengan 100 nyawa dan total 40 peluru. Pemain dapat bergerak ke kiri, ke kanan, melompat, menembak dan mengisi ulang peluru. Pemain diharuskan untuk melewati rintangan dan musuh yang menghalangi jalannya misi. Kumpulkan kantung bibit untuk menambah skor permainan, kotak P3K untuk menambah nyawa. Pemain harus mendapatkan gulungan peta yang berisikan informasi tentang lokasi penebang liar.

2. Level 2

Di level 2, setelah pemain mendapatkan informasi tentang lokasi

kelompok penebang hutan liar, pemain melanjutkan perjalanan menuju lokasi penebang liar. Dalam perjalanannya pemain dihadang oleh sekelompok anggota penebang liar tersebut. Pada level ini pemain dibekali dengan 100 nyawa dan 40 peluru. Pemain dapat bergerak ke kiri, ke kanan dan melompat. Pemain diharuskan untuk melewati rintangan dan musuh yang menghalangi jalannya misi. Kumpulkan kantung bibit untuk menambah skor permainan.

3. Level 3

Di level 3, pemain telah sampai di kamp penebang liar dan pada

akhir permainan, pemain harus berhadapan dengan boss yang harus di kalahkan untuk mengakhiri permainan.

III.1.3.4 Scoring

(52)

39

Jika pemain dapat mengumpulkan sampai 30% poin dari total poin di setiap level, di akhir level, pemain akan mendapatkan 1 bintang. Jika pemain dapat mengumpulkan sampai 70% poin dari total poin di setiap level, di akhir

level, pemain akan mendapatkan 2 bintang, dan jika dapat mengumpulkan lebih

dari 70% akan mendapatkan 3 bintang.

III.1.4 Analisis Algoritma A*

Pada bagian ini akan dibahas analisis algoritma A*, algoritma ini menjadi

complete dan optimal dikarenakan algoritma ini menggabungkan informasi dari

algoritma Djikstra (lebih memilih node yang dekat dengan node awal) dan informasi yang digunakan algoritma Best First Search (lebih memilih node yang dekat dengan node tujuan). Algoritma A* akan diterapkan pada objek boss dalam melakukan pencarian rute terpendek lokasi karakter pemain di arena permainan. Berikut ini adalah istilah-istilah yang akan dibahas:

1. Open List adalah list yang menyimpan kemungkinan path yang akan

diperiksa. Open list digunakan untuk menentukan secara selektif (berdasarkan nilai f) jalan yang dikira lebih dekat menuju tujuan. Open list berisi node yang masih memiliki peluang untuk terpilih sebagai best

node.

2. Closed list adalah list untuk menyimpan simpul-simpul yang sudah

pernah dibangkitkan dan sudah pernah terpilih sebagai best node.

Closed list dan open list bertujuan untuk menghindari penulusuran

berulang rute agar tidak masuk kembali ke openlist.

3. Nilai F adalah nilai yang menyatakan seberapa bagus sebuah node. Nilai F merupakan hasil dari f(n).

4. Nilai G adalah nilai dari fungsi g(n) adalah banyaknya langkah untuk menuju path saat ini.

5. Nilai H adalah nilai estimasi untuk sampai pada suatu tujuan mulai dari n.

Diasumsikan arena permainan dibagi-bagi kedalam sebuah tilemap

(53)

data yang berbentuk jaringan, hubungan antar elemennya adalah many- to-many. Berikut ini adalah contoh arena permainan yang terdapat pada game Save Our

Forest dapat dilihat pada gambar III.3

Gambar III.3 Arena Permainan Game Save Our Forest

Secara umum terdapat dua macam representasi dari struktur data graf yang dapat diimplementasikan. Pertama, disebut adjacency list, yaitu list yang diimplementasikan dengan menampilkan masing-masing simpul sebagai sebuah struktur data yang mengandung senarai dari semua simpul yang saling berhubungan. Yang kedua adalah representasi berupa adjacency matrix dimana baris dan kolom dari matriks tersebut merepresentasikan simpul awal dan simpul tujuan dan sebuah entri didalam senarai yang menyatakan apakah terdapat sisi di antara kedua simpul tersebut. Dalam pembangungan game Save Our Forest akan digunakan representasi berupa adjacency list. Berikut ini adalah contoh adjacency list dapat dilihat pada gambar III.4

(54)

41

Pada Algoritma A* terdapat beberapa prosedur didalamnya, Berikut ini adalah kamus global algoritma A*:

{Kamus Global} openList : linked list closedList : linked list path : boolean

Tabel III.2 Pseudocode Prosedur Node

Isi Pseudocode

Procedure Node (input : x, y, cost : integer) {I.S : koordinat node sudah terdefinisi} {F.S : menghasilkan node}

Kamus :

xCoor : integer yCoor : integer nodeCost : integer examinedNode : integer neighbor : List

directPath = 2*(Math.sqrt(Math.pow((xCoor-

(world.getTargetXcoor())), 2) + Math.pow((yCoor- (world.getTargetYcoor())), 2)))

actualPath = 2*(Math.sqrt(Math.pow((xCoor-

(world.getStartXcoor())), 2) + Math.pow((yCoor- (world.getStartYcoor())), 2)))

(55)

Berikut ini adalah pseudocode pembangkitan suksesor dapat dilihat pada tabel III.3

Tabel III.3 Pseudocode Prosedur checkNode

Isi Pseudocode

{I.S : Node sudah terdefinisi} {F.S : Membangkitkan node sekitar}

Kamus :

Path : boolean

openList : Linkedlist closedList : Linkedlist fls : Linkedlist

tryNum : integer

Algoritma :

iter = openList.iterator() lastCheckedF : double while (iter.hasNext()) {

lastCheckNode = iter.next()

lastCheckedF = lastCheckedNode.F;

if(lastCheckedF <= smallestFfound) {F lebih kecil} {

If(!closeList.contains(lastCheckedNode)){ {tidak berada di close list}

smallestFfound = lastCheckedF }

}

Pada game Save Our Forest, arena permainan dibagi kedalam tilemap

(56)

43

Gambar III.4 Contoh Kasus Algoritma A* pada game Save Our Forest

Tile atau node tujuan atau pada kasus ini disebut node pemain

direpresentasikan dengan warna hijau dan berada di koordinat (0,75) sedangkan

(57)

Gambar III.5 Penentuan nilai heuristik

Nilai untuk pergerakan secara horizontal dan vertikal adalah 25, sedangkan untuk nilai untuk pergerakan diagonal adalah 35. Untuk mendapatkan nilai heuristik menggunakan diagonal distance yang memungkinkan pergerakan ke 8 arah maka digunakan notasi matematika

H diagonal(n) = (abs(n.x-goal.x) + abs(n.y-goal.y)) (III.1)

Selanjutnya node musuh akan melakukan pencarian untuk menemukan jalur terpendek dengan cara memeriksa node disekitarnya. Langkah-langkah pencarian jalur terpendek adalah sebagai berikut:

1. Node musuh dimasukkan ke dalam open list.

2. Periksa semua node yang berdekatan dengan node musuh apakah node

tersebut merupakan dinding atau tidak, abaikan node yang tidak bisa dilalui, lalu masukkan node tersebut kedalam open list. Dan untuk setiap node baru yang ditambahkan kedalam open list, simpan node lama sebagai “parent” yang akan digunakan untuk menelusuri jalan.

3. Node dengan nilai f terkecil akan terpilih sebagai best node dan

(58)

45

4. Hapus node musuh atau node sebelumnya dari open list dan masukkan ke dalam closed list.

Berikut ini adalah gambar membangkitkan suksesor node musuh dapat dilihat di gambar III.6

Gambar III.6 Pembangkitan node suksesor musuh

Node dengan garis putus-putus merupakan node yang sudah dimasukkan

kedalam open list sedangkan, node dengan garis tegas merupakan node yang sudah dimasukkan kedalam closed list. Masing-masing node yang berada di open

list memiliki pointer yang mengarah ke parentnya masing-masing.

Langkah pertama, node Musuh membangkitkan node di sekitarnya dan hasilnya membangkitkan 4 node, baik arah horizontal, vertical, maupun diagonal.

(59)

Gambar III.7 Langkah 1 pencarian rute terpendek menggunakan algoritma A* dalam Tile Map

(60)

47

Gambar III.8 Langkah 2 pencarian rute terpendek menggunakan algoritma A* dalam Tile Map

(61)

Gambar III.9 Langkah 3 pencarian rute terpendek menggunakan algoritma A* dalam Tile Map

(62)

49

Gambar III.10 Langkah 4 pencarian rute terpendek menggunakan algoritma A* dalam Tile Map

(63)

Gambar III.11 Langkah 5 pencarian rute terpendek menggunakan algoritma A* dalam Tile Map

(64)

51

Gambar III.12 Langkah 6 pencarian rute terpendek menggunakan algoritma A* dalam Tile Map

Pencarian rute terpendek dari node musuh menuju node pemain menggunakan algoritma A* menghasilkan rute sebagai berikut:

1. Dari node musuhbergerak ke koordinat (125,25) dengan f = 220. 2. Dari node dengan f = 84 bergerak ke koordinat (100,25) dengan f =

210.

3. Dari node dengan f = 84 bergerak ke koordinat (75,50) dengan f = 195. 4. Dari node dengan f = 78 bergerak ke koordinat (50,75) bawah dengan f

= 180.

5. Dari node dengan f = 72 bergerak ke koordinat (25,75) kiri dengan f = 180.

(65)

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

Pada analisis kebutuhan sistem non fungsional ini dijelaskan analisis kebutuhan perangkat keras, analisis kebutuhan perangkat lunak, dan analisis pengguna.

III.1.5.1 Analisis Kebutuhan Perangkat Keras

Komputer terdiri dari perangkat keras dan perangkat lunak yang saling

berinteraksi. Perangkat lunak memberikan instruksi-instruksi kepada perangkat keras

untuk melakukan suatu tugas tertentu, sehingga dapat menjalankan suatu sistem di

dalamnya. Pada aplikasi game ini, perangkat keras yang digunakan adalah sebagai berikut :

1. Prosesor 1.00 Ghz 2. RAM 512 MB 3. VGA 64 MB 4. Hard Disk 10 GB

5. Monitor dengan resolusi minimal 800 x 600 6. Speaker atau Headset

Gambar

Gambar II.1 Notasi Pseudo-code Algoritma A*
Tabel III.8 Use Case Scenario Menampilkan Level 3
Tabel III.9 Use Case Scenario Perhitungan Skor
Tabel III.11 Use Case Scenario Menembak musuh
+7

Referensi

Dokumen terkait

Eksperimen Pembelajaran Matematika Dengan Model Discovery Learning Berbasis Numbered Heads Together dan Group Investigation Terhadap Hasil Belajar Ditinjau Dari

Penelitian bertujuan untuk mengetahui, menguji dan menganalisis deskripsi dan Pengaruh kepemimpinan, motivasi, budaya organisasi dan kompetensi pegawai

Kemudian ke dalam tabung dimasukkan 3 bola pejal yang identik (sama bentuk) sehingga bola tersebut menyinggung sisi tabung dan air dalam tabung keluar, maka sisi

• Mendeskripsikan seperti apa sistem informasi yang diinginkan dari sisi 5W1H dimana dapat menggunakan What untuk menentukan Informasi yang dibutuhkan (database),

Pengujian minimum sistem ini bertujuan untuk mengetahui apakah minimum sistem dalam mobile Robot dapat melakukan proses signature dan download program ke

Dapat meningkatkan sikap kemandirian siswa dalam proses pembelajaran pada mata pelajaran IPS, dapat meningkatkan kemampuan pemahaman materi yang diajarkan kepada

Kesimpulan dari penelitian ini adalah terdapat angka kejadian non-anemia sebesar 67% dan anemia 33% pada pasien anak penderita HIV/AIDS di RSUP Sanglah Denpasar.. Kata

Dampak terbesar dari tujuan tergantung pada seberapa besar peningkatan gaji, promosi, dan penghargaan yang didasarkan pada pemenuhan tujuan.Karyawan yang dapat mencapai tujuan