SURAT
KETERANGAN
PEFIYERAHAN
HAK EKSI(LUSIF
Bahwa yang bertanda tangan dibawah ini, penulis bersedia :
"Bahwa hasil penelitian dapat dionlinetansesuai dengan p.rutu*n yang berlaku, untuk kepentingan riset dan pendidikan".
Bandung, 27 Agustus 2013
Ina Sasita
NrM. t0t09672
Mengetahui, Pembimbing
Penulis,
}W
Galih Hermawan. S.Kom..M.T. NtP.41277006022
Catatan
:
Seluruh isi Bab dari Babl,
Bab 2, Bab 3, Bab4
dan Bab 5 dapat dionl inekano kecuali prosam aplikasi dan I isting program.Saya yang bertanda tangan di bawah ini :
NIM
Judul Skripsi
: Ina Sagita :10109672
: PEMBAITIGUNAITI
GAME
ADYENTTIREgSAI\TGKURIANG
AI{D INDONESIAN FIYE
LARGEST ISLAI\DS' BERBASIS MOBILE
Menyatakan bahwa saya tidak melakukan tindakan meniruo menyalin atau
menjiplak tugas akhir/karya ihniah yang telah ada. Apabila saya terbukti
melakukan kegiatan tersebut, maka saya bersedia unfuk menerima sanksi yang
diberikan sesuai ketentuan yang diteraplcan dan berlaku di jurusan Teknik
lnfonnatika Universitas Komputer lndonesia.
Mengetahui, Yang Memberi Pemyataan
GaaSagrtat
DAFTAR RIWAYAT HIDUP
DATA PRIBADI
Nama : Ina Sagita
Tempat, Tanggal lahir : Jakarta, 25 Oktober 1991
Kewarganegaraan : Indonesia
Status : Belum Menikah
Agama : Islam
Alamat : Perum Griya Pesona Praja No. 7 Kab.Subang
Telepon : +62 85317696444
email : inasagitaa@gmail.com
PENDIDIKAN FORMAL
1997-2003 : SD NEGERI CIHEULEUT INDAH
2003-2006 : SMP NEGERI 1 SUBANG
2006-2009 : SMA NEGERI 1 SUBANG
2009-2013 : UNIVERSITAS KOMPUTER INDONESIA
Demikian daftar riwayat hidup saya buat dengan sebenar-benarnya.
Subang, Agustus 2013
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer
INA SAGITA
10109672
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah
memberikan rahmat serta hidayah-Nya ehingga penulis dapat menyelesaikan
penulisan skripsi dengan judul “PEMBANGUNAN GAME ADVENTURE
SANGKURIANG AND INDONESIAN FIVE LARGEST ISLANDS BERBASIS
MOBILE”” sebagai salah satu syarat kelulusan pada Program Strata 1 Jurusan Teknik Informatika Fakultas Ilmu dan Teknik Komputer di Universitas Komputer
Indonesia.
Dengan selesainya penyusunan laporan tugas akhir ini penulis banyak
memperoleh dukungan, masukan dan bimbingan yang sangat bermanfaat dari
berbagai pihak selama penulisan laporan tugas akhir ini, oleh karena itu penulis
mengucapkan terima kasih kepada :
1. Allah SWT atas rahmat, berkah dan izin-Nya saya bisa menyelesaikan
penulisan skripsi ini
2. Alm. Ibu Rahayu Budiningsih yang menjadi motivasi penulis dan Bapak
Sugito sebagai orangtua, serta Ges, Sas, dan Adel yang telah memberikan
dukungan baik secara moril maupun materil dan doa yang tiada hentinya
sehingga penulis bisa bertahan dan berpijak hingga saat ini
3. Bapak Galih Hermawan, S.Kom., M.T. selaku pembimbing, yang telah
membimbing penulis dalam menyelesaikan tugas akhir
4. Nelly Indriani W, S.Si., M.T. selaku reviewer yang telah banyak
memberikan masukan dan arahan
5. Bapak Alif Finandhita, S.Kom., selaku dosen wali IF-15 2009 selama
penulis menempuh pendidikan di UNIKOM
6. Egay, Fikri, Aqil, Diah, Nissa, Noviana dan Rossa yang selalu ada di
iv
7. Mutia, Rininda, Novitha, Yuny, Ria dan Hilda yang selalu memberi
semangat.
8. Ibu Nunung, Ibu Nanang dan keluarga lain yang selalu memberikan
dukungan.
9. Untuk teman-teman IF-15 seperjuangan dan semua pihak yang membantu
dalam menyelesaikan tugas akhir ini yang tidak dapat penulis sebutkan satu
per satu, terima kasih banyak atas semua dukungan dan bantuannya hingga
skripsi ini dapat terselesaikan dengan baik.
Penulis sangat menyadari dalam penulisan skripsi ini masih banyak terdapat
kekurangan. Penulis juga berharap agar skripsi ini dapat bermanfaat bagi semua
pihak khusunya bagi penulis dan umumnya bagi pembaca.
Bandung, Juli 2013
v
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xii
DAFTAR SIMBOL ... xiv
DAFTAR SUMBER ... xviii
DAFTAR LAMPIRAN ... xix
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 4
1.6 Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI ... 7
2.1 Keanekaragaman Budaya Indonesia ... 7
2.2 Sangkuriang ... 9
2.3 Game ... 11
2.3.1 Pengertian Game ... 11
2.3.2 Sejarah Singkat Game ... 12
vi
2.3.4 Klasifikasi Game ... 14
2.4 Kecerdasan Buatan / AI (Artificial Intelligence) ... 18
2.4.1 Tujuan akhir AI ... 19
2.4.2 Karakteristik AI ... 19
2.4.3 Perkembangan AI dan Aplikasinya... 20
2.4.4 Metode Pencarian (Searching) ... 20
2.4.5 AI yang digunakan ... 20
2.5 Metode Collision detection ... 22
2.6 Object Oriented Paradigm ... 24
2.7 Tools yang digunakan ... 24
2.7.1 UML (Unified Modeling Language) ... 24
2.7.2 Diagram-diagram UML ... 25
2.7.3 Java ... 26
2.7.4 Android ... 27
2.7.5 Tools Pendukung Pembuatan Aplikasi Android ... 28
2.7.6 Kilobolt ... 29
2.7.7 Adobe Photoshop ... 30
2.7.8 Extensible Markup Language (XML) ... 30
2.8 Pengujian Sistem ... 31
2.8.1 Pengujian Black-Box ... 31
2.8.2 Pengujian White-Box ... 32
2.8.3 Pengujian Path Basis ... 32
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 35
3.1 Analisis Sistem ... 35
vii
3.1.2 Analisis Game Sejenis yang Sudah Ada ... 36
3.1.3 Analisis Game yang akan dibangun ... 39
3.1.4 Analisis Algoritma ... 46
3.1.5 Analisis Kebutuhan Non-Fungsional ... 56
3.1.6 Analisis Kebutuhan Fungsional ... 60
3.2 Perancangan Sistem ... 101
3.2.1 Perancangan Komponen Permainan ... 101
3.2.2 Perancangan Struktur Menu ... 108
3.2.3 Perancangan Antarmuka ... 109
3.2.4 Perancangan Pesan ... 115
3.2.5 Jaringan Semantik ... 116
3.2.6 Perancangan Metode ... 117
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 127
4.1 Implementasi ... 127
4.1.1 Implementasi Perangkat Keras... 127
4.1.2 Implementasi Perangkat Lunak ... 127
4.1.3 Implementasi Antarmuka ... 127
4.1.4 Implementasi Antarmuka Menu Utama ... 127
4.1.5 Implementasi Antarmuka Menu Play ... 128
4.1.6 Implementasi Antarmuka Prolog Game ... 132
4.1.7 Implementasi Antarmuka Menu Option ... 134
4.1.8 Implementasi Menu About ... 135
4.1.9 Implementasi Pesan ... 135
viii
4.2.2 Pengujian Beta ... 145
BAB 5 KESIMPULAN DAN SARAN ... 155
5.1 Kesimpulan ... 155
5.2 Saran ... 155
157
DAFTAR PUSTAKA
[1] Chaldun, A. 2008, Pustaka Budaya Indonesia Bhinneka Tunggal Ika.
Surabaya : Karya Pembina Swajaya.
[2] Simbolon, Parakitri T. 2007, Menjadi Indonesia. Bogor: Grafika Mardi Yuana.
[3] Susilo, C., Agnes M. 2009, Pustaka Dongeng Nusantara. Jakarta: Elex Media Komputindo.
[4] Rasul, J., Hamid, A. 2007, Teknologi Informasi dan Komunikasi 1. Jakarta: Yudhistira.
[5] Priyanta, F. 2011, Pemrograman Android Untuk Pemula. Jakarta: Cerdas Pustaka Publisher.
[6] Enterprise, Jubilee, 2010, Step by Step Ponsel Android. Jakarta: Elex Media Komputindo.
[7] Sugiyono. 2009, Metode Penelitian Kuantitatif Kualitatif dan R&D. Bandung:
Alfabeta.
[8] Sommerville, I. 2011, Software Engineering (Rekayasa Perangkat Lunak).
Jakarta: Erlangga.
[9] Saraswati, M,. Widaningsih, Ida. 2008, Be Smart Ilmu Pengetahuan Sosial.
Jakarta: PT Grafindo Media Pratama.
[10] Budiman, Arif. 2012, Tafsir Amanat Dalam Cerita Legenda Sangkuriang,
Skripsi, Fakultas Bahasa dan Seni, Universitas Pendidikan Indonesia,
Bandung.
[11] Maxwell Chandler, H., Chandler, R. 2011, Fundamentals of Game Development. LLC: Jones & Barlett Learning.
[12] Sibero, I. 2009, Langkah Mudah Membuat Game 3D. Yogyakarta: Mediakom.
[13] Adams, E. 2010, Fundamentals of Game Design (2nd edition). New Rider: Berkeley.
Rating Board, Twin Galaxies, Electronic Sports World Cup, Cyberathlete
Professional League. Memphis: General Books.
[15] Suyoto. 2004, Intelegensi Buatan: Teori dan Pemrograman. Yogyakarta:
Gava Media.
[16] Suyanto, ST, MSc. 2007, Artificial Intelligence Searching, Reasoning,
Planning and Learning. Bandung: Informatika.
[17] Davison, Andrew. 2005, Killer Game Programming in Java. Sebastopol:
O‟Reilly Media.
[18] O'Docherty, M. 2005, Object-Oriented Analysis and Design Understanding
System Development with UML 2.0. England: Wiley.
[19] Pudjowidodo, Prabowo. 2011, Menggunakan UML. Bandung: Informatika Bandung.
[20] Raharjo, B., Heryanto, I., Haryono, A. 2010, Mudah Belajar Java. Bandung: Informatika Bandung.
7
BAB 2
LANDASAN TEORI
2.1 Keanekaragaman Budaya Indonesia
Indonesia merupakan negara kepulauan dengan kondisi geografisnya yang
luas yang memiliki 17.504 pulau besar dan kecil, sekitar 6000 diantaranya tidak
berpenghuni yang menyebar di khatulistiwa. Berdasarkan luas daratan wilayah
Indonesia terdiri dari 5 pulau besar, diantaranya pulau Jawa seluas 132.107 km2,
Sumatera seluas 473.606 km2, Kalimantan seluas 539.460 km2, Sulawesi seluas
189.216 km2, dan Papua seluas 421.981 km2 [1]. Dari 5 pulau besar tersebut
tersebar keanekaragaman suku dan seni budaya yang berbeda-beda, yang menjadi
kekayaan budaya Indonesia. Keberagaman budaya tersebut dapat terlihat dari
suku adat, rumah adat dan hewan khas dari pulau-pulau tersebut, diantaranya
yaitu sebagai berikut [9].
1. Pulau Kalimantan
Pulau Kalimantan atau Borneo terkenal dengan julukan "Pulau Seribu
Sungai" karena banyaknya sungai yang mengalir di pulau ini. Kalimantan
merupakan pulau terbesar di Indonesia dengan luas 539.460 km2. Suku adat
yang tersebar di wilayah ini salah satunya adalah suku Dayak, suku
mayoritas di Pulau Kalimantan, nama suku yang oleh penduduk pesisir
pulau Borneo diberi kepada penghuni pedalaman. Rumah adat dari suku
dayak disebut rumah Banjar, yaitu rumah dengan sayap bangunan yang
menjorok dari samping kanan dan kiri bangunan utama. Senjata
tradisionalnya adalah mandau dan talawang. Hewan khas dari Pulau
Kalimantan salah satunya adalah buaya.
2. Pulau Sumatera
Pulau Sumatera merupakan pulau terbesar kedua di Indonesia dengan
luas 473.606 km2. Suku adat yang mayoritas tersebar di wilayah ini adalah
rumah Gadang dengan bentuk atap yang runcing menjulang. Senjata
tradisionalnya adalah kerambit. Hewan khas dari pulau Sumatera salah
satunya adalah harimau Sumatera dan burung Endemik.
3. Pulau Papua
Pulau Papua merupakan pulau terbesar ketiga di Indonesia dengan luas
421.981 km2. Suku adat yang tersebar di wilayah ini salah satunya adalah
suku adat Dani, suku dengan populasi terbesar di pulau ini. Suku Dani
bermukim atau mendiami wilayah Pegunungan Tengah Papua. Rumah adat
dari suku Dani yaitu rumah Honai yang terbuat dari kayu dengan atap
berbentuk kerucut yang terbuat dari jerami atau ilalang. Honai sengaja
dibangun sempit atau kecil dan tidak berjendela yang bertujuan untuk
menahan hawa dingin pegunungan Papua. Senjata tradisionalnya adalah
panah dan busur. Hewan khas dari pulau Papua diantaranya adalah
kelelawar dan sejenis burung-burungan.
4. Pulau Sulawesi
Pulau Sulawesi adalah surga perairan di Indonesia. Sulawesi merupakan
pulau terbesar keempat di Indonesia dengan luas 189.216 km2. Suku adat
yang mayoritas tersebar di wilayah ini salah satunya adalah suku adat Bugis
yang berdomisili di Sulawesi Selatan. Rumah adat dari suku Bugis yaitu
rumah Saoraja (Sallasa) yang berarti rumah besar yang di tempati oleh
keturunan raja (kaum bangsawan). Senjata tradisionalnya adalah kawali atau
badik bugis. Hewan khas dari pulau Sulawesi diantaranya adalah terumbu
karang dan berbagai macam ikan karena pulau Sulawesi terkenal dengan
keindahan wisata baharinya.
5. Pulau Jawa
Pulau Jawa merupakan pulau terbesar kelima di Indonesia dengan luas
189.216 km2. Suku adat yang tersebar di wilayah ini salah satunya adalah
suku Sunda di Jawa Barat. Rumah adat dari suku Sunda yaitu rumah
9
tepus) dengan bilik bambu dan tiang kayu, atau juga bisa berarti harus
menggunakan bahan-bahan alami. Senjata tradisionalnya adalah kujang.
Hewan khas dari pulau Jawa salah satunya adalah harimau.
2.2 Sangkuriang
Cerita Sangkuriang merupakan cerita rakyat (folklore) Tatar Sunda bergenre
dongeng. Menurut golongannya termasuk ke dalam jenis legenda, yaitu cerita
yang mengisahkan asal-usul terjadinya suatu tempat, binatang, tumbuh-tumbuhan,
dan lain-lain. Cerita Sangkuriang adalah legenda yang mengisahkan asal-usul
terciptanya Gunung Tangkuban Perahu yang menceritakan seorang anak bernama
Sangkuriang yang melakukan segala cara untuk menikahi ibunya sendiri.
Menurut tokoh pendidik dan pemerhati anak, DR. Seto Mulyadi,
mengatakan, cerita rakyat merupakan media yang bermanfaat untuk
memperkenalkan nilai-nilai luhur kepada anak. Pengkontrasan tokoh baik dan
jahat perlu dilakukan agar terlihat perbedaan keduanya. Sehingga cerita rakyat
tidak diartikan berbeda oleh anak seperti Sangkuriang yang melakukan segala cara
untuk menikahi ibunya sendiri.
Legenda ini berawal dari kisah seorang puteri raja di Jawa Barat bernama
Dayang Sumbi. Ia mempunyai seorang anak laki-laki yang diberi nama
Sangkuriang. Anak tersebut sangat gemar berburu. Ia berburu dengan ditemani
oleh Tumang, anjing kesayangan istana. Sangkuriang tidak tahu, bahwa anjing itu
adalah titisan dewa dan juga bapaknya. Pada suatu hari Tumang tidak mau
mengikuti perintahnya untuk mengejar hewan buruan. Maka anjing tersebut
disembelih dan diambil hatinya. Ketika kembali ke rumah, Sangkuriang
menceritakan kejadian itu pada ibunya. Bukan main marahnya Dayang Sumbi
begitu mendengar cerita itu. Tanpa sengaja ia memukul kepala Sangkuriang
dengan sendok nasi yang dipegangnya. Sangkuriang terluka. Ia sangat kecewa dan
pergi mengembara. Setelah kejadian itu, Dayang Sumbi sangat menyesali dirinya.
Ia selalu berdoa dan sangat tekun bertapa. Pada suatu ketika, para dewa
memberinya sebuah hadiah. Ia akan selamanya muda dan memiliki kecantikan
Setelah bertahun-tahun mengembara, Sangkuriang akhirnya berniat untuk
kembali ke tanah airnya. Sesampainya disana, tanah kelahirannya sudah berubah
total. Disana dijumpainya seorang gadis jelita, yang tak lain adalah Dayang
Sumbi. Terpesona oleh kecantikan wanita tersebut maka, Sangkuriang
melamarnya. Oleh karena pemuda itu sangat tampan, Dayang Sumbi pun sangat
terpesona padanya.
Pada suatu hari Sangkuriang minta pamit untuk berburu. Ia minta tolong
Dayang Sumbi untuk merapikan ikat kepalanya. Alangkah terkejutnya Dayang
Sumbi demi melihat bekas luka di kepala calon suaminya. Luka itu persis seperti
luka anaknya yang telah pergi merantau. Setelah lama diperhatikannya, ternyata
wajah pemuda itu sangat mirip dengan wajah anaknya. Ia menjadi sangat
ketakutan.
Maka kemudian ia mencari daya upaya untuk menggagalkan proses
peminangan itu. Ia mengajukan dua buah syarat. Pertama, ia meminta pemuda itu
untuk membendung sungai Citarum. Dan kedua, ia minta Sangkuriang untuk
membuat sebuah perahu besar untuk menyeberang sungai itu. Kedua syarat itu
harus sudah dipenuhi sebelum fajar menyingsing.
Malam itu Sangkuriang melakukan tapa. Dengan kesaktiannya ia
menyelesaikan pekerjaan itu. Dayang Sumbi pun diam-diam mengintip pekerjaan
tersebut. Begitu pekerjaan itu hampir selesai, Dayang Sumbi memerintahkan
pasukannya untuk menggelar kain sutra merah di sebelah timur kota.
Ketika menyaksikan warna memerah di timur kota, Sangkuriang mengira
hari sudah menjelang pagi. Ia pun menghentikan pekerjaannya. Ia sangat marah
oleh karena itu berarti ia tidak dapat memenuhi syarat yang diminta Dayang
Sumbi. Dengan kekuatannya, ia menjebol bendungan yang dibuatnya. Terjadilah
banjir besar melanda seluruh kota. Ia pun kemudian menendang perahu besar
yang dibuatnya. Perahu itu melayang dan jatuh menjadi sebuah gunung yang
11
Pada awalnya, cerita yang tidak pernah diketahui pengarangnya ini, hidup di
tengah-tengah masyarakat Sunda sebagai tradisi lisan yang diwariskan turun
temurun dari generasi ke generasi. Hal inilah yang mengundang perdebatan
tentang keberadaan cerita Sangkuriang dalam khasanah sastra. Seperti yang kita
ketahui beberapa kalangan masih terjebak pada pengertian sastra sebagai karya
imajiner yang tercetak dalam bentuk tulisan.
Akan tetapi, setelah cerita Sangkuriang ditransformasi ke dalam bentuk
tulisan kiranya keberadaan cerita Sangkuriang dalam dunia sastra sudah tidak
perlu dipersoalkan lagi. Berbagai bentuk dan versi cerita yang hadir di
tengah-tengah masyarakat merupakan bukti diterimanya cerita legenda Sangkuriang
dalam kesusastraan. Tidak hanya terbatas dalam bingkai kedaerahan (Sunda)
tetapi cerita legenda Sangkuriang kini sudah menjadi milik Indonesia [10].
2.3 Game
Dalam bagian ini akan dibahas pengertian game, klasifikasi game
berdasarkan platform, berdasarkan genre, berdasarkan sudut pandang permainan
(game view point) dan berdasarkan pembatasan usia dari pemainnya.
2.3.1 Pengertian Game
Game merupakan suatu bentuk hiburan yang seringkali dijadikan sebagai
penyegar pikiran dari rasa penat yang disebabkan oleh aktivitas dan rutinitas kita,
bertujuan bertujuan untuk menghibur yang banyak disukai oleh anak-anak hingga
orang dewasa.
Istilah “video game” awalnya mengacu pada jenis spesifik perangkat, yaitu
sebuah sistem komputer yang menciptakan sinyal tampilan video untuk televisi,
tapi kini istilah tersebut telah menjadi istilah yang mencakup segala jenis
perangkat.
Video game dikendalikan oleh komputer melalui interaksi pengguna dan
imersi audio-visual, video game memungkinkan pemain untuk menanggapi situasi
yang menantang dalam dunia fantasi. Sangat penting untuk dicatat bahwa
nyata, misalnya pemain dapat menjelajahi fantasi bermain di liga utama bisbol
[11].
2.3.2 Sejarah Singkat Game
Di antara jajaran nama tokoh penemuan penting, nama besar seorang
penemu permainan komputer, atau lebih lazim kita menyebutnya dengan game,
jarang sekali disebutkan. Namun bila penemuannya sampai sekarang masih
digunakan dan bahkan sangat diminati dan dinikmati. Sebagian orang bahkan saat
ini mengangap game sebagai sebuah kebutuhan yang harus terpenuhi.
Game elektronik atau selanjutnya dapat disebut video game pertama sekali
ditemukan oleh Thomas T. Goldsmith dan Estle Ray Mann. Penemuan ini
dipatenkan pada Januari 1947, yang mendasari perkembangannya saat itu adalah
ketika mereka menemukan Cathode-Ray Tube sebuah tabung digunakan sebagai
media untuk membuat simulasi kecepatan tembakan dan arah tembakan sebuah
roket. Pada Februari 1951, Christopher Strachey memulai perkembangannya
kearah pemrograman yang mulai menggunakan memori dimana aplikasinya
diterapkan untuk kebutuhan para pilot. Dan penemuan baru terus berkembang
hingga tahun 1959.
Namun era perkembangan konsol game di mulai pada generasi pertama
tahun 1972 sampai tahun 1977. Generasi kedua (1976-1982) sering disebut
generasi konsol 8 bit. Di mana pemrograman video game dibuat lebih advance.
Generasi Ketiga (1983-1992), Nintendo Entertainment System (NES)
mendominasi pasarnya hingga Amerika Utara, Sega Master System juga
berkembang pesat di Eropa dan Brasil. Generasi Keempat (1987-1996) lebih
dikenal dengan generasi 16 Bit dimana pengembangannya dimulai sekitar
Oktober 1987. Generasi Kelima (1993-2002), konsol 64 bit mulai muncul pada
era ini, grafis 3D mulai menjadi alasan untuk perang konsol ini. Generasi
Keenam (1998-2006) merupakan generasi 128 bit, teknologi semakin maju
membuat beberapa konsol baru mulai muncul dan semuanya memiliki pasar
tersendiri. Generasi Ketujuh (2004) beberapa pengembang konsol mulai focus
13
yang masih bertahan dengan pengembangannya Nintendo, Sony dan Microsoft
[12].
2.3.3 Sejarah Game di Indonesia
Divinekids adalah game yang diakui dan mendapat award resmi dari MURI
(Museum Rekor Indonesia) sebagai Game Pertama Indonesia pada tahun 2004
dan banyak majalah-majalah Game dan Komputer (Gamestation, PCGAME,
Bobo, INDOPOS, Game21 dan lain sebagainya). Sebenarnya sudah banyak game
-game buatan orang-orang indonesia yang lain tetapi karena kekurangan
syarat-syarat minimal tertentu seperti: Karakter menggunakan karakter asing,
penyebaran yang kurang luas, bahasa yang digunakan bukan bahasa Indonesia,
tidak terdaftar resmi Copyright ataupun Trademarknya dan lain sebagainya,
karena itu tidak dipilih sebagai Game Pertama Indonesia Resmi.
Menurut sebagian pengamat game ini adalah kurangnya investigasi MURI
dalam hal melihat adanya game-game tersebut sebelum memberikan gelar game
pertama ke David Setiabudi. Terlebih mereka tidak meminta pendapat dari pihak
yang memahami dunia game Indonesia itu sendiri.
Pengamat-pengamat yang berpendapat berbeda dengan MURI dan
majalah-majalah PC dan Game, memposisikan sejarah game Indonesia sebagai berikut:
Sejarah Game Indonesia menurut Game Devid. Selain itu juga masih ada banyak
game-game lain yang belum terdokumentasi dengan baik. Beberapa game buatan
Elex Media Komputindo dengan copyright resmi dan penyebaran yang luas ada
juga yang dibuat sebelum sebelum dirilisnya Divine Kids. Game ini dibuat dan
dibagikan secara gratis melalui CD majalah2 game/ komputer dan melalui
Internet.
Game-game Divinekids berjumlah 38 lebih dan terus bertambah (2006).
Pembuatnya adalah David Setiabudi dan mahasiswa-mahasiswi bimbingannya.
Pembuatan musik gamenya dibuat oleh Rama Aurora, tunanetra berbakat
2.3.4 Klasifikasi Game
Game bisa diklasifikasikan kedalam beberapa hal, diantaranya klasifikasi
berdasarkan platform, berdasarkan genre, berdasarkan sudut pandang permainan
(game view point) dan berdasarkan pembatasan usia dari pemainnya.
2.3.4.1 Berdasarkan Platform
Tiga kategori utama platform pada game [11] adalah personal computer
(PC), console, dan mobile.
a. Personal Computer (PC)
PC game adalah game yang dibuat untuk computer baik berbasis
Windows, Mac, ataupun Linux. PC menyediakan kekuatan grafis dan
pemrosesan yang kuat yang memungkinkan pengembang untuk
membuat game yang mutakhir. Tetapi kelemahan game PC adalah
mahal karena pengguna harus menggunakan hardware yang up-to-date
untuk memainkan game PC dengan baik. Selain itu, kelemahan game
PC bagi pengembang adalah banyaknya varian dari konfigurasi PC
membuat sulit bagi pengembang untuk memastikan game tersebut
berjalan dengan benar pada semua setup PC.
b. Console
Console adalah hardware yang dibuat oleh pihak ketiga seperti Sony,
Microsoft, dan Nintendo. Console terhubung ke televisi dan tujuan
utamanya adalah untuk bermain game. Game Console sangat menarik
bagi game pengembang karena mereka hanya perlu memikirkan satu
konfigurasi hardware ketika membuat software untuk konsol. Sangat
kontras dengan PC yang memiliki opsi konfigurasi yang tak terbatas.
c. Mobile
Mobile platform terdiri atas sesuatu yang portable dan bisa digenggam,
termasuk ponsel, PDA, iPods, dan handheld game seperti Nintendo DSi
atau Sony PSP. Game mobile memiliki kontrol yang sederhana (terutama
15
2.3.4.2 Berdasarkan Genre
Menurut buku “Fundamentals of Game Design”, genre game bisa dibagi menjadi 9 [13], yaitu:
1. Action
Action game adalah game dimana kebanyakan dari tantangan yang
disajikan merupakan dari tes physical skill dan koordinasi pemain.
Salah satu sub-genre action game adalah shooters game, baik yang 2D
maupun 3D seperti First Person Shooters (FPS).
2. Strategy
Strategy game menantang pemain untuk mencapai kemenangan dengan
perencanaan, khususnya melalui perencanaan serangkaian tindakan
yang dilakukan melawan satu lawan atau lebih. Kemenangan diraih
dengan perencanaan matang dan pengambilan keputusan yang optimal.
3. Role Playing Game (RPG)
RPG adalah game dimana pemain mengontrol satu atau lebih karakter
yang biasanya di desain oleh pemain itu sendiri, dan memandu mereka
melewati berbagai rintangan yang diatur oleh komputer. Perkembangan
karakter dalam hal kekuatan dan kemampuannya adalah kunci dari game
jenis ini.
4. Sports
Sports game mensimulasikan berbagai aspek dari olahraga atletik nyata
maupun imajiner, apakah itu memainkan pertandingan, me-manage tim
dan karir, atau keduanya. Salah satu contoh game jenis ini adalah Pro
Evolution Soccer 2012 (PES 2012), dimana pemain bisa memainkan
pertandingan, menjadi manajer tim, maupun menjadi pemain dan
mengembangkan karirnya sendiri.
5. Vechicle Simulation
Vechicle simulation membuat feeling mengendarai kendaraan, baik
kasar mesin harus menyerupai kenyataan, kecuali jika yang didesain
adalah kendaraan imajiner.
6. Construction and Management Simulation
CMS game adalah game tentang proses. Tujuan pemain bukan untuk
mengalahkan musuh, tetapi membangun sesuatu dengan konteks proses
yang sedang berjalan. Semakin pemain mengerti dan mengontrol proses,
semakin sukses sesuatu yang ia bangun. Game seperti ini biasanya
menyediakan dua jenis permainan, yaitu mode bebas dimana pemain
bebas membangun sesuatu, dan mode misi dimana terdapat skenario hal
apa yang harus dibangun oleh pemain.
7. Adventure/ Platform
Adventure atau platform game adalah cerita interaktif tentang karakter
protagonis yang dimainkan oleh pemain. Penyampaian cerita dan
eksplorasi adalah elemen inti dari game ini. Penyelesaian teka-teki dan
tantangan konseptual adalah bagian besar dari permainan.
8. Artificial Life and Puzzle Game
Artificial Life game adalah game yang membuat tiruan dari kehidupan
sebenarnya. Biasanya ada dua jenis game ini, tiruan kehidupan manusia,
contohnya The SIMS, dan tiruan kehidupan binatang, contohnya
Tamagochi.
9. Online Game
Istilah online game disini mengacu kepada multiplayer game dimana
mesin dari para pemain terhubung dengan jaringan.
2.3.4.3 Berdasarkan Sudut Pandang Permainan (Game View Point)
Sebuah game biasanya mempunyai sudut pandang permainan tersendiri
disesuaikan berdasarkan genre game yang diambil. Berikut beberapa macam
17
1. Side Scrolling
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
Sudut pandang permainan yang memungkinkan karakter utama
bermanuver ke empat arah namun cara permainannya sendiri
bergeser dari bawah ke atas, dan biasanya game yang menggunakan
sudut pandang permainan jenis ini adalah shooter game.
3. Isometric
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.3.4.4 Berdasarkan pembatasan usia dari pemainnya
Menurut ESRB (Entertainment Software Rating Board) ada 7
pembatasan usia dari pemainnya [14] adalah sebagai berikut:
1. Early Childhood (3+) memiliki isi yang mungkin cocok untuk usia 3
keatas. Tidak mengandung materi yang tidak pantas seperti adegan
kekerasan.
2. Everyone (6+) memiliki konten yang mungkin cocok untuk usia 6
keatas. Judul-judul dalam kategori ini mungkin berisi sedikit kartun,
fantasi atau kekerasan ringan dan tidak jarang menggunakan bahasa
yang ringan.
3. Everyone (10+) memiliki konten yang mungkin cocok untuk usia 10
keatas. Judul-judul dalam kategori ini mungkin berisi lebih banyak
kartun, fantasi atau kekerasan ringan, bahasa ringan dan juga minimal
tema sugestif.
4. Teen (13+) memiliki konten yang mungkin cocok untuk usia 13
kekerasan, tema sugestif, humor kasar, sedikit darah, simulasi
perjudian, dan tidak jarang menggunakan bahasa yang kuat.
5. Mature (17+) memiliki konten yang mungkin cocok untuk orang
usia 17 dan lebih tua. Judul-judul dalam kategori ini mungkin
berisi intens kekerasan, darah, konten seksual dan bahasa yang kuat.
Mature (17+) memiliki konten yang mungkin cocok untuk orang usia
17 dan lebih tua. Judul judul dalam kategori ini mungkin berisi
intens kekerasan, darah, konten seksual dan bahasa yang kuat.
6. Adults Only (18+) memiliki konten yang hanya boleh dimainkan
oleh orang-orang 18 tahun keatas. Judul-judul dalam kategori ini
mungkin termasuk adegan yang intens, kekerasan dan juga
mengandung konten seksual.
7. RP (Rating Pending) telah disampaikan kepada ESRB dan sedang
menunggu penilaian akhir. (Simbol ini hanya muncul dalam iklan
sebelum permainan dibebaskan).
2.4 Kecerdasan Buatan / AI (Artificial Intelligence)
Kecerdasan buatan atau dalam bahasa Inggrisnya Artificial Intelligence
sering disingkat AI merupakan cabang terpenting dalam dunia komputer.
Akhir-akhir ini teknologi Ai telah begitu banyak mempengaruhi kehidupan manusia.
AI ialah ilmu dan rekayasa, yang membuat mesin mempunyai intelegensi
tertentu khususnya program komputer yang „cerdas‟. Intelegensi merupakan
bagian kemampuan komputasi untuk mencapai tujuan di dalam dunia. Ada
beberapa macam jenis dan derajat intelegensi untuk manusia, binatang dan
beberapa mesin.
AI berhubungan dengan penggunaan komputer untuk melaksanakan tugas
atau menyelesaikan masalah yang memerluakan kecerdasan atau kepintaran. Pada
umumnya komputer memerlukan aplikasi atau software untuk melaksanakan
tugas atau menyelesaikan masalah, maka aplikasi atau software yang berdasarkan
19
termasuk pemahaman, inferensi, daya penjelasan, pembelajaran, komunikasi dan
sebagainya [15].
2.4.1 Tujuan akhir AI
Terdapat sembilan tujuan AI [16] yaitu:
1. Memahami kognisi manusia. Bagaimana manusia menyelesaikan
masalah? Coba untuk mendapatkan pengetahuan ingatan manusia yang
mendalam, kemampuan problem-solving, belajar, membuat keputusan,
dan lain-lain.
2. Otomatisasi biaya-efektif. Menggantikan manusia dalam tugas-tugas
intelegensi.
3. Penguatan intelegensi biaya-efektif. Membangun sistem untuk membantu
manusia berpikir lebih baik, lebih cepat, lebih dalam.
4. Intelegensi manusia super. Membangun program yang mempunyai
kemampuan untuk melebihi intelegensi manusia.
5. Problem-solving umum. Sistem penyelesaian berbagai masalah yang
luas.
6. Wacana koheren. Komunikasi dengan manusia mengguanakan bahasa,
alami.
7. Otonomi. Mempunyai sistem intelegensi yang beraksi atas inisiatif
sendiri.
8. Belajar (induksi). Sistem sebaiknya dapat untuk memperoleh data
sendiri, dan tau bagaimana memperolehnya.
9. Informasi. Simpan informasi dan mengetahui bagaimana untuk
mengambil informasi.
2.4.2 Karakteristik AI
Karakteristik ini didasarkan pada pandangan bahwa AI ada 4 kategori [15]
yaitu:
a. Sistem yang dapat berpikir seperti manusia.
b. Sistem yang dapat beraksi seperti manusia.
d. Sistem yang dapat beraksi secara rasional.
2.4.3 Perkembangan AI dan Aplikasinya
AI merujuk pada satu bidang komputer yang berupaya melakukan tugas
sama seperti manusia. Dalam keadaan ini, komputer tersebut boleh dikatakan
cerdas. Banyak bidang yang melibatkan AI antara lain. Penyelesaian masalah,
logika kabur (fuzzy), pengenalan bahasa alamiah, robotik, dan sistem pakar. Ai
boleh di identifikasikan sebagai kajian yang menyeluruh bagaimana sebuah
komputer berupaya melakukan tugas dengan terapan yang lebih baik jika di
bandingkan manusia. Kajian tersebut meliputi kebolehan komouter belajar,
memahami, membuat keputusan, dan meningkatkan prestasi atas hasil kesalahan
yang telah dilakukan sebelumnya [15].
2.4.4 Metode Pencarian (Searching)
Pada dasarnya teknik pencarian (searching) dapat dibagi menjadi 2
kelompok besar, yaitu pencarian buta (blind search) dan pencarian terbimbing
(heuristic search). Untuk mengukur performa metode pencarian, terdapat empat
kriteria yang dapat dilakukan [16] yaitu :
a. Completeness : apakah metode tersebut menjamin adanya solusi jika
solusinya ada?
b. Time Complexity : berapa lama waktu yang diberikan untuk menemukan
solusi tersebut.
c. Space complexity : berapa banyak memori yang dibutuhkan untuk
menemukan solusi tersebut.
d. Optimaly : apakah metode tersebut menjamin menemukan solusi terbaik
jika terdapat beberapa solusi yang berbeda.
2.4.5 AI yang digunakan
Algoritma A* (A Star) merupakan algoritma Best First Search yang
menggabungkan Uniform Cost Search dan Greedy Best First Search. Biaya yang
diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan.
21
f(n) = g(n) + h(n) ……(2.1)
Dengan perhitungan biaya seperti ini, algoritma A* (A Star) adalah
complete dan optimal.
Sama dengan algoritma dasar Best First Search, algoritma A* (A Star) ini
juga menggunakan OPEN dan CLOSED. Terdapat tiga kondisi bagi setiap
suksesor yang dibangkitkan, yaitu : sudah berada di-OPEN, sudah berada
di-CLOSED, dan tidak berada di-OPEN maupun CLOSED.
Pada ketiga kondisi tersebut diberikan penanganan yang berbeda-beda. Jika
suksesor sudah berada di-OPEN, maka dilakukan pengecekan apakah perlu
pengubahan parent atau tidak tergantung pada nilai g nya melalui parent lama
atau parent baru. Jika melalui parent baru memberikan nilai g yang lebih kecil,
maka dilakukan pengubahan parent. Jika pengubahan parent dilakukan, maka
dilakukan pula perbaruan (update) nilai g dan f pada suksesor tersebut. Dengan
perbaruan ini, suksesor tersebut memiliki kesempatan yang lebih besar untuk
terpilih sebagai simpul terbaik (best node).
Jika suksesor sudah pernah berada di-CLOSED, maka akan dilakukan
pengecekan apakah perlu pengubahan parent atau tidak. Jika ya, maka dilakukan
perbaruan nilai g dan f pada suksesor tersebut serta pada semua “anak cucunya”
yang sudah pernah berada di-OPEN. Dengan perbaruan ini, maka anak cucunya
tersebut memiliki kesempatan lebih besar untuk terpilih sebagai simpul terbaik
(best node).
Jika suksesor tidak berada di-OPEN maupun CLOSED, maka suksesor
tersebut dimasukkan ke dalam OPEN. Tambahkan suksesor tersebut sebagai
suksesornya best node. Hitung biaya suksesor tersebut dengan rumus f = g + h.
Beberapa fungsi heuristic yang di yang umumnya di gunakan dalam
algoritma A* [16] adalah sebagai berikut:
1. Manhattan Dinstance
Manhattan Distance adalah fungsi standar untuk algoritma A*. Digunakan
h(n)= abs(Xn-Xgoal) + abs (Yn-Ygoal) ……(2.2)
dimana:
a. Xn adalah koordinat x dari node pertama pada grid.
b. Xgoal adalah koordinat X pada final node.
c. Yn adalah koordinat dari node pertama pada grid.
d. Ygoal adalah koordinat Y pada final node.
2. Straight Line Distance
Straight Line Distance adalah fungsi heuristik yang digunakan pada aplikasi
yang dapat bergerak ke segala arah/sudut.
h(n)= sqrt ((Xn-Xgoal + abs (Yn-Ygoal ) ……(2.3)
dimana:
a. Xn adalah koordinat x dari node pertama pada grid.
b. Xgoal adalah koordinat X pada final node
c. Yn adalah koordinat dari node pertama pada grid.
d. Ygoal adalah koordinat Y pada final node.
3. Diagonal Distance
Diagonal Distance adalah fungsi heuristik yang digunakan pada aplikasi yang
yang memiliki delapan arah gerakan (dapat bergerak diagonal).
h(n)= d* maxabs (Xn-Xgoal), abs (Yn-Ygoal)) ……(2.4)
dimana:
a. d adalah nilai biaya. Nilai d di dapat antara nilai minimum cost di
pindah antar node
b. Xn adalah koordinat x dari node pertama pada grid.
c. Xgoal adalah koordinat X pada final node
d. Yn adalah koordinat dari node pertama pada grid.
e. Ygoal adalah koordinat Y pada final node.
2.5 Metode Collision detection
Hampir setiap permainan video yang ada sudah menerapkan collision
23
sprite maupun antara sprite dengan peluru dan lain-lain. Dalam aplikasi
permainan ada beberapa reaksi yang ditunjukkan dari collision detection, yaitu
reaksi dari spirte yang berupa berkurangnya nyawa, berkurangnya darah, meledak,
dan lain-lain.
Proses collision dapat dibagi menjadi dua kategori dasar, yaitu collision
detection dan collision response, dengan jarak respon yang telah diaplikasikan
secara spesifik. Dalam collision detection, terdapat banyak sekali jenis dari
collision detection itu sendiri, pada gambar II.1 merupakan tiga tipe dari collision
detection.
Gambar 2.1. Tiga jenis collision detection
Setiap objek diberi sebuah kotak sebagai acuan jika collision itu terjadi.
Untuk gambar yang pertama, collision detection terjadi ketika objek burung
bertabrakan dengan kotak yang memuat objek keledai, pada jenis collision
detection ini rentan terhadap ketidaktelitian, untuk gambar yang kedua, collision
detection terjadi ketika kotak dari kedua objek tersebut bersinggungan, pada jenis
collision detection ini sudah lebih akurat dibanding jenis yang pertama, namun
untuk memilih factor reduksi yang cocok itu sulit, dan untuk gambar yang ketiga,
collision detection akan terjadi ketika objek saling bersinggungan tanpa
memperdulikan kotak secara keseluruhan, pada jenis collision detection ini adalah
yang paling akurat dibandingkan dengan jenis yang lainnya.
Selain itu pada sumber lain disebutkan bahwa collision detection terbagi
menjadi dua jenis, yaitu collision detection object to object dan collision detection
object to world. Pada object to object yang terjadi adalah adanya tubrukan antara
tersebut bertubrukan secara langsung ataupun bertubrukan antara kotak maupun
lingkaran yang mengandung objek tersebut, sedangkan pada object to world yang
terjadi adalah adanya tubrukan antara objek dengan frame itu sendiri, contohnya
adalah tubrukan antara sprite dengan dinding pada aplikasi permainan itu sendiri
sehingga apabila terjadi, maka sprite tersebut tidak dapat melewati dinding
tersebut [17].
2.6 Object Oriented Paradigm
Konsep dasar dari paradigma berorientasi objek (cara melakukan sesuatu)
relatif mudah untuk dipahami dan diterapkan. Alan Kay, penemu Smalltalk, telah
mengerjakan 'Personal Computer for Children of all Ages' sejak 1968, sebagai
sasarannya adalah anak-anak. Pendekatan berorientasi objek diciptakan (karena
kesulitan orang-orang yang telah berusaha untuk mendapatkan sistem berkualitas
baik, dihasilkan tepat waktu, dan sesuai anggaran, terutama untuk sistem yang
besar dengan banyak orang yang terlibat.
Beberapa justifikasi yang biasanya diberikan kepada orientasi objek [18],
yaitu sebagai berikut:
1. Objek lebih mudah dipahami masyarakat
2. Spesialis dapat berkomunikasi lebih baik.
3. Data dan proses tidak dipisahkan secara artifisial.
4. Kode dapat digunakan kembali lebih mudah.
5. Orientasi Obyek matang dan terbukti dengan baik.
2.7 Tools yang digunakan
Tools yang digunakan dalam pembuatan Game Adventure “Sangkuriang and Indonesian Five Largest Islands” diantaranya adalah UML (Unified
Modelling Language), Java, Android, Framework Kilobolt dan Adobe Photoshop.
2.7.1 UML (Unified Modeling Language)
Unified Modelling Language (UML) yang berarti bahasa pemodelan
standar. UML memiliki sintak dan semantic yang diaplikasikan untuk maksud
25
a. Merancang perangkat lunak.
b. Sarana komunikasi antara perangkat lunak dengan proses bisnis.
c. Menjabarkan system secara rinci untuk analisa dan mencari apa yang
diperlukan sistem.
d. Mendokumentasi sistem yang ada, proses-proses dan organisasinya.
Blok pembangun utama UML adalah diagram. Beberapa diagram ada yang
rinci, dan ada yang bersifat umum [19].
2.7.2 Diagram-diagram UML
Jenis-jenis Diagram UML [19] yaitu :
a. Diagram kelas. Bersifat statis. Diagram ini memperlihatkan himpunan
kelas-kelas, antar muka, kolaborasi, serta relasi-relasi. Pemodelan ini
umum dijumpai pada pemodelan sistem berorientasi objek.
b. Diagram Paket. Bersifat statis. Diagram ini memperlihatkan kumpulan
kelas-kelas, merupakan bagian dari diagram komponen.
c. Diagram Use-case. Bersifat statis. Diagram ini memperlihatkan
himpunan use case dan actor-aktor. Diagram use case adalah abstraksi
dari interaksi antara sistem dan actor, mendeskripsikan bagaimana
sistem akan terlihat dimata user.
d. Diagram interaksi dan Sequence. Bersifat dinamis. Diagram urutan
adalah diagram interaksi yang menampilkan urutan kegiatan dan
hubungan kelas.
e. Diagram komunikasi. Bersifat dinamis. Diagram yang menekankan
organisasi struktural dari objek-objek yang menerima serta mengirim
pesan.
f. Diagram Statechart. Bersifat dinamis. Diagram status memperlihatkan
keadaan-keadaan pada sistem, memuat status (state), transisi, kejadian
sera aktifitas.
g. Diagram aktivitas. Bersifat dinamis. Diagram aktivitas adalah tipe
khusus dari diagram status yang memperlihatkan aliran dari suatu
h. Diagram komponen. Bersifat statis. Diagram komponen ini
memperlihatkan organisani serata kebergantungan system / perangkat
lunak pada komponen-komponen yang telah ada sebelumnya.
i. Diagram Deployment. Bersifat statis. Diagram ini memperlihatkan
konfigurasi saat aplikasi di jalankan.
2.7.3 Java
Java adalah bahasa pemrograman yang sederhana, berorientasi-objek,
bertipe statik, terkompilasi, multi-threaded, garbage collected, netral arsitektur,
robust, aman, dan dapat di perluas. Berikut ini yang terdapat dalam bahasa
pemograman Java [20]:
a. Sederhana
Pengembangan java banyak membuang fitur-fitur yang tidak di perlukan
seperti yang dimiliki oleh bahasa pemrograman tingkat tinggi lainnya.
b. Berorientasi-objek
Seperti halnya C++, java menggunakan kelas-kelas untuk mengelola
kode ke dalam modul-modul logika.
c. Bertipe statik.
Semua objek yang digunakan dalam program harus di deklarasikan
sebalum digunakan.
d. Terkompilasi
Sebelum dapat menjalankan program yang di tulis dengan bahasa
pemrograman java, program harus dikompilasi oleh kompilator java.
e. Multi-treaded.
Program java dapat berisi eksekusi multiple treadeds, yang
memungkinkan program mengulas citra pada layar pada satu thread,
sementara tetap menerima masukan dari keyboard pada thread utamanya.
f. Garbage collected (pembuang sampah)
Program java menyingkirkan sendiri „sampah-sampah‟ yang tak berguna.
27
Pada dasarnya, java tidak dirancang untuk prosesor ataupun sistem
operasi tertentu.
h. Tangguh (robust)
Karena interpreter java memeriksa seluruh akses sistem yang dilakukan
program, maka program java tidak akan membuat sistem menjadi crash.
i. Aman
Sistem java hanya memverifikasi seluruh akses memori tetapi juga
menjamin bahwa tidak ada virus yang ikut pada applet yang sedang
berjalan.
j. Dapat diperluas
Program java mendukung metode native yakni fungsi-fungsi yang
dituliskan dalam bahasa lain, biasanya C++.
2.7.4 Android
Android adalah sistem operasi yang digunakan di smartphone dan juga
tablet PC. Android pertama kali dikembangkan oleh perusahaan bernama Android
Inc., dan pada tahun 2005 di akuisisi oleh raksasa Internet Google. Android dibuat
dengan basis kernel Linux yang telah dimodifikasi, dan untuk setiap release-nya
diberi kode nama berdasarkan nama hidangan makanan. Keunggulan utama
Android adalah gratis dan open source. Keuntungan open source, banyak
pengembang software yang bisa melihat dan memanfaatkan kode itu serta bisa
membuat aplikasi baru di dalamnya. Berbagai aplikasi android diwadahi dalam
sebuah portal, yaitu Android Market, sehingga pengguna tinggal meng-install
aplikasi pilihannya [5].
2.7.4.1 Fitur-fitur yang ada di android
Fitur-fitur yang ada di android [5] diantaranya sebagai berikut.
a) Framework Aplikasi , pengembang memiliki akses penuh framework
API (Application Programming Interface) yang sama yang digunakan
oleh aplikasi inti.
c) Integrated browser berdasarkan engine open source WebKit
d) Grafis yang dioptimalkan dan didukung oleh perpustakaan grafis 2D,
grafis 3D berdasarkan spesifikasi opengl ES 1,0
e) SQLite untuk penyimpanan data
f) Media Support yang mendukung audio, video, dan gambar (MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF)
g) GSM Telephony (tergantung hardware)
h) Bluetooth, EDGE, 3G, dan WiFi
i) Kamera, GPS, kompas, dan accelerometer
j) Lingkungan Development yang lengkap: perangkat emulator, tools
untuk debugging, profil dan kinerja memori, dan plugin untuk Eclipse
IDE.
2.7.5 Tools Pendukung Pembuatan Aplikasi Android
Tools pendukung pembuatan aplikasi android yang digunakan dalam
pembuatan Game Adventure “Sangkuriang and Indonesian Five Largest Islands”
diantaranya adalah Eclipse, Android SDK dan ADT (Android Development
Tools).
2.7.5.1 Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform
(platform-independent). Berikut ini adalah sifat dari Eclipse:
a) Multi-platform
b) Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java,
akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa
pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain
sebagainya.
c) Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa
digunakan untuk aktivitas seperti dokumentasi, test perangkat lunak,
29
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development
Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan
program Java, dan PDE (Plug-in Development Environment) untuk
mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan
dalam bahasa pemrograman Java. Konsep Eclipse adalah IDE yang terbuka
(open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang
spesifik. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT
(C/C++ Development Tools) [5].
2.7.5.2 Android SDK (Software Development Kit)
Android SDK merupakan library yang berisi kumpulan tools / alat bantu
yang dibutuhkan dalam membangun / mengembangkan sebuah aplikasi di android
dengan menggunakan bahasa pemrograman Java [5].
2.7.5.3 ADT (Android Development Tools)
ADT merupakan sebuah plugin untuk eclipse. Sebelum menggunakan
atau menginstal ADT, pastikan bahwa eclipse nya sudah terinstal dan kompatibel
dengan ADT dan android SDK [5].
2.7.6 Kilobolt
Kilobolt merupakan framework untuk membangun dan mengembangkan
game yang dinamis pada sistem operasi android khususnya. Tutorial untuk
mengunakan framework ini telah disediakan, seperti tutorial Android Game
Development, Java Game Development, General Game Development Concepts,
dll. Adapun kelebihan dalam menggunakan framework ini yaitu sebagai berikut.
1. Dokumentasi Lengkap
Dokumentasi kilobolt sangat lengkap sangat mudah dipahami, tidak hanya
berupa list dari method-method yang ada di kilobolt, tapi lebih seperti sebuah
ensiklopedia ditambah dengan contoh penggunaannya.
2. Plug & Play
Tentu tidak sedikit framework yang pada tahap instalasi saja sudah sulit, tidak
3. Small Simple Yet Fast
Kilobolt framework yang didesain untuk pengembangan aplikasi kelas
menengah, tetapi jika ingin melakukan extend kilobolt lebih jauh lagi telah
tersedia plugin sesuai kebutuhan.
4. Small Learning Curve
Dengan dokumentasi yang bisa dikatakan sangat bagus dan jelas, proses
belajar framework ini menjadi sangat mudah dan menyenangkan.
2.7.7 Adobe Photoshop
Adobe Photoshop adalah software yang dibuat oleh perusahaan Adobe
System, yang di khususkan untuk pengeditan foto atau gambar dan pembuatan
effect. Perangkat lunak ini banyak digunakan oleh Fotografer Digital dan
perusahaan iklan sehingga dianggap sebagai pemimpin pasar (market leader)
untuk perangkat lunak pengolah gambar. Meskipun pada awalnya Photoshop
dirancang untuk menyunting gambar untuk cetakan berbasis-kertas, Photoshop
yang ada saat ini juga dapat digunakan untuk memproduksi gambar untuk World
Wide Web. Beberapa versi terakhir juga menyertakan aplikasi tambahan, Adobe
ImageReady, untuk keperluan tersebut.
Photoshop juga memiliki hubungan erat dengan beberapa perangkat lunak
penyunting media, animasi, dan authoring buatan-Adobe lainnya. File format asli
Photoshop, PSD, dapat diekspor ke dan dari Adobe ImageReady. Adobe
Illustrator, Adobe Premiere Pro, After Effects dan Adobe Encore DVD untuk
membuat DVD profesional, menyediakan penyuntingan gambar non-linear dan
layanan special effect seperti background, tekstur, dan lain-lain untuk keperluan
televisi, film, dan situs web.
2.7.8 Extensible Markup Language (XML)
XML (Extensible Markup Language) adalah bahasa markup yang
mendifinisikan seperangkat aturan untuk encoding dalam dokumen yang bersifat
human-readable dan machine-readable. Pada android sendiri berkas berjenis
31
1. Berkas Android Manifest
Setiap aplikasi android harus memiliki berkas ini (dengan nama Android
Manifest.xml) pada direktori root. Pada berkas ini berisi informasi
penting tentang aplikasi untuk sistem android.
2. Layout
Android menyediakan kosakata XML sederhana yang sesuai dengan
kelas View dan subclass-nya, seperti untuk widget dan layout.
3. Database
Database XML adalah persistensi data perangkat lunak sistem yang
memungkinkan data yang akan disimpan dalam format XML. Data ini
kemudian dapat dilihat, diekspor dan serialisasi ke dalam format yang
diinginkan. XML database biasanya berhubungan dengan dokumen
berorientasi database.
2.8 Pengujian Sistem
Pengujian menyajikan anomali yang menarik bagi perekayasa perangkat
lunak. Pada proses perangkat lunak, perekayasa berusaha membangun perangkat
lunak dari konsep abstrak ke implementasi yang dapat dilihat, baru kemudian
dilakukan pengujian.
2.8.1 Pengujian Black-Box
Menurut [Rog07] Pengujian black-box berfokus pada persyaratan
fungsional perangkat lunak. Dengan demikian, pengujian black-box
memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi
input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu
program. Pengujian black-box berusaha menemukan kesalahan dalam kategori
sebagai berikut :
a. Fungsi-fungsi yang tidak benar atau hilang,
b. Kesalahan interface.
c. Kesalahan dalam struktur data atau akses eksternal.
e. Inisialisasi dan kesalahan terminasi
2.8.2 Pengujian White – Box
White Box Testing adalah meramalkan cara kerja perangkat lunak secara
rinci, karenanya logikal path (jalur logika) perangkat lunak akan ditest dengan
menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau
pengulangan secara spesifik.
2.8.3 Pengujian Path Basis
Pada pengujian white box terdapat 2 metode yaitu Basis Path dan Struktur
kendali. Pengujian basis path adalah pengujian yang memungkinkan penguji dapat
mengukur kompleksitas logis dari desain procedural dan menggunakannya
sebagai pedoman untuk menetapkan himpunan basis dari semua jalur eksekusi.
Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin untuk
mengeksekusi setiap perintah dalam program, sedikitnya satu kali selama uji coba.
1. Notasi Diagram Alir (Path Graph Notation)
Notasi yang digunakan untuk menggambarkan jalur eksekusi adalah notasi
diagram alir (atau grafik program), yang menggunakan notasi lingkaran
(simpul atau node) dan anak panah (link atau edge). Notasi ini
menggambarkan aliran control logika yang digunakan dalam suatu bahasa
pemrograman.
33
2. Kompleksitas Siklomatis (Cyclomatic Complexity)
Kompleksitas Siklomatis adalah metriks perangkat lunak yang memberikan
pengukuran kuantitatif terhadap kompleksitas logis suatu program. Ketika
digunakan dalam konteks metode uji coba berbasis alur, nilai yang didapat
akan menentukan jumlah jalur independen dalam himpunan path, serta akan
memberi nilai batas atas bagi jumlah pengujian yang harus dilakukan, untuk
memastikan bahwa semua pernyataan telah dieksekusi sedikitnya satu kali.
Jalur independent adalah jalur yang terdapat dalam program yang
mengintroduksi sedikitnya satu rangkaian pernyataan proses atau kondisi
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Berdasarkan luas daratan wilayah Indonesia terdiri dari 5 pulau besar,
diantaranya pulau Jawa, Sumatera, Kalimantan, Sulawesi, dan Papua. Dari 5
pulau besar tersebut tersebar keanekaragaman budaya yang dapat dilihat melalui
suku adat, rumat adat dan hewan khas yang dibudidayakan [1].
Menurut Budayawan Prof Eko Budihardjo menilai bangsa Indonesia selama
ini kurang terbuka terhadap beragam kekayaan budaya yang dimilikinya
khususnya di 5 pulau besar Indonesia, sehingga semua orang terutama anak-anak
cenderung tidak mengetahui keanekaragaman budaya di bangsa sendiri yang lebih
terpengaruh oleh budaya luar. Hal ini salah satunya diakibatkan oleh
berkurangnya minat generasi muda untuk mengenal kebudayaan, karena
kurangnya media kebudayaan yang menarik dan menyenangkan. Informasi
tentang budaya masih didominasi dalam bentuk media cetak yang membutuhkan
minat baca yang tinggi [2].
Sangkuriang adalah tokoh legenda tentang penciptaan asal-usul Gunung
Tangkuban Parahu, tokoh yang pemberani dan sakti yang melakukan segala cara
untuk menikahi ibunya sendiri. Legenda ini awalnya merupakan tradisi lisan yang
hampir terlupakan walaupun telah ditransformasi ke dalam bentuk tulisan [3].
Berdasarkan permasalahan di atas, maka dibangun game yang mengandung
unsur kebudayaan khususnya untuk anak-anak. Platform game yang dipilih
berbasis mobile karena diperkirakan jumlah telepon seluler di Indonesia mencapai
250 juta, sedangkan jumlah penduduk Indonesia mencapai 238 juta. Jadi sudah
pasti banyak di Indonesia yang menggunakan lebih dari 1 telepon seluler [4].
Pemilihan sistem operasi Android karena sekarang ini perkembangan smartphone
berbasis Android meningkat drastis tumbuh hingga 1500 persen dan bersifat open
Game mobile dengan unsur budaya Indonesia sudah ada beberapa,
diantaranya “Temple Rush : The Legend of Prambanan Temple“ dan “Tetuko”.
Berdasarkan komentar-komentar pengguna pada forum yang tersedia, masalahnya
adalah pengguna cepat merasa bosan saat memainkannya karena game-game
tersebut memiliki gameplay yang cenderung monoton [6].
Berdasarkan permasalahan di atas, maka dilakukan penelitian untuk
membangun game dengan jalan cerita berupa petualangan yang bertujuan
mengenalkan suku adat, rumah adat, hewan khas yang dibudidayakan dan
Sangkuriang sebagai karakter utama pada perangkat mobile berbasis android.
Genre game yang dipilih adalah adventure, dimana pemain akan menyelesaikan
tantangan-tantangan yang ditemui selama melakukan petualangan ke 5 pulau
besar di Indonesia.
1.2 Rumusan Masalah
Berdasarkan uraian latar belakang yang telah dikemukakan sebelumnya,
maka dapat dirumuskan masalah yang berhubungan dengan aplikasi ini, yaitu
Bagaimana membangun game yang mengandung unsur kebudayaan di 5 pulau
besar Indonesia dan Legenda Sangkuriang pada perangkat mobile berbasis
android.
1.3 Maksud dan Tujuan
Berdasarkan masalah yang telah dikemukakan di atas, maka maksud dari
penelitian ini adalah untuk membangun aplikasi game adventure “Sangkuriang
and Indonesian Five Largest Islands” berbasis mobile sebagai media pengenalan
budaya Indonesia.
Tujuan yang ingin dicapai antara lain :
1. Pengguna mengetahui keanekaragaman budaya di 5 pulau besar
Indonesia yang lebih menarik dan menyenangkan.
3
1.4 Batasan Masalah
Batasan masalah dari penelitian ini adalah sebagai berikut :
1. Aplikasi game yang akan dibangun berbasis mobile.
2. Aplikasi game yang akan dibangun menggunakan sistem operasi
android versi froyo (frozen yoghurt) ke atas.
3. Aplikasi game yang akan dibangun bergrafis 2 dimensi dan offline.
4. Aplikasi game ini ditujukan untuk pemain mulai usia 10 tahun ke atas
minimal murid SD kelas 4, karena sudah memiliki sedikit sugesti.
5. Cakupan materi bahasan pada aplikasi game ini adalah tentang 5 pulau
besar Indonesia beserta suku budaya, hewan khas daerah dan rumah
adat. Dan juga tentang legenda Sangkuriang.
6. Pemain game ini hanya single player.
7. Genre game adalah adventure, karena pemain diharuskan
menyelesaikan tantangan-tantangan dengan menyerang atau
menghindar dari serangan.
8. Level terdiri dari 5 level yaitu level Pulau Sumatera, Kalimantan,
Sulawesi, Jawa, dan Papua.
9. AI yang dipergunakan adalah algoritma A* (A star), digunakan pada
saat melakukan pencarian jalan terpendek dari suatu titik awal ke titik
tujuan yang diterapkan pada objek musuh dalam melakukan pencarian
karakter pemain di arena permainan.
10. View pointgame yang dipakai adalah scrolling side.
11. Aplikasi game dibangun menggunakan bahasa pemrograman Java
dengan tools Eclipse, Android SDK dan Framework Kilobolt.
12. Pemodelan data yang dilakukan berbasis object oriented programming
dengan menggunakan UML diagram.
1.5 Metodologi Penelitian
Metode penelitian yang digunakan dalam pembuatan skripsi ini
menggunakan metodologi analisis deskriptif, yaitu suatu metode yang bertujuan
untuk mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan,
tahapan-tahapannya adalah sebagai berikut [7].
a. Metode Pengumpulan data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah
sebagai berikut :
1. Studi Pustaka
Pengumpulan data dengan cara mengumpulkan literatur, jurnal,
paper dan bacaan-bacaan yang ada kaitannya dengan materi
penelitian. Khususnya tentang game, keanekaragaman budaya
Indonesia, dan Legenda Sangkuriang.
2. Observasi
Pengumpulan data dengan mengadakan penelitian dan peninjauan
langsung terhadap permalasahan tentang pengetahuan
kenekaragaman budaya Indonesia dan Legenda Sangkuriang.
b. Metode Pembuatan Perangkat Lunak
Dalam membangun aplikasi game ini, digunakan metode
pengembangan perangkat lunak waterfall [8] yang meliputi :
1. Analisis dan definisi persyaratan.
Tahapan saat mendefinisikan secara rinci batasan dan tujuan
sistem atau game yang akan dibangun.
2. Perancangan Sistem dan Perangkat Lunak.
Tahapan saat proses perancangan game, kegiatan ini menentukan
arsitektur sistem secara keseluruhan. Perancangan perangkat lunak
melibatkan identifikasi dan deskripsi abstraksi sistem perangkat
lunak yang mendasar dan hubungan-hubungannya.
3. Implementasi dan pengujian unit.
Pada tahap ini, perancangan perangkat lunak direalisasikan sebagai
5
4. Integrasi dan pengujian sistem.
Tahapan saat unit program diintegrasikan dan diuji sebagai sistem
yang lengkap untuk menjamin bahwa persyaratan sistem telah
terpenuhi. Setelah pengujian sistem, game dikirim kepada target
user.
5. Operasi dan pemeliharaan.
Tahapan ini dilakukan untuk proses terakhir dimana suatu perangkat
lunak yang sudah selesai dapat mengalami perubahan–perubahan
atau penambahan sesuai dengan permintaan user.
Gambar 1.1. Waterfall [8]
1.6 Sistematika Penulisan
Sistematika penulisan penelitian ini disusun untuk memberikan gambaran
umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah
sebagai berikut :
BAB I PENDAHULUAN
Bab ini membahas latar belakang masalah, perumusan masalah, maksud dan
BAB II LANDASAN TEORI
Bab ini membahas landasan teori tentang keanekaragaman budaya Indonesia,
Sangkuriang, game, kecerdasan buatan, Metode Collision Detection dan OOP
serta tools yang digunakan seperti, UML, java, android, tools pendukung
pembuatan aplikasi android, kilobolt, adobe photoshop dan XML.
BAB III ANALISIS DAN PERANCANGAN
Bab ini berisi analisis kebutuhan sistem dan Pemain diantaranya yaitu : analisis