Game 17 Agustus Berbentuk Arcade
Diajukan untuk Menempuh Ujian Akhir Sarjana
MARNI EKA YULISTINA
10109357
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014
(2)
v
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xi
DAFTAR SIMBOL ... xiii
DAFTAR LAMPIRAN ... xviii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 2
1.5 Metodologi Penelitian ... 2
1.6 Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 6
2.1 Peringatan 17 Agustus ... 6
2.2 Game ... 8
2.2.1 Sejarah Game ... 9
2.2.2 Klasifikasi Game ... 9
2.2.3 Berdasarkan Jenis Platform yang Digunakan ... 10
2.2.4 Berdasarkan Genre Game ... 10
2.2.5 Game Arcade (Genre Game Terkait) ... 12
2.3 Algoritma ... 12
2.3.1 Finite State Machine [4] ... 12
2.3.2 Fuzzy Logic ... 14
2.4 Object Oriented Programming (OOP) ... 20
2.5 Unified Modeling Language (UML) ... 22
(3)
vi
2.5.2 Diagram UML ... 23
2.6 Adobe Illustrator (AI) ... 24
2.7 Construct 2 ... 25
BAB IIIANALISIS DAN PERANCANGAN ... 26
3.1 Analisis Sistem ... 26
3.2 Analisis Masalah ... 26
3.3 Analisis Game Sejenis ... 26
3.3.1 Analisis Game Balap Karung (game android, AGD games) ... 27
3.3.2 Analisis Game Indonesia Merdeka (game android) ... 28
3.4 Analisis Game 17 Agustus berbasis Arcade ... 32
3.4.1 Deskripsi Game ... 32
3.4.2 Storyline ... 33
3.4.3 Gameplay ... 33
3.4.4 Komponen dari Game 17 Agustus berbasis Arcade ... 35
3.4.5 Analisis Tingkat Kesulitan ... 35
3.5 Penerapan Metode Finite State Machine ... 36
3.6 Penerapan Algoritma Fuzzy Logic ... 39
3.6.1 Variabel Fuzzy ... 39
3.6.2 Nilai Linguistik ... 39
3.6.3 Fuzzyfikasi ... 40
3.6.4 Fuzzy Rules ... 43
3.6.5 Agregasi dan Defuzzyfikasi ... 43
3.6.6 Contoh Kasus ... 44
3.6.7 Pseudocode ... 49
3.7 Analisis Kebutuhan Non-Fungsional ... 51
3.7.1 Analisis Perangkat Keras ... 51
3.7.2 Analisis Perangkat Lunak ... 52
3.7.3 Analisis Pengguna ... 52
3.8 Analisis Kebutuhan Fungsional ... 53
3.8.1 Model Use Case ... 54
3.8.2 Definisi Aktor dan Use Case ... 54
3.8.3 Skenario Use Case Memilih Permainan ... 55
3.9 Perancangan Game 17 Agustus ... 75
(4)
vii
BAB IVIMPLEMENTASI DAN PENGUJIAN ... 86
4.1 Implementasi ... 86
4.1.1 Perangkat Keras Yang Digunakan ... 86
4.2 Implementasi Aplikasi ... 87
4.3 Implementasi Antar Muka ... 88
4.3.1 Tampilan Utama ... 88
4.3.2 Tampilan Main/Play ... 88
4.3.3 Tampilan Balap Kelereng ... 89
4.3.4 Tampilan Tarik Tambang ... 89
4.3.5 Tampilan Balap Karung ... 90
4.3.6 Tampilan Prestasi/Achievment ... 90
4.3.7 Tampilan Petunjuk ... 91
4.4 Pengujian Sistem ... 91
4.4.1 Pengujian Alpha ... 91
4.4.2 Skenario Pengujian Alpikasi ... 91
4.4.3 Kesimpulan Pengujian Alpha ... 102
4.4.4 Pengujian Beta ... 102
4.4.5 Kesimpulan pengujian Beta ... 109
BAB V KESIMPULAN DAN SARAN ... 110
5.1 Kesimpulan ... 110
5.2 Saran ... 110
(5)
111 Praktisis. Jogyakarta, Indonesia: Andi.
2. Andang, Ismail., (2009) Education Games (Menjadi cerdas dan ceria dengan permainan edukatif). Yogyakarta : Pilar Media.
3. Fritts , Prof. Jason. Computer and Video Game Genres.
4. Millington, Ian. Artificial Intelligence for Games. Morgan Kaufman Publisher.
5. Thomas, (2006). Genre and game studies : Toward a critical approach to video game genres. Simulation & Gaming, Vol. 37, University of Melbourne.
6. Rosa, A.S. M. Shalahuddin. (2013). Rekayasa Perangkat Lunak. Informatika.
7. Rabin, Steven. (2002) . Ai Game Programming Wisdom. Charles River Media: terbit.
8. http://www.play.google.com/ (online)
9. Kusumadewi, Sri., (2003). Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta : Graha Ilmu.
10. Klir, J. George and Yuan, Bo., (1995). Fuzzy Sets and Fuzzy Logic : Theory and Applications. Prentice Hall. Nugroho.
11. Suyanto. (2007). Artificial Intelligence Searching, Reasoning, Planning dan Learning. Bandung : Informatika
12. Munir, Renaldi. (2007). Algoritma dan Pemograman Dalam Bahasa PASCAL dan C. Bandung : Informatika
(6)
iii Assalaamu’alaikum Wr. Wb.,
Puji syukur alhamdulillah penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat, hidayah dan karunia-Nya, shalawat serta salam semoga selalu tercurah kepada Rasulullah Muhammad SAW, sehingga penulis dapat menyelesaikan skripsi yang berjudul “GAME 17 AGUSTUS BERBENTUK ARCADE”.
Tujuan dari penyusunan skripsi ini adalah untuk memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer Indonesia.
Dengan keterbatasan ilmu dan pengetahuan yang dimiliki oleh penulis, maka penulis membutuhkan peran serta dari pihak lain dalam proses penyelesaian skripsi ini. Oleh karena itu ijinkanlah penulis untuk menyampaikan ucapan terima kasih yang sebesar-besarnya kepada:
1. Allah SWT yang telah memberikan kesehatan dan kesempatan kepada penulis dalam menyelesaikan skripsi ini dan juga atas semua rahmat, hidayah, dan karunia-Nya.
2. Nabi Muhammad Rasulullah SAW yang telah menyampaikan wahyu Allah. 3. Orang tua penulis yang telah memberikan segenap perhatian, cinta dan kasih
sayang, dorongan, nasehat serta doa yang tulus dan tanpa batas. 4. Keluarga besar penulis yang tiada hentinya memberikan dukungan.
5. Bapak Alif Finandhita, S.Kom. selaku dosen pembimbing. Terima kasih karena telah banyak meluangkan waktu untuk memberikan bimbingan, saran dan nasehatnya selama penyusunan skripsi ini.
(7)
iv
6. Ibu Utami Dewi W, S.Kom. selaku reviewer. Terima kasih karena telah meluangkan waktu untuk memberikan nasehat, kritik dan saran selama penyusunan skripsi ini.
7. Ibu Tati Harihayati M, S.T., M.T. selaku penguji 3. Terima kasih karena telah meluangkan waktu untuk memberikan nasehat, kritik dan saran selama penyusunan skripsi ini.
8. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Program Studi Teknik Informatika UNIKOM.
9. Seluruh staf dosen program studi Teknik Informatika Universitas Komputer Indonesia.
10. Sekretariat program studi Teknik Informatika Universitas Komputer Indonesia.
11. Saudara Hagi Decky Bastian beserta Ibunda tercinta yang telah memberikan doa selama penulis menyusun skripsi ini.
12. Saudara Rudi Budiman karena telah membantu sehingga skripsi ini dapat terselesaikan.
13. Teman-teman IF-8 2009 yang telah mendukung selama ini terima kasih atas doa, bantuan dan dorongannya.
14. Serta semua pihak yang telah turut membantu dalam penyusunan skripsi ini, yang tidak bisa disebutkan satu persatu.
Didalam penulisan skripsi ini, penulis telah berusaha semaksimal mungkin walaupun demikian penulis menyadari bahwa skripsi ini jauh dari sempurna. Untuk itu penulis akan selalu menerima segala masukan yang ditujukan untuk menyempurnakan skripsi ini. Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.
Wassalamu’alaikum Wr. Wb. Bandung, Januari 2014
(8)
Phone : 087722342287
E-mail : [email protected]
DAFTAR RIWAYAT HIDUP
Bahwa yang bertanda tangan di bawah ini :
Nama : Marni Eka Yulistina
Umur : 23 tahun
Tempat Tanggal Lahir : Cimahi, 1 Maret 1990 Alamat : Jl. Ciawitali No 7
Rt 04 Rw 09 Cimahi 40512 Kewarganegaraan : Indonesia
Agama : Islam
Status : Belum Menikah Tinggi / Berat Badan : 160 cm / 53 kg Nomor Telepon : 087722342287
Email : [email protected] [email protected]
(9)
A-1
1. Tahun 1995 – 1996 : TK Dharma Wanita Cimahi. 2. Tahun 1996 – 2002 : SD Negeri XIII Cimahi. 3. Tahun 2002 – 2005 : SMP Negeri 1 Cimahi. 4. Tahun 2005 – 2008 : SMA Negeri 3 Cimahi.
5. Tahun 2009 – 2014 : Universitas Komputer Indonesia Fakultas Teknik dan Ilmu Komputer Bandung.
KEGIATAN YANG PERNAH DIIKUTI
1. Tahun 2005 : OSIS/MPK
2. Tahun 2002 : Karawitan SMPN 1 Cimahi
3. Tahun 2006 : Kejuaraan Basket antar SMA se-JawaBarat
4. Tahun 2011 : Panitian PMB dan Wisuda tahun 2011/2012 UNIKOM
Cimahi, Februari 2014
Marni Eka Yulistina 10109357
(10)
1 I.1 Latar Belakang Masalah
Game Arcade lebih dikenal dengan sebutan ding-dong. Game arcade ini adalah salah satu genre game komputer yang mengandalkan ketangkasan pemainnya dalam memegang kontrol. Ciri-ciri game arcade adalah mempunyai level yang singkat, kontrol yang mudah, serta tingkat kesulitan yang bertambah dengan cepat. Jenis game ini dirancang untuk memancing adrenalin pemain serta tidak membutuhkan jalan cerita yang bagus. Game seperti ini membutuhkan waktu belajar yang relatif singkat.
Setelah perjuangan yang sekian lama untuk merebut kemerdekaan dari tangan penjajah akhirnya rakyat Indonesia mampu untuk berdiri sendiri tanpa campur tangan Negara asing. Hingga saat ini sudah sekian tahun Indonesia merdeka masyarakat masih memperingati 17 agustusan (hari ditetapkannya kemerdekaan Indonesia). Banyak cara dalam memperingatinya seperti upacara, mengadakan perlombaan-perlombaan, dll. Dalam wawancara yang dilakukan kepada salah satu anggota karang taruna, bahwa saat ini masyarakat sudah tidak banyak yang ikut serta dalam merayakan hari kemerdekaan. Terlihat saat hari kemerdekaan tiba, masyarakat yang ikut serta dalam perayaan ini lebih berkurang dibanding tahun-tahun sebelumnya.
Berdasarkan penelitian yang dilakukan di SDN Cimahi Mandiri 2, minat anak-anak terhadap permainan 17 Agustus ini semakin berkurang, ini dapat terlihat dari jawaban anak-anak yang lebih memilih bermain video game daripada ikut merayakan hari kemerdekaan dikarenakan keterbatasan jenis permainan yang dapat mereka mainkan. Dari permasalahan yang telah dipaparkan diatas, maka diambil judul tugas akhir “Game 17 Agustus Berbasis Arcade” yang mana
(11)
diharapkan menjadi salah satu game yang mewakili permainan khas kemerdekaan dimana anak-anak dapat mencobanya.
I.2 Rumusan Masalah
Adapun rumusan masalah dari game 17 agustus ini adalah bagaimana membangun game 17 Agustus berbasis Arcade.
I.3 Maksud dan Tujuan
Berdasarkan uraian diatas, maksud dari tugas akhir ini adalah membangun Game Arcade 17 Agustusan. Dengan tujuan yang diharapkan adalah:
1. Menjadi salah satu game yang dapat dimainkan oleh anak-anak dengan tema 17 Agustus.
2. Menjadi pilihan untuk anak-anak mencoba permainan khas 17 Agustus yang tidak bisa dimainkan secara langsung.
I.4 Batasan Masalah
Adapun batasan masalahnya adalah sebagai berikut :
1. Permainan 17 agustusan yang akan dibangun hanya 3 jenis yaitu balap karung, tarik tambang, dan balap kelereng.
2. Game ini hanya bisa dimainkan 1 pemain.
3. Grafik game yang dibangun adalah 2D (2 dimensi). 4. Genre game adalah arcade.
5. Game ini dibangun dengan platform mobile.
6. Pengembangan game 17 Agustus ini menggunakan analisis pemograman berorientasi objek.
I.5 Metodologi Penelitian
Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :
1. Tahap pengumpulan data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :
(12)
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.
b. Questioner
Pengumpulan data dengan memberikan angket kepada siswa-siswi SDN Mandiri 2 Cimahi.
c. Wawancara
Pengumpulan data dengan menemui beberapa orang yang menjadi ketua karang taruna di suatu daerah.
2. Tahap pembuatan perangkat lunak.
Tahapan analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall, yang meliputi beberapa proses diantaranya:
a. System / Information Engineering
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.
b. Analisis
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.
c. Design
Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.
d. Coding
Tahap penerjemahan data atau pemecahan masalah yang telah dirancang keadalam bahasa pemrograman tertentu.
e. Pengujian
(13)
f. Maintenance
Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan–perubahan atau penambahan sesuai dengan permintaan user seperti pada gambar I.1.
Gambar I-1 Metode Waterfall [1]
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
Menjelaskan mengenai latar belakang, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian dan juga sistematika penulisan dari tema yang bersangkutan.
BAB II LANDASAN TEORI
Membahas berbagai konsep dasar dan teori-teori pendukung dari pembangunan sistem yang beberapa diantaranya adalah teori mengenai Adobe Illustrator, sejarah game serta jenis-jenis game, algoritma finite state machine, teori mengenai hari kemerdekaan.
BAB III ANALISIS MASALAH
Bab ini terdiri dari analisis dan perancangan aplikasi yang akan dibangun dalam skripsi yaitu analisis sistem, analisis masalah, analisis permainan, analisis
(14)
kebutuhan non-fungsional, analisis kebutuhan fungsional, perancangan game 17 Agustus, perancangan sistem.
BAB IV PERANCANGAN DAN IMPLEMENTASI
Bab ini terdiri dari implementasi perangkat lunak berdasarkan perancangan yang telah dibuat, serta pengujian perangkat lunak yaitu implementasi, implementasi aplikasi, implementasi antar muka, pengujian sistem.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan skripsi.
(15)
(16)
7 2.1 Peringatan 17 Agustus
Hari peringatan Kemerdekaan Republik Indonesia, bertepatan tanggal 17 Agustus 1945, Soekarno-Hatta yang membacakan proklamasi tanda kemerdekaan bangsa Indonesia dari kolonialisme Belanda. Sekalipun Belanda belum mengakui kemerdekaan Indonesia pada tanggal 17 Agustus 1945 tapi sebagai bangsa yang sudah merdeka yaitu bangsa Indonesia, hal itu tidaklah menjadi halangan untuk menyatakan kemerdekaan. Tak heran setiap tanggal 17 Agustus selalu diperingatan dengan meriah. Perlombaan yang seringkali diadakan ketika 17 Agustus adalah panjat pinang, balap karung, tarik tambang, balap bakiak, makan kerupuk, perang bantal, dan masih banyak lagi.
Tetapi masyarakat Indonesia sampai saat ini mungkin masih menganggap bahwa perlombaan itu hanya sebuah game semata, padahal ada arti dan makna tersendiri dari setiap permainan tersebut. Berikut adalah beberapa ulasan mengenai permainan khas 17 Agustus:
1. Panjat Pinang
Perlombaan panjat pinang ini seolah-olah menjadi icon perayaang hari kemerdekaan dikarekan selalu diadakan sejak proklamasi kemerdekaan. Perlombaan dengan pohon pinang yang tinggi dan batang yang dilumuri oleh pelumas serta ada rangkaian hadiah menarik di atas menjadi hal yang digemari oleh warga Indonesia. Berdasarkan catatan sejarah, perlombaan panjat pinang sudah ada sejak zaman penjajah. Orang Belanda menggelarnya saat acara besar seperti hajatan atau pernikahan. Saat itu, hadiah yang diperebutkan berupa bahan makanan dan pakaian. Sementara orang pribumi bersusah payah memperebutkan hadiah, para orang Belanda menonton sambil tertawa. Artinya, lomba panjat pinang bukan murni lahir dari budaya
(17)
Indonesia, tapi adaptasi dari kegiatan orang Belanda saat itu. Esensi dari lomba ini bagi bangsa Indonesia adalah mengenai semangat kebersamaan dan gotong royong untuk mencapai suatu tujuan. Selain itu, panjat pinang merupakan gambaran bahwa meraih kemerdekaan itu tidak mudah. Ada jalan "licin" yang terkadang membuat bangsa Indonesia jatuh. Dibutuhkan kerja keras, jiwa pantang menyerah, serta gotong royong untuk bisa meneriakkan kata "merdeka".
2. Balap Karung
Perlombaan balap karung ini cukup populer saat memperingati hari kemerdekaan, baik di desa maupun kota. Lomba ini tentu saja mewajibkan para peserta memasukkan bagian bawah badannya ke karung, kemudian berlomba sampai garis finis. Perlombaan balap karung mengingatkan kita pada zaman penjajahan dahulu. Saat itu, sebagian besar rakyat mengalami penderitaan, termasuk kesulitan memperoleh pakaian yang layak. Yang tersisa hanyalah karung goni bekas yang, mau tidak mau, terpaksa mereka kenakan untuk menutupi tubuh. Filosofi dalam lomba ini terletak pada saat peserta menginjak-injak karung, yang berarti sudah saatnya mereka meninggalkan pakaian yang tak layak untuk dikenakan tersebut.
3. Tarik Tambang
Dua kelompok bertanding dari dua sisi yang berlawanan dan memegang erat satu sisi tali tambang. Masing-masing kelompok mencoba menarik tali tambang sekuat mungkin agar kelompok lawan melewati garis pembatas yang berarti kalah. Pada umumnya, pemain dengan kekuatan paling besar ditempatkan di ujung tali untuk menahan atau menghentak pada saat penarikan. Makna dari lomba tarik tambang sama dengan panjat pinang, yaitu kerja keras dan semangat kebersamaan yang dimiliki setiap anggota kelompok untuk meraih tujuan kemenangan. Hal ini mengambarkan persatuan dan kesatuan bangsa yang saat itu melawan penjajahan untuk meraih kemerdekaan. Tarik tambang bukan lahir dari budaya bangsa Indonesia, namun jauh sebelum kemerdekaan Indonesia diraih. Tercatat dalam perhelatan Olimpiade pada 1900 sampai 1920 silam, tarik tambang
(18)
masuk kategori olah raga resmi yang diperlombakan, dengan nama Tug of War.
4. Balap Kelereng
Biasa dalam perlombaan ini sendok membawa sendiri dari rumah masing-masing peserta. Tantangannya kelereng yang diletakkan di atas sendok tidak boleh terjatuh sambil sendok dibawa memakai mulut dari garis start hingga garis finish. Makna dari permainan ini adalah dalam mencapai tujuan itu harus sabar, tenang dan jangan terburu-buru.
5. Lomba Makan Kerupuk
Kerupuk terikat pada seutas tali dan digantungkan di atas mulut pererta. Kedua tangan tidak boleh memegang tali ataupun kerupuk, untuk itu kedua tangan disilangkan dibelakang pinggang. Permainan ini mengajarkan kepada kita, di jaman penjajahan dulu rakyat mengalami kesulitan sandang, pangan, dan papan. Untuk makan yang paling sederhana sekali pun mengalami kesulitan, akijbat hasil panen penduduk diambil paksa oleh penguasa. Akibatnya, rakyat banyak yang kekurangan makanan dan menderita gizi buruk bahkan hingga mati kelaparan.
2.2 Game
Game bila diartikan kedalam bahasa Indonesia mempunyai arti permainan. Permainan dalam hal ini merujuk pada pengertian “kelincahan intelektual” (intellectual playability). Sebuah game diharuskan mempunyai komponen serta peraturan yang jelas. Karena adanya peraturan tersebut maka ada kondisi dimana pemain akan mengalami menang ataupun kalah dengan tujuan untuk refreshing. 2.2.1 Sejarah Game
Sejak pertama kali ditemukan hingga saat ini, game telah melewati berbagai fase evolusi penting dimana ini adalah peran besar perkembangan game. Game pertama kali dibuat pada tahun 1966 oleh Ralp Baer bersama dengan timnya yang berjumlah 500 orang. Tim ini terdiri dari para insinyur dan teknisi. Setelah sebulan bekerja keras, Baer berhasil menampilkan dua titik putih yang kejar-kejaran dilayar. Pada tahun 1972 muncul nama baru dalam dunia game. Nolan Bushel mendirikan perusahaan Atari dan membuat game arcade pong.
(19)
Pada era baru dalam perkembangan dunia game terjadi pada tahun 1988 yang didominasi oleh perusahaan Jepang. Nintendo awalnya hanya memproduksi mesin fotocopy, dengan video game sistemnya telah mencapai omset miliaran dolar. Setelah awal perkembangan game ini, dunia game telah melalui beberapa fase yaitu fase game PC, fase game console, dan fase game online. Sekarang ketiga fase game tersebut sudah semakin banyak variannya.
Divinekids adalah salah satu game yang diakui dan mendapat award resmi dari MURI (Museim Rekor Indonesia) sebagai game pertama Indonesia pada tahun 2004.[2] Akan tetapi pada kenyataannya sudah banyak jenis-jenis game buatan anak negeri (Indonesia) tetapi karena kekurangan syarat-syarat minimal seperti karakter yang menggunakan karakter asing, penyebaran yang kurang luas, bahasa yang digunakan bahasa asing, dan lain sebagainya. Oleh karena itu tidak terpilih sebagai game pertama di Indonesia.[2]
2.2.2 Klasifikasi Game
Game biasanya dikategorikan berdasarkan interaksi gameplay daripada perbedaan tampilan atau narasi. Sebuah jenis game dapat didefinisikan dengan kumpulan sebuah tipe permainan dari game tersebut. Game dapat diklasifikasikan menjadi dua, yaitu:
2.2.3 Berdasarkan Jenis Platform yang Digunakan
1. Mobile games, yaitu permainan yang dapat dimainkan khusus untuk mobile phone atau PDA.
2. PC games, yaitu video game yang dimainkan menggunakan personal computers.
3. Console games, yaitu video games yang dimainkan menggunakan console tertentu seperti Playstation 2, Playstation 3, XBOX 360 dan Nintendo wii.
4. Arcade games, yaitu yang sering disebut ding-dong dengan design tambahan seperti pistol, kursi khusus, sensor gerak, ataupun stir mobil yang membuat pemain merasa berada dalam permainan langsung dan lebih menikmati.
(20)
5. Handheld games, yaitu yang dimainkan di console khusus video game yang dapat dibawa kemana-mana, seperti Sony PSP.
2.2.4 Berdasarkan Genre Game
Menurut Prof. Jason Fritts genre game terdiri dari : [2] 1. Action
Kebanyakan dari arcade games adalah action games juga. Ini dikarenakan action games memerlukan reflex yang cepat dan hati-hati dalam mengatur waktu untuk menaklukan rintangan yang ada. Tujuan dari action game adalah mengatasi musuh tanpa menghancurkan diri sendiri.
Adapun sub-genre dari action games ini : 1. Platformers , contoh : Super Mario Bros.
2. Shooters (First-person shooters dan Third-person shooters), contoh : Crysis.
3. Racing, contoh : Burnout Paradise. 4. Fighting, contoh : Tekken 6. 2. Adventure
Sebuah game petualangan bukanlah suatu kompetisi atau simulasi. Sebuah game petualangan juga tidak menawarkan proses untuk dikelola atau lawan harus dikalahkan melalui strategi dan taktik. Sebaliknya, sebuah game petualangan adalah sebuah cerita interaktif tentang karakter yang dikendalikan oleh pemain.
3. Action Adventure
Adalah paduan antara action dan adventure games. Yaitu, kecepatan, real time action dari sebuah action games dan unsur cerita serta teka-teki dari sebuah adventure games.Contoh : God of War II , Legend of Zelda : Ocarina of Time.
4. Role Playing
Pemain mengendalikan satu karakter atau sekelompok kecil karakter. Pemain sering membentuk ikatan erat dengan karakter mereka terutama jika itu single character (avatar). Karakter mengalami kemajuan
(21)
dalam sebuah permainan bila karakter mendapatkan pengalaman dari sebuah pertempuran maupun tantangan. Pengalaman ini membuat sebuah karakter mendapatkan skills dan abilities.Contoh : Star Wars, Dragon Age, Elder Scrolls IV.
5. Simulation
Simulation games adalah permainan yang mendekati kehidupan nyata. Video Game jenis ini seringkali memperhatikan dengan detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga membangun laboratorium cloning. Video Game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas.
6. Strategy
Game jenis ini menghibur melalui penalaran dan pemecahan masalah. Terkadang genre ini tidak menggunakan banyak storytelling. 2.2.5 Game Arcade (Genre Game Terkait)
Game Arcade lebih dikenal dengan sebutan ding-dong. Game arcade adalah game yang mengandalkan ketangkasan pemainnya dalam memegang kontrol. Ciri-ciri game arcade adalah mempunyai level yang singkat, kontrol yang mudah, serta tingkat kesulitan yang bertambah dengan cepat. Jenis game ini dirancang untuk memancing adrenalin pemain serta tidak membutuhkan jalan cerita yang bagus. Game seperti ini membutuhkan waktu belajar yang relatif singkat. Sifat dari game arcade adalah real-time.
2.3 Algoritma
Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah. Berikut ini adalah beberapa contoh dan penjelasan dari algoritma.[12] 2.3.1 Finite State Machine [4]
Ada beberapa definisi mengenai Finite State Machine (FSM) atau sering juga disebut dengan Finite State Automata (FSA).
(22)
1. FSM dapat diartikan sebagai perangkat komputasi yang memiliki input berupa string dan output yang merupakan satu dari dua nilai yang dapat diaccept dan reject.
2. Finite Automata adalah model matematika sistem dengan masukan dan keluaran diskrit. Sistem dapat berada di salah satu dari sejumlah berhingga konfigurasi internal disebut state.
3. FSM adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Pada beberapa waktu, system akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri. Transisi keadaan ini umumnya juga disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan yang terjadi. Aksi yang dilakukan tersebut dapat berupa aksi yang sederhana atau melibatkan rangkaian proses yang relatif kompleks.
Gambar II-1 Contoh Diagram State [3]
Pada diagram state II.1 tersebut memperlihatkan FSM dengan dua buah state dan dua buah input serta empat buah aksi output yang berbeda : seperti terlihat pada gambar, ketika ada event yang terjadi karakter hanya akan melakukan satu aksi setiap statenya, karakter akan melakukan perlawan jika
(23)
melihat musuh yang kecil, sedangkan jika karakter kalah dalam pertarungan dia akan melarikan diri.
Secara formal FSM dinyatakan oleh 5 tupel atau M=(Q, Σ, δ, S, F), dimana:
Q = himpunan state/kedudukan
Σ = himpunan symbol input/masukan/abjad δ = fungsi transisi
S = state awal/ kedudukan awal (initial state), S Q F = himpunan state akhir, F Q
FSM terdiri dari dua jenis, yaitu FSM ber-output dan FSM tidak beroutput. FSM tidak ber-output digunakan untuk pengenalan bahasa dalam komputer, dengan input yang dimasukkan akan diperoleh apakah input tersebut dikenal oleh bahasa komputer atau tidak. Salah satu penggunaan FSM tidak beroutput adalah program compiler, yaitu program untuk memeriksa apakah perintah yang digunakan pengguna benar atau salah. Sementara untuk FSM ber-output digunakan untuk merancang mesin atau sistem.
2.3.2 Fuzzy Logic
Konsep tentang fuzzy diperkenalkan oleh Prof. Lotfi Astor Zadeh pada 1962. Logika fuzzy adalah metodologi sistem control pemecahan masalah, yang cocok diimplementasikan pada sistem, mulai dari sistem yang sederhana, sistem kecil, embedded system, jaringan PC, multi-channel atau workstation berbasis akurasi data dan sistem control. Dalam logika klasik dinyatakan bahwa segala sesuatu bersifat biner, yang artinya adalah hanya mempunyai dua kemungkinan, “Ya atau Tidak”, “Benar atau Salah”, dan lain-lain. Oleh karena itu semua ini mempunyai nilai keanggotaan 0 dan 1. Akan tetapi, dalam logika fuzzy memungkinkan nilai keanggotaan berada diantara 0 dan 1.
Konsep himpunan fuzzy memiliki 2 atribut, yaitu [9] :
1. Linguistik, yaitu nama suatu kelompok yang me wakili suatu keadaan tertentu dengan menggunakan bahasa alami, misalnya dingin, sejuk, panas mewakili variable temperatur.
(24)
misalnya 10, 35, 40 dan sebagainya.
Cara kerja logika fuzzy dapat digambarkan sebagai struktur elemen dasar sistem inferensi fuzzy seperti pada gambar II.2:
Gambar II-2 Struktur Sistem Inferensi Fuzzy Keterangan :
1. Basis Pengetahuan Fuzzy merupakan kumpulan rule-rule fuzzy dalam bentuk
pernyataan IF…THEN.
2. Fuzzyfikasi adalah proses untuk mengubah input sistem yang mempunyai nilai
tegas menjadi variabel linguistic menggunakan fungsi keanggotaan yang disimpan dalam basis pengetahuan fuzzy.
3. Mesin Inferensi merupakan proses untuk mengubah input fuzzy dengan cara
mengikuti aturan-aturan (IF -THEN Rules) yang telah ditetapkan pada basis pengetahuan fuzzy.
4. DeFuzzyfikasi merupakan proses mengubah output fuzzy yang diperoleh dari
mesin inferensi menjadi nilai tegas menggunakan fungsi keanggotaan yang sesuai dengan saat dilakukan fuzzyfikasi.
(25)
2.3.2.1Fungsi Keanggotaan (Member function)
Pada fuzzy system, fungsi keanggotaan memainkan peran yang sangat penting untuk merepresentasikan masalah dan menghasilkan keputusan yang akurat. Terdapat banyak sekali fungsi keanggotaan yang dapat digunakan, diantaranya
adalah [10] :
1. Fungsi sigmoid
Sesuai dengan namanya, fungsi ini berbentuk kurva sigmoidala seperti huruf S. Setiap nilai x (anggota crips set) dipetakan ke dalam interval [0,1]. Grafik dan notasi matematika untuk fungsi ini adalah sebagai berikut :
Gambar II-3 Grafik Fungsi Sigmoid Fungsi keanggotaan :
………… (2.1) 1. Fungsi Segitiga
Fungsi segitiga hanya terdapat satu nilai x yang memiliki derajat kenanggotaan sama dengan 1, yaitu ketika x = b. Tetapi, nilai-nilai disekitar b memiliki derajat keanggotaan yang turun cukup tajam (menjauhi 1) . Grafik dan notasi matematika dari fungsi segitiga adalah seperti pada gambar II.4 :
(26)
Gambar II-4 Grafik Fungsi Segitiga
Fungsi keanggotaan :
……… (2.2) 2. Fungsi Trapesium
Berbeda dengan fungsi segitiga, pada fungsi ini terdapat beberapa nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika
. Tetapi, derajat keanggotaan untuk memiliki karakteristik yang sama dengan fungsi segitiga. Grafik dan notasi matematika dari fungsi Trapesium adalah seperti pada gambar II.5 :
Gambar II-5 Grafik Fungsi Trapesium
(27)
µ(x) = ); /( ) ( ; 1 ); /( ) ( ; 0 c d x d a b a x
3. Fungsi Linear
Pada fungsi linear, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk kurva ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas. Ada 2 keadaan himpunan fuzzy yang linear. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0] bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi. Keadaan tersebut digambarkan seperti pada gambar II.6.
Gambar II-6 Representasi Linear Naik[10] Fungsi keanggotaan :
………..(2.4)
Kedua, merupakan kebalikan dari yang pertama. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian
x ≤ a atau x ≥ d a ≤ x ≤ b b ≤ x ≤c c ≤ x ≤d
(28)
bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah. Keadaan tersebut digambarkan seperti pada gambar II.7.
Gambar II-7 Representasi Linear Turun[10]
Fungsi keanggotaan :
………..(2.5) 2.3.2.2Defuzzifikasi
Setelah menerapkan apa logika fuzzy yang dibutuhkan, biarkan dengan seperangkat keanggotaan nilai untuk fuzzy set. Untuk mengubahnya kembali menjadi data yang berguna, perlu menggunakan sebuah teknik defuzzifikasi. Teknik fuzzifikasi melihat di bagian terakhir adalah cukup jelas dan hampir di mana-mana.. Ada beberapa teknik defuzzifikasi mungkin, dan tidak ada konsensus yang jelas mengenai mana yang terbaik untuk digunakan. Semua memiliki struktur dasar yang sama, tetapi berbeda dalam efisiensi dan stabilitas hasil. Defuzzifikasi melibatkan mengubah seperangkat nilai keanggotaan menjadi output tunggal nilai. Nilai output hampir selalu nomor. Hal ini bergantung pada memiliki satu set fungsi keanggotaan untuk nilai.Kami output mencoba untuk membalikkan fuzzifikasi yang Metode: untuk menemukan nilai output yang akan mengakibatkan nilai-nilai keanggotaan yang dimiliki. Pada Gambar selanjutnya, kita memiliki nilai keanggotaan 0,2, 0,4, dan 0,7 untuk fuzzy set "merayap",
(29)
“berjalan," dan "lari." Fungsi keanggotaan menunjukkan bahwa tidak ada nilai yang mungkin untuk gerakan kecepatan yang akan memberikan nilai-nilai keanggotaan, jika memberi ke dalam fuzzifikasi.
Gambar II-8 Defuzzyfikasi [3] 2.4 Object Oriented Programming (OOP)
OOP adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metode OOP didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode ini meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemograman berorientasi objek, dan pengujian berorientasi objek. [5]Ketika sebuah program berjalan, objek individu biasanya tidak dapat berdiri sendiri.
Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut : 1. Meningkatkan produktivitas
Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut. 2. Kecepatan pengembangan
Karen sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.
3. Kemudahan pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering berubah-ubah.
(30)
Karena sifat pewarisan dan penggunaan notasi yang sama pasa saat analisis, perancangan maupun pengkodean.
5. Meningkatkan kualitas perangkat lunak
Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistenso pada saat pengembangannya, perangkat lunak dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.[5]
Konsep dasar dari sebuah OOP adalah sebagai berikut :
1. Objek, yaitu benda di dunia nyata yang bisa dibedakan antara satu dengan yang lainnya. Objek mempunyai identitas, property, dan tingkah laku.
2. Kelas,yaitu sekumpulan objek yang memiliki kemiripan dalam hal properti, atribut, behaviour, dan semantik.
3. Abstraksi, yaitu mekanisme yang memungkinkan situasi dunia nyata dapat diwakili menggunakan model yang disederhanakan. Orientasi objek abstrak dunia nyata didasarkan pada objek dan interaksi antar objek lainnya.
4. Encapsulasi dikenal sebagai informasi yang tersembunyi juga berperan pada pembungkusan properti dan behaviour. Enkapsulasi ini memastikan pengguna sebuah objek tidak dapat mengganti keadaan dari sebuah objek dengan cara yang tidak layak.
5. Polimorfisme, yaitu karakteristik sistem orientasi objek. Ketika warisan digunakan untuk memperpanjang class umum ke class yang lebih khusus, biasanya akan mencakup beberapa perilaku dari class umum. Perilaku dari class khusus ini akan berbeda dengan class umum, tetapi nama yang digunakan untuk mendefinikan perilaku tersebut akan menjadi sama.
6. Inheritas, yaitu mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dariobjek yang sudah ada objek-objek ini dapat membagi dan
(31)
memperluasperilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut(bahasa berbasis-objek tidak selalu memiliki inheritas). 2.5 Unified Modeling Language (UML)
UML adalah salah satu bentuk language atau bahasa untuk menggambarkan object oriented analysis and design. Sebagian besar metode terdiri bahasa dan proses. UML disebut bahasa pemodelan bukan metode. Bahasa pemodelan adalah notasi (terutama grafis) bahwa metode digunakan untuk mengekspresikan desain. Logo dari UML tersebut seperti pada gambar II.9.
Gambar II-9 Logo UML 2.5.1 Sejarah UML
Bahasa pemograman berorientasi objek yang pertama dikembangkan dikenal dengan nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa pemograman ini kurang berkembang dan dikembangkan lebih lanjut, namun kemunculannya menjadi titik besar bagi developer pengembang bahasa pemograman berorientasi objek selanjutnya.
Karena banyaknya metodologi yang berkembang pesat pada saat itu, maka muncullah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Maka dibuatlah bahasa gabungan dari beberapa konsep seperti Object Modelling Technique (OMT) dari Rumbaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivan Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaigh, Grady Booch, dan Ivar Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML). [6]
(32)
2.5.2 Diagram UML
Menggunakan berbagai macam diagram dengan fungsi masing-masing untuk menggambarkan setiap proses dari sistem berorientasi objek. Berikut merupakan beberapa diagram UML diantaranya:
1. Use Case Diagram
Use Case atau diagram use case merupakan pemodelan yang digunakan untuk menggambarkan kelakuan (behavior) dari sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.
1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat diluar sistem yang akan dibuat itu sendiri, jadi walaupun simbol dari actor adalah gambar orang, tapi actor belum tentu merupakan orang.
2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling vertukar pesan antarunit atau actor.
2. Activity Diagram
Diagram aktivitas atau activity diagram adalah sebuah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Dalam diagram aktivitas yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan aktivitas sistem, bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
1. Rancangan proses bisnis di mana setiap urutan aktivitas yang digambarkan merupakan proses bisnis system yang didefinisikan
2. Urutan atau pengelompokan tampilan dari sistem/user interface di mana setiap aktivitas dianggap memiliki sebuah rancangan antaruka tampilan.
(33)
3. Rancangan pengunjian di mana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.
3. Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.
1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas 2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas 4. Sequence Diagram
Diagram sekuen adalah diagram yang menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
Banyaknya diagram sekuen yang harus digambarkan adalah sebanyak pendefinisian use case yang memiliki prose situ sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak.
2.6 Adobe Illustrator (AI)
Adobe Illustrator adalah salah satu software editor yang berbasis vektor. Dalam pembuatan desain ada dua macam jenis yaitu desain berbasis vector dan desain berbasis bitmap. Desain berbasis vektor ini memiliki kelebihan yaitu bila gambar ditarik sebesar apapun tidak akan mengalami penurunan kualitas (pecah). 2.7 Construct 2
Construct 2 adalah salah satu editor game dengan bahasa pemograman HTML5. Game yang dibuat dengan construct 2 dapat dijalankan di browser yang mendukung bahasa HTML 5, seperti android, windows 8, facebook, windows phone, dll. Software ini dirancang untuk pembuatan dan pengembangan video game. Dalam pembuatan sebuah game memakai construct 2, pengguna tidak harus
(34)
memiliki skill coding atau programming. Karena construct 2 telah menyediakan berbagai macam behavior, termasuk salah satunya adalah physics(fisika).
(35)
27 3.1 Analisis Sistem
Pada tahap ini dilakukan analisis sistem yang berhubungan dengan game yang akan dibangun, mulai dari analisis terhadap game sejenis, analisis berbagai kebutuhan baik fungsional maupun non-fungsional. Metode digunakan untuk menguji, membandingkan, menilai, dan memahami sistem yang akan dibangun. Dalam pembangunan aplikasi diperlukan analisis terlebih dahulu karena tanpa menganalisis sistem yang sudah ada maka aplikasi tidak dapat dibangun.
3.2 Analisis Masalah
Berdasarkan latar belakang yang telah diuraikan di BAB I maka analisis masalah yang didapat adalah :
1. Dari hasil questioner yang dibagikan pada anak-anak di SDN Cimahi Mandiri 2 bahwa tidak semua permainan dalam acara 17 Agustus dapat dimainkan oleh anak-anak dan juga anak-anak lebih senang bermain video game.
2. Dari hasil wawancara bahwa minat masyarakat akan perayaan 17 Agustus ini sudah berkurang, ini ditandai dengan semakin sedikitnya orang yang ikut serta dalam perayaan peringatan hari kemerdekaan.
3.3 Analisis Game Sejenis
Analisis game sejenis merupakan analisis mengenai permainan (game) yang menjadi acuan dalam pembangunan sebuah game. Dalam analisis game sejenis akan dibahas mengenai berbagai hal yang ada di dalam game sejenis diantaranya meliputi storyline, gameplay, karakter, serta komponen-komponen apa saja yang ada dalam
(36)
game tersebut sehingga dapat menjadi acuan bagi kebutuhan yang akan dibangun. Berikut ini adalah ulasan mengenai game yang akan dibahas:
3.3.1 Analisis Game Balap Karung (game android, AGD games)
Game balap karung ini adalah salah satu perlombaan yang biasa dijumpai saat perayaan kemerdekaan Indonesia. Sebagai ciri khas dari balap karung, karakter memakai karung yang dipegang hingga hingga dada dan harus melangkah dengan cara melompat. Tampilan awal dari game balap karung ini seperti pada gambar III.1 sedangkan tampilan permainannya dapat dilihat pada gambar III.2.
Gambar III-1 Tampilan Awal Game Balap Karung
(37)
1. Gameplay
Dalam permainan ini ketika meng-klik tombol play akan langsung berada diarena permainan balap karung. Pemain harus meng-klik tombol kaki yang sudah disediakan untuk dapat melompat. Permainan ini mirip seperti game ayo dance, dimana pemain harus menginjakan kaki di arah panah seperti pada layar. Bila pemain dapat menyelesaikan permainan ini, maka akan membuka sebuah foto pahlawan yang tersembunyi. Dalam memainkan game ini pemain hanya perlu meloncat sejauh mungkin agar dapat menjadi posisi yang pertama dari lawan dengan meng-klik tombol kaki yang berwarna.
2. Tantangan
Dalam permainan ini tidak ada tantangan yang dapat membuat game ini lebih lebih menarik.
3. Komponen
Komponen yang tersedia dalam permainan ini adalah : 1. Highscore
2. Connect to facebook 3. Pengaturan
4. Play
5. daftar pembuat game balap karung 6. capture,dan
7. Tombol dalam permainan untuk menentukan loncatan.
3.3.2 Analisis Game Indonesia Merdeka (game android)
Permainan ini mengangkat tema kemerdekaan Indonesia. Dimana semua permainan yang ada di dalamnya adalah permainan-permainan khas 17 Agustus.
1. Storyline
Game ini menyediakan lima pilihan permainan khas event kemerdekaan dalam satu game, yaitu tarik tambang, balap kelereng, masukan pensil kedalam botol, balap karung, dan mengambil koin dari pepaya.
(38)
1. Tarik tambang
Pemain dan lawan ( masing-masing satu orang ) saling tarik menarik tambang untuk mendapatkan juaranya. Siapa yang dapat menjatuhkan lawan maka itulah pemenangnya. Tampilan permainan tarik tambang dari game Indonesia Merdeka dapat dilihat pada gambar III.3.
Gambar III-3 Tampilan Tarik Tambang 2. Balap Kelereng
Pemain perlu mengatur posisi kelereng agar tidak terjatuh karena efek dari berjalan dengan menekan dua tombol yang tersedia. Berikut ini adalah tampilan dari permainan balap kelereng yang terdapat dalam game Indonesia Merdeka yang dapat dilihat pada gambar III.4.
(39)
3. Memasukan Pensil kedalam botol
Pemain hanya perlu memasukan pensil kedalam botol. Dengan cara mengarahkan pensil yang digantung dan bergerak ke tengah botol agar dapat masuk. Pemain hanya diberikan waktu 1 menit.
4. Balap karung
Pemain hanya perlu menghindari batu yang ada dalam perjalanan. Bila pemain mengenai batu, maka akan terjatuh, bila pemain tidak menekan tombol bawah maka akan terjatuh. Tidak ada lawan dalam permainan ini. 5. Mengambil koin dari papaya
Pemain perlu mengambil koin yang sudah dimasukan ke papaya. Papaya ini akan secara otomatis bergerak ke kiri maupun kanan, sehingga pemain hanya perlu meng-klik koin tersebut ketika berada dekat dengan karakter.
2. Tantangan
1. Tarik tambang
Tidak ada (hanya saling menarik tambang dengan lawan). 2. Balap Kelereng
Tidak ada (hanya perlu mengatur posisi kelereng). 3. Memasukan Pensil kedalam botol
Bergeraknya pensil yang tidak beraturan sehingga menyulitkan untuk memasukkannya kedalam botol.
4. Balap karung
Pemain menghidari bebatuan yang ada dijalan. 5. Mengambil koin dari papaya
Papaya ini secara otomatis bergerak ke kiri maupun kanan, sehingga pemain hanya perlu meng-klik koin tersebut ketika berada dekat dengan karakter. 3. Komponen
Komponen yang terdapat dalam permainan ini adalah : 1. Pilih game
(40)
3. Maju 4. Pause
Berikut ini adalah tampilan utama pada game Indonesia Merdeka, yang dapat dilihat pada gambar III.5.
Gambar III-5 Tampilan Awal Game Indonesia Merdeka
Secara garis besar perbandingan kedua game dengan game yang akan dibangun adalah :
Tabel III-1 Perbandingan Game Sejenis dan Game yang Akan Dibangun
Game Balap
Karung
Game Indonesia
Merdeka
Game yang akan dibangun
Genre Game Side Scrolling Arcade dan Laga Arcade
Desain Grafis 2D tetapi warna,
control, dan animasi kurang variatif
2D warna dan animasi bervariatif, sedangkan control membutuhkan waktu yang lama
2D warna dan animasi serta control yang bervariatif
Storyline Alur cerita yang
menggambarkan keadaan ketika permainan balap karung diadakan
Alur cerita mengangkat dari tema 17 Agustusan tetapi permainan tidak mengangkat seperti kisah aslinya
Alur cerita mengangkat dari tema 17 Agustus dengan permainan sama seperti aslinya
Gameplay -Untuk
menggerakkan karakter, pemain harus men-tap tombol yang berwarna, layaknya
-Untuk menggerakan karakter, pemain harus men-tap tombol sesuai keadaan karakter,
-Untuk menggerakkan karakter, pemain hanya perlu menekan tombol yang telah
(41)
Tabel III-1 Perbandingan Game Sejenis dan Game yang Akan Dibangun bermain game let’s
dance.
-Untuk cara bermain balap karung
menggunakan metode side scrolling.
bila akan loncat maka harus ditekan tombol up dan ketika akan turun lagi maka harus menekan tombol down karena bila tidak karakter akan terjatuh.
-Untuk cara bermain balap karung, karakter terlihat dari belakang sehingga tidak dapat melihat ekspresi dari karakter.
disediakan,
layaknya bermain ding dong
-Untuk cara bermain balap karung, karakter terlihat dari depan sehingga ekspresi dapat dilihat dengan jelas oleh pemain.
Basis Mobile Android Mobile Android Mobile Android
Dari hasil perbandingan pada tabel III.1 tersebut maka keunggulan dari game 17 Agustus ini adalah dalam menggerakkan karakter tidak menunggu lama untuk dapat menekan tombol dan dalam bentuk permainan yang memperlihatkan ekspresi pemain dari depan.
3.4 Analisis Game 17 Agustus berbasis Arcade
Game yang dibangun ini adalah single-player sehingga pemain hanya dapat memainkan game ini sendiri. Dalam game ini terdapat empat menu pilihan yaitu main/play, petunjuk/how to play, prestasi/achievement, keluar/exit.
3.4.1 Deskripsi Game
Game 17 Agustus berbasis Arcade merupakan nama aplikasi permainan ber-genre arcade yang akan dibuat. Game 17 Agustus adalah sebuah game yang menyediakan lebih dari satu permainan dalam satu aplikasi game. Game tersebut adalah balap kelereng, balap karung, dan tarik tambang. Pemain dapat memilih game yang disukai tanpa harus memainkan permainan yang lain terlebih dahulu. Dalam
(42)
game ini pemain akan mendapatkan tantangan yang berbeda dari game sejenis lainnya.
3.4.2 Storyline
Hari kemerdekaan Indonesia adalah hari yang bersejarah bagi rakyat Indonesia. Hari yang bersejarah ini jatuh pada tanggal 17 Agustus. Pada tanggal bersejarah ini rakyat Indonesia merayakannya dengan berbagai permainan seperti balap karung, balap kelereng, dan tarik tambang.
1. Balap Karung
Karakter yang diberikan dalam balap karung hanya ada 4, salah satunya adalah player, dan 3 adalah lawan/NPC. Karakter pemain harus melompat hingga menyentuh garis finish. Pada keadaan tertentu Bila pemain dapat memenangkan game ini, maka pemain akan dapat achievement.
2. Balap Kelereng
Sama halnya dengan balap karung. Karakter yang diberikan dalam balap kelereng ada 4, salah satunya adalah player, dan 3 adalah lawan/NPC. Setiap karakter akan saling berebut untuk menjadi yang pertama mencapai garis finish. Bila pemain dapat memenangkan game ini, maka pemain akan dapat achievement.
3. Tarik Tambang
Sedangkan dalam tarik tambang, karakter terdiri dari 2 team. Satu team adalah team pemain sedangkan team lainnya adalah team lawan. Setiap team mempunya 3 anggota. Pemain dan NPC harus tarik menarik tambang hingga titik yang ditentukan untuk menentukan team mana yang menang dan yang kalah.
3.4.3 Gameplay
Dalam permainan 17 Agustus ini kegiatan pemain adalah memilih dan mencoba permainan khas kemerdekaan. Akan ada beberapa tombol diantaranya adalah tombol menu permainan, achievement, bahasa Indonesia, bahasa inggris, dan pengaturan suara. Apabila pemain memilih bendera Indonesia maka tampilan akan berubah menjadi bahasa Indonesia sedangkan bila memilih bendera Inggris maka tampilan akan menjadi bahasa Inggris. Bila pemain memilih tombol main maka
(43)
pemain akan masuk ke satu tampilan dimana pemain dapat memilih satu diantara tiga permainan yang ada, yaitu balap karung, balap kelereng, dan tarik tambang. Setiap permainan mempunyai tingkat kesulitan yang berbeda. Berikut penjelasan gameplay dari masing-masing permainan:
1. Balap Karung
Ketika pemain memilih untuk memilih permainan ini, pemain hanya perlu memilih start (mulai) atau kembali ke pilihan permainan. Karakter pemain dapat dibedakan dari tanda yang ada di atas karakter. Memainkan balap karung ini hanya dengan menyentuh layar dari perangkat mobile pemain. Dalam permainan ini pemain akan menemukan tantangan berupa batu yang dapat menghambat perjalanan pemain. Selain itu kecepatan pemain dalam bermain akan mempengaruhi kemenangan. Semakin cepat maka semakin besar kesempatan untuk menang. Dalam tampilan permainan ini akan disediakan indicator yang berfungsi untuk melihat seberapa jauh posisi garis finish. Jadilah yang tercepat agar kemenangan menjadi milikmu.
2. Balap Kelereng
Tidak jauh berbeda dengan permainan balap karung. Ketika pemain memilih start (mulai) maka pemain akan langsung dapat memainkan balap kelereng. Karakter pemain dapat dibedakan dari tanda yang ada di atas kepalanya. Menjalankan karakternya pemain hanya harus meng-tap layar agar dapat menggerakkan karakternya. Akan disediakan indicator untuk dapat melihat jarak antara pemain dengan garis finish. Pemain harus waspada dalam memainkan permainan ini karena kelereng akan secara otomatis bergerak ke kiri maupun kekanan. Kesabaran, ketelitian, juga kecepatan menjadi kunci dari permainan ini untuk menjadi juara. 3. Tarik Tambang
Dalam permainan ada dua grup yang akan berlawanan. Salah satunya adalah grup dari pemain. Sama halnya seperti permainan tarik tambang pada umumnya, pemain akan saling tarik menarik tambang dengan lawan. Pemain hanya perlu men-tap layar handphone-nya untuk dapat menggerakan karakter (menarik tambang).
(44)
3.4.4 Komponen dari Game 17 Agustus berbasis Arcade
Dari observasi yang telah dilakukan, maka didapatkan komponen-komponen yang digunakan dalam game 17 Agustus berbasis arcade diantaranya dapat dilihat pada tabel III.2 berikut.
Tabel III-2 Analisis Komponen Game 17 Agustus
No Komponen Keterangan
1 Suara Digunakan sebagai suara latar saat game dijalankan, tombol ditekan, dan effect-efect lainnya.
2 Tombol Game ini terdiri dari beberapa tombol berikut : a. Tombol pilih permainan (play)
b. Tombol achievement c. Tombol sound
d. Tombol bendera Indonesia e. Tombol bendera Inggris
Dari berbagai macam tombol yang ada, beberapa tombol diantaranya memiliki fungsi sebagai media penghubung dari satu tampilan ke tampilan lainnya. 3 Nilai Game ini memiliki sistem penilaian yang mana
didapat dari kelincahan pemain menghindari tantangan dan kecepatan mencapai garis finish. 4 Grafis Game ini dibangun dengan grafis 2D (2 dimensi) 5 Warna Bentuk tampilan game ini terdiri dari kombinasi
berbagai macam jenis warna.
Dari perbandingan game sejenis dengan game 17 Agustus yang akan dibangun maka kelebihan dari game ini adalah :
1. Desain
Game 17 Agustus mempunyai grafis yang lebih menarik mulai dari warna dan bentuk karakter.
2. Tantangan
Dalam setiap permainan yang disediakan tantangan tidak akan terlewatkan karena setiap permainan ada tantangan masing-masing.
3.4.5 Analisis Tingkat Kesulitan
Dalam game 17 Agustus ini setiap permainan yang disediakan akan mempunyai kesulitan tersendiri.
(45)
1. Balap karung, dalam permainan ini pemain harus berusaha menang dengan melompat secepatnya dengan menekan tombol yang telah disediakan, NPC sewaktu-waktu akan menambah kecepatannya bila merasa telah tersusul.
2. Balap Kelereng, dalam permainan ini kelereng akan bergerak tak beraturan ke kiri dan ke kanan sehingga membutuhkan ketelitian dan kesabaran dari pemain, sama halnya seperti balap karung, pemain harus berusaha berjalan secepatnya dengan menekan tombol yang telah disediakan, NPC sewaktu-waktu akan menambah kecepatan bila merasa telah tersusul.
3. Tarik tambang, dalam permainan ini pemain akan bermain team dengan kekuatan yang telah disediakan, pemain harus menyaingi kekuatan team lawan untuk dapat memenangkan permainan ini.
3.5 Penerapan Metode Finite State Machine
Finite State Machine (FSM) adalah salah satu Artificial Intelligence(AI) yang bisa diaplikasikan pada game. FSM cocok digunakan pada permainan arcade-shooter karena dapat mengubah mood dari objek lainnya (musuh) ketika mengetahui bahwa dirinya dalam bahaya. Hal ini menjadikan objek musuh memiliki naluri bertahan hidup. Prinsip kerja dari FSM ini ada tiga yaitu state (keadaan), event (kejadian) dan action (aksi). Adapun FSM yang terdapat di dalam aplikasi game ini akan diimplementasikan pada NPC (non playable character) untuk menentukan perilaku atau aksi yang akan dilakukan NPC. Adapun konfigurasi FSM yang akan digunakan untuk menentukan perilaku pada NPC dapat dinyatakan sebagai berikut :
Q = {q1,q2,q3}
∑ = {2,4,8}
S = q1 F = {q2}
Dimana pada game 17 Agustus yang akan dibangun, Q merupakan himpunan state yang terdiri dari aksi-aksi terdapat pada NPC, q1 mewakili keadaan diam, q2 mewakili keadaan normal, q3 mewakili cepat. ∑ merupakan himpunan simbol input.
(46)
Dalam hal ini jarak atau parameter adalah simbol input yang akan digunakan. Adapun simbol masukan itu adalah 4,8.
S adalah state awal yaitu q1 dan F adalah state akhir yaitu, (normal). Dan berikut adalah fungsi transisi dalam perancangan game 17 Agustus :
δ (q1, 4)=q2 δ (q2, 4)=q3 δ (q3, 4)=q2 δ (q1, 8)=q3 δ (q2, 8)=q3 δ (q3, 8)=q3
Fungsi transisi di atas kemudian dapat digambarkan dengan menggunakan Finite State Diagram (FSD) untuk q1 yang mewakili keadaan diam seperti pada gambar III.6 berikut :
Gambar III-6 FSD q1 untuk NPC
Kemudian q2 yang mewakili keadaan normal yang digambarkan seperti pada gambar III.7 berikut :
(47)
Selanjutnya q3 yang mewakili keadaan cepat yang digambarkan menggunakan Finite State Diagram (FSD) seperti pada gambar III.8 berikut :
Gambar III-8 FSD q3 untuk NPC
Lingkaran pada FSD menyatakan state. Dimana setiap state mewakili aksi NPC pada permainan. Lingkaran bergaris tunggal berarti sementara dan lingkaran bergaris ganda berarti state akhir. Lingkaran diberi label sesuai dengan nama state tersebut. Anak panah menyatakan transisi yang terjadi. Label yang terdapat anak panah menyatakan event yang membuat transisi dari suatu state ke state lain. Satu anak panah diberikan label start untuk menyatakan awal mula transisi dilakukan. Langkah-langkah penerapan fsm pada lawan:
Pseudo Code :
Function State Deklarasi {tidak ada} Algoritma
if kar_k1 collision ← true then kar_k2 ← cepat
kar_k4 ← cepat
else if kar_k2 collision ← true then kar_k1 ← cepat
(48)
kar_k2 ← normal kar_k4 ← normal
else if kar_k4 collision ← true then kar_k1←cepat
kar_k4 ← cepat kar_k4 ← normal
else if kar_k3 collision ← true then kar_k1 ← cepat
kar_k4 ← cepat kar_k2 ← cepat endif
endif endif endif
3.6 Penerapan Algoritma Fuzzy Logic
Pada game ini fuzzy logic digunakan menentukan kondisi perilaku yang dilakukan oleh Non Player Character (NPC). Dengan adanya fuzzy logic masing-masing NPC dapat merubah perilaku sesuai variabel masukan. Metode fuzzy yang digunakan dalam game ini adalah metode sugeno. Analisis fuzzy logic tahap-tahapannya sebagai berikut ini.
3.6.1 Variabel Fuzzy
Didalam game ini digunakan 3 variabel dalam fungsi fuzzy, yaitu variabel Jarak dan kekuatan sebagai variabel input, sementara varibel outputnya yaitu variabel keputusan.
3.6.2 Nilai Linguistik
Dari tiga variabel yang digunakan, maka nilai linguistikya sebagai berikut: 1. Variabel Jarak, dibagi menjadi 3 himpunan fuzzy yaitu: Dekat, Sedang dan
Jauh.
(49)
3. Variabel Keputusan, dibagi menjadi 3 himpunan fuzzy yaitu: Tarik Lemah, Tarik Normal dan Tarik Kuat.
3.6.3 Fuzzyfikasi
Fuzzyfikasi adalah proses memetakan nilai crips (numerik) ke dalam himpunan fuzzy dan menentukan derajat keanggotaanya. Secara garis besar pemetaan nilai crips ke dalam himpunan fuzzy dijelaskan dengan gambar III.9.
JARAK (3)
Darah (2)
RULE BASED (6)
KEPUTUSAN (3)
Gambar III-9 Fuzzyfikasi
Berdasarkan Fuzzy Interface system diatas maka pemetaan himpunan fuzzy adalah sebagai berikut:
1. Variabel Jarak, terbagi menjadi 3 input yaitu: Dekat, Sedang dan Jauh. Range nilai untuk variabel Jarak antara 0-100 akan dijelaskan sebagai berikut ini : 1. Dekat = 0-40
2. Sedang = 30-70 3. Jauh = 60-100
(50)
Gambar III-10 Grafik Input Variabel Jarak
Pada gambar III.10 Menunjukan sebuah grafik Jarak yang mempunyai range nilai dari 0 – 100, setiap nilai linguistik dari variabel jarak seperti Dekat, Sedang dan Jauh mempunyai nilai fuzzyfikasi yang berbeda-beda. Perhitungan nilai fuzzyfikasi didapatkan dari beberapa fungsi, fungsi yang digunakan pada Variable Jarak ada 2 yaitu fungsi Trapesium dan Fungsi Segitiga.
2. Variabel Kekuatan, terbagi menjadi 2 input yaitu : Lemah dan Kuat. Range nilai untuk variabel Kekuatan antara 0-100 akan dijelaskan sebagai berikut ini : 1. Lemah = 0-70
2. Kuat = 30-100
(51)
Pada gambar III.11 menunjukan sebuah grafik kuatan yang mempunyai range nilai dari 0-100, setiap nilai linguistik dari variabel kekuatan seperti lemah dan kuat mempunyai nilai fuzzyfikasi yang berbeda-beda. Fungsi yang digunakan pada Variable kekuatan yaitu fungsi Trapesium.
3. Variabel Keputusan, terbagi menjadi 3 output yaitu : Tarik Lemah, Tarik Normal dan Tarik Kuat. Range nilai untuk variabel Keputusan antara 0-90 akan dijelaskan sebagai berikut ini :
1. Tarikan Lemah = 0-30 2. Tarikan Normal = 30-60 3. Tarikan Kuat = 60-90
Gambar III-12 Grafik Variabel Keputusan
Pada gambar III.12 menunjukan sebuah grafik keputusan yang mempunyai range nilai dari 0 – 90, setiap nilai lingustik mempunyai nilai fuzzyfikasi yang berbeda-beda. Perhitungan nilai fuzzyfikasi didapatkan dari beberapa fungsi, fungsi yang digunakan pada Variable Jarak ada 2 yaitu fungsi Trapesium dan Fungsi Segitiga.
(52)
3.6.4 Fuzzy Rules
Kaidah fuzzy (rules) atau aturan-aturan yang diterapkan dalam penentuan perilaku NPC berjumlah enam rules yaitu:
1. If (Jarak is Dekat) and (Kekuatan is Lemah) then (Perilaku NPC is Tarik Lemah)
2. If (Jarak is Dekat) and (Kekuatan is Kuat) then (Perilaku NPC is Tarik Kuat)
3. If (Jarak is Sedang) and (Kekuatan is Lemah) then (Perilaku NPC is Tarik Lemah)
4. If (Jarak is Sedang) and (Kekuatan is Kuat) then (Perilaku NPC is Tarik Kuat)
5. If (Jarak is Jauh) and (Kekuatan is Lemah) then (Perilaku NPC is Tarik Normal)
6. If (Jarak is Jauh) and (Kekuatan is Kuat) then (Perilaku NPC is Tarik Kuat)
3.6.5 Agregasi dan Defuzzyfikasi
Agregasi untuk menentukan keluaran semua rules yang dikombinasikan menjadi sebuah fuzzy set tunggal. Defuzzyfikasi merupakan proses pemetaan besaran dari himpunan fuzzy set yang dihasilkan ke dalam bentuk nilai crisp.
Defuzzifikasi pada metode Sugeno adalah dengan menghitung center of single-ton atau titik pusat nilai crisp dengan metode rata-rata (average).
.
* i zi
z
i
z*=titik pusat nilai crisp
i
=derajat keanggotaan masing-masing variabel zi = nilai domain pada variabel linguistik z.
(53)
3.6.6 Contoh Kasus
Dalam contoh kasus ini akan dijelaskan langkah-langkah perhitungan Fuzzy Logic sesuai input nilai yang diberikan. Misalkan untuk variabel Jarak memiliki inputan dengan nilai 65 sedangkan untuk variabel kekuatan memilki inputan dengan nilai 31. Untuk lebih jelasnya perhitungannya maka langkah-langkahnya sebagai berikut :
Ada 2 variabel yang akan dimodelkan, yaitu :
1. Variabel Jarak yang terdiri dari 3 himpunan yaitu Dekat, Sedang dan Jauh dengan input yaitu 65 yang digambarkan sebagai berikut :
Gambar III-13 Grafik Variabel Jarak dengan Input 65
Pada gambar III-13 terdapat nilai keanggotaan yang berbeda disetiap himpunannya, berikut ini perhitungan untuk menentukan nilai keanggotaan dari masing-masing himpunannya :
a. Himpunan Dekat
{
Nilai keanggotaan dari Himpunan Dekat adalah 0 karena range nilai dari himpunan dekat adalah 0 sampai 40, maka 65 tidak termasuk keanggotaan dari himpunan Dekat.
(54)
b. Himpunan Sedang
{
Nilai keanggotaan dari Himpunan Sedang adalah 0.25 karena range nilai dari himpunan Sedang adalah 30 sampai 70, maka 65 termasuk keanggotaan dari himpunan Sedang yang mempunyai nilai yang tidak pasti.
c. Himpunan Jauh
{
Nilai keanggotaan dari Himpunan Jauh adalah 0,2 karena range nilai dari himpunan Sedang adalah 60 sampai 100, maka 65 termasuk keanggotaan dari himpunan Jauh yang mempunyai nilai yang tidak pasti.
Dari hasil perhitungan fungsi Keanggotaan yang memakai fungsi Trapesium dan fungsi Segitiga untuk mencari nilai keanggotaan dari variabel Jarak, maka didapatkan nilai derajat keanggotaan dari masing-masing himpunan yaitu :
1. Fungsi Keanggotaan Dekat dengan inputan [65] = 0 2. Fungsi Keanggotaan Sedang dengan inputan [65] = 0,25 3. Fungsi Keanggotaan Jauh dengan inputan [65] = 0,2
2. Variabel Kekuatan yang terdiri dari 2 himpunan yaitu Lemah dan Kuat dengan input yaitu 31 yang digambarkan seperti gambar III-14:
(55)
Gambar III-14 Grafik Variabel Kekuatan dengan Input 31
Pada gambar III-14 terdapat Nilai Keanggotaan yang berbeda disetiap himpunannya, berikut ini perhitungan untuk menentukan nilai keanggotaan dari masing-masing himpunannya :
a. Himpunan Lemah
{
{
Nilai keanggotaan dari Himpunan Lemah adalah 0,97 karena range nilai dari himpunan dekat adalah 0 sampai 70, maka 31 termasuk keanggotaan dari himpunan lemah yang mempunyai nilai yang tidak pasti.
b. Himpunan Kuat
{
(56)
Nilai keanggotaan dari himpunan kuat adalah 0,02 karena range nilai dari himpunan sedang adalah 30 sampai 100, maka 31 termasuk keanggotaan dari himpunan banyak yang mempunyai nilai yang tidak pasti.
Dari hasil perhitungan fungsi keanggotaan yang memakai fungsi trapesium untuk mencari nilai keanggotaan dari variabel kekuatan, maka didapatkan nilai derajat keanggotaan dari masing-masing himpunan yaitu :
a. Fungsi Keanggotaan Lemah dengan inputan [31] = 0,97 b. Fungsi Keanggotaan Kuat dengan inputan [31] = 0,02
Setelah mendapatkan nilai derajat keanggotaan dari masing-masing variabel, maka nilai derajat keanggotaan tersebut dibandingkan sesuai dengan Rule. Dengan mencari nilai minimum untuk setiap rule yang dihitung dan mencari nilai Z dari masing-masing rule. Berikut ini perhitungan mencari nilai minimum dari masing masing nilai derajat yang dibandingkan sesuai dengan rule dan mencari nilai Z dari masing-masing rule.
1. Rule 1
If (Jarak is Dekat) and (Kekuatan is Lemah) then (Perilaku NPC is Tarik Lemah)
α-predikat1 = µjrkDekat And µkktnLemah
= min(µjrkDekat[65], µkktnLemah[31]) = min (0;0,97)
= 0
Nilai z1 = 30 – (0)*(30-15)
= 30
2. Rule 2
If (Jarak is Dekat) and (Kekuatan is Kuat) then (Perilaku NPC is Tarik Kuat)
α-predikat2 = µjrkDekat And µkktnKuat
= min(µjrkDekat[65], µkktnKuat[31]) = min (0;0,02)
(57)
Nilai z2 = 60 + (0)*(75-60)
= 60
3. Rule 3
If (Jarak is Sedang) and (Kekuatan is Lemah) then (Perilaku NPC is Tarik Lemah)
α-predikat3 = µjrkSedang And µkktnLemah
= min(µjrkSedang[65], µkktnLemah[31]) = min (0,25;0,97)
= 0,25
Nilai z3 = 30 – (0,25)*(30-15) = 26,25
4. Rule 4
If (Jarak is Sedang) and (Kekuatan is Kuat) then (Perilaku NPC is Tarik Kuat)
α-predikat4 = µjrkSedang And µkktnKuat
= min(µjrkSedang[65], µkktnKuat[31]) = min (0,25;0,02)
= 0,02
Nilai z4 = 60 + (0,02)*(75-60) = 60,3
5. Rule 5
If (Jarak is Jauh) and (Kekuatan is Lemah) then (Perilaku NPC is Tarik Normal)
α-predikat5 = µjrkJauh And µkktnLemah
= min(µjrkJauh[65], µkktnLemah[31]) = min (0,2;0,97)
= 0,2
Nilai z5 = 30 - (0, 2)*(45-30)
= 27
6. Rule 6
If (Jarak is Jauh) and (Kekuatan is Kuat) then (Perilaku NPC is Tarik Kuat)
α-predikat4 = µjrkJauh And µkktnKuat
= min(µjrkSedang[65], µkktnKuat[31]) = min (0,2;0,02)
(58)
= 0,02
Nilai z4 = 60 + (0,02)*(75-60) = 60,3
Setelah mendapatkan nilai dari setiap rule maka langkah selanjutnya adalah menentukan Defuzzyfikasi yaitu proses pemetaan dari hinpunan fuzzy set yang menghasilakan nilai crips dengan menggunakan metode sugeno yang akan menghasilkan suatu nilai crips untuk menentukan variabel keputusan.
.
* i zi
z
i
…… (3.
Jumlah yang dihasilkan oleh Defuzzyfikasi adalah 29,18 yang termasuk keanggotaan nilai himpunan Mengambil Kekuatan dari variabel Keputusan karena mempunyai range dari 0-30. Sesuai dengan contoh kasus yang dihasilkan dari nilai inputan variabel Jarak adalah 65 dan inputan variabel Kekuatan 31 maka menghasilkan nilai z* yaitu 29,18 jadi keputusan yang diambil oleh NPC adalah Tarik Lemah.
3.6.7 Pseudocode
Berikut adalah pseudocode Algoritma Fuzzy Logic. Algoritma Fuzzy Logic
{ Algoritma untuk memberikan keputusan kepada musuh } Deklarasi
Jarak : real
Kekuatan : integer Posisi player : real Algoritma
read (Jarak) if jarak > 40 then
(59)
write (‘jarak lemah’) else
if Jarak > 30 and < 70 then write (‘jarak sedang’) else
if Jarak > 60 and < 100 then write (‘jarak jauh’)
endif endif endif
read (Jarak) (Posisi target – Posisi player) read (Kekuatan)
if kekuatan < 70 then write (‘kekuatan lemah’) else
if kekuatan > 30 and < 100) then write (‘kekuatan kuat’)
endif endif
if defuzzyfikasi <30 then write (‘tarik lemah’)
if defuzzyfikasi > 30 and < 60 then write (‘tarik normal’)
if defuzzyfikasi >60 and <90 then write (‘tarik kuat’)
endif endif endif
(60)
3.7 Analisis Kebutuhan Non-Fungsional
Analisis non-fungsional merupakan analisis yang dibutuhkan untuk menentukan spesifikasi kebutuhan sistem. Spesifikasi ini juga meliputi elemen atau komponen-komponen apa saja yang dibutuhkan untuk sistem yang akan dibangun sampai dengan sistem tersebut diimplementasikan. Analisis kebutuhan ini juga merupakan spesifikasi masukan yang diperlukan sistem, keluaran yang akan dihasilkan sistem dan proses yang dibutuhkan untuk mengolah masukan sehingga menghasilkan suatu keluaran yang diinginkan.
Analisis kebutuhan sistem non-fungsional ini dijelaskan analisis kebutuhan perangkat lunak, analisis perangkat keras, dan analisis pengguna.
3.7.1 Analisis Perangkat Keras
Analisis perangkat keras digunakan untuk mengetahui spesifikasi perangkat keras untuk membangun aplikasi game 17 Agustus berbasis arcade. Berikut spesifikasi perangkat keras untuk menjalankan game 17 Agustus seperti pada tabel III.3 , III.4 dan III.5 dibawah ini.
Tabel III-3 Spesifikasi Perangkat Keras PC Untuk Pengembang
Nama Perangkat Spesifikasi
Processor Pentium® Dual Core
CPU T4400 @2.20GHz
RAM 1 GB
HDD 500 GB
Mouse 1 Unit
Pen Tablet/Graphic Tablet 1 Unit Tabel III-4 Spesifikasi Perangkat Keras Mobile untuk Pengembang
Nama Perangkat Spesifikasi
Platform Mobile Android
Processor NVIDIA Tegra 2 1 GHz dual-core
Memory 1 GB
Tabel III-5 Spesifikasi Perangkat Keras untuk Pengguna
Nama Perangkat Spesifikasi
Platform Mobile Android
Processor 1GHz
(61)
3.7.2 Analisis Perangkat Lunak
Perangkat lunak yang dipergunakan dalam pembuatan aplikasi yang akan dibangun menggunakan software dan tools berikut ini ;
Perangkat lunak yang digunakan Developer untuk membangun game dapat dilihat pada tabel III-6 dan III-7 dibwah ini.
Tabel III-6 Spesifikasi Perangkat Lunak bagi Pengembang (PC pembangun game)
Nama Perangkat Lunak Spesifikasi
Sistem Operasi Windows 7 Ultimate Tools Pembangun Karakter Adobe Illustrator CS6
Tools Pembangun Game Construct 2
Tabel III-7 Spesifikasi Perangkat Lunak bagi Pengembang (Perangkat Mobile)
Nama Perangkat Lunak Spesifikasi
Sistem Operasi Android v.4.2.2
Perangkat lunak yang dibutuhkan untuk User menjalankan atau menggunakan game ini dapat dilihat pada tabel III-8 berikut :
Tabel III-8 Spesifikasi Perangkat Lunak bagi Pengguna
Nama Perangkat Lunak Spesifikasi
Sistem Operasi Android gingerbread v.2.3.6
3.7.3 Analisis Pengguna
Ada 2 hal yang akan memudahkan pemain ketika memainkan game ini yaitu pengetahuan dan pengalaman, terutama pengetahuan dan pengalaman dalam memainkan game yang akan dibangun.
1. User Knowledge and Experience
Berikut ini klasifikasi knowledge an experience dari pengguna aplikasi terdapat pada tabel III.9.
Tabel III-9 Knowledge and Experience
Education Level Bisa digunakan oleh pelajar, mahasiswa, dan masyarakat awam.
(62)
pendidikan dengan reading level yang sedang.
Language Skill Bisa digunakan oleh pengguna yang mempunyai minimal kemampuan bahasa sedang.
Task Experience Bisa digunakan dengan pengalaman penggunaan mobile phone dan game yang sedang.
System Experience Bisa digunakan dengan pengalaman penggunaan mobile phone dan game yang sedang
Application Experience Bisa digunakan dalam semua sistem operasi android
2. User Physical Characteristic
Keadaan fisik seseorang mungkin akan berpengaruh pada penggunaan aplikasi game ini. Ada hal-hal yang harus diperhatikan juga terhadap user dari karakteristik fisiknya untuk dapat menggunakan aplikasi ini yaitu, color blind, handedness, dan gender.
Berikut ini klasifikasi user physical characteristic dari pengguna aplikasi terdapat pada tabel III-10.
Tabel III-10 User Physical Characteristic
Age 12 tahun ke atas
Gender Pria dan Wanita
3.8 Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional merupakan tindak lanjut dari analisis sistem. Tujuannya adalah untuk memberikan gambaran mengenai sistem yang akan dibuat. Tahap awal yang dilakukan dalam melakukan analisis berorientasi objek adalah dengan menggunakan UML (Unified Modeling Language). Dimana tahap-tahap perancangan yang dilakukan dalam membangun Game 17 Agustus Berbasis Arcade antara lain Use Case Diagram, Class Diagram, Sequence Diagram, dan Activity Diagram.
(63)
3.8.1 Model Use Case
Gambar III-15 Usecase Diagram Game 17 Agustus 3.8.2 Definisi Aktor dan Use Case
Definisi aktor yang terdapat pada tabel III.11 menjelaskan mengenai pengertian dari aktor yang terlibat dalam game 17 Agustus sedangkan definisi usecase pada tabel III.12 menjelaskan mengenai sistem yang berjalan ketika game 17 Agustus ini dijalankan.
Tabel III-11 Penjelasan Aktor
No Aktor Deskripsi
1 Pemain Aktor ini yang akan memainkan game 17 Agustus
Tabel III-12 Penjelasan Usecase
No Use Case Deskripsi
1 Mulai Permainan Usecase ini aktif ketika pemain memulai permainan 17 Agustus
2 Memilih Jenis Permainan Usecase ini digunakan untuk memilih permainan yang akan dimainkan oleh
(64)
3 Memilih Prestasi Usecase ini digunakan untuk memilih item yang akan dipakai oleh pemain untuk
karakter
4 Melihat Petunjuk Usecase ini digunakan untuk melihat petunjuk permainan
5 Memilih Bahasa Indonesia
Usecase ini digunakan bila user ingin memakai bahasa Indonesia 6 Memilih Bahasa Inggris Usecase ini digunakan bila user ingin
memakai bahasa inggris
7 Mengatur Suara Usecase ini digunakan untuk menyimpan setiap achievement yang telah didapatkan 8 Permainan Balap Karung Usecase ini digunakan untuk memilih
permainan balap karung 9 Permainan Balap
Kelereng
Usecase ini digunakan untuk memilih permainan balap kelereng
10 Permainan Tarik Tambang
Usecase ini digunakan untuk memilih permainan tarik tambang
11 Memilih Kumpulan Item Usecase ini digunakan untuk memilih item yang telah didapat
3.8.3 Skenario Use Case Memilih Permainan Nama Use Case: Memilih Jenis Permainan Skenario :
Tabel III-13 Skenario Usecase Memilih Permainan
Aksi Aktor Reaksi Sistem
Skenario Normal : Memilih Main dan Mulai 1. Memilih menu mulai/play
2. Menampilkan pilihan permainan Tabel III-13 Skenario Usecase Memilih Permainan
3. Memilih permainan balap karung
4. Menampilkan permainan balap karung
5. Memilih permainan balap kelereng
6. Menampilkan permainan balap kelereng
7. Memilih permainan tarik tambang
8. Menampilkan permainan tarik tambang
(1)
108
30% 40% 60% 80% 100%
58%
Gambar IV-11 Interpretasi Skor Pertanyaan 4
5. Apakah game ini sudah dapat mewakili permainan 17 Agustus yang tidak bisa dimainkan anak-anak?
Table IV-1 Responden Pertanyaan 5
Pertanyaan Jawaban Skor Responden S
5
Sangat Setuju 5 5 25
Setuju 4 14 56
Cukup Setuju 3 11 33
Kurang Setuju
2 0 0
Tidak Setuju 1 0 0
Jumlah 30 110
Berdasarkan hasil persentase nilai dapat disimpulkan bahwa penilaian terhadap tampilan grafis aplikasi game secara umum adalah 73,3% atau bisa dikategorikan sebagai sangat baik. Berikut kriteria interprestasi skor :
(2)
109 150% 120% 90% 60% 30% 73,3%
Gambar IV-12 Interpretasi Pertanyaan 5
6. Apakah game ini sudah dapat mewakili permainan 17 Agustus yang bisa dimainkan anak-anak?
Tabel IV-17 Responden Pertanyaan 6
Pertanyaan Jawaban Skor Responden S
5
Sangat Setuju 5 7 35
Setuju 4 17 68
Cukup Setuju 3 6 18
Kurang Setuju
2 0 0
Tidak Setuju 1 0 0
Jumlah 30 121
Berdasarkan hasil persentase nilai dapat disimpulkan bahwa penilaian terhadap tampilan grafis aplikasi game secara umum adalah 80,7% atau bisa dikategorikan sebagai sangat baik. Berikut kriteria interprestasi skor :
(3)
110
30% 60% 90% 120% 150%
80,7%
Gambar IV-13 Interpretasi Pertanyaan 6 4.4.5 Kesimpulan pengujian Beta
Dari pertanyaan yang sudah diajukan dapat disimpulkan bahwa game yang telah dibangun ini mempunyai grafis yang sudah cukup baik, tetapi dari segi tantangan dan AI belum dapat memuaskan pengguna karena masih kurang penerapannya dalam game ini selain itu game 17 Agustus ini sudah dapat mewakili permainan yang bisa dimainkan maupun yang belum bisa dimainkan anak-anak saat perayaan kemerdekaan.
(4)
111
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil implementasi dan pengujian game 17 Agustus berbentuk arcade dapat diambil sebuah kesimpulan sebagai berikut :
1. Game yang dibangun sudah dapat mewakili permainan 17 Agustus yang bisa maupun tidak bisa diikuti anak-anak.
2. Game yang dibangun sudah mempunyai tampilan yang baik dan menarik.
5.2 Saran
Dari semua hasil yang telah dicapai saat ini, masih mempunyai beberapa kekurangan. Disarankan untuk menambahkan fitu-fitur yang dapat melengkapi pada game untuk pengembang. Diantaranya adalah :
1. Pengembangan tantangan pada game 17 Agustus sehingga game ini mempunyai tantangan ketika bermain. Tantangan ini berupa batu atau benda lain yang dapat menghambat laju pemain maupun NPC.
2. Pengembangan AI yang diterapkan pada game 17 Agustus agar game ini lebih menarik lagi. AI yang sudah diterapkan yaitu FSM yang memerlukan pengembangan untuk langkah NPC agar lebih teratur dalam melangkah dan
Fuzzy logic yang memerlukan pengembangan agar pemainan dari tarik tambang lebih nyata.
(5)
(6)