Tempat & Tanggal Lahir : Indramayu, 21 Maret 1992 Jenis Kelamin : Laki - Laki
Tinggi Badan : 175cm
Berat Badan : 85kg
Kewarganegaraan : Indonesia
Status : Belum Kawin
Alamat : Jl. Raya Wanguk RT 06 RW 02 Kec.Anjatan Kab Indramayu
Agama : Islam
Telepon : 08987440930
Alamat Email : [email protected]
PENDIDIKAN FORMAL
1997 – 2003 : SDN Bunut Lor Indramayu 2003 – 2006 : SMPN 1 Haurgeulis
2006 – 2009 : SMAN 1 Anjatan
2009 – 2014 : Program Studi S1 Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia
PENDIDIKAN NON FORMAL
2006 – 2009 : - Pengurus OSIS SMAN 1 Anjatan - Anggota Pramuka SMAN 1 Anjatan - Anggota Paskibra SMAN 1 Anjatan 2009 – 2014 : - Pengurus HMIF UNIKOM
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
WIJAYA RAMDHANI
10109501
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
Assalammu’alaikum Wa Rohmatullohi Wa Barokatuh.
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 Game 2D Legenda Gatotkaca Berbasis Dekstop”. Tidak lupa juga, shalawat beserta salam semoga dicurahlimpahkan kepada baginda Nabi Muhammad SAW.
Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia.
Penulis menyadari bahwa skripsi ini masih banyak kekurangan dari berbagai macam hal. Namun berkat bantuan dan bimbingan dari beberapa pihak akhirnya skripsi ini dapat diselesaikan tepat pada waktunya. Karena itu pada kesempatan ini, penulis ingin mengucapkan banyak terima kasih kepada :
1. Allah SWT, yang telah memberikan rahmat dan hidayah-nya kepada penulis sehingga dapat menyelesaikan skripsi ini dengan baik.
2. Nabi Muhammad SAW sebagai junjungan yang telah menyampaikan wahyu Allah.
3. Kedua orang tua, Bapak Tawur Ibrahim, S.E., Ibu Suimah yang selalu senantiasa mendoakan penulis sepanjang waktu, memberikan pengertian diantara kekhawatirannya, dan memberikan semangat dibarengi dengan
do’a yang tidak ada hentinya serta memberikan dorongan baik moril
iv
Informatika Universitas Komputer Indonesia.
6. Yth. Ednawati Rainarli, S.Si., M.Si., selaku pembimbing dan Penguji 2 yang telah memberikan pengarahan dan masukan-masukan yang berharga
kepada penulis dalam penyusunan Skripsi ini.
7. Yth. Galih Hermawan, S.Kom., M.T., selaku Dosen Penguji 1.
8. Yth. Adam Mukharil Bachtiar, S.Kom., M.T., selaku Dosen Penguji 3 9. Yth. Utami Dewi W, S.Kom., selaku dosen wali kelas IF-12 angkatan
2009 .
10.Rekan-rekan mahasiswa Program Studi Teknik Informatika angkatan 2009 yang satu perjuangan skripsi. Arie, Deni, Fajar, Gumilar, Pardini, Dwi, Rifki, Lifardi, Ridlo khususnya rekan-rekan mahasiswa dari kelas IF-12. 11.Sahabat-sahabat D’Vag Squad: Dikot, Ivan, Melfin, Ridwan, Rauzal, Idris,
Christian, Edi, Hilma yang telah banyak membantu dan memotivasi. Semoga kalian segera menyusul lulus dari UNIKOM.
12.Sahabat-sahabat yang dipertemukan sejak SMA: Sanita, Djaelani, Ifa yang selalu memberikan semangat dan motivasi kepada penulis.
13.Seluruh dosen pengajar dan staff tata usaha.
14.Semua pihak yang telah membantu dalam menyelesaikan skripsi ini yang tidak bisa disebutkan satu persatu oleh penulis.
Akhir kata penulis hanya berharap semoga skripsi ini dapat bermanfaat bagi penulis dan para pembaca umumnya. Wassalamu’alaikum Wr. Wb.
Bandung, 25 Februari 2014
Penulis
v
2.3.1. Implementasi Kecerdasan Buatan ... 13
2.3.2. Kecerdasan Buatan Pada Game ... 14
2.4. Pemrograman Berbasis Objek ... 18
2.5. UML (Unified Modeling Language) ... 21
2.5.1. Diagram UML ... 22
2.6. Construct 2 ... 23
2.7. Corel Draw ... 24
2.8. Teknik Pengumpulan Data ... 25
2.9. Metode Pengujian Perangkat Lunak ... 27
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 29
3.1.Analisis Sistem ... 29
3.1.1. Analisis Masalah ... 29
3.1.2. Analisis Game Sejenis ... 29
3.1.3. Analisis Game yang Akan Dibangun ... 32
3.1.4. Analisis Algoritma A* ... 35
3.1.5. Analisis Kebutuhan Non-Fungsional ... 44
3.1.6. Analisis Kebutuhan Fungsional ... 47
3.1.6.1. Identifikasi Aktor ... 47
3.1.6.2. UseCaseDiagram ... 47
3.1.6.3. Definisi Aktor ... 48
3.1.6.5. Use Case Skenario ... 49
3.1.6.6. ActivityDiagram ... 52
3.1.6.7. SequenceDiagram ... 58
3.1.6.8. ClassDiagram... 64
3.2.Perancangan Sistem ... 66
3.2.1. Perancangan Komponen Game ... 66
3.2.2. Perancangan Struktur Menu ... 70
3.2.3. Perancangan Antarmuka... 71
3.2.4. Perancangan Pesan ... 74
3.2.5. Jaringan Semantik ... 74
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 75
4.1.Implementasi ... 75
4.1.1. Implementasi Perangkat Keras ... 75
4.1.2. Implementasi Perangkat Lunak ... 75
4.1.3. Implementasi Antarmuka ... 75
4.1.4. Implementasi Pesan ... 79
4.2.Pengujian Sistem ... 80
4.2.1. Pengujian Alpha ... 80
4.2.2. Pengujian Betha ... 81
BAB 5 KESIMPULAN DAN SARAN... 85
5.1.Kesimpulan ... 85
5.2.Saran ... 85
86 Pewayangan II, Yogyakarta.
[2] Santoso, Bhangga Adi Putra (2011). Perancangan Serial Animasi Wayang Mahabharata sebagai Media Pelestarian Kesenian Wayang Indonesia dengan
Konsep Genre `Action Comedy`. Tugas Akhir Program Studi Desain Komunikasi Visual ITS, Institut Teknologi Sepuluh November, Surabaya [3] Pemerintah abai, Seni Wayang makin tergilas pertunjukkan global,
http://radioglobalfmbali.com/article/121851/pemerintah-abai-seni-wayang-makin-tergilas-pertunjukan-global.html di akses pada tanggal 1 Oktober 2013 pukul 20.26 WIB.
[4] Game Theory (Teori Permainan),
http://yasinta.net/game-theory-teori-permainan/ di akses 20 Desember 2013 pukul 23.38 WIB.
[5] Putra. Jenis- Jenis Game di Sekitar Kita.
http://www.gamexeon.com/forum/console-game-lounge/57020-jenis-jenis-game-sekitar-kita.html, diakses 5 Oktober 2013 pukul 23.30 WIB.
[6] http://www.esrb.org/ratings/ratings_guide.jsp#descriptors dikases pada
tanggal 7 oktober 2013 pukul 08.52 WIB.
[7] Suyanto. (2007). Artificial Intelligence Searching, Reasoning, Planning and
Learning. Informatika, Bandung.
[8] Riftadi, Mohammad (2007). Variasi Penggunaan Fungsi Heuristik dalam Pengaplikasian Algoritma A*. Jurnal Teknik Informatika Institut Teknologi Bandung.
[9] Widodo, Prabowo Pudjo, Herlawati (2011). Menggunakan UML. Informatika, Bandung.
[11] P. Flynt, John. (2005), Software Engineering for Games Developer, Thomson Course Technology PTR, Boston.
[12] Fowler, Martin (2004). UML Distilled, a brief guide to the standard object modeling languange, Third Edition, Addison-Wesley Professional. Boston. [13] Al Fatta, Hanif (2007). Pengetesan, Implementasi dan Pemeliharaan Sistem.
STMIK AMIKOM, Yogyakarta.
[14] Kegunaan Corel Draw
http://www.anneahira.com/kegunaan-corel-draw.htm di akses 10 Oktober
2013 pukul 10.15 WIB
1
Menurut Pranoedjoe Poespaningrat “Wayang purwa merupakan hasil seni tradisi yang sudah melewati sejarah yang sangat panjang. Disebutkan bahwa pertunjukan bayang-bayang di Indonesia telah berlangsung sejak tahun 1500 SM”. Namun sekarang ini kesenian wayang mulai kehilangan pasarnya dikarenakan hadirnya bentuk-bentuk kesenian modern yang telah mampu meminggirkan berbagai jenis hiburan lokal termasuk wayang. Seperti yang disebutkan oleh Soedarsono “Kehidupan seni pertunjukan tradisional yaitu seni pertunjukan wayang pada jaman modern atau jaman industri ini mendapat dua saingan berat yaitu seni pertunjukan modern dan seni pertunjukan massa”[1].
Berdasarkan hasil kuesioner yang diberikan kepada remaja yang berusia lebih dari 13 tahun, banyak remaja yang mengenal karakter Gatotkaca dengan kesaktiannya yang luar biasa dan memiliki sebutan otot kawat tulang besi dalam cerita pewayangan akan tetapi tidak mengetahui cerita hidup Gatotkaca. Padahal banyak sifat-sifat yang bisa di contoh dari Gatotkaca yang salah satunya yaitu sifat pemberani. Jika dibandingkan dengan karakter asing yang memiliki kesaktian mirip dengan Gatotkaca yaitu Superman, banyak generasi muda yang lebih menyukai Superman daripada Gatotkaca. Hal ini sesuai dengan hasil survey
dari Bhangga Adi Putra Santoso yang menyimpulkan bahwa “tingkat pengetahuan dan minat generasi muda Indonesia saat ini tentang tokoh-tokoh dan cerita
wayang masih rendah” [2].
Saat ini sudah ada game yang mengangkat tema seni pewayangan, salah satunya yaitu game Abimanyu Sang Ksatria Mahabrata. Dalam game Abimanyu Sang Ksatria Mahabrata yang mengangkat tema pewayangan namun tidak mengambil cerita asli tokoh pewayangan di dalam game. Padahal teknologi game
wayang. Teknologi game yang dikembangkan secara positif maka akan menghasilkan hasil yang positif juga, sehingga dengan ide kreatif ini diharapkan dapat dijadikan sebagai salah satu media untuk melestarikan kebudayaan pewayangan Indonesia.
Dari permasalahan inilah akan dibangun sebuah game yang berkaitan dengan
cerita pewayangan Indonesia dengan judul “PEMBANGUNAN GAME 2D LEGENDA GATOTKACA BERBASIS DEKSTOP”. Sehingga masalah yang dapat dilihat dari latar belakang tersebut dapat teratasi.
1.2 Identifikasi Masalah
Berdasarkan uraian pada latar belakang masalah, maka identifikasi masalah yaitu banyak remaja yang mengenal karakter Gatotkaca, akan tetapi tidak mengetahui cerita hidup Gatotkaca.
1.3 Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah membangun game yang mengambil sepenggal cerita tokoh pewayangan Gatotkaca.
Sedangkan tujuan yang ingin dicapai dalam penelitian ini yaitu mengenalkan kembali cerita pewayangan khususnya cerita kehidupan Gatotkaca.
1.4 Batasan Masalah
Dalam penulisan penelitian ini terdapat batasan-batasan, agar permasalahan tidak terlalu melebar adapun batasan-batasan yang telah di tentukan adalah sebagai berikut :
1. Cerita legenda Gatotkaca yang di ambil yaitu dari Gatotkaca kecil (Jabang
Tetuka) menuju dewasa, dengan sumber ceritanya dari halaman wayangprabu.com.
2. Game yang dibangun adalah game berbasis dekstop.
3. Game yang dihasilkan multi genre yaitu beat ‘em up, labirin, dan shoot ‘em up. 4. Grafis yang disajikan dalam game ini adalah grafis 2D.
6. Sasaran usia pengguna umur >13 tahun
7. Kecerdasan buatan yang digunakan yaitu Algoritma A*.
8. Metode analisis dalam pembangunan game ini adalah metode OOAD (Object Oriented Analisys Design).
1.5 Metodologi Penelitian
Dalam rangka mendapatkan data atau informasi pendukung dalam penelitian ini, metodologi penelitian yang digunakan adalah metode deskriptif. Metode deskriptif adalah metode penelitian yang meneliti suatu kondisi, suatu pemikiran ataupun suatu peristiwa masa sekarang yaitu dengan cara melakukan kuesioner terhadap sekelompok orang.
1.5.1 Tahap Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah
sebagai berikut : a. Studi pustaka
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper, serta bacaan-bacaan yang terkait dengan pembangunan game Legenda Gatotkaca. b. Kuesioner
Kuesioner adalah sebuah alat pengumpulan data yang nantinya data tersebut akan diolah untuk menghasilkan informasi yang dapat menjawab permasalahan yang dijelaskan dalam latar belakang masalah. Kuesioner di tujukan kepada sekelompok remaja dengan usia lebih dari 13 tahun.
1.5.2 Tahap Pembangunan Perangkat Lunak
Dalam membangun game Legenda Gatotkaca ini, digunakan metode
pengembangan perangkat lunak secara Waterfall. Menurut Roger S Pressman model waterfall terdapat 6 tahapan yang meliputi:
a. Analisis (Analysis)
perangkat keras, menganalisis kebutuhan perangkat lunak dalam pembangunan game.
b. Perancangan (Planning)
Perancangan adalah tahap perancangan sistem, perancangan antarmuka, perancangan game yang akan dibangun.
c. Desain (Design)
Desain adalah tahap menggambarkan karakter-karakter game, baik itu hero maupun background sebagai map yang akan digunakan.
d. Pengkodean (Coding)
Pengkodean adalah tahap penerjemahan data atau pemecahan masalah yang telah dirancang ke dalam bahasa pemrograman.
e. Pengujian (Testing)
Pengujian adalah tahap pengujian alpha dan pengujian beta terhadap game yang dibangun.
f. Perawatan (Maintenance)
Perawatan adalah tahap perawatan terhadap game yang telah dibangun dengan melakukan beberapa pemeliharaan secara berkala.
1.6 Sistematika Penulisan
Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut :
BAB I PENDAHULUAN
Menguraikan tentang latar belakang masalah, identifikasi masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, serta sistematika penulisan. BAB II. LANDASAN TEORI
Membahas berbagai konsep dasar game, pengertian game, penjelasan yang berkaitan dengan game komputer, klasifikasi game, kecerdasan buatan, metode kecerdasan yang digunakan yaitu algoritma A*, tools yang akan digunakan dalam pembuatan Game Legenda Gatotkaca yaitu constuct 2 dan corel draw, serta teknik pengumpulan data.
BAB III. ANALISIS MASALAH DAN PERANCANGAN
Bab ini menjelaskan tentang analisis sistem, analisis masalah, analisis game
sejenis, analisis game yang akan dibangun, storyline, gameplay, analisis kebutuhan fungsional, analisis kebutuhan non-fungsional, analisis kebutuhan
perangkat lunak, analisis kebutuhan perangkat keras, perancangan sistem, perancangan game, storyboard, perancangan antar muka, jaringan semantik,
struktur menu.
BAB IV. IMPLEMENTASI DAN PENGUJIAN
Bab ini menjelaskan tentang implementasi antar muka, pengujian sistem, pengujian alpha serta pengujian beta.
BAB V. KESIMPULAN DAN SARAN
7
Wayang bervariasi dengan kata bayang berarti bayang-bayang atau bayangan, yang memiliki nuansa menerawang, samar-samar, atau remang-remang. Dalam arti harfiah wayang merupakan bayang-bayang yang dihasilkan oleh boneka-boneka wayang di dalam teatrikalnya. Boneka-boneka-boneka wayang mendapat cahaya
dari lampu minyak (blencong) kemudian menimbulkan bayangan, ditangkaplah bayangan itu pada layar dari balik layar tampaklah bayangan, bayangan ini disebut wayang.
Wayang merupakan bayangan, gambaran atau lukisan mengenai kehidupan alam semesta. Di dalam wayang digambarkan bukan hanya mengenai manusia, namun kehidupan manusia dalam kaitannya dengan manusia lain, alam, dan Tuhan. Alam semesta merupakan satu kesatuan yang serasi, tidak lepas satu dengan yang lain dan senantiasa berhubungan. Unsur yang satu dengan yang lain di dalam alam semesta berusaha keras ke arah keseimbangan. Kalau salah satu goncang maka goncanglah keseluruhan alam sebagai suatu keutuhan (sistem kesejagadan) [15].
2.1.1. Jabang Tetuka
Jabang Tetuka merupakan nama dari Gatotkaca sewaktu masih kecil. Sampai
usia satu tahun, tali pusar Tetuka belum bisa dipotong walau menggunakan senjata apa pun. Arjuna (adik Bimasena) pergi bertapa untuk mendapatkan petunjuk dewa demi menolong keponakannya itu. Setelah bertapa Arjuna mendapat jawaban ada satu senjata yang dapat memotong tali pusar Tetuka, senjata itu adalah senjata konta yang ada di tangan Batara Narada.
2.1.2. Gatotkaca
Hidimbi (Harimbi), berasal dari bangsa raksasa. Gatotkaca dikisahkan memiliki kekuatan luar biasa. Dalam perang besar di Kurukshetra, ia menewaskan banyak sekutu Korawa sebelum akhirnya gugur di tangan Karna.
Di Indonesia, Gatotkaca menjadi tokoh pewayangan yang sangat populer. Misalnya dalam pewayangan Jawa, ia dikenal dengan sebutan Gatutkaca (bahasa Jawa: Gathutkaca). Kesaktiannya dikisahkan luar biasa, antara lain mampu
terbang di angkasa tanpa menggunakan sayap, serta terkenal dengan julukan "otot kawat tulang besi".
2.2. Game
2.2.1. Pengertian Game
Game merupakan kata dalam bahasa inggris yang berarti permainan. Permainan adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga
ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius atau dengan tujuan refreshing. Suatu cara belajar yang digunakan dalam menganalisa interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-strategi yang rasional. Teori permainan pertama kali ditemukan oleh sekelompok ahli Matematika pada tahun 1944. Teori itu dikemukakan oleh John von Neumann and Oskar Morgenstern yang berisi [4]:
"Game terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi. (Theory of Games and Economic Behavior (3d ed. 1953)).
Sedangkan Kartono menjelaskan bahwa teori permainan (Game Theory) merupakan teori yang menggunakan pendekatan matematis dalam merumuskan situasi persaingan dan konflik antara berbagai kepentingan. Teori ini
optimum dari situasi-situasi persaingan yang berbeda-beda dan melibatkan dua atau lebih kepentingan.
Secara umum teori permainan dapat didefinisikan sebagai sebuah pendekatan terhadap kemungkinan strategi yang akan dipakai, yang disusun secara matematis agar bisa diterima secara logis dan rasional. Serta digunakan untuk mencari strategi terbaik dalam suatu aktivitas, dimana setiap pemain didalamnya sama
-sama mencapai utilitas tertinggi.
2.2.2. Klasifikasi Game
2.2.2.1. Berdasarkan Jenis Alat Yang Digunakan
Ada beberapa jenis alat di dunia game yang selalu dipilih oleh pengguna
game, yaitu [5]:
1. Arcade games, yaitu yang sering disebut ding-dong di Indonesia, biasanya
berada di daerah / tempat khusus dan memiliki box atau mesin yang memang khusus di design untuk jenis game tertentu dan tidak jarang bahkan memiliki fitur yang dapat membuat pemainnya lebih merasa masuk dan menikmati, seperti pistol, kursi khusus, sensor gerakan, sensor injakkan dan stir mobil (beserta transmisinya tentunya).
2. PC Games, yaitu video game yang dimainkan menggunakan Personal Computer.
3. Console games, yaitu video games yang dimainkan menggunakan console
tertentu, seperti Playstation 2, Playstation 3, XBOX 360, dan Nintendo Wii. 4. Handheld games, yaitu yang dimainkan di console khusus game yang dapat
dibawa kemana-mana, contoh Nintendo DS dan Sony PSP.
5. Mobile games, yaitu yang dapat dimainkan atau khusus untuk mobile phone
atau PDA.
2.2.2.2. Berdasarkan Sudut Pandang Permainan
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 shootergame.
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).
2.2.2.3. Berdasarkan Genre Permainannya
1. 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.
Contohnya : Metal Gear Solid. 2. AdventureGame
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.
3. FightingGame
Fighting Game adalah tipe game yang intinya harus menjatuhkan lawan tandingnya, entah itu dengan pukulan, tendangan, combo, maupun dengan jurus special, Contohnya : Tekken, Mortal Kombat, Naruto, dan lain-lain.
4. Shooting Game
Shooting (tembak-tembakan, atau hajar-hajaran bisa juga tusuk-tusukan,
tergantung cerita dan tokoh di dalamnya). Video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari
game jenis ini adalah tembak, tembak dan tembak. Termasuk didalam-nya : 1. First Person Shooting (FPS) seperti Counter Strike dan Call Of Duty. 2. Drive n’ shoot, menggunakan unsur simulasi kendaraan tetapi tetap dengan
tujuan utama menembak dan menghancurkan lawan, contoh : Spy Hunter, Rock and Roll Racing, Road Rash.
3. Shoot em’ up, seperti Raiden, 1942, dan Gradius.
4. Beat em up (tonjok hajar) seperti Double Dragon dan Final Fight, lalu hack and slash (tusuk tebas) seperti Shinobi dan Legend of Kage.
5. Light gun shooting, yang menggunakan alat yang umumnya berbentuk seperti senjata, seperti Virtua Cop dan Time Crisis.
5. RPG (Role PlayingGame)
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.
Contohnya : Final Fantasy, Warcraft, dan lain-lain.
6. PuzzleGame
Puzzle Game adalah tipe game yang umumnya membuat pemain
Contohnya : 7 Wonders of The Ancient World. 7. RacingGame
Racing Game adalah tipe game yang tujuannya adalah mencapai garis finish
dari suatu race, dalam game ini biasanya pemain dapat memilih dan membeli kendaraan, memodifikasi, melakukan upgrade mesin.
Contohnya : Need For Speed.
8. SimulationGame
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. 9. 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.
10. SportGame
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.
Contohnya : Pro Evolution Soccer.
2.2.2.4. Berdasarkan Batasan Usia
Berikut ini adalah klasifikasi permainan berdasarkan pembatasan usia dari pemainnya, menurut ESRB (Entertainment Software Rating Board) adalah sebagai berikut [6]:
2. Everyone (6+) memiliki konten yang mungkin cocok untuk usia 6 keatas. Judul-judul dalam kategori ini mungkin berisi sedikit kartun, fantasi atau kekerasan ringan dan tidak jarang menggunakan bahasa yang ringan.
3. Everyone (10+) memiliki konten yang mungkin cocok untuk usia 10 keatas. Judul-judul dalam kategori ini mungkin berisi lebih banyak kartun, fantasi atau kekerasan ringan, bahasa ringan dan juga minimal tema sugestif.
4. Teen (13+) memiliki konten yang mungkin cocok untuk usia 13 keatas. Judul-judul dalam kategori ini mungkin mengandung kekerasan, tema sugestif,
humor kasar, sedikit darah, simulasi perjudian, dan tidak jarang menggunakan bahasa yang kuat.
5. Mature (17+) memiliki konten yang mungkin cocok untuk orang usia 17 dan lebih tua. Judul-judul dalam kategori ini mungkin berisi intens kekerasan, darah, konten seksual dan bahasa yang kuat.
6. Adults Only (18+) memiliki konten yang hanya boleh dimainkan oleh orang-orang 18 tahun keatas. Judul-judul dalam kategori ini mungkin termasuk adegan yang intens, kekerasan dan juga mengandung konten seksual.
2.3. Kecerdasan Buatan
Kecerdasan buatan adalah cabang ilmu komputer yang berfokus pada otomatisasi tingkah laku cerdas sebuah sistem. Kecerdasan buatan adalah bagian
ilmu komputer yang harus didasarkan pada sound theoretical dan prinsip-prinsip aplikasi dibidangnya. Prinsip ini adalah struktur data untuk merepresentasikan pengetahuan, algoritma yang diperlukan untuk mengaplikasikan pengetahuan, dan bahasa serta teknik pemrograman yang digunakan untuk implementasi [7].
2.3.1. Implementasi Kecerdasan Buatan
Implementasi kecerdasan buatan dapat diterapkan pada bidang:
1. Visualisasi komputer
Kecerdasan buatan pada bidang visualisasi komputer ini memungkinkan sebuah sistem komputer mengenali gambar sebagai input.
2. Pengenalan Suara
Kecerdasan buatan pada pengenalan suara ini dapat mengenali suara manusia. Cara mengenali suara ini dengan mencocokannya pada acuan yang telah diprogramkan terlebih dahulu.
Contohnya perintah komputer dengan menggunakan suara user. 3. Sistem Pakar
Kecerdasan buatan pada Sistem Pakar ini memungkinkan sebuah sistem komputer memiliki cara berpikir dan penalaran seorang ahli dalam
mengambil keputusan, untuk memecahkan masalah yang ada pada saat itu. Contohnya program komputer yang dapat mendiagnosa penyakit dengan memasukan gejala-gejala yang dialami pasien.
4. Game
Kecerdasan buatan pada game ini memungkinkan sebuah sistem komputer untuk memiliki cara berpikir manusia dalam bermain.
Contohnya game yang memiliki fasilitas orang melawan komputer. Komputer sudah di program sedemikian rupa agar memiliki cara bermain seperti seorang manusia bahkan bisa melebihi seorang manusia.
2.3.2. Kecerdasan Buatan Pada Game
2.3.2.1. Algoritma Pencarian
Terdapat banyak metode pencarian yang ada. Semua metode yang ada dapat dibedakan ke dalam dua jenis yaitu :
1. Pencarian Buta (Blind/Un-informed Search)
Blind/Un-informed Search adalah pencarian solusi tanpa adanya informasi yang dapat mengarahkan pencarian untuk mencapai goal state dari current state
(keadaan sekarang). Informasi yang ada hanyalah definisi goal state itu sendiri, sehingga algoritma dapat mengenali goal state bila menjumpainya. Dengan ketiadaan informasi, maka blind search dalam kerjanya memeriksa atau mengembangkan node-node secara tidak terarah dan kurang efisien untuk
Beberapa contoh algoritma yang termasuk blind search antara lain adalah
Breadth First Search (BFS), Uniform Cost Search (UCS), Depth First Search
(DFS), Depth-Limited Search (DLS), Iterative-Deepening Search (IDS), dan Bi-directional Search (BDS).
2. Pencarian Terbimbing (Heuristic/Informed Search)
Berbeda dengan blind search, heuristic search mempunyai informasi tentang
cost/biaya untuk mencapai goal state dari current state. Dengan informasi tersebut, heuristic search dapat melakukan pertimbangan untuk mengembangkan
atau memeriksa node-node yang mengarah ke goal state. Misalnya pada pencarian rute pada suatu peta, bila berangkat dari kota A ke kota tujuan B yang letaknya di Utara kota A, dengan heuristic search, pencarian akan lebih difokuskan ke arah Utara (dengan informasi cost ke goal), sehingga secara umum, heuristic search
lebih efisien daripada blind search.
Heuristic search untuk menghitung perkiraan cost ke goal state, digunakan fungsi heuristik. Fungsi heuristik berbeda daripada algoritma, dimana heuristik lebih merupakan perkiraan untuk membantu algoritma, dan tidak harus valid setiap waktu. Meskipun begitu, semakin bagus fungsi heuristik yang dipakai, semakin cepat dan akurat pula solusi yang didapat. Menentukan heuristik yang tepat untuk kasus dan implementasi yang ada juga sangat berpengaruh terhadap kinerja algoritma pencarian.
2.3.2.2. Fungsi Heuristik
Algoritma A* adalah algoritma pencarian yang menggunakan fungsi heuristik
untuk ‘menuntun’ pencarian rute, khususnya dalam hal pengembangan dan
pemeriksaan node-node pada peta. Fungsi-fungsi heuristik yang biasa digunakan dalam algoritma A*, antara lain [8]:
1. Manhattan
jarak dari dua lokasi umumnya dihitung dari blok-blok yang harus dilalui saja dan tentunya tidak bisa dilintasi secara diagonal. Perhitungannya dapat ditulis sebagai berikut :
h(n)= abs(tujuan.x – n.x) + abs(tujuan.y – n.y) ... (2.1)
Dimana h(n) merupakan perkiraan cost node n ke node tujuan yang dihitung dengan fungsi heuristik. Variabel n.x merupakan koordinat x dari node n,
sedangkan n.y merupakan koordinat y dari node n. Variabel tujuan.x merupakan koordinat x dari node tujuan dan tujuan.y merupakan koordinat y dari node tujuan.
Nilai h(n) akan selalu bernilai positif. 2. Euclidian
Heuristik ini akan menghitung jarak berdasarkan panjang garis yang dapat ditarik dari dua buah titik. Perhitungannya dapat ditulis sebagai berikut :
... (2.2)
Dalam kasus ini, skala relatif nilai g mungkin akan tidak sesuai lagi dengan nilai fungsi heuristik h. Karena jarak Euclidian selalu lebih pendek dari jarak Manhattan, maka dapat dipastikan selalu akan didapatkan jalur terpendek, walaupun secara komputasi lebih berat.
3. Euclidian Kuadrat
Dalam beberapa literatur juga disebutkan jika nilai g adalah 0, maka lebih baik jika ongkos komputasi operasi pengakaran pada heuristik jarak Euclidian dihilangkan saja, menghasilkan rumus sebagai berikut :
... (2.3)
2.3.2.3. Algoritma A*
Algoritma A* merupakan algoritma Best First Search yang menggabungkan
Beberapa terminologi dasar yang terdapat pada algoritma ini adalah starting point, current node, simpul, open list, closed list, harga (cost), walkability, target
point.
1. Starting point adalah sebuah terminologi untuk posisi awal sebuah benda. 2. Current node adalah node yang sedang dijalankan dalam algortima pencarian
jalan terpendek.
3. Node adalah petak-petak kecil sebagai representasi dari area pathfinding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.
4. Open list adalah adalah list yang menyimpan kemungkinan path yang akan diperiksa. Open list dibuat terurut berdasarkan nilai f. Open list digunakan untuk menentukan secara selektif (berdasarkan nilai f) jalan yang dikira lebih dekat menuju pada path tujuan. Open list berisi simpul-simpul yang masih memiliki peluang untuk terpilih sebagai simpul terbaik (best node).
5. Closed list adalah tempat untuk menyimpan simpul-simpul yang sudah pernah dibangkitkan dan sudah pernah terpilih sebagai simpul terbaik (best node) atau list yang menyimpan jalan yang sudah diperiksa dari open list. Artinya, Closed list berisi simpul-simpul yang tidak mungkin terpilih sebagai simpul terbaik (peluang untuk terpilih sudah tertutup). Kedua list (Open list
dan Closed list) ini bertujuan juga untuk menghindari penelusuran jalan (rute) berkali-kali yang memang sudah diidentifikasi agar tidak masuk kembali ke dalam Open list.
6. Nilai f adalah harga perkiraan suatu path yang teridentifikasi. Nilai f merupakan hasil dari f(n).
7. Nilai g hasil dari fungsi g(n), adalah banyaknya langkah yang diperlukan
untuk menuju ke path sekarang.
8. Nilai h hasil dari fungsi h(n), adalah estimasi harga simpul yang dihitung dari simpul tujuan.
9. Target point yaitu node yang dituju.
Fungsi f sebagai estimasi fungsi evaluasi terhadap node n, dapat dituliskan : f(n) = g(n) + h(n) ... (2.4) Keterangan :
f(n) = fungsi evaluasi ( jumlah g(n) dengan h(n) )
g(n) = biaya (cost) yang dikeluarkan dari keadaan awal sampai keadaan n h(n) = estimasi biaya untuk sampai pada suatu tujuan mulai dari n.
Prinsip algoritma ini adalah mencari jalur terpendek dari sebuah simpul awal (starting point) menuju simpul tujuan dengan memperhatikan harga (f) terkecil.
Diawali dengan menempatkan A pada starting point, kemudian memasukkan seluruh simpul yang bertetangga dan tidak memilik atribut rintangan dengan A ke dalam open list. Kemudian mencari nilai h terkecil dari simpul-simpul dalam open list tersebut. Kemudian memindahkan A ke simpul yang memiliki nilai h terkecil. Simpul sebelum A disimpan sebagai parent dari A dan dimasukkan ke dalam
closed list. Jika terdapat simpul lain yang bertetangga dengan A (yang sudah berpindah) namun belum termasuk kedalam anggota open list, maka masukkan simpul-simpul tersebut ke dalam open list. Setelah itu, bandingkan nilai g yang ada dengan nilai g sebelumnya (pada langkah awal, tidak perlu dilakukan perbandingan nilai g). Jika nilai g sebelumnya lebih kecil maka A kembali ke posisi awal. Simpul yang pernah dicoba dimasukkan ke dalam closed list. Hal terebut dilakukan berulang-ulang hingga terdapat solusi atau tidak ada lagi simpul lain yang berada pada open list.
2.4. Pemrograman Berbasis Objek
Pemrograman Berorientasi Objek atau OOP memiliki karakteristik sebagai berikut:
1. Analisis dan Desain Berorientasi Objek (Object-Oriented Analysis and Design Process)
Pemrograman berorientasi objek bekerja dengan baik ketika dibarengi dengan
Object-Oriented Analysis and Design Process (OOAD). Wrampler mengatakan
jika membuat program berorientasi objek tanpa OOAD, ibarat membangun rumah tanpa terlebih dahulu menganalisa apa saja yang dibutuhkan oleh rumah itu, tanpa
perencanaan, tanpa blueprint, tanpa menganalisis ruangan apa saja yang diperlukan, berapa besar rumah yang akan dibangun dan sebagainya.
2. Objek
Menurut Douglas objek adalah entitas yang memiliki atribut, karakter (behavior) dan kadangkala disertai kondisi (state). Objek merepresentasikan sesuatu sistem real seperti siswa, sistem kontrol permukaan sayap pesawat, sensor atau mesin. Objek juga merepresentasikan sesuatu dalam bentuk konsep seperti nasabah bank, merek dagang, pernikahan atau sekedar listing. Bahkan bisa juga menyatakan visualisasi seperti, bentuk huruf (font), histogram, poligon, garis atau lingkaran.
3. Kelas
Kelas adalah penggambaran satu set objek yang memiliki atribut dan behavior yang sama. Kelas mirip tipe data pada pemrograman non objek, tapi lebih komprehensif karena terdapat struktur sekaligus karakteristiknya.
4. Abstraksi
Ketika berinteraksi dengan suatu objek, kita biasanya hanya terpaku pada
bagian dari propertinya. Tanpa kemampuan abstraksi atau menyaring properti dari suatu objek, kita pasti kesulitan dalam memproses informasi atau mengerjakan suatu tugas.
dan arah yang dituju oleh mobil. Dikarenakan mobil yang kita pakai menggunakan transmisi otomatis, kita tidak perlu mengetahui RPM (revolution per minute) dari mesin, jadi informasi ini dibuang. Di lain sisi, informasi ini boleh jadi merupakan informasi penting bagi seorang pembalap, jadi tidak akan dibuang informasi tersebut. Ketika membangun objek dalam aplikasi OOP, penting untuk menghubungkan konsep abstraksi ini. Objek hanya mengandung informasi yang
berhubungan dengan konteks aplikasi. 5. Enkapsulasi
Fitur penting lain dari OOP adalah enkapsulasi. Enkapsulasi adalah proses dimana akses langsung terhadap data tidak diperbolehkan. Dengan enkapsulasi, data yang ada di sitem menjadi lebih aman dan dapat diandalkan.
6. Polimorfisme
Polimorfisme adalah kemampuan dari dua objek berbeda untuk merespon pesan yang sama dalam cara unik mereka sendiri. Sebagai contoh, kita dapat melatih anjing untuk merespon perintah menggonggong dan burung untuk merespon perintah berkicau. Di lain sisi, kita dapat melatih keduanya untuk merespon perintah berbicara. Melalui polimorfisme, anjing akan merespon dengan menggonggong dan burung akan merespon dengan berkicau.
Dalam OOP, polimorfisme dapat diimplementasikan melalui sebuah proses yang disebut overloading. Dengan overloading, metode atau prosedur yang berbeda dapat diimplementasikan untuk objek yang sama.
7. Pewarisan
Pewarisan atau inheritance dalam OOP digunakan untuk mengelompokkan objek dalam program sesuai karakteristik umum dan fungsinya. Hal ini membuat
pekerjaan dengan objek menjadi lebih mudah dan lebih intuitif. Pewarisan juga membuat pemrograman lebih mudah karena karakteristik umum dapat disimpan ke dalam objek induk dan dapat diwariskan ke semua objek anak.
8. Agregasi
gabungan dari objek roda, objek mesin, objek besi, dan seterusnya. Agregasi dalam OOP merupakan fitur yang memungkinkan kita secara akurat memodelkan dan mengimplementasikan proses bisnis dalam suatu program [10].
2.5. UML (Unified Modeling Language)
Unified Modeling Language merupakan salah satu alat bantu yang dapat digunakan dalam bahasa pemograman yang berorientasi objek, saat ini UML akan mulai menjadi standar masa depan bagi industri pengembangan sistem/perangkat lunak yang berorientasi objek sebab pada dasarnya UML digunakan oleh banyak perusahaan raksasa seperti IBM, Microsoft, dan sebagainya.
Definisi UML :
1. Unified Modeling Language merupakan metode pengembangan perangkat lunak dengan menggunakan metode grafis serta merupakan bahasa untuk visualisasi, spesifikasi, konstruksi serta dokumentasi.
2. Unified Modeling Language adalah bahasa yang telah menjadi standard untuk visualisasi, menetapkan, membangun dan mendokumentasikan arti suatu sistem perangkat lunak.
3. Unified Modeling Language merupakan standard modeling language yang
terdiri dari kumpulan-kumpulan diagram, dikembangkan untuk membantu para pengembang sistem dan software agar bisa menyelesaikan tugas-tugas seperti :
1. Spesifikasi 2. Visualisasi 3. Desain arsitektur 4. Konstruksi
5. Simulasi dan testing 6. Dokumentasi
Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik
pengembangan perangkat lunak berbasis Objek (Object Oriented programming)”
[9].
2.5.1. Diagram UML
UML menyediakan 9 macam diagram untuk memodelkan aplikasi berorientasi objek. berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, activity diagram, dan class diagram.
1. Use Case Diagram
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case
dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi. Selain itu, Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.
2. Sequence Diagram
Sequence diagram menjelaskan secara detail urutan proses yang dilakukan
dalam sistem untuk mencapai tujuan dari use case yaitu interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang
diperlukan oleh masing-masing operasi. 3. Activity Diagram
Activity diagram digunakan untuk menggambarkan aliran aktivitas, langkah-langkah penyelesaian dan interaksi yang terjadi antara pengguna dengan sistem dalam suatu proses.
4. Class Diagram
2.6. Construct 2
Construct adalah Game Engine yang dikembangkan oleh Scirra yang salah satu platform didukungnya adalah membangun apalikasi game untuk Windows 8. Construct 2 sangat mudah untuk di pelajari berbeda dengan pengembangan game
pada umumnya Construct 2 memudahakan pengembang game untuk membuat aplikasi dengan metode visual programming, yaitu drag & drop modul yang telah disediakan dengan kebutuhan coding yang minimal. Membuat Game untuk Windows 8 dengan Construct 2 tidaklah susah, disini seorang desain sangat diperlukan. Construct 2 selain bisa digunakan di Windows, juga dapat dijalankan di banyak platform, seperti Mac, Linux, dan iPad. Construct 2 juga dapat diinstal pada user account yang terbatas.
Penjelasan tentang tools dari Construct 2
Gambar 2.1 Tampilan Construct 2
1. Properties, bagian untuk menambahkan data value dari game yang akan dibangun, seperti nama project, deskripsi project, author, dan ukuran dari layar aplikasi.
3. Event sheet, bagian untuk menempatkan proses logic dari aplikasi game yang akan dibangun. Proses logic akan menggunakan visual programming sehingga lebih mudah dipahami untuk para pemula maupun developer yang backgroundnya Non-IT.
4. Project, bagian yang menampilkan keseluruhan data dari project yang sedang dikerjakan. Folder Music, Sound, Family, Layout, Event, seluruhnya dapat
dilihat melalui project explorer.
5. Objects, merupakan pallet yang menampilkan daftar dari object-oject yang
digunakan dalam project.
2.7. Corel Draw
Corel Draw adalah sebuah program komputer yang melakukan editing pada garis vektor. Program ini dibuat oleh Corel, sebuah perusahaan software yang berkantor pusat di Ottawa, Kanada. Corel draw memiliki kegunaan untuk mengolah gambar, oleh karena itu banyak digunakan pada pekerjaan dalam bidang publikasi atau percetakan ataupun pekerjaan di bidang lain yang membutuhkan proses visualisasi.
2.7.1. Kegunaan Corel Draw
Program Corel Draw seringkali dimanfaatkan untuk melakukan pekerjaan-pekerjaan dibawah ini, yaitu [11]:
1. Menciptakan desain logo atau simbol, yang mana ini adalah kegunaan Corel Draw yang paling banyak dimanfaatkan oleh penggunanya, terutama pembuatan logo dua dimensi karena kemudahannya dalam mengolah garis dan warna.
3. Membuat cover buku juga dapat dilakukan di Corel Draw. Dengan Corel Draw maka tugas desain akan menjadi mudah karena dapat memanfaatkan desain sampul dan teknik pewarnaan yang lebih sempurna oleh Corel Draw. Detail gambar pun akan terlihat lebih jelas.
4. Pembuatan gambar ilustrasi juga dapat dilakukan dengan Corel Draw. Gambar yang dihasilkan lebih berkualitas, terutama ketika berhubungan dengan
lengkungan, garis atau sudut. Ukuran yang diperoleh dijamin sangat akurat.
2.7.2. Keunggulan Corel Draw
Beberapa keunggulan program Corel Draw antara lain adalah:
1. Gambar yang dihasilkan dengan vektor atau berbasis vektor bisa ditekan pada tingkat yang paling rendah namun hasilnya tidak kalah dengan gambar yang berbasis bitmap atau raster.
2. Penggunaan Corel Draw, terutama pada tool-tool yang ada di dalamnya sangat mudah dipahami oleh penggunanya, bahkan oleh orang yang baru pertama menggunakannya.
3. Corel Draw sangat baik untuk mengkolaborasikan antara tulisan dengan gambar, seperti layaknya Adobe Potoshop.
4. Banyaknya pengguna Corel Draw, membuat adanya komunitas dengan jumlah anggota yang besar. Hal ini akan membuat kita tidak kesulitan jika ingin
mempelajari Corel Draw lebih mendalam karena banyak ditemukan tutorial, tips dan trik yang diproduksi oleh pengguna lain.
2.8.Teknik Pengumpulan Data
Teknik pengumpulan data merupakan faktor penting demi keberhasilan penelitian. Hal ini berkaitan dengan bagaimana cara mengumpulkan data, siapa sumbernya, dan apa alat yang digunakan. Jenis sumber data adalah mengenai dari mana data diperoleh. Apakah data diperoleh dari sumber langsung (data primer) atau data diperoleh dari sumber tidak langsung (data sekunder).
Metode Pengumpulan Data merupakan teknik atau cara yang dilakukan untuk
penggunaannya melalui angket, wawancara, pengamatan, tes, dokumentasi dan sebagainya. Sedangkan Instrumen Pengumpul Data merupakan alat yang digunakan untuk mengumpulkan data. Karena berupa alat, maka instrumen dapat berupa lembar cek list, kuesioner (angket terbuka/tertutup), pedoman wawancara, camera photo dan lainnya.
1. Angket
Angket / kuesioner adalah teknik pengumpulan data yang dilakukan dengan cara memberikan seperangkat pertanyaan atau pernyataan kepada orang lain yang
dijadikan responden untuk dijawabnya.
Beberapa hal yang perlu diperhatikan dalam penyusunan angket menurut Uma Sekaran terkait dengan prinsip penulisan angket, prinsip pengukuran dan penampilan fisik.
Prinsip Penulisan angket menyangkut beberapa faktor antara lain :
1. Isi dan tujuan pertanyaan artinya jika isi pertanyaan ditujukan untuk mengukur maka harus ada skala yang jelas dalam pilihan jawaban.
2. Bahasa yang digunakan harus disesuaikan dengan kemampuan responden. Tidak mungkin menggunakan bahasa yang penuh istilah-istilah bahasa Inggris pada responden yang tidak mengerti bahasa Inggris, dsb.
3. Tipe dan bentuk pertanyaan apakah terbuka atau terturup. Jika terbuka artinya jawaban yang diberikan adalah bebas, sedangkan jika pernyataan tertutup maka responden hanya diminta untuk memilih jawaban yang disediakan. 2. Observasi
Obrservasi merupakan salah satu teknik pengumpulan data yang tidak hanya mengukur sikap dari responden (wawancara dan angket) namun juga dapat
2.9.Metode Pengujian Perangkat Lunak
2.9.1. Metode Pengujian Black Box
Balck box adalah cara pengujian yang dilakukan dengan hanya menjalankan atau mengeksekusi unit atau modul kemudian diamati apakah hasil dari unit itu sesuai dengan proses yang dinginkan. Dengan kata lain, black box merupakan
user testing, biasanya pengujian perangkat lunak dengan metode black box
melibatkan client atau pelanggan yang memesan produk perangkat lunak tersebut. Dalam pengujian black box pemrogram berusaha menemukan kesalahan seperti [13]:
a. Fungsi – fungsi yang tidak benar atau hilang. b. Kesalahan Interface.
c. Kesalahan dalam struktur data atau akses database internal.
d. Kesalahan kinerja.
e. Inisialisasi dan kesalahan terminasi.
2.9.2. Metode Pengujian White Box
Pengujian white box merupakan metode desain uji kasus yang menggunakan
struktur control dari desain procedural untuk menghasilkan kasus-kasus uji. Dengan menggunakan metode uji coba white box, para pengembang software
dapat menghasilkan kasus – kasus uji yang [13]:
a. Menjamin bahwa independent paths dalam modul telah dilakukan sedikitnya satu kali.
b. Melakukan seluruh keputusan logikal dari sisi benar maupun salah.
c. Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya.
d. Menguji struktur data internal untuk memastikan validitasnya.
Menguji logikal software membutuhkan banyak waktu dan usaha, hal ini dikarenakan sifat kerusakan alami dari software itu sendiri, yaitu :
ketika mendesain dan implementasi fungsi, kondisi dan kontrol yang keluar dari alur utama. Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu “kasus sepesial” yang mengarahkan kepada
kehancuran.
b. Alur logika program biasanya berkebalikan dari intuisi, yaitu tanpa disadari asumsi dari alur kontrol dan dapat mengarah kepada pada kesalahan desain
yang tidak dapat terlihat hanya dengan satu kali uji coba.
c. Kesalahan typographical (cetak) bersifat random, ketika program
diterjemahkan kedalam kode sumber bahasa pemrograman, maka akan terjadi kesalahan pengetikan. Banyak yang terdeteksi dengan mekanisme pemeriksaan sintaks, tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya ujicoba.
65
Pada bagian analisis sistem merupakan penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem yang baru atau diperbarui. Analisis sistem
ini mencakup analisis-analisis terhadap masalah yang akan dilakukan terhadap game mulai dari analisis masalah, analisis game sejenis, analisis kebutuhan
non-fungsional, analisis pengguna, analisis algoritma, analisis kebutuhan fungsional hingga perancangan antarmuka dari game yang akan dibuat.
3.1.1. Analisis Masalah
Berdasarkan tinjauan analisis sistem yang telah dilakukan dengan melakukan evaluasi terhadap game yang akan dibangun. Beberapa permasalahan yang merupakan hasil dari analisis yang dilakukan dijadikan sebagai latar belakang dalam pembangunan game Legenda Gatotkaca. Berikut permasalahan dari hasil analisis yang dilakukan yaitu Banyak remaja yang mengenal karakter Gatotkaca, akan tetapi tidak mengetahui cerita hidup Gatotkaca.
3.1.2. Analisis Game Sejenis
Analisis game sejenis dilakukan untuk memberikan gambaran sistem agar lebih mudah dalam pembangunan dan sebagai pembanding untuk kesempurnaan game yang akan dicapai.
3.1.2.1. Abimanyu Sang Ksatria Mahabrata
1. Pengenalan
Gambar 3.1 Game Abimanyu Sang Ksatria Mahabrata
2. Storyline
Game ini menceritakan tentang persiapan sebelum perang baratayudha yang akan menggemparkan. Abimanyu yang sudah tumbuh dewasa diperintahkan untuk menemui Gatotkaca di negara petir untuk mengetahui seberapa kuat ilmu
yang sudah didapatkan abimanyu, apakah sudah siap untuk menghadapi perang baratayudha. Dalam perjalanan menuju negara petir abimanyu dihadapkan pada
beberapa musuh yang menghalangi, dan abimanyu harus mengalahkan musuh-musuh tersebut untuk menemui dengan gatotkaca di negara petir.
Di level pertama Abimanyu melawan musuh yang telah disediakan dan wajib
mengumpulkan kunci sebagai syarat masuk ke level berikutnya, di level berikutnya musuh semakin kuat bisa menembak dan tetap wajib mengumpulkan kunci untuk masuk ke level berikutnya.
3. Gameplay
Tugas utama pemain dalam memainkan aplikasi ini yaitu melalui level-level, dimana setiap bagian level menyediakan petualangan dengan menampilkan beberapa karakter level tersebut maupun karakter musuh yang harus dilawan, sehingga pemain memperoleh score (nilai). Dalam game Abimanyu Sang Ksatria
Mahabrata, pemain memainkan game sebagai single-player yang dapat menjelajahi permainan dengan menggerakkan karakter pemain (player character)
ke arah kanan, kiri, atas atau bawah, dan spasi untuk mengalahkan lawan dengan menggunakan senjata berupa pedang.
Saat memulai game, pemain dapat berinteraksi dengan game pada halaman menu utama yang diantaranya :
1. Memilih menu Main untuk memulai permainan dari awal.
2. Memilih menu Bantuan untuk melihat penjelasan kontrol dan item dalam
game.
3. Memilih menu Skor Tertinggi untuk melihat nilai tertinggi yang sudah ada 4. Memilih menu Hapus Skor untuk menghapus nilai
5. Memilih menu Info Game untuk melihat informasi game Abimanyu Sang Ksatria Mahabrata.
6. Memilih menu WWW untuk masuk ke website pembuat game
7. Memilih menu Exit yang digunakan untuk keluar dari permainan atau mengakhiri game.
Saat melakukan perjalanan, pemain dapat menemukan beberapa item yang disediakan diantaranya diamond untuk menambah nilai, kendi untuk
menambahkan darah pemain, dan wajib mengumpulkan semua item kunci sebanyak 3 buah sebagai syarat untuk masuk ke level berikutnya. Dan pada pertarungan akhir melawan boss terdapat item panah yang dapat digunakan sebagai senjata untuk melawan boss.
2. Antarmuka cukup sederhana sehingga memudahkan pemain baru Kekurangan Game Abimanyu Sang Ksatria Mahabrata
1. Jalur musuh statis (single line)
2. Storyline tidak sesuai dengan cerita aslinya.
Tabel 3.1 Perbandingan Dengan Game Yang Akan Dibangun
Komponen Game Abimanyu Sang Ksatria Mahabrata Game yang akan dibangun
Genre Adventure Beat ‘em up, Labirin, Shoot ‘em up
Storyline Tidak mengambil cerita abimanyu Mengambil cerita Gatotkaca
Grafis Grafis 2D Grafis 2D
Jumlah pemain Single player Single player
Karakter Abimanyu Jabang Tetuka, Gatotkaca
Musik Gamelan Gamelan
3.1.3. Analisis Game yang Akan Dibangun
Game yang akan dibangun berjudul Legenda Gatotkaca merupakan game yang multi genre, genre yang diterapkan dalam game ini yaitu beat ‘em up, labirin dan shoot ‘em up.
3.1.3.1. Storyline
Game legenda gatotkaca ini menceritakan sepenggal kisah hidup Gatotkaca,
Gatotkaca kecil/Tetuka (selanjutnya disebut Tetuka) sejak kecil ceritanya sudah menggemparkan karena tali pusarnya belum bisa dipotong dengan senjata apapun
sampai usia 1 tahun, pada akhirnya tali pusar Tetuka bisa dipotong juga oleh sarung senjata konta yang dibawakan oleh Arjuna.
Pada game ini cerita berawal ketika khayangan diserang oleh kerajaan trabelasuket yang dikarenakan lamaran dari kerajaan trabelasuket ke salah satu putri khayangan ditolak. Pada level 1 Tetuka harus melawan kerajaan trabelasuket untuk mempertahankan khayangan. Tetuka harus melawan semua musuh yang menyerang, setelah tinggal melawan pemimpin pasukan yang menyerang, pemimpin pasukan kerajaan trabelasuket kabur meninggalkan khayangan.
dalam latihannya jabang tetuka harus mengumpulkan 7 senjata dan menghindari penjaga kawah yang menyerang, dan setelah keluar dari kawah candradimuka Tetuka muncul sebagai laki-laki dewasa dan masuk ke level 3 yang mulai saat itu berganti nama menjadi Gatotkaca, setelah berlatih dan mendapatkan banyak ilmu Gatotkaca melakukan serangan balik ke kerajaan Trabelasuket dan mngalahkan raja kerajaan Trabelasuket yaitu Naga Percona. Setelah mengalahkan Naga
Percona, pemain berhasil menyelesaikan game ini dan akan disajikan slide ending game.
3.1.3.2. Gameplay
Tugas utama pemain (gamer) dalam memainkan game ini yaitu melalui level-level dimana setiap bagian level-level menyediakan petualangan dengan menampilkan beberapa karakter level tersebut maupun karakter musuh yang harus dilawan. Dalam game Legenda Gatotkaca, pemain memainkan game sebagai single-player
yang dapat menjelajahi permainan dengan menggerakkan karakter pemain (player character) ke arah kanan, kiri, atas atau bawah, dan spasi untuk memukul lawan.
Saat memainkan game, pemain dapat berinteraksi dengan game yang diantaranya :
1. Memilih menu Mulai Baru untuk memulai permainan dari awal.
2. Memilih menu Petunjuk menampilkan aturan – aturan pada game seperti
kontrol yang digunakan dan penjelasan item-item yang tersedia di dalam
game.
3. Saat menjelajahi wilayah tertentu dalam arena permainan, karakter pemain dapat bertemu dengan musuh dan melakukan pertarungan.
4. Mengambil item kendi untuk menambahkan darah.
5. Mengambil item kepala Gatotkaca untuk menambahkan nyawa.
belum berhasil mengumpulkan 7 keris maka permainan masih terus berlanjut di level tersebut sampai berhasil mendapatkan 7 keris.
7. Menggunakan Menu Permainan untuk menghentikan permainan sementara dan memilih menu yang tersedia, pemain dapat memilih merestart permainan, melanjutkan permainan, dan keluar dari permainan.
8. Menggerakkan Karakter untuk berjalan mendekati atau menjauhi musuh dan
item.
Ketika pemain dihadapkan pada musuh yang ada pada arena permainan,
pemain dapat melakukan pertarungan dengan musuh dengan cara memukul musuh tersebut. Pemain juga dapat melewati musuh tersebut tanpa melakukan pertarungan. Namun pada musuh terakhir atau boss musuh dalam game harus dikalahkan. Ketika pemain kalah dalam pertarungan maka pemain dapat melanjutkan permainan kalau masih mempunyai nyawa, sedangkan kalau sudah tidak mempunyai nyawa maka pemain diberikan pilihan untuk kembali ke menu utama atau bermain kembali dari awal.
3.1.3.3. Analisis Tingkat Kesulitan
Tingkat kesulitan yang disediakan dalam game Legenda Gatotkaca terdiri dari
tiga tingkat yang berdasarkan level permainan, yaitu level 1, level 2, dan level 3. Perbedaan tingkat kesulitan dalam game Legenda Gatotkaca dapat dilihat pada
tabel 3.2 berikut :
Tabel 3.2 Analisis Tingkat Kesulitan
Perbedaan Tingkat Kesulitan
Level 1 Level 2 Level 3
Musuh (Enemy)
3.1.4. Analisis Algoritma A*
Algoritma A* di dalam game akan diterapkan pada NPC (Non Playable Character) musuh sebagai penentuan jalur terpendek atau pathfinding menuju target yaitu player, dalam hal ini node A merupakan NPC dan node B adalah
player. Cara kerja algoritma A* di dalam game lebih jelasnya bisa dilihat pada gambar 3.2.
A
B
g(n) h(n)
f(n)
Gambar 3.2 Tahap Awal Pencarian Algoritma A*
Pada gambar 3.2 pencarian wilayah dibagi ke dalam node-node yang terdiri dari node berwarna biru merupakan node awal (node A), node berwarna merah merupakan node akhir (node B) dan yang berwarna coklat merupakan penghalang (unwalkable node).
Selanjutnya adalah, melakukan pencarian untuk menemukan jalan terpendek dengan cara memeriksa node-node yang berdekatan dengan node awal untuk bisa
sampai node B. Berikut adalah langkah pencarian yang dilakukan oleh node awal: 1. Langkah pertama, dimulai dari node awal yang ditambahkan ke dalam
Open list yangmerupakan list untuk node-node yang harus diperiksa. 2. Periksa semua node yang berdekatan dengan node awal apakah bisa dilalui
tambahkan semua node tersebut ke dalam open list, untuk setiap node yang baru ditambahkan, simpan node awal sebagai “parent” yang nantinya akan
digunakan untuk menelusuri jalan.
3. Hapus node awal dari open list, dan tambahkan ke dalam closed list. Closed list merupakan list untuk node yang tidak perlu diperiksa atau dalam artian merupakan bagian dari jalur terpendek yang sudah
didapatkan.
Untuk lebih jelasnya open list dan closed list diilustrasikan pada gambar 3.3
A Open List
Open List Open List B
Closed List
Gambar 3.3 Ilustrasi Open List dan Closed List
Pada gambar 3.3 diatas node awal yang berwarna biru sudah ditambahkan ke dalam closed list. Sedangkan kotak yang berada di sekelilingnya adalah open list
yang harus diperiksa satu persatu nilai dari masing-masing node open list.
Proses ini dilakukan secara berulang-ulang, dimulai dari open list dan menemukan node dengan nilai f paling rendah. Perhitungan persamaan untuk mendapatkan nilai f dijelaskan pada ilustrasi gambar 3.4.
(0,3) (1,3) (2,3) (3,3) (4,3)
(0,2) (1,2) (2,2) (3,2) (4,2)
(0,1) (1,1) (2,1) (3,1) (4,1)
(0,0) (1,0) (2,0) (3,0) (4,0)
0 40
40
10 30
10 30
34
14 20
40
40 Closed List
Gambar 3.4 Perhitungan menentukan nilai F
Gambar 3.4 menunjukkan pada open list dari node awal yaitu NPC nilai f yang dihasilkan adalah 34 yang didapatkan dari menambahkan nilai g = 14 dan nilai h = 20. Di dalam contoh ini g akan diberi nilai 10 apabila node bergerak
secara vertical atau horizontal dan diberi nilai 14 apabila node bergerak secara
diagonal.
Perhitungan nilai h yaitu nilai estimasi jalur terpendek dari node awal ke node
tujuan yaitu player dengan menggunakan rumus h = ((Xtujuan – Xstart) + (Ytujuan – Ystart) * 10). Sebagai contoh node yang terletak dibawah dari node
awal diberikan nilai h = 30 yang didapatkan dari perhitungan sebagai berikut: h = ((Xtujuan – Xstart) + (Ytujuan – Ystart) * 10)
Setelah didapatkan nilai f dari setiap node yang ada di open list, maka akan dipilih node yang memiliki nilai f paling rendah yang kemudian disebut dengan
current node, langkah selanjutnya adalah sebagai berikut.
1. Hapus current node dari open list dan masukkan ke dalam closed list.
2. Periksa semua node yang berdekatan dengan current node, abaikan node
penghalang. Jika tidak ada pada open list, tambahkan ke dalam open list,
lalu tambahkan “parent” untuk node tersebut.
3. Jika node sudah ada pada open list, lalu bandingkan dengan node awal
apakah jalur yang di ambil lebih baik dari node awal, dengan dengan memeriksa nilai G-nya apakah lebih rendah jika dalam menggunakan node
ini, jika lebih rendah maka hitung ulang nilai f dan g serta merubah arah
pointer, jika tidak maka jangan lakukan apa-apa.
Langkah pertama menghasilkan node-node di dalam open list dan closed list
dijelaskan pada tabel 3.3
Tabel 3.3 Perhitungan Langkah Pertama
Open List (0,2) (1,2) (1,3) Closed List (0,3)
Parent (0,3)
Current Node (1,2)
Gambar 3.4 merupakan penjelasan langkah pertama pencarian jalur dari algoritma A*.
(0,3) (1,3) (2,3) (3,3) (4,3)
(0,2) (1,2) (2,2) (3,2) (4,2)
(0,1) (1,1) (2,1) (3,1) (4,1)
(0,0) (1,0) (2,0) (3,0) (4,0)
0 40
40
10 30
30 34
14 20
54
40
24 Closed List
24
30 54
28 40
68
Closed List
Closed List Closed List
Gambar 3.5 Penjelasan A* Pada Langkah Kedua
Tabel 3.4 menunjukan penjelasan tentang pencarian jalur terpendek untuk langkah kedua.
Tabel 3.4 Perhitungan Langkah Kedua
Open List (1,3) (0,2) (0, 1) (1, 1) Closed List (0,3) (2,3) (1,2) (2,2) (2,1)
Parent (1,2)
Current Node (1,1)
Perhitungan langkah ketiga yang berada pada node dengan koordinat (1,1)
(0,3) (1,3) (2,3) (3,3) (4,3)
Gambar 3.6 Penjelasan A* Pada Langkah Ketiga
Tabel 3.5 menunjukan penjelasan tentang pencarian jalur terpendek untuk langkah ketiga dapat dilihat pada tabel 3.5.
Tabel 3.5 Perhitungan Langkah Ketiga
Open List (0,2) (0,1) (0,0) (1,0) Closed List (1,2) (2,2) (1,1) (2,1)
Parent (1,1)
Current Node (2,0)
(0,3) (1,3) (2,3) (3,3) (4,3)
Gambar 3.7 Penjelasan A* Pada Langkah Keempat
Tabel 3.6 menunjukan penjelasan tentang pencarian jalur terpendek untuk langkah keempat.
Tabel 3.6 Perhitungan Langkah Keempat
Open List (1,0) (3,0)
Closed List (1,1) (2,1) (3,1) (2,0)
Parent (2,0)
Current Node (3,0)
(0,3) (1,3) (2,3) (3,3) (4,3)
Gambar 3.8 Penjelasan A* Pada Langkah Kelima
Pada tabel 3.7 penjelasan melalui tabel untuk pencarian jalur terpendek pada langkah kelima.
Tabel 3.7 Perhitungan Langkah Kelima
Open List (4,0) (4,1)
Closed List (2,0) (2,1) (3,0) (3,1)
Parent (3,0)
Current Node (4,1)
(0,3) (1,3) (2,3) (3,3) (4,3)
Gambar 3.9 Penjelasan A* Pada Langkah Keenam
Pada tabel 3.8 penjelasan melalui tabel untuk pencarian jalur terpendek pada langkah keenam.
Tabel 3.8 Perhitungan Langkah Keenam
Open List (3,2) (4,0) (4,2)
Closed List (3,0) (3,1) (4,1)
Parent (4,1)