Pembangunan aplikasi game side scrolling 2D : save our forest

BIODATA PENULIS

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 E-mail : danimr90@gmail.com

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 (Dani Muhammad Ridwan)

PEMBANGUNAN APLIKASI

  GAME SIDE SCROLLING 2D: SAVE OUR FOREST SKRIPSI

  Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika

  Fakultas Teknik dan Ilmu Komputer

  DANI MUHAMMAD R 10108010

  

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

  5. Bapak Irawan Afrianto, S.T.,M.T selaku Ketua Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia.

  6. Bapak Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, 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 Penulis

  DAFTAR ISI

  ABSTRAK ....................................................................................................................... i

  

ABSTRACT ...................................................................................................................... ii

  KATA PENGANTAR ................................................................................................... iii DAFTAR GAMBAR ................................................................................................... viii DAFTAR TABEL .......................................................................................................... xi DAFTAR SIMBOL ...................................................................................................... xiii 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.5.1 Skala Likert .............................................................................................. 31

  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 Definisi Aktor .......................................................................................... 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.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 Intro Game 1 ............................................................................ 93 IV.1.4.5 Tampilan Intro Game 2 ............................................................................ 94 IV.1.4.6 Tampilan Intro Game 3 ............................................................................ 94 IV.1.4.6 Tampilan Intro Game 4 ............................................................................ 95 IV.1.4.6 Tampilan Level 1 Game ........................................................................... 95 IV.1.4.7 Tampilan Level 2 Game ........................................................................... 96 IV.1.4.8 Tampilan Level 3 Game ........................................................................... 96 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 DAFTAR PUSTAKA ................................................................................................. 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

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

  Dalam proses belajar, anak-anak belajar dari pengalaman sendiri, mengkonstruksi pengetahuan kemudian memberi makna pada pengetahuan psikomotorik maupun afektif. Tinggi rendahnya minat belajar akan memberikan 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.

  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

  anak-anak berusia 13 tahun keatas yang dijadikan responden untuk 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 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 Bab ini menguraikan tentang latar belakang permasalahan, perumusan

  BAB II. LANDASAN TEORI 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 Bab ini berisi kesimpulan yang didapat selama penulisan laporan tugas

  akhir dan saran yang diperlukan untuk pengembangan aplikasi yang telah dibangun.

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] 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 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 keatas. Judul-judul dalam kategori ini mungkin mengandung

  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

  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

  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

  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

  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 tipe ini seringkali ditunjang dengan AI (Artificial Intelligence), contohnya: 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 pemain atau lebih, di mana pemain dapat berupa individual atau tim.

  Contoh game tipe ini antara lain sepakbola, bola basket, tenis, dan bilyard.

  II.2 Kecerdasan Buatan/AI ( Artificial Intelligence)

  AI adalah ilmu rekayasa yang membuat mesin mempunyai intelegensi tertentu khususnya program k omputer 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

  2. Sistem yang dapat beraksi seperti manusia

  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.

  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 perbarua n 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

  BestNode = simpul yang ada di OPEN dengan f minimal 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 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*

  Untuk lebih memperjelas pemahaman mengenai algoritma A*, berikut adalah contoh langkah-langkah pencarian rute terpendek menggunakan algoritma A* akan dijelaskan di gambar II.2.

  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

  dijelaskan di gambar II.3

  Gambar II.3 Langkah 2 pencarian rute terpendek menggunakan

algoritma A*

  Langkah kedua, E dengan biaya terkecil (yaitu 84) terpilih sebagai BestNode dan dipindahkan ke CLOSED. Lalu semua suksesor E dibangkitkan, yaitu : D dan J. Karena belum pernah ada di OPEN maupun CLOSED sebelumnya maka J dimasukkan ke OPEN. Sedangkan simpul D sudah ada di OPEN, maka harus dicek apakah parent dari D perlu diganti atau tidak. Ternyata biaya dari S ke D melalui E (yaitu 10 + 15 = 25) lebih kecil daripada biaya S ke D (yaitu 35). Oleh karena itu, parent dari D harus dirubah, yang semula S menjadi E. Dengan perubahan parent ini maka nilai g dan f pada D juga diperbaharui (nilai g yang semula 35 menjadi 25, dan nilai f dari 120 menjadi 110). Langkah kedua ini menghasilkan OPEN = [A, B, C, D, J] dan CLOSED = [S, E]. Langkah ketiga pencarian rute menggunakan algoritma A* akan dijelaskan di gambar II.4

  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,

  yaitu : A, F dan K. Karena belum pernah ada di OPEN maupun CLOSED, maka F dan K dimasukkan ke OPEN. Sedangkan simpul A sudah ada di OPEN, maka harus dicek apakah parent dari A perlu diganti atau tidak. Ternyata, biaya dari S ke A melalui B (yaitu 25 + 10 = 35) lebih besar daripada biaya S ke A (yaitu 10). Oleh karena itu, parent dari A tidak perlu diubah (tetap S). Akhir dari langkah ke tiga ini menghasilkan OPEN = [A, C, D, F, J, K] dan CLOSED = [S, E, B]. Langkah keempat pencarian rute menggunakan algoritma A* akan dijelaskan di gambar II.5

  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,