Membangun game side scrolling 2D petualangan Kabayan menyelamatkan makanan tradisional

(1)

(2)

(3)

(4)

(5)

Tempat / Tanggal Lahir : Bandung, 25 April 1989 Jenis Kelamin : Laki – laki

Agama : Islam

Alamat : Kp. Panyocokan RT 02/02 Desa Panyocokan

Kecamatan Ciwidey, Kabupaten Bandung Kode Pos : 40973

No. Telp / HP : 0225927253/085793166133 E-mail : restu_resmiadi@yahoo.com YM : restu_resmiadi

Pendidikan : 1. TK Pratiwi : 1995-1996 2. SDN Panyocokan : 1996-2002 2. SMPN 1 Ciwidey : 2002-2005 3. SMAN 1 Ciwidey : 2005-2008 4.Universitas Komputer Indonesia : 2008-2013


(6)

SKRIPSI

Diajukan Untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

RESTU RESMIADI HIDAYAT

10108045

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2013


(7)

iii

KATA PENGANTAR

Assalammu‟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 ”Membangun game side

scrolling 2D Petualangan Kabayan Menyelamatkan Makanan Tradisional” ini dapat terselesaikan tidak kurang dari pada waktunya.

Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia. Penulis menyadari bahwa skripsi ini masih banyak kekurangan dari berbagai macam hal. Namun berkat bantuan dan bimbingan dari beberapa pihak akhirnya skripsi ini dapat diselesaikan tepat pada waktunya. Dengan penuh rasa syukur, ucapan terima kasih yang mendalam serta penghargaan yang tidak terhingga penulis sampaikan kepada :

1. Allah SWT yang telah memberikan kesehatan dan kesempatan kepada penulis dalam menyelesaikan skripsi ini dan juga atas semua keindahan, kemudahan, dan berjuta hikmah yang melahirkan semangat jiwa.

2. Kedua orang tua, H. Asep Bahtiar (ayah yang selalu menjadi panutan penulis), Hj. Iin Hindun Setiani (Ibu terbaik & terhebat di dunia).

3. Bapa Irawan Afrianto, M.T. selaku Ketua Jurusan Teknik Informatika. 4. Ibu Sufa‟atin, S.T. selaku pembimbing yang selalu sabar dan memberikan

arahan yang baik selama membimbing penulis.

5. Bapak Galih Hermawan S.Kom, M.T. selaku penguji dan reviewer yang memberikan banyak masukan yang sangat berarti bagi penulis.


(8)

iv

6. Ibu Nelly Indriani W, S.Si., M.T., selaku dosen penguji yang telah bersedia meluangkan waktu, tenaga dan pikirannya serta memberikan pengarahan dan pengalaman dalam penyusunan skripsi yang berguna bagi penulis.

7. Ibu Rani Susanto, S.Kom selaku dosen wali IF 1 angkatan 2008

8. Orang yang penulis sayang Isti Sonia Ayu, terimakasih atas dukungan dan doa nya. Kepada sahabat-sahabat yang telah banyak membantu dan doa (alwi Husain, Putri gina alias ucy, ade Fitri).

9. Kepada temen-temen IF 1 2008 umumnya, dan khususnya kepada pa dani, lukman alias obos, kemi, ua, bang der, arif, aris, dan semua anak-anak IF 1 yang telah menjadi keluarga, yang berjuang bersama sampai akhir.

10.Kepada teman-teman seperjuangan dalam skripsi game (Fadli, Iqbal, Agung, Ronan, Tegar, Anggi, dan yang lainnya) terimakasih telah berbagi saran dan ilmu.

Penulis menyadari juga bahwa pada Laporan Skripsi ini masih banyak terdapat kekurangan, baik dalam cara penyajian laporan maupun kelengkapan data, hal itu tidak lepas karena penulis hanyalah manusia biasa yang tidak luput dari kesalahan, kesalahan milik kita manusia dan kesempurnaan hanya milik Allah SWT semata. Oleh karena itu, kritik dan saran pembaca akan sangat penulis hargai dan harapkan, tentunya kritik dan saran dengan niat membangun. Akhirnya penulis berharap semoga hasil Skripsi ini bermanfaat bagi kita semua, khususnya bagi yang

membacanya. Amin ya Allah ya Rabbal a‟lamin. Wassalamu‟alaikum Wr. Wb.

Bandung, Januari 2013 Penulis


(9)

v

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL... xii

DAFTAR SIMBOL ... xiv

DAFTAR REFERENSI PROPERTIES GAME ... xvii

DAFTAR LAMPIRAN ... xxii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 3

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 6

BAB 2 LANDASAN TEORI ... 9

2.1 Permainan (Game) ... 9

2.1.1 Permainan Video (Video Game) ... 10


(10)

vi

2.1.3 Sudut Pandang Permainan (Game View Point) ... 13

2.1.4 Jenis Permainan (Genre Game) ... 14

2.2 Makanan Tradisional ... 17

2.2.1 Makanan Tradisional Jawa Barat ... 17

2.2.2 Makanan Tradisional Jawa Tengah ... 18

2.2.3 Makanan Tradisional Jawa Timur ... 20

2.3 Kabayan... 21

2.4 Kecerdasan Buatan / AI (Artificial Intelligence ) ... 21

2.4.1 Tujuan Akhir AI ... 22

2.4.2 Karakteristik AI ... 23

2.4.3 Perkembangan AI dan Aplikasinya ... 23

2.4.4 Metode Pencarian (Searching) ... 23

2.4.5 Pencarian Heuristic (Terbimbing)... 24

2.4.6 AI yang Digunakan ... 25

2.4.7 Metode Collision Detection ... 26

2.5 Tools yang Digunakan ... 27

2.5.1 OOP (Object Oriented Programming) ... 27

2.5.2 Java ... 29

2.5.3 UML (Unified Modeling Language) ... 30

2.5.4 Greenfoot... 32

2.5.5 Adobe Photoshop ... 32


(11)

vii

3.1 Analisis Sistem ... 35

3.1.1 Analisis Masalah ... 35

3.1.2 Analisis Game sejenis ... 35

3.1.3 Analisis Game Petualangan Kabayan ... 40

3.1.3.1 Pengenalan Aplikasi ... 40

3.1.3.2 Storyline ... 40

3.1.3.3 Analisis Tingkat Kesulitan ... 41

3.1.3.4 Gameplay ... 41

3.1.3.5 Scoring ... 42

3.1.3.6 Elemen Game ... 43

3.1.3.7 Skenario Game Petualangan Kabayan ... 44

3.1.4 Penerapan Metode Collision Detection ... 44

3.1.5 Analisis Algoritma A* (A Star) ... 46

3.1.6 Analisis Kebutuhan Non Fungsional ... 56

3.1.6.1 Analisis Perangkat Keras ... 56

3.1.6.2 Analisis Perangkat Lunak ... 57

3.1.6.3 Analisis Pengguna ... 58

3.1.7 Analisis Kebutuhan Fungsional ... 59

3.1.7.1 Use Case Diagram ... 59

3.1.7.2 Definisi Use Case ... 59

3.1.7.3 Skenario Use Case ... 60


(12)

viii

3.1.7.5 Class Diagram ... 71

3.1.7.6 Sequence Diagram ... 72

3.2 Perancangan ... 75

3.2.1 Perancangan Komponen Permainan ... 75

3.2.1.1 Karakter Game ... 76

3.2.1.2 Storyboard ... 76

3.2.2 Perancangan Struktur Menu ... 82

3.2.3 Antar Muka Menu Utama ... 82

3.2.4 Antar Muka Tampil Petunjuk ... 83

3.2.5 Antar Muka Pilih Stage ... 83

3.2.6 Antar Muka Pilih Level ... 84

3.2.7 Antar Muka Stage Jawa Barat ... 84

3.2.8 Antar Muka Stage Jawa Tengah ... 85

3.2.9 Antar Muka Stage Jawa Timur ... 85

3.2.10 Jaringan Semantik ... 86

3.2.11 Perancangan Method ... 86

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 91

4.1 Implementasi ... 91

4.1.1 Perangkat Pendukung yang Digunakan ... 91

4.1.1.1 Kebutuhan Perangkat Keras ... 91

4.1.1.2 Kebutuhan Perangkat Lunak ... 91


(13)

ix

4.1.2.1 Tampilan dari Sisi User ... 92

4.1.2.2 Tampilan dari Sisi Pembuat ... 99

4.2 Pengujian Sistem ... 100

4.2.1 Pengujian Alpha (Fungsional)... 100

4.2.2 Hasil Pengujian Alpha ... 109

4.2.3 Pengujian Beta ... 109

4.2.4 Kesimpulan Pengujian Beta ... 118

BAB 5 KESIMPULAN DAN SARAN ... 119

5.1 Kesimpulan ... 119

5.2 Saran ... 119

DAFTAR PUSTAKA ... 120 LAMPIRAN


(14)

120

Daftar Pustaka

[1] Akudisinidwi, (17 maret 2012), Pengertian game dan macam-macam game, http://akudisinidwi.wordpress.com/2012/03/17/pengertian-game-dan-macam- macam-game/ dikases pada tanggal 20 november 2012 pukul 16.30 WIB.

[2] kursusprivat, (19 februari 2012), Definisi Arcade, Artificial Intelligence, Side Scrolling Game,

http://blog.kursusprivat.com/2012/02/definisi-arcade-artificial-intelligent-side-scrolling-game/ dikases pada tanggal 20 november 2012 pukul 16.30 WIB. [3] T. Sutojo, S.Si, M.Kom., Kecerdasan Buatan, Penerbit Andi, 2011.

[4] Sommerville, Ian (2009), Software Engineering – Ninth Edition, Addison Wesley, Massachussets.

[5] Modul Pengenalan Game, fredy16.files.wordpress.com/2007/12/modul1- pengenalan-game.pdf, 2012, 17 Februari 2012, dikases pada tanggal 20 november 2012 pukul 16.30 WIB.

[6] Kabayan sebagai cerita rakyat

http://ceritarakyatnusantara.com/id/article/20-si-kabayan-sebagai-cerita-rakyat# dikases pada tanggal 05 januari 2013 pukul 22.00 WIB.

[7] Suyanto, ST, MSc., Artificial Intelligence Searching, Reasoning, Planning and Learning, Penerbit Informatika, Bandung, 2007.

[8] Siti Fatimah, Kue tradisional anti gagal, PT Gramedia Pustaka Utama, Jakarta, 2011.

[9] http://www.esrb.org/ratings/ratings_guide.jsp#descriptors dikases pada tanggal 25 oktober 2012 pukul 09.52 WIB.

[10] kuliner indosesia, daftar kuliner,

http://www.duniakuliner.info/search/label/nama%20daerah?updated-max=2012-05-30T21%3A59%3A00%2B07%3A00&max-results=3#PageNo=3 dikases pada tanggal 29 november 2012 pukul 13.30 WIB.


(15)

121

[12] http://sulistyonugroho.wordpress.com/2010/02/17/klasifikasi-game/ dikases pada tanggal 1 oktober 2012 pukul 09.30 WIB.

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

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

[15] http://berbagitnt.wordpress.com/2012/02/08/greenfoot/ dikases pada tanggal 25 november 2012 pukul 16.00 WIB.

[16]

http://iyasphunkalfreth.blogspot.com/2010/09/manfaat-kelebihan-dan-kekurangan-dari.html dikases pada tanggal 22 november 2012 pukul 12.30 WIB. [17] http://wartawarga.gunadarma.ac.id/2012/04/sejarah-game-dan-jenis-jenis-game/

dikases pada tanggal 25 oktober 2012 pukul 10.00 WIB.

[18] Prabowo Pudjo Widodo, Menggunakan UML, Informatika Bandung, Bandung, 2011

[19] Davison, Andrew (2005), Killer Game Programming in Java, O‟Reilly Media, Sebastopol

[20] Russel, Struart and Norvig, Peter, 1995, “Artificial Intellegence : A Modern


(16)

1

1.1 Latar Belakang Masalah

Kue tradisional atau makanan tradisional telah menjadi bagian dari budaya masyarakat Indonesia hampir semua orang menyukai penganan khas negeri ini, namun tidak semua dapat dijumpai dengan mudah. Pulau Jawa adalah salah satu pulau yang memiliki banyak ragam makanan tradisional. Di Jawa Barat terdapat makanan tradisional seperti : ali agrem, bandros, ladu, jawadah, dan lain-lain. Di Jawa Tengah terdapat getuk, lanting, carang madu. Dan di Jawa Timur ada kue cucur, jerangking, pudak, dan lain-lain. Di zaman sekarang ini banyak anak-anak dan bahkan remaja yang kurang mengenal tentang makanan tradisional tersebut karena maraknya makanan dari luar negeri yang lebih dikenal [8].

Kabayan merupakan tokoh imajinatif dari budaya Sunda yang juga telah menjadi tokoh imajinatif masyarakat umum di Indonesia. Polahnya yang dianggap lucu, polos, tetapi sekaligus cerdas. Cerita-cerita lucu mengenai Kabayan di masyarakat Sunda dituturkan turun temurun secara lisan sejak abad ke -19 sampai sekarang [6].

Saat ini perkembangan game di komputer sangat cepat, sehingga game bukan hanya sekadar permainan untuk mengisi waktu luang atau sekadar hobi, melainkan sebuah media untuk meningkatkan kreativitas dan tingkat intelektual para pengguna[1].

Side scrolling game adalah salah satu genre game dengan sudut pandang kamera seolah-olah di samping karakter, dan mengikuti pergerakan pemain yang pada umumnya bergerak dari sisi kiri menuju sisi kanan layar untuk mencapai target atau lokasi yang telah ditentukan.Alasan menerapkan side scrolling adventure game pada


(17)

game yang akan dibangun adalah karena game sejenis ini paling cocok untuk diterapkan karena tingkat kesulitannya yang tidak terlalu tinggi[2].

Berdasarkan latar belakang di atas, maka diambil tema tugas akhir dengan judul“MEMBANGUN GAME SIDE SCROLLING 2D PETUALANGAN

KABAYAN MENYELAMATKAN MAKANAN TRADISIONAL”. Game ini

bercerita tentang petualangan si Kabayan sebagai karakter utama untuk merebut kembali makanan tradisional langka yang telah di curi.


(18)

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang masalah, maka identifikasi masalah adalah :

1. Penggunaan aplikasi game sebagai media hiburan sekaligus pembelajaran. 2. Kurang dikenalnya makanan tradisional pulau Jawa oleh anak-anak dan

bahkan para remaja pada zaman sekarang ini.

Berdasarkan identifikasi yang ada maka rumusan masalahnya adalah tentang bagaimana aplikasi game dapat memberikan pengetahuan tentang makanan tradisional Indonesia, khususnya makanan tradisional di pulau Jawa.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud penulisan tugas akhir ini adalah membangun aplikasi game side scrolling 2D petualangan kabayan menyelamatkan makanan tradisional sebagai media pengetahuan akan salah satu kebudayaan Indonesia. Adapun tujuan yang akan dicapai dalam tugas akhir ini adalah sebagai berikut :

a. Memperkenalkan makanan tradisional di pulau Jawa kepada pemain. b. Membangun aplikasi Game sebagai media edukasi

c. Meningkatkan pengetahuan pemain tentang makanan tradisional, terutama anak-anak dengan usia 10 tahun keatas.

1.4 Batasan Masalah

Batasan masalah dalam pembangunan aplikasi ini adalah sebagai berikut : 1. Makanan tradisional terbatas hanya yang berada di pulau Jawa.

2. Level atau stage di batasi hanya 3 stage yaitu stage Jawa Barat, Jawa Timur, dan Jawa Tengah.


(19)

4. Genre game adalah adventure game, tipe game ini yang umumnya membuat pemain harus berjalan mengelilingi atau menjelajahi suatu tempat.

5. View point game yang dipakai adalah Side Scrolling.

6. Aplikasi game yang akan dibangun bergrafis 2 dimensi dan berbasis desktop. 7. Aplikasi ini dirancang dengan desain yang user friendly dengan aturan

permainan yang tidak terlalu rumit.

8. Aplikasi game ini ditujukan untuk pemain mulai usia 10 tahun keatas minimal murid SD kelas 4, karena memiliki sudah memiliki sedikit sugesti.

9. AI yang dipergunakan adalah algoritma A* (A star), yang diterapkan pada kalong yang akan dilawan oleh kabayan.

10.Aplikasi game dibangun menggunakan bahasa pemrograman java dengan tools Greenfoot 2.2.1.

1.5 Metodologi Penelitian

Metode penelitian yang digunakan adalah metode deskriptif. Penelitian deskriptif adalah salah satu jenis metode penelitian yang berusaha menggambarkan dan menginterpretasi objek sesuai dengan apa adanya [Best,1982 : 119]. Penelitian Deskriptif ini juga sering disebut noneksperimen, karena pada penelitian ini peneliti tidak melakukan kontrol dan manipulasi variabel penelitian.

1. Tahap Pengumpulan data

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

a. Studi Pustaka

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul tugas akhir.


(20)

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permalasahan yang diambil.

2. Tahap Pembuatan Perangkat Lunak

Dalam membangun aplikasi game Petualangan Kabayan ini, digunakan metode pengembangan perangkat lunak waterfall yang meliputi :

a. System Engineering

Menetapkan atau merumuskan segala hal yang diperlukan dalam pelaksaaan pembuatan program.

b. Analisis

Menganalisis hal-hal yang diperlukan untuk pembuatan atau pembangunan perangkat lunak.

c. Design

Tahap menggambarkan karakter-karakter game, baik itu objek karakter utama maupun objek lain yang akan digunakan dalam game nantinya.

d. Coding (pengkodean)

Menerjemahkan data yang telah dirancang atau algoritma ke dalam bahasa pemrograman yang telah ditentukan.

e. Testing

Merupakan tahap pengujian terhadap aplikasi yang telah dibangun dengan melakukan beberapa test pada aplikasi.

f. Maintenance

Melakukan perubahan atau penambahan program sehingga terhindar dari gangguan yang dapat menyebabkan kerusakan.


(21)

Berikut ini adalah diagram metode waterfall yang diperkenalkan oleh Ian Sommerville

Gambar 1.1. Diagram Metode Waterfall [4] 1.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 1 PENDAHULUAN

Bab ini menguraikan tentang latar belakang masalah, indentifikasi masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi pembahasan mengenai berbagai macam konsep dasar dan teori-teori yang menunjang dan ada kaitannya dengan topik tugas akhir yang diambil, seperi permainan, klasifikasi permainan, jenis permainan, makanan tradisional, kabayan, kecerdasan buatan, dan tools yang digunakan.


(22)

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menganalisis masalah dari permasalahan yang timbul dari penelitian yang sedang dilakukan dan juga melakukan perancangan.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Merupakan tahapan yang dilakukan dalam penelitian secara garis besar sejak dari tahap persiapan sampai penarikan kesimpulan, metode dan kaidah yang diterapkan dalam penelitian. Termasuk menentukan variabel penelitian, identifikasi data yang diperlukan dan cara pengumpulannya, penentuan sampel penelitian dan teknik pengambilannya, serta metode atau teknik analisis yang akan dipergunakan dan perangkat lunak yang akan dibangun.

BAB 5 KESIMPULAN DAN SARAN


(23)

(24)

9

Permainan merupakan sebuah aktivitas rekreasi dengan tujuan bersenang-senang ataupun untuk mengisi waktu luang. Permainan biasanya dilakukan secara sendiri-sendiri ataupun secara kelompok. Permainan sendiri terbagi menjadi 2 bagian yaitu [5]:

1. Permainan Anak-Anak

Banyak permainan yang sering dilakukan oleh anak-anak bersama teman-teman mereka di sekitar rumah mereka. Mereka biasanya berkelompok, senang berlarian, ataupun kadang duduk melingkar untuk memainkan salah satu permainan, dan dari situlah biasanya akan tercipta suatu keakraban diantara mereka. Beberapa permainan dari masa lalu disebut dengan permainan tradisional, sedangkan untuk permainan yang muncul di jaman sekarang ini disebut dengan permainan modern dan biasanya menggunakan peralatan canggih seperti halnya video game. Dan berikut beberapa jenis permainan yang bisa dimainkan oleh anak-anak [5]:

a. Congklak b. Layangan c. Petak umpet d. Boneka e. Adu kelereng f. Bentengan.


(25)

2. Permainan Dewasa

Untuk permainan orang dewasa biasanya memerlukan pemikiran untuk memainkannya. Dan berikut beberapa jenis permainan yang bisa dimainkan oleh orang dewasa [5]:

a. Kartu remi b. Catur c. Domino d. Karambol.

2.1.1 Permainan Video (Video Game)

Permainan video (video game) adalah permainan yang menggunakan interaksi antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Permainan video umumnya menyediakan sistem penghargaan, misalnya score yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesaikan tugas-tugas yang ada di dalam permainan video tersebut. Sistem elektronik yang digunakan untuk menjalankan permainan video disebut platform, contohnya adalah komputer pribadi (personal computer) ataupun konsol permainan (game console) [5].

1. Permainan komputer (Computer Game)

Permainan komputer adalah permainan video yang di mainkan pada komputer pribadi, dan bukan pada konsol permainan. Permainan komputer telah berevolusi dari sistem grafis sederhana menjadi sangat kompleks dan mutakhir.

Permainan online (online game) adalah jenis permainan video atau permainan komputer dengan menggunakan jaringan internet sebagai media interaksinya.

Permainan online terdiri dari dua unsur utama, yaitu server dan client. Server adalah penyedia layanan gaming yang merupakan basis agar client –client yang


(26)

terhubung dapat memainkan permainan dapat melakukan komunikasi dengan baik. Suatu server pada prinsipnya hanya melakukan administrasi permainan dan menghubungkan client-client. Sedangkan client adalah pengguna permainan dan memakai kemampuan server. Contoh permainan online adalah Ragnarok Online, Risk Your Life, Xian [5].

2. Konsol Permainan (Game Console)

Konsol permainan adalah sebuah mesin elektronik yang dirancang khusus untuk memainkan permainan video. Perangkat keluarannya biasa berupa monitor komputer atau televisi dan alat masukan utamanya berupa sebuah pengendali. Konsol permainan yang pertama kali dibuat adalah Atari, kemudian dilanjutkan dengan Nintendo yang sukses pada tahun 1985-1989. Konsol permainan modern sekarang ini antara lain adalah Playstation buatan perusahaan Sony. Untuk Console yang berbentuk kecil dan dapat dibawah kemana-mana biasa disebut Portable Console [5].

2.1.2 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 [12]:

1. Arcade Games yaitu yang sering disebut ding-dong di Indonesia, biasanya berada di daerah / tempat khusus dan memiliki box atau mesin yang memang khusus didesain untuk jenis video games tertentu dan tidak jarang bahkan memiliki fitur yang dapat membuat pemainnya lebih

merasa “masuk” dan menikmati. Seperti pistol, kursi khusus, sensor

gerakan, sensor injakkan dan stir mobil (beserta transmisinya).

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


(27)

3. Console Games yaitu video game yang dimainkan menggunakan console tertentu seperti playstation XBOX, Nitendo, dan lan-lain.

4. Handheld Game yaitu game yang dimainkan di console khusus video game yang dapat dibawa kemana-mana, contoh nitendo DS dan Sony PSP.

5. Mobile Games yaitu game yang biasa dimainkan khusus untuk handphone

atau PDA.

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

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 keatas. Judul-judul dalam kategori ini mungkin mengandung kekerasan, tema sugestif, humor kasar, sedikit darah, simulasi perjudian, dan tidak jarang menggunakan bahasa yang kuat.

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


(28)

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 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).

2.1.3 Sudut Pandang Permainan (Game View Point)

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

1. 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

Adalah sudut pandang permainan yang memungkinkan karakter utama bermanuver ke empat arah namun cara permainannya sendiri bergeser dari bawah ke atas, dan biasanya game yang menggunakan sudut pandang permainan jenis ini adalah shooter game.

3. 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).


(29)

2.1.4 Jenis Permainan (Genre Game)

Game dari tahun-tahun semakin banyak saja 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 [17]:

a. Advergames

Permainan yang dikembangkan untuk tujuan periklanan.

b. 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

Adalah tipe game yang umumnya membuat pemain harus berjalan mengelilingi suatu tempat yang terkondisi, seperti sebuah istana, gua yang berkelok, dan planet yang jauh. Pemain melakukan navigasi suatu area mencari pesan-pesan rahasia, memperoleh obyek yang memiliki kemampuan yang bervariasi, bertempur dengan musuh, dan lain-lain. Untuk membuat game ini, diperlukan perencanaan yang akurat sehingga memiliki alur cerita yang menarik bagi pemain, contohnya : Tomb Raider, Prince of Persia, Hitman, dan lain-lain.

d. Fighting Game

Adalah tipe game yang intinya harus menjatuhkan lawan tandingnya, entah itu dengan pukulan, tendangan, combo, maupun dengan jurus special, contohnya : Tekken, Mortal Kombat, Naruto, dan lain-lain.


(30)

e. FPS (First Person Shooter)

Adalah tipe game yang mengunakan 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, dan lain-lain.

f. 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, dan lain-lain.

g. 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.

h. Puzzle Game

Adalah tipe game yang umumnya membuat pemain menggunakan kemampuan berpikirnya sebagai pengganti keterampilan reaksi yang cepat karena terdapat rahasia yang perlu dipecahkan. Game ini lebih bersifat statis dibanding action game. Pembuatan game tipe ini seringkali ditunjang dengan AI (Artificial Intelligence), contohnya : 7 Wonders of The Ancient World.


(31)

i. 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

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

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 RPGgame, perbedaannya adalah tidak adanya peningkatan level karakternya, contohnya : GTA dan Bully.

l. 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

Adalah tipe game yang berupa kompetisi antara dua pemain atau lebih, di mana pemain dapat berupa individual atau tim. Contoh game tipe ini antara lain sepakbola, bola basket, tenis, dan bilyard. Tergantung seberapa cepat permainan yang terjadi, aplikasi game perlu dioptimalkan, contohnya : Pro Evolution Soccer.


(32)

2.2 Makanan Tradisional

Kue tradisional atau makanan tradisional telah menjadi bagian dari budaya masyarakat Indonesia hampir semua orang menyukai penganan khas negeri ini, sebagian besar makanan tradisional dapat dijumpai di pasar-pasar, namun tidak semua dapat dijumpai dengan mudah. Pulau jawa adalah salah satu pulau yang memiliki banyak ragam makanan tradisional, mulai dari Jawa Barat, Jawa Tengah, sampai Jawa Timur[10].

2.2.1. Makanan Tradisional Jawa Barat

Jawa Barat adalah sebuah propinsi di tanah Jawa yang memiliki kekayaan kuliner yang sangat beragam. Hampir di setiap kabupaten di Jawa Barat memiliki makanan , minuman atau jajanan khas. Kita pasti sudah mengenal Bandung sebagai surga kuliner, begitu juga denganbogor dan daerh lainnya. Contoh makanan khas Jawa Barat adalah [10] :

1. Ali Agrem

Ali agrem merupakan makanan sejenis kue tradisional yang terbuat dari tepung beras. Rasanya manis dan enak, bentuknya menyerupai donat tapi lebih kecil. Dinamai Ali Agrem karena bentuknya seperti aliatau cincin yang melingkar. Ali agrem ini merupakan makanan tradisional yang sangat unik.

2. Bandros

Bandros adalah makanan ringan (cemilan) yang mirip kue pancong (kue pukis) yang terbuat dari terigu campuran tepung beras, kelapa parut dengan bumbu garam dan gula.

3. Ladu

Makanan atau jajanan ladu ini merupakan suatu penganan yang terbuat dari ketan, makanan tradisional ini berasal dari garut. Untuk pembuatan ladu, bahan dasarnya terbuat dari tepung ketan putih sangria, gula putih, gula aren merah, serta kepala yang telah di parut.


(33)

4. Dodol jawadah

Dodol jawadah adalah makanan khas asal kecamatan Gununghalu kabupaten Bandung Barat, yang terbuat dari bahan beras ketan, gula merah, dan parutan kelapa. Berbeda dengan jenis dodol dari daerah lain, bentuk dodol jawadah menyerupai makanan rollade, bedanya adalah pada jawadah yang di gulung adalah kelapa parut dengan dodol berbahan beras ketan dan gula merah, rasanya pun tidak terlalu manis, tetapi tetap legit. 5. Gula Cakar

Gula cakar mungkin tidak dikenal di daerah lain dan hanya di kenal di Kabupaten Majalengka. Gulanya berwarna merah berbentuk persegi ukurannya sekitar 3 cm X 4 Cm. Gula tersebut terbuat dari gula putih dicampur soda atau jaman dulu dengan sabun beko yag berwarna kehitaman agar bisa mengembang, tak heran kalau gula ini berlubang namun lubang-lubangnya kecil, selain itu menggunakan zat pewarna yang pada umumya berwarna merah.

2.2.2. Makanan Tradisional Jawa Tengah

Provinsi Jawa Tengah adalah salah satu provinsi yang ada di tanah Jawa dengan ibu kota Semarang. Berbatasan dengan Jawa Barat dari sebelah barat, dengan Jogja dari sebelah selatan dan dengan Jawa Timur di bagian timur, membuat Jawa Tengah menjadi pusatnya Jawa. Di Jawa Tengah pun terdapat banyak makanan tradisional seperti [10] :

1. Getuk

Getuk adalah makanan ringan yang terbuat dengan bahan utama ketela pohon atau singkong. Getuk merupakan makanan yang mudah ditemukan di Jawa Tengah. Pembuatan getuk dimulai dari singkong di kupas kemudian kukus atau perebusan, setelah matang kemudian ditumbuk atau dihaluskan dengan cara digiling lalu diberi pemanis gula dan pewarna


(34)

makanan. Untuk penghidangan biasanya ditaburi dengan parutan buah kelapa.

2. Lanting

Lanting adalah makanan renyah asli dari Kabupaten Kebumen, terbuat dari singkong, rasanya gurih dan renyah. Bentuk lingkaran, ada juga yang seperti angka delapan. Lanting dibuat dari bahan singkong yang diparut. Singkong tersebut kemudian dibuat menjadi kepalan, lalu dikukus hingga setengah matang, Kemudian digoreng.

3. Nopia

Nopia dan mino (mini nopia) adalah makanan khas banyumas yang terbuat dari terigu, gula jawa, dan beberapa rempah-rempah. Cara membuat nopia adalah terigu dibuat adonan kemudian dibagi dua, untuk bagian kulit di pisah, bagian isi diberi gula jawa dan rempah-rempah serta perasa misalnya rasa bawang, nangka, coklat, dan durian.

4. Horok-horok

Sajian kuliner jepara sangat di pengaruhi oleh budaya Jawa yang gemar menyantap makanan yang mengandung santan, salah satu kuliner Jepara yang paling khas adalah Horok-horok. Horok-horok terbuat dari tepung pohon aren, cara pembuatan horok-horok cukup unik yaitu dengan menggunakan sisir rambut dan bentuknya menjadi mirip dengan gabus atau sterofom yang kenyal dan sedikit asin.

5. Carang Madu

Carang madu atau di kenal juga dengan nama Sarang madu adalah makan khas jepara.


(35)

2.2.3. Makanan Tradisional Jawa Timur

Provinsi yang berbatasan dengan Jawa Tengah di bagian barat ini adalah salah satu provinsi yang memiliki banyak sekali kuliner khas, hampir tiap kabupaten atau kota memiliki kuliner khas. Contohnya sebagai berikut [10]:

1. Kue Cucur

Serabi kocor atau lebih dikenal dengan nama kue cucur, makanan khas jogja ini berbeda dengan serabi lain. Kue cucur dalam pembuatannya tidak ada pemanis sama sekali. Bahan-bahan yang digunakan adalah tepung beras, kelapa muda dan garam.

2. Brem

Brem adalah makanan yang berasal dari sari ketan yang dimasak dan dikeringkan, merupakan hasil fermentasi ketan hitam yang di ambil sarinya saja yang kemudian di endapkan dalam waktu sekitar sehari semalam.

3. Jerangking

Jerangking adalah makanan ringan atau camilan yang terbuat dari beras ketan yang dipanggang. Bentuknya segiempat menyerupai bentuk lempeng (kerupuk yang berasal dari beras), namun jerangking mempunyai ukuran yang kecil seperti biskuit crackers. Rasanya enak, gurih, dan aroma gosong - gosongnya sangat menggugah selera.

4. Ledre

Ledre berbentuk gapit (seperti emping gulung) dengan aroma khas pisang yang manis.

5. Pudak

Pudak dibuat dari tepung beras dibungkus daun aren, santan, variasinya makanan ini ada yang diberi campuran gula merah atu dicampur daun pandan wangi.


(36)

6. Bongko

Bongko kopyor merupakan makanan tradisional yang dibungkus daun pisang. Namanya merupakan singkatan dari bubur nangka dan kelapa kopyor. Selain menyegarkan bongko dipercaya berkhasiat untuk memulihkan stamina. Bongko menggunakan bahan baku yang terbuat dari tepung terigu, buah kelapa, pisang, nangka, santan kelapa dan roti tawar.

2.3 Kabayan

Kabayan merupakan tokoh imajinatif dari budaya sunda yang juga telah menjadi tokoh imajinatif masyarakat umum di Indonesia. Polahnya yang di anggap lucu, polos, tetapi sekaligus cerdas. Cerita-cerita lucu mengenai kabayan di masyarakat Sunda di tuturkan turun temurun secara lisan sejak abad ke-19 sampai sekarang. Seluruh cerita kabayan juga menggambarkan kehidupan sehari-hari masyarakat sunda yang terus berkembang sesuai zaman.

Rassers [1941] menilai, si kabayan adalah tokoh ambivalen. Selain sebagai penghubung dan pewarta dari sang pencipta semesta, juga dinilai sebagai tokoh yang mewakili totalitas dan kekuatan masyarakat yang bersifat membangun, tetapi juga menghambat. Di dalam dirinya sifat ketuhanan dan demonis mewujud menjadi satu. Oleh karena itu, Rassers menganggap si kabayan adalah pahlawan budaya sekaligus tukang tipu [6].

2.4 Kecerdasan Buatan / AI (Artificial Intelligence)

Kecerdasan buatan atau dalam bahasa Inggrisnya Artificial Intelligence sering disingkat AI merupakan cabang terpenting dalam dunia komputer. Akhir-akhir ini teknologi Ai telah begitu banyak mempengaruhi kehidupan manusia.

AI ialah ilmu dan rekayasa, yang membuat mesin mempunyai intelegensi tertentu khususnya program komputer yang „cerdas‟ [Jhon McCarthy, 1956]. Intelegensi merupakan bagian kemampuan komputasi untuk mencapai tujuan di


(37)

dalam dunia. Ada beberapa macam jenis dan derajat intelegensi untuk manusia, binatang dan beberapa mesin.

AI berhubungan dengan penggunaan komputer untuk melaksanakan tugas atau menyelesaikan masalah yang memerluakan kecerdasan atau kepintaran. Pada umumnya komputer memerlukan aplikasi atau software untuk melaksanakan tugas atau menyelesaikan masalah, maka aplikasi atau software yang berdasarkan teknologi AI diperlukan. Intelegensi perlu dilihat dari berbagai sudut pandang, termasuk pemahaman, inferensi, daya penjelasan, pembelajaran, komunikasi dan sebagainya [14].

2.4.1. Tujuan akhir AI

Menurut Lenat dan Feigenbaum (1992), terdapat sembilan tujuan AI yaitu [14]:

1. Memahami kognisi manusia. Bagaimana manusia menyelesaikan masalah? Coba untuk mendapatkan pengetahuan ingatan manusia yang mendalam, kemampuan problem-solving, belajar, membuat keputusan, dan lain-lain.

2. Otomatisai biaya-efektif. Menggantikan manusia dalam tugas-tugas intelegensi.

3. Penguatan intelegensi biaya-efektif. Membangun sistem untuk membantu manusia berpikir lebih baik, lebih cepat, lebih dalam.

4. Intelegensi manusia super. Membangun program yang mempunyai kemampuan untuk melebihi intelegensi manusia.

5. Problem-solving umum. Sistem penyelesaian berbagai masalah yang luas.

6. Wacana koheren. Komunikasi dengan manusia mengguanakan bahasa, alami.

7. Otonomi. Mempunyai sistem intelegensi yang beraksi atas inisiatif sendiri. 8. Belajar (induksi). Sistem sebaiknya dapat untuk memperoleh data sendiri,


(38)

9. Informasi. Simpan informasi dan mengetahui bagaimana untuk mengambil informasi.

2.4.2 Karakteristik AI

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

a.Sistem yang dapat berpikir seperti manusia. b. Sistem yang dapat beraksi seperti manusia. c.Sistem yang dapat berpikir secara rasional. d. Sistem yang dapat beraksi secara rasional.

2.4.3 Perkembangan AI dan Aplikasinya

Ai merujuk pada satu bidang komputer yang berupaya melakukan tugas sama seperti manusia. Dalam keadaan ini, komputer tersebut boleh dikatakan cerdas. Banyak bidang yang melibatkan AI antara lain. Penyelesaian masalah, logika kabur (fuzzy), pengenalan bahasa alamiah, robotik, dan sistem pakar. Ai boleh di identifikasikan sebagai kajian yang menyeluruh bagaimana sebuah komputer berupaya melakukan tugas dengan terapan yang lebih baik jika di bandingkan manusia. Kajian tersebut meliputi kebolehan komouter belajar, memahami, membuat keputusan, dan meningkatkan prestasi atas hasil kesalahan yang telah dilakukan sebelumnya [14].

2.4.4 Metode Pencarian (Searching)

Pada dasarnya teknik pencarian (searching) dapat dibagi menjadi 2 kelompok besar, yaitu pencarian buta (blind search) dan pencarian terbimbing (heuristic search). Untuk mengukur performa metode pencarian, terdapat empat kriteria yang dapat dilakukan [20] yaitu :


(39)

a. Completeness : apakah metode tersebut menjamin adanya solusi jika solusinya ada?

b. Time Complexity : berapa lama waktu yang diberikan untuk menemukan solusi tersebut.

c. Space complexity : berapa banyak memori yang dibutuhkan untuk

menemukan solusi tersebut.

d. Optimaly : apakah metode tersebut menjamin menemukan solusi terbaik jika

terdapat beberapa solusi yang berbeda.

2.4.5 Pencarian Heuristic (terbimbing)

Pencarian buta biasanya tidak efisien karena waktu akses dan memori yang di butuhkan cukup besar. Untuk mengatasi hal ini maka perlu ditambahkan suatu informasi pada domain yang bersangkutan sehingga proses pencarian yang baru akan dihasilkan. Pencarian seperti ini disebut sebagai informed search atau pencarian heuristic (terbimbing) yaitu pencarian berdasarkan panduan.

Teknik pencarian heuristic (heuristic searching) merupakan suatu strategi untuk melakukan proses pencarian secara selektif dan dapat memandu proses pencarian yang memiliki kemungkinan sukses paling besar, namun dengan kemungkinan mengorbankan kelengkapan (completeness).

Untuk menerapkan pencarian heuristic diperlukan suatu fungsi heuristic. Fungsi heuristic adalah aturan-aturan yang digunakan untuk mendapatkan solusi yang diinginkan. Pencarian Heuristic terdiri dari : Generate And Tes (Pembangkitan dan Pengujian), Hill Climbing (Pendakian Bukit) : Simple Hill Climbing, Steepest-Ascent Hill Climbing, Best First Search, Algoritma A* (A Star), Simulated Anneliang [3].


(40)

2.4.6 AI yang digunakan

Algoritma A* (A Star)Algoritma ini merupakan algoritma Best First Search yang menggabungkan Uniform Cost Search dan Greedy Best First Search. Biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan. Dalam notasi matematika dituliskan sebagai : f(n) = g(n) + h(n). Dengan perhitungan biaya seperti ini, algoritma A* (A Star) adalah complete dan optimal.

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 f = g + h[7].


(41)

2.4.7 Metode Collision Detection

Hampir setiap permainan video yang ada sudah menerapkan collision detection (deteksi tabrakan), baik itu dalam hal tabrakan antara sprite dengan sprite maupun antara sprite dengan peluru dan lain-lain. Dalam aplikasi permainan ada beberapa reaksi yang ditunjukkan dari collision detection, yaitu reaksi dari spirte yang berupa berkurangnya nyawa, berkurangnya darah, meledak, dan lain-lain.

Proses collision dapat dibagi menjadi dua kategori dasar, yaitu collision detection dan collision response, dengan jarak respon yang telah diaplikasikan secara spesifik. Dalam collision detection, terdapat banyak sekali jenis dari collision detection itu sendiri, pada gambar 2.1 merupakan tiga tipe dari collision detection.

Gambar 2.1 Tiga jenis collision detection

Setiap objek diberi sebuah kotak sebagai acuan jika collision itu terjadi. Untuk gambar yang pertama, collision detection terjadi ketika objek buruh bertabrakan dengan kotak yang memuat objek keledai, pada jenis collision detection ini rentan terhadap ketidaktelitian, untuk gambar yang kedua, collision detection terjadi ketika kotak dari kedua objek tersebut bersinggungan, pada jenis collision detection ini sudah lebih akurat dibanding jenis yang pertama, namun untuk memilih factor reduksi yang cocok itu sulit, dan untuk gambar yang ketiga, collision detection akan terjadi ketika objek saling bersinggungan tanpa memperdulikan kotak secara keseluruhan, pada jenis collision detection ini adalah yang paling akurat dibandingkan dengan jenis yang lainnya.

Selain itu pada sumber lain disebutkan bahwa collision detection terbagi menjadi dua jenis, yaitu collision detection object to object dan collision detection


(42)

object to world. Pada object to object yang terjadi adalah adanya tubrukan antara satu objek dengan objek lainnya yang berada di dalam satu frame, baik itu objek tersebut bertubrukan secara langsung ataupun bertubrukan antara kotak maupun lingkaran yang mengandung objek tersebut, sedangkan pada object to world yang terjadi adalah adanya tubrukan antara objek dengan frame itu sendiri, contohnya adalah tubrukan antara sprite dengan dinding pada aplikasi permainan itu sendiri sehingga apabila terjadi, maka sprite tersebut tidak dapat melewati dinding tersebut [19].

2.5 Tools yang digunakan

2.5.1. OOP (Object Oriented Programming)

Objek adalah kesatuan entitas yang memiliki sifat dan tingkah laku. Dalam kehidupan sehari-hari, objek adalah benda, baik benda berwujud nyata seperti manusia, hewan, mobil, komputer, handphone, pena, ataupun benda yang tidak nyata atau konsep, seperti halnya tabungan bank, sistem antrian, sistem internet banking, dan sebagainya.

Jadi OOP adalah konsep yang membagi program menjadi objek objek yang saling berinteraksi satu sama lain. Objek adalah benda, baik benda yang berwujud nyata maupun benda yang tidak nyata (konsep).

Enam keuntungan menggunakan OOP : Alami (Natural), dapat diandalkan (Reliable), dapat digunakan kembali (Reusable), mudah untuk dalam perawatan (Maintainable), dapat diperluas (Extendable), efisiensi waktu.

Berikut ini beberapa bahasa pemrograman yang sudah menggunakan konsep OOP, adalah :

1. C++.

2. Visual C++.

3. Visual Basic. 4. Java.


(43)

Pemrograman berorientasi objek menekankan pada konsep-konsep berikut : a. Objek (Object)

Menurut [douglas, 2004: bab 2.1] objek adalah entitas yang memiliki atribut, karakter dan kadang kala disertai kondisi. Objek merepresentasikan sesuatu system real seperti siswa, sensor, atau mesin. Objek juga mempresentasikan sesuatu dalam bentuk konsep.

b. Kelas (class)

Kelas adalah penggambaran satu set objek yang memiliki atribut dan behavior yang sama. Kelas mirip tipe data pada pemrograman non objek, tetapi lebih komprehensif karena terdapat struktur sekaligus karakteristknya.

c. Pembungkusan (Encapsulation)

[nugroho, 2005: 6] mengartikan pembungkusan sebagai penggabungan potongan-potongan informasi dan perilaku-perilaku spesifik yang bekerja pada informasi tersebut, kemudian mengemasnya menjadi apa yang disebut objek.

d. Pewarisan (Inheritance) dan Generalisasi/Spesialisasi

Merurut [Whitten, 2004: 411], konsep dimana metode dan atau atribut yang ditentukan di dalam sebuah objek kelas dapat diwariskan atau digunakan lagi oleh objek kelas yang lainnya.Sedangkan Generalisai/spesialisasi merupakan teknik dimana atribut dan perilaku yang umum pada beberapa tipe kelas objek dikelompokan ke dalam kelasnya sendiri (dinamakan supertype).

e. Polimorfisme

Polimorfisme bererti suatu fungsionalitas yang diimplementasikan dengan berbagai cara yang berbeda. Pada terminologi berorientasi objek, ini berarti dapat memiliki berbagai implementasi untuk sebagian fungsionalitas tertentu [18].


(44)

2.5.2 Java

Java adalah bahasa pemrograman yang sederhana, berorientasi-objek, bertipe statik, terkompilasi, multi-threaded, garbage collected, netral arsitektur, robust, aman, dan dapat di perluas.

a. Sederhana

Pengembangan java banyak membuang fitur-fitur yang tidak di perlukan seperti yang dimiliki oleh bahasa pemrograman tingkat tinggi lainnya.

b. Berorientasi-objek

Seperti halnya C++, java menggunakan kelas-kelas untuk mengelola kode ke dalam modul-modul logika.

c. Bertipe statik.

Semua objek yang digunakan dalam program harus di deklarasikan sebalum digunakan.

d. Terkompilasi

Sebelum dapat menjalankan program yang di tulis dengan bahasa pemrograman java, program harus dikompilasi oleh kompilator java.

e. Multi-treaded.

Program java dapat berisi eksekusi multiple treadeds, yang memungkinkan program mengulas citra pada layar pada satu thread, sementara tetap menerima masukan dari keyboard pada thread utamanya.

f. Garbage collected (pembuang sampah)

Program java menyingkirkan sendiri „sampah-sampah‟ yang tak berguna.

g. Bebas arsitektur

Pada dasarnya, java tidak dirancang untuk prosesor ataupun sistem operasi tertentu.

h. Tangguh (robust)

Karena interpreter java memeriksa seluruh akses sistem yang dilakukan program, maka program java tidak akan membuat sistem menjadi crash.


(45)

i. Aman

Sistem java hanya memverifikasi seluruh akses memori tetapi juga menjamin bahwa tidak ada virus yang ikut pada applet yang sedang berjalan.

j. Dapat diperluas

Program java mendukung metode native yakni fungsi-fungsi yang dituliskan dalam bahasa lain, biasanya C++ [13].

2.5.3 UML (Unified Modeling Language)

Unified Modelling Language (UML) yang berarti bahasa pemodelan standar. [Chonoles, 2003: bab 1] mengatakan sebagai bahasa, berarti UML memiliki sintak dan semantik. UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk :

a. Merancang perangkat lunak.

b. Sarana komunikasi antara perangkat lunak dengan proses bisnis.

c. Menjabarkan system secara rinci untuk analisa dan mencari apa yang diperlukan sistem.

d. Mendokumentasi sistem yang ada, proses-proses dan organisasinya.

Blok pembangun utama UML adalah diagram. Beberapa diagram ada yang rinci, dan ada yang bersifat umum. Dengan demikian UML mrupakan alat komunikasi yang konsisten dalam mensuport para pengembang sistem saat ini [18].

A. Evolusi UML

Pada bulan oktober 1994, Jim Rumbaugh, penemu Object Modelling

Technique (OMT) dan Grady Booch, penemu Booch Methode (Metode

Booch) bersama-sama menyamakan notasi mereka. Di tahun yang sama Ivar Jacobson (penemu Objectory Method) ikut bergabung. Ketiga orang itu bersama-sama membangun notasi standar OOP untuk software Rational IBM. Jim Rumbaugh banyak member masukan dalam pembuatan notasi dan analisa


(46)

UML. Grady Booch merancang secara detail kapsitas UML, sedang Ivar Jacobson berusaha membuat UML cocok dengan model bisinis dan mencoba mengembangkan use case diagram lebih lanjut [18].

B. Diagram-diagram UML

Jenis-jenis Diagram UML yaitu :

a. Diagram kelas. Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antar muka, kolaborasi, serta relasi-relasi. Pemodelan ini umum dijumpai pada pemodelan sistem berorientasi objek.

b. Diagram Paket. Bersifat statis. Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen.

c. Diagram Use-case. Bersifat statis. Diagram ini memperlihatkan himpunan use case dan actor-aktor. Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku suatu system yang dibutuhkan serta diharapkan pengguna.

d. Diagram interaksi dan Sequence. Bersifat dinamis. Diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu.

e. Diagram komunikasi. Bersifat dinamis. Diagram yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan.

f. Diagram Statechart. Bersifat dinamis. Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status (state), transisi, kejadian sera aktifitas.

g. Diagram aktivitas. Bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainya dalam suatu sistem.


(47)

h. Diagram komponen. Bersifat statis. Diagram komponen ini memperlihatkan organisani serata kebergantungan system / perangkat lunak pada komponen-komponen yang telah ada sebelumnya.

i. Diagram Deployment. Bersifat statis. Diagram ini memperlihatkan konfigurasi saat aplikasi di jalankan [18].

2.5.4 Greenfoot

Greenfoot merupakan software untuk pemrograman OOP (Object Oriented

Programming), didukung dengan aplikasi grafis berbasiskan pemrograman Java. Greenfoot diprakarsai oleh Michael Kolling pada 2003. Tujuan dibuatnya Greenfoot ini awalmulanya adalah menarik minat anak-anak untuk belajar memprogram.

Menggunakan Greenfoot sama seperti memprogram biasa berbentuk teks. Namun, software ini lebih mudah digunakan karena ada perangkat bantu seperti class browser, editor, dan compiler. Greenfoot juga mendukung bahasa Javasecara penuh dan perangkat tersebut membuat agar lebih mudah dalam memahami konsep OOP. Dalam Greenfoot terdapat proyek yang dinamakan scenario. Dalam proyek tersebut, kita bisa membuat dua macam tipe class dari library Greenfoot, yaitu class

world dan actor. World merupakan latar dari game yang akan dibuat. Class

actor adalah kelas yang berfungsi sebagai karakter pada game yang akan kita buat [15].

2.5.5 Adobe Photoshop

Adobe Photoshop adalah software yang dibuat oleh perusahaan Adobe System, yang di khususkan untuk pengeditan foto atau gambar dan pembuatan effect. Perangkat lunak ini banyak digunakan oleh Fotografer Digital dan perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader) untuk perangkat lunak pengolah gambar. Meskipun pada awalnya Photoshop dirancang untuk menyunting gambar untuk cetakan berbasis-kertas, Photoshop yang ada saat ini juga dapat


(48)

digunakan untuk memproduksi gambar untuk World Wide Web. Beberapa versi terakhir juga menyertakan aplikasi tambahan, Adobe ImageReady, untuk keperluan tersebut.

Photoshop juga memiliki hubungan erat dengan beberapa perangkat lunak penyunting media, animasi, dan authoring buatan-Adobe lainnya. File format asli Photoshop, PSD, dapat diekspor ke dan dari Adobe ImageReady. Adobe Illustrator, Adobe Premiere Pro, After Effects dan Adobe Encore DVD untuk membuat DVD profesional, menyediakan penyuntingan gambar non-linear dan layanan special effect seperti background, tekstur, dan lain-lain untuk keperluan televisi, film, dan situs web [16].


(49)

(50)

35

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennnya yang dimaksudkan untuk mengidentifkasi dan mengevaluasi segala permasalahan dan hambatan yang terjadi serta kebutuhan yang diharapkan dapat menjadi acuan untuk menjadi perbaikan.

3.1.1 Analisis Masalah

Berdasarkan analisis sistem yang dilakukan dengan mengevaluasi terhadap pengetahuan anak-anak dan remaja tentang makanan tradisional khas Indonesia khususnya di pulau Jawa maka masalah yang dihadapi oleh anak-anak dan remaja di Indonesia khususnya anak-anak yang usianya 10 tahun ke atas dalam melakukan pembelajaran tentang makanan tradisional adalah sebagai berikut :

1. Pentingnya pengetahuan tentang makanan tradisional Indonesia karena dengan mengenal dan mengetahui makanan-makanan tersebut akan menambah wawasan dan melestarikan kebudayaan di Indonesia.

2. Pengenalan secara teoritis kurang optimal untuk mengenalkan makanan-makanan tersebut kepada anak dan remaja, sehingga dibutuhkan sebuah aplikasi game agar pengenalan terlihat menarik.

3. Perlunya pengenalan makanan tradisional terhadap anak-anak dan remaja di Indonesia supaya bisa lebih mengenal tentang kebudayaan yang ada di Indonesia.

3.1.2 AnalisisGame Sejenis

Pada analisis game sejenis, akan dilakukan observasi terhadap game yang memiliki kesamaan gameplay dan genre dengan game yang akan dibangu. Tujuan dari analisis ini adalah untuk mendapatkan konsep permainan dan perbandingan game yang telah ada. Game yang akan dibandingkan adalah :


(51)

1. Game 2D Kabayan Saving Our Cultures a. Pengenalan

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. Kekurangan dari game ini adalah, sisi kebudayaan yang diangkat belum maksimal cuman sebatas alat musik calung dan golok saja, gameplay yang terlalu mudah sehingga membuat pemain akan cepat bosan, sedangkan kelebihannya adalah desain yang cukup bagus.

Gambar 3.1.Game 2D Kabayan Saving Our Cultures

Pada gambar 3.2 bisa dilihat salah satu tampilkan level 1 pada game Kabayan Saving Our Cultures.


(52)

b. Gameplay

Tugas utama pemain dalam memainkan Aplikasi ini yaitu melalui level-level dan juga sub level, dimana setiap bagian level menyediakan petualangan dengan menampilkan beberapa karakter level tersebut maupun karakter musuh yang harus dilawan, sehingga pemain memperoleh score (nilai). Adapun alur sistem dari permainan game kabayan SOC dapat di gambarkan melalui activity diagram berikut ini :

pemain sistem

memilih mulai tampilan mulai

level 1 level 2 level 1 level 2

mudah Susah

Gambar 3.3. Alur permainan pada game SOC c. Tingkat kesulitan

Pemain dapat memulai permainan dengan memilih pilihan mulai baru, dimana nantinya pemain memasuki sub pilihan yaitu memilih level

dengan karakter permainan “Mudah” atau karakter permainan “Susah”. Setelah memilih salah satu pilihan, pemain kembali

diantarkan pada sub pilihan, yaitu pilihan untuk memilih level, dengan tujuan apakah pemain ingin bermain dari level awal atau pada hal ini level 1, sedangkan pilihan lainnya adalah pemain langsung memulai untuk bermain pada level berikutnya atau level 2. d. Kekurangan

Sisi kebudayaan belum terangkat secara maksimal, masih ada beberapa gameplay yang harus ditambah, tidak memiliki sistem multiplayer,


(53)

masih banyak fitur-fitur yang perlu ditambahkan dalam aplikasi game2D Kabayan Saving Our Cultures.

2. Mario klon

a. Pengenalan

Game Mario klon adalah salah satu game platform sidescrolling 2D, game ini di adaptasi dari game Mario

Gambar 3.4.Game Mario Klon

b. Gameplay

Mario menjelajahi suatu tempat untuk mengumpulkan bintang agar mendapat nilai, dan harus mengalahkan musuh Mario yaitu para jamur dan kura-kura. Terdapat 3 pilihan stage denga tingkat kesulitan yang berbeda. Adapun alur sistem dari permainan game Mario Klon dapat di gambarkan melalui activity diagram berikut ini :


(54)

Gambar 3.5.Alur permainan pada game Mario Klon c. Kekurangan

Kekurangan game Mario klon ini adalah, gameplay yang sangat monoton sehingga sangat tidak menarik, level yang sedikit, sehingga akan mudah untuk di selesaikan.

3. Jsonic

a. Pengenalan

Game Jsonic adalah salah satu game platform sidescrolling 2D, game ini di adaptasi dari game Sonic.

Gambar 3.6.Game Jsonic mulai menampilkan pilihan stage

menampilkan arena permainan mengendalikan karakter


(55)

b. Kekurangan

Kekurangn Game Jsonic ini adalah, gameplay yang sangat monoton sehingga sangat tidak menarik, tidak memiliki level atau stage, karena hanya terdapat satu stage.

3.1.3 Analisis Game Petualangan Kabayan Menyelamatkan Makanan Tradisional

3.1.3.1 Pengenalan Aplikasi

Game yang akan dibuat berjudul Petualangan Kabayan menyelamatkan makanan tradisional yang bergenre Adventure Game. Game ini dibangun dengan mengaplikasikan teknologi sebagai jembatan untuk mengenalkan atau menyampaikan pembelajaran khususnya pada anak-anak usia di bawah 10 tahun. Game ini dibangun dengan grafis 2D (2 dimensi).Game ini menerapkan sistem single player dengan data-data dibagikan kedalam objek, karena menggunakan pemrograman berorientasi objek. Berikut ini beberapa kelebihan yang dimiliki yaitu :

1. Memberikan pengenalan sekaligus pembelajaran tentang makanan tradisional pulau Jawa.

2. Bergendre adventure game (Game Petualangan) yang lebih interaktif. 3. Aplikasi game ini lebih bersifat bermain sambil belajar.

3.1.3.2 Storyline

Game Petualangan Kabayan menyelamatkan makanan tradisional ini bergendreAdventure game. Game ini bercerita tentang seorang pemuda yang bernama Kabayan yang mendengar kabar bahwa makanan tradisional dipulau Jawa telah dicuri oleh perampok bernama Rewog dan juga komplotannya. Kabayanpun melakukan perjalanan ke seluruh pulau Jawa untuk menemukan dan merebut kembali makanan tradisional dan mengalahkan Rewog dan komplotannya.


(56)

3.1.3.3 Analisis Tingkat Kesulitan

Dalam game Petualangan Kabayan Menyelamatkan Makanan Tradisional, terdapat 3 level atau stage yang masing-masing level atau stage dibedakan berdasarkan alur cerita, tingkat kesulitan rintangan yang harus dihadapi, jumlah dan jenis enemy (musuh) yang bertambah. Di setiap peningkatan level atau stage, pemainakan dihadapkan pada enemy (musuh) dengan tingkat kesulitan yang akan bertambah, mulai dari kecepatan dan jumlah enemy (musuh) tersebut.

Di Stage pertama, pemain dalam perjalanan menuju daerah pulau Jawa Barat. Di perjalanan, kabayan harus menghadapi bebegig (orang – orangan sawah) yang terdapat di level mudah, pada level sedang musuh bertambah, yaitu guguk dan kalong, dan pada level sulit musuh bertambah yaitu bagong. pemain harus melewati semua musuh dan menuju ke garis akhir untuk dapat melanjutkan permainan ke stage selanjutnya.

Di Stage kedua, pemain berada di daerah Jawa Tengah. Di stage ini pemain harus menghadapi bebegig, dan guguk pada level mudah, pada level sedang musuh bertambah yaitu kalong, dan pada level sulit musuh bertambah yaitu bagong. pemian harus melewati semua musuh dan menuju ke garis akhir untuk dapat melanjutkan permainan ke stage selanjutnya.

Di Stage ketiga, Akhirnya pemain telah sampai di daerah Jawa Timur. Di stage ini pemain harus menghadapi bebegig, dan guguk pada level mudah, pada level sedang musuh bertambah yaitu kalong, pemian harus melewati semua musuh dan menuju ke garis akhir untuk dapat melanjutkan permainan ke stage selanjutnya, dan pada level sulit musuh bertambah yaitu bagong dan pemian harus melewati semua musuh dan menuju ke garis akhir untuk dapat melanjutkan permainan word boss untuk mengalahkan Bos Utama yang mencuri makanan yaitu Rewog untuk memenangkan game ini.

3.1.3.4 Gameplay

Pada permainan ini, tugas utama pemain adalah actor akan melakukan perjalanan untuk merebut dan menemukan makanan tradisional di setiap stage,


(57)

terdapat 3 stage di setiap stage akan terdapat tiga pilihan tingkat kesulitan yaitu mudah, sedang dan sulit. Dalam setiap perjalanan akan terdapat beberapa musuh yang harus di kalahkan dan menemukan beberapa makanan tradisional yang tersembunyi untuk mendapatkan score.

Pemain dapat mengawali permainan dengan memilih pilihan menu dari ketiga stage.. Karakter akan melakukan perjalanan dan melawan musuh yang menghadang, karakter akan menyerang musuh dengan menembak. Pada stage ke 2 musuh yang menghadang akan semakin banyak sehingga permainan menjadi semakin sulit.Alur sistem dari permainan game Petualangan Kabayan dapat di gambarkan melalui activity diagram berikut ini :

pemian sistem

memilih menu mulai menampilkan pilihan stage

menampilkan permainan memulai permainan

Gambar 3.7. Alur permainan pada game Petualangan Kabayan

3.1.3.5Scoring

Berikut cara memperoleh nilai atau score dari game Petualangan Kabayan Menyelamatkan makanan tradisional yaitu :

1. Untuk mendapatkan nilai karakter kabayan dapat mengambil gambar makanan yang ada disetiap perjalanan.

2. Pada stage pertama, terdapat beberapa makanan tradisional khas Jawa Barat yang terletak di tempat-tempat tertentu secara acak. Setiap mendapat makanan akan mendapat score 1.


(58)

3. Pada stage 2, terdapat makanan tradisional khas Jawa Tengah. Score yang didapat tetap sama yaitu 1.

4. Pada stage 3, terdapat makanan tradisional khas Jawa Timur yang tersembunyi diberbagai tempat dalam perjalanan. Score nya masih tetap sama yaitu 1point.

5. Setelah menyelesaikan stage 3 kemudian, akan mengalahkan bos terakhir untuk menyelesaikan permainan

3.1.3.6 Elemen Game

Elemen permianan yang terdapat dalam game Petualangan Kabayan Menyelamatkan Makanan Tradisional diantaranya adalah sebagai berikut :

1. Arena permainan

Pada permainan game Petualangan Kabayan Menyelamatkan Makanan Tradisional arena permainannya adalah dari pedesaan, pegunungan sampai ke kota. Dalam arena tersebut memiliki banyak rintangan atau halangan yang harus dilewati oleh pemain khususnya musuh-musuh yang selalu menghadang pemain.

2. Pemain

Pemain bernama Kabayan merupakan actor utama yang menggunakan aplikasi game.Kabayan memiliki kemampuan untuk melompat, menghindar, dan juga menembak musuh. Misi dari Kabayan adalah untuk mengumpulkan makanan tradisional yang tersebar.

3. Musuh

Pada game Petualangan Kabayan Menyelamatkan Makanan Tradisionalterdapat lima musuh yaitu bebegig, kalong, guguk, bagong dan Rewog sebagai bos terakhir.

4. Makanan Tradisional


(59)

3.1.3.7 Skenario Game Petualangan Kabayan Menyelamatkan Makanan Tradisional

Skenario pada GamePetualangan Kabayan Menyelamatkan Makanan Tradisional merupakan alur-alur yang terdapat pada sebuah aplikasi permainan agar setiap pemain dapat mengetahui bagaimana cara untuk memainkan permainan ini dan untuk menyelesaikan misi pada aplikasi permainan tersebut.

Skenario permainan dari GamePetualangan Kabayan Menyelamatkan Makanan Tradisional terdapat pada tabel 3.1

Tabel 3.1 Skenario Aplikasi Permainan Alur Permainan

1. Pemain bergerak dari kiri ke kanan sesuai dengan jalur yang telah disediakan

2. Pemain harus mengumpulkan makanan tradisional yang tersebar di area permainan

3. Pemain harus menghindari musuh yang berada di area permainan

3.1.4 Penerapan Metode Collision Detection

Agar aplikasi permainan Petualangan Kabayan Menyelamatkan Makanan Tradisionalini menjadi lebih menarik, maka akan diterapkan metode collision detection yang berupa metode dimana yang bersinggungan merupakan objek secara langsung, baik itu sprite dengan sprite maupun sprite dengan objek lain.

Pada aplikasi permainan Petualangan Kabayan Menyelamatkan Makanan Tradisional, metode yang akan diterapkan pada peluru yang ditembakan oleh para pemain untuk membunuh setiap musuh yang ada adalah metode collision antara objek dengan objek yang terjadi apabila objek tersebut saling bersentuhan pada titik yang sama.


(60)

Diagram Activity metode collision tembakan pemain menyerang musuh ditunjukkan pada gambar 3.8

Gambar 3.8 Diagram Activity Tembakan Pemain Menyerang Musuh Selain itu Pada aplikasi permainan Petualangan Kabayan Menyelamatkan Makanan Tradisional, metode yang akan diterapkan pada musuh yang menyerang pemain adalah metode collision antara objek dengan objek yang terjadi apabila objek tersebut saling bersentuhan pada titik yang sama.

Diagram Activity metode collision musuh menyerang pemain ditunjukkan pada gambar 3.9

musuh pemain

mengejar

pemain mati kena pemain pemain menghindar

Gambar 3.9 Diagram Activity Metode Collision Musuh Menyerang Pemain

pemain musuh

menembak

musuh mati kena musuh meleset


(61)

3.1.5 Analisis Algoritma A* (A Star)

Untuk membuat permainan game menjadi lebih menarik dapat dilakukan dengan meningkatkan kualitas gameplay bagi pengguna yang memainkannya. AI merupakan faktor yang penting dalam meningkatkan gameplay pada semua jenis permainan game, termasuk pada game Petualangan Kabayan Menyelamatkan Makanan Tradisional yang akan dibangun. Hal penting dalam menentukan keberhasilan suatu aplikasi game yang menerapkan AI adalah kesuksesan dalam pencarian dan pelacakan. Pada dasarnya ada dua teknik pencarian dan pelacakan yang digunakan, yaitu pencarian buta (blind search) dan pencarian terbimbing (heuristic search). Dalam pencarian terbimbing ada beberapa algoritma yang dapat digunakan salah satunya algoritma A*.

Algoritma A* melakukan pencarian jarak terpendek dengan biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan. Dalam notasi matematika dituliskan sebagai : f(n) = g(n) + h(n). Dengan perhitungan biaya seperti ini, Algoritma A* adalah complete dan optimal. Untuk penerapannya dapat dilihat pada gambar di bawah ini

Pemain Musuh

Gambar 3.10 Contoh kasus pencarian jalur terpendek menggunakan algoritma A*

Pada gambar 3.10 , Diasumsikan node berwarna biru sebagai pemain,node berwarna merah sebagai musuh, sedangkan node berwarna coklat muda sebagai


(62)

penghalang (obstacle). Pada algoritma A*, actual cost atau G di dapat dari jarak perkiraan jarak dari node musuh ke node pemain.

Dalam algoritma A* terdapat 3 nilai yaitu : f, g dan h. Nilai f adalah nilai yang menyatakan seberapa bagus sebuah node, nilai g adalah actual cost atau total jarak menuju ke n node, sedangkan nilai h adalah heuristic cost atau biaya perkiraan. Untuk mendapatkan nilai heuristik menggunakan diagonal distance yang memungkinkan pergerakan ke 8 arah maka digunakan notasi matematika

h_diagonal(n) = min(abs(n.x-goal.x) + abs(n.y-goal.y)).

Berikut ini adalah langkah pencarian rute terpendek menggunakan algoritma A*

H=60, G=14, f=74 H=70, G=10, f=80 H=80, G=14, f=94

Pemain H=50,

G=10,

f=60 Musuh

H=70, G=10, f=80

Gambar 3.11 Pembangkitan suksesor node musuh

Langkah pertama seperti pada gambar 3.11, musuh memiliki 5 node, baik arah horizontal, vertikal, maupun diagonal, kemudian kelima node tersebut di masukan ke open list dengan warna garis node berwarna kuning, unuk di cek nilai setiap nodenya. Node pertama dengan arah horizontal kanan memiliki nilai G = 10, nilai H = 70, sehingga f = G + H = 80. Node kedua dengan arah diagonal kanan atas memiliki nilai G = 14, H = 80 sehingga f = G + H = 94. Node ketiga dengan arah horizontal atas memiliki nilai G = 10, H = 70 sehingga f = G + H = 80. Node keempat dengan arahdiagonal kiri atas memiliki nilai G = 14, H = 60 sehingga f = G + H = 74. Node kelima dengan arah horizontal kiri memiliki nilai G = 10, H = 85 sehingga f = G + H = 60. Untuk perhitungah nilai H digunakan fungsi heuristic, metode yang digunakan di dalam contoh ini adalah metode Manhattan


(63)

dimana perhitungan jumlah nodehanya yang bergerak secara vertical dan horizontal menuju tujuannya serta mengabaikan penghalang atau collision, yang

kemudian nilainya dikalikan dengan 10. Atau dirumuskan dengan: H = 10*(abs(currentX-targetX) + abs(currentY-targetY))

Sebagai contoh node yang terletak disebelah kanan dari node musuh diberikan nilai H = 50 yang didapatkan dari perhitungan 5 langkah atau 5 node menuju node pemain dan dikalikan 10, 5*10 = 50.

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

1. Hapus current node tersebut dari open list dan masukkan ke dalam closed list dengan warna garis node hijau.

2. Periksa semua node yang berdekatan dengan current node, abaikan node yang unwalkable atau dalam contoh ini adalah node penghalang. Jika tidak ada pada open list, tambahkan ke dalam open list. Dan

tambahkan “parent” untuk node tersebut.

3. Jika node sudah ada pada open list, periksa apakah ini jalan yang lebih baik dari node awal, dengan kata lain periksa apakah nilai G-nya lebih rendah apabila kita menggunakan node ini, jika lebih rendah maka hitung ulang nilai F dan G serta merubah arah pointer, jika tidak maka jangan lakukan apa-apa.

H=50, G=24, f=74 H=60, G=14, f=74 H=70, G=10, f=80 H=80, G=14, f=94

Pemain H=50, G=10,

f=60 Musuh

H=70, G=10, f=80


(64)

Karena node dengan arah horizontal kiri memiliki biaya terkecil (f=60) terpilihlah sebagai bestnode seperti pada gambar 3.12, dan pencarian selanjutnya dimulai dari node ini, dengan membuka node-node yang ada di sekitarnya dan memasukan none-node sebelumnya ke closed list dengan warna garis node hijau. Pencarian dimulai dengan menelusuri node dengan arah diagonal kiri atas memiliki nilai G yang dulu tambah 14 = 24, H = 50, sehingga f = G + H = 74.

Lakukan perhitungan lagi seperti langkah sebelumnya, hapus dari open list dan tambahkan ke dalam closed list, periksa semua node yang berdekatan, masukkan ke dalam open list dan tambahkan parentnya, dan periksa lagi jalan terbaik dan parentnya. Terus ulangi sampai target ditambahkan ke dalam closed list atau di dalam contoh ini adalah node pemain.

Perhitungannya diilustrasikan dengan gambar berikut.

H=30, G=48, f=78 H=40, G=48, f=88 H=50, G=34, f=84 H=60, G=38, f=98 H=20, G=62, f=82 H=30, G=44, f=74 H=40, G=34, f=74 H=50, G=24, f=74 H=60, G=14, f=74 H=70, G=10, f=80 H=80, G=14, f=94

Pemain H=10,

G=,58 f=68 H=20, G=48, f=68 H=50, G=10,

f=60 Musuh

H=70, G=10, f=80

Gambar 3.13 Hasil pencarian rute terpendek menggunakan algoritma A*

Karena node dengan arah horizontal kiri memiliki biaya terkecil (f = 68), dan node pemain ketemu seperti pada gambar 3.13.

Jika dua atau lebih node yang diperiksa mempunyai harga f(n)yang sama,maka terjadi keadaan sepadan (tie). Hal ini dimungkinkan karena f(n) bergantung pada duafungsi, yaitu fungsi g(n) dan h(n). Hal ini sangat mungkin terjadi antara node-node yang letaknya berjauhan, dan kemungkinan besar node


(65)

yang satu terletak dekat node tujuan sedangkan yang lainnya terletak jauh dari node tujuan. Karena algoritma A* memberikan prioritas berdasarkan harga f(n), maka jika keadaan sepadan terjadi, terdapat lebih dari satu node dengan prioritas sama. Akibatnya adalah node-node tersebut akan diperiksa lebih dulu, yang mungkin node tersebut terletak berjauhan dengan node tujuan. Hal ini berakibat turunnya kinerja algoritma A*.

Dari berwarna merah atau musuh menuju node berwarna biru atau pemain maka didapatkan jalur terpendek dengan menggunakan algoritma A* sebagai berikut :

1. Dari node berwarna merah atau musuh mengambil jalur ke arah horizontal kiri memiliki biaya terkecil (f=60).

2. Dari nodehorizontal kanan memiliki biaya terkecil (f=60) mengambil jalur ke arah diagonal kiri atas memiliki biaya terkecil (f = 74).

3. Dari nodediagonal kiri atas memiliki biaya terkecil (f = 74) mengambil jalur ke arah horizontal kiri memiliki biaya terkecil (f = 74).

4. Dari nodehorizontal kiri memiliki biaya terkecil (f = 74) mengambil jalur ke arah nodediagonal kiri bawah memiliki nilai terkecil (f = 68). 5. Dari node diagonal kiri bawah memiliki nilai terkecil (f = 68).

mengambil jalur ke arah horizontal kiri memiliki biaya terkecil (f = 68) dan sampailah di node berwarna biru atau pemain.

Karena objek musuh dapat bergerak secara diagonal di arena permainan, maka digunakan fungsi heuristic Non-Manhattan Distance, dengan fungsi heuristic yang digunakan adalah sebagai berikut:

h_diagonal(n) = min(abs(n.x-goal.x) + abs(n.y-goal.y)) h_orthogonal(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))

berikut adalah perhitungan yang akan dilakukan dengan algoritma A* dengan kondisi tanpa penghalang yang terlihat pada gambar. Pada penentuan bobot setiap node diberikan nilai sesuai dengan jarak terdekat


(66)

ke tujuan, misal node yang terjauh dari tujuan maka diberi bobot yang kecil sedangkan node yang terdekat dengan tujuan diberi bobot yang lebih besar. Perhitungan yang dilakukan dengan algoritma A* dengan kondisi tanpa penghalang yang terlihat pada gambar berikut :

0 1 2

0

A

n(1,0) n(2,0) 1

n(0,1) n(1,1) n(2,1) 2

n(0,2) n(1,2)

T

Gambar 3.14 Hasil perhitungan heuristic diagonal distance tahap 1

Keterengan : A = simpul awal T = simpul akhir

Langkah tahap pertama : 1. Koordinat n(1,0)

Nilai n.x = 1 Nilai n.y = 0

Simpul tujuan(2,2) sehingga goal.x = 2, goal.y = 2 g (1,0) = 1

h_orthogonal(n) = (abs(n.x-goal.x) + abs(n.y-goal.y)) h_orthogonal(1,0) = (abs(1 - 2) + abs(0 - 2))

= (abs(-1) + abs(-2)) = 3

h_diagonal(n) = min(abs(n.x-goal.x), abs(n.y-goal.y)) h_diagonal(1,0) = min(abs(1 - 2)+abs(0 - 2))

= min(abs(-1)+abs(-2))


(67)

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n))) h(1,0) = (- 3) + (3-(2*(-3)))

= -3 + 9 = 6

f (1,0) = g (1,0) + h (1,0) = 1 + 6

= 7 2. Koordinat n(0,1)

Nilai n.x = 0 Nilai n.y = 1

Simpul tujuan(2,2) sehingga goal.x = 2, goal.y = 2 g(n) = g (0,1) = 1

h_orthogonal(n) = (abs(n.x-goal.x) + abs(n.y-goal.y)) h_orthogonal(0,1) = (abs(0 - 2) + abs(1 - 2))

= (abs(-2) + abs(-1)) = 3

h_diagonal(n) = min(abs(n.x-goal.x) + abs(n.y-goal.y)) h_diagonal(0,1) = min(abs(0 - 2)+abs(1 - 2))

= min(abs(-2)+abs(-1)) = min 3

h(n) = h_diagonal(n) + (h_orthogonal (n) – (2 * h_diagonal(n))) h(0,1) = (-3) + (3-(2*(-3)))

= -3 + 9 = 6

f (0,1) = g (0,1) + h (0,1) = 1 + 6

= 7

3. Koordinat (1,1) Nilai n.x = 1

Nilai n.y = 1


(1)

(2)

(3)

(4)

(5)

Pengujian beta

Pengujian beta merupakan pengujian langsung kepada

pengguna untuk mencoba aplikasi yang baru. Pengujian yang dilakukan adalah dengan cara wawancara dan

membagikan kuesioner kepada 30 pengguna aplikasi, dan target wawancara adalah seorang anak sekolah dasar

dengan range usia sesuai dengan tujuan pembuatan aplikasi tersebut.


(6)

Terima kasih