7
Bab 2 Tinjauan Pustaka
2.1 Penelitian Terdahulu Dampak Video game pada Aktifitas Otak, Mori seorang professor dari tokyo’s nihon university melakukan riset mengenai dampak video game pada aktifitas otak. Dari penelitian Mori tersebut dapat disimpulkan bahwa terdapat 2 poin penting yang antara lain : Pertama , penurunan aktivitas gelombang otak depan yang memiliki peranan sangat penting, dengan pengendalian emosi dan agresivitas sehingga mereka cepat mengalami perubahan mood, seperti mudah marah, mengalami masalah dalam hubungan sosial, tidak konsentrasi dan lain sebagainya. Kedua, penurunan aktifitas gelombang beta merupakan efek jangka panjang yang tetap berlangsung meskipun gamer tidak sedang bermain game. Dengan kata lain para gamer mengalami “autonomic nerves“ yaitu tubuh mengalami pengelabuan kondisi dimana sekresi adrenalin meningkat , sehingga denyut jantung, tekanan darah, dan kebutuhan oksigen terpacu untuk meningkat. Bila tubuh dalam keadaan seperti ini maka yang terjadi pada gamer adalah otak mereka merespon seperti menghadapi bahaya yang sesungguhnya (Mori, 2010). Penelitian yang berjudul “Labirindroid Mobile Game Development for Android with Java” (Nizar, 2010), dimana dalam perancangan ini dirancang sebuah game untuk android dengan genre puzzle games. Dalam game tersebut user
8
diharuskan menjalankan sebuah bola yang terdapat pada papan permainan dan harus mengenai sebuah kotak yang ada pada papan permainan untuk menyeleseaikan dan memenangkan permainan ini. Dalam game Labirindroid ini terdapat tujuh labirin dengan tingkat kesulitan dengan jenis papan permainan yang berbeda. Jika labirin pertama user dapat mengenai kotak tersebut maka akan muncul kotak dialog bahwa labirin tersebut berhasil diselesaikan dan akan ada pilihan menu untuk melanjutkan ke labirin berikutnya. Dalam game ini user dapat melihat berapa langkah yang telah ia lakukan dalam memainkan game Labirindroid pada setiap labirin. Jumlah langkah yang paling sedikit ialah yang paling baik. Setiap labirin memiliki papan/map yang tersusun oleh 5x5, 6x6, 7x7, 8x8 dan 9x9 kotak persegi dan memiliki map permainan yang berbeda dalam setiap labirin-nya. Didalam papan permainan terdapat sebuah bola yang akan dijalankan oleh user, kotak yang berupa goal dari permainan tersebut dan dinding/garis yang berfungsi untuk menghalangi jalannya bola. User dapat menggerakkan bola ke kanan, kiri, atas dan bawah sesuai yang dikehendaki. Apabila user sudah menggerakkan bola tersebut maka bola tersebut tidak akan berhenti hingga bola tersebut mengenai salah satu dinding/garis yang ada pada papan permainan. Pada penelitian tersebut dapat dilihat bahwa game yang dibuat merupakan game yang masih sederhana, dengan tampilan antarmuka yang juga masih terlampu sederhana. Algoritma pemrograman yang diterapkan dalam game ini juga masih terlalu sederhana, maka dari itu pengembangan game pada Android masih banyak dapat dilakukan.
9
2.2 Game Game adalah bagian fundamental dari keberadaan manusia. Game sering dimaknai sebagai suatu aktivitas yang tidak dilakukan dengan sungguh-sungguh. Tujuan akhir dari game adalah untuk mendidik, menghibur atau memperbaiki akhlak para pemain game (Crawford, 1982). Sebelum merancang sebuah game, harus dipahami dahulu arti dari bermain. Bermain dianggap sebagai aktivitas anak - anak dan sebagai sesuatu yang tidak memiliki kedalaman dan kekayaan, tetapi pada kenyataannya bermain meluas jauh melampaui dunia anak dan menyentuh berbagai kehidupan manusia. Menghargai banyak aspek dari bermain merupakan langkah awal yang penting dalam memahami desain game (Crawford, 2003). 2.2.1 Jenis Game Secara garis besar Crawford mengelompokkan game menjadi lima jenis yaitu : 1. Boards Game (Permainan Papan) Game ini terdiri dari sebuah papan yang terbagi menjadi sektor-sektor yang dipopulasikan oleh pergerakan dari potonganpotongan. 2. Card Game (Permainan Kartu) Game ini memanfaatkan set dari 52 simbol yang dihasilkan dari dua faktor yaitu rank (13 nilai) dan suit (4 nilai). Game ini berputar disekeliling kombinasi yang dibangun dari dua faktor tersebut.
10
3. Athletic Games (Permainan Athletik) Game ini lebih menekankan kecakapan fisik ketimbang kecakapan mental. Aturan dari game ini ditentukan secara ketat tepat serangkaian tindakan dimana pemain diijinkan atau diharuskan untuk mengeksekusi. 4. Children’s Game (Permainan Anak – anak) Game ini mengandung komponen mental dan fisik yang sederhana. Fungsinya bukan untuk menantang anak untuk menampilkan batasnya dalam domain lain. Sebaliknya, perhatian utama pemain adalah menggunakan kemampuan sosial yang memperjelas peran fundamental dari grup dalam kehidupan manusia. 5. Computer Game (Game Komputer) Merupakan game yang dimainkan di komputer. Komputer bertindak sebagai lawan dan wasit pada sebagian besar permainan ini, sebagian besar game komputer juga menyediakan grafik animasi. 2.2.2 Elemen - elemen Dasar Game Di dalam sebuah game terdapat beberapa elemen-elemen yang akan membentuk sebuah game itu sendiri yaitu : 1. Rules (aturan-aturan) Sebuah game mengambil tempat atau seting di dunia buatan yang diatur oleh aturan-aturan (rules). Rules istilah yang menentukan aksi dan gerakan pemain dalam sebuah game. Pada game komputer, kebanyakan rules ini tersembunyi. Karena pemain berinteraksi dengan game hanya melalui suatu alat masukan atau yang biasanya disebut dengan input device dan
11
mesin mengabaikan input yang tidak sesuai tanpa harus memberitahu aturan kepada pemain. 2. Victory condition dan Lose condition. Karena ada kondisi kemenangan (Victory condition), maka game juga memiliki kondisi kekalahan (lose condition). 3. Setting (seting) Sebuah game mengambil tempat pada suatu dunia atau setting tertentu. Contohnya pada permainan bola yang berseting pada lapangan dan batasan- batasan tertentu. 4. Interaction model (model interaksi) Yaitu cara pemain berinteraksi dengan game dan melakukan aksi untuk menghadapi tantangan dari game tersebut. Model interaksi yang biasa dipakai pada game komputer ada dua jenis. Yang pertama, adalah jika pemain mengendalikan tokoh tunggal yang mempresentasikan dirinya dalam ke dalam game dan tokoh tersebut dapat mempengaruhi dunia sekitarnya, maka tokoh tersebut disebut sebagai avatar-nya. Sedangkan yang kedua adalah jika pemain memiliki kemampuan untuk melihat berbagai bagian dari gameworld (dunia permainan) dan melakukan aksi pada banyak tempat maka pemain tersebut sebagai omnipresent. Namun hal ini dapat diterapkan pada tokoh atau unit yang menjadi miliknya, dengan memberikan perintah kepada mereka satu-persatu. Salah satu contoh game yang termasuk jenis ini adalah catur. 5. Perspective (sudut pandang) Yaitu menjelaskan bagaimana pemain melihat gameworld dari suatu game pada layar permainan.
12
6. Role (peran) Yaitu tokoh yang dimainkan oleh pemain dalam suatu game. Dengan adanya peran ini maka pemain akan lebih mudah untuk memahami apa yang sebenarnya ingin dicapai dan aturan apa yang yang dimainkan. Sebagai contoh, pada permainan monopoli kita
berperan
sebagai
pialang
perumahan.
Pada
game
Championship Manager kita berperan sebagai manager sebuah tim sepak bola. Pada seri game Sierra Online’s Police Quest pemain berperan sebagai polisi dan memiliki aturan-aturan seperti polisi sungguhan, seperti tidak boleh menembak sembarang sasaran, harus menaati peraturan tentang kapan diperbolehkannya menembak dan lain-lain. 7. Mode Beberapa game, seperti catur, berlaku sama dari awal sampai akhir. Pemain selalu ingin mencapai atau menyelesaikan hal yang sama dengan cara yang berbeda-beda. Namun ada juga game yang memiliki mode yang nyata, yaitu dimana gameplay-nya berubah dari satu mode ke mode lainnya. Contohnya seperti pada game perang, yaitu sebelum pemain turun ke medan perang biasanya pemain diberi briefing terlebih dahulu, lalu pindah ke mode pemilihan senjata, dan terakhir adalah perang itu sendiri. 8. Structure (struktur) Hubungan antara mode dan aturan menentukan kapan dan mengapa game berubah secara bersama-sama membentuk suatu permainan. 9. Realism (realisme)
13
Game menggambarkan sebuah dunia, bahkan mungkin sebuah dunia yang khayal. Sebuah game yang menerapkan akal sehat dan logika pada aturan permainannya dapat dikatakan sebagai game yang realistis. Contoh dari game ini adalah Microsoft
Flight
Simulator,
game
ini
mencoba
mengimplementasikan bagiamana mensimulasikan penerbangan pesawat terbang yang sesungguhnya. 10. Story (cerita) Game komputer merupakan perpaduan antara media pasif, pasif seperti televisi, film dan media aktif, non pasif seperti permainan poker dan domino. Beberapa game komputer, seperti tetris tidaklah mempunyai cerita. Lain halnya dengan seri Metal Gear Solid, dan Final Fantasy. Beberapa game memiliki alur cerita yang linear atau hanya satu jalan cerita dan bersifat non interaktif, namun ada juga yang bersifat interaktif dimana cerita akan berbeda atau bercabang tergantung pada pilihan atau tindakan yang diambil oleh pemain. Sehingga cerita akhir (ending) yang didapat akan berbeda-beda pula, atau biasanya disebut dengan multiple ending.(Warga, 2010) 2.2.3 Perancangan Game Dalam bukunya The Art of Computer Game Design, Crawford mengatakan bahwa perancangan game merupakan suatu aktivitas yang komplek yang dapat diturunkan ke prosedur yang formal. Crawford sendiri tidak pernah menggunakan prosedur tersebut langkah demi langkah, dan juga tidak menyarankan mengikuti langkah – langkah yang ada dalam
14
perancangan game ini secara sama persis. Adapun langkah – langkah perancangan game tersebut yaitu : 1. Memilih Tujuan dan Topik Sebuah game harus mempunyai tujuan yang didefinisikan dengan jelas. Tujuan haruslah membangun fantasi yang akan mendukung game dan akan menimbulkan emosi bagi pemainnya. Apabila game merupakan suatu cara untuk memberi pendidikan, maka tujuan yang ditetapkan dalam kasus ini seharusnya menentukan apa yang akan dipelajari oleh pemain. Setelah selesai dengan tujuan, selanjutnya yaitu menentukan topik. Topik adalah cara mengekspresikan tujuan, lingkungan dimana game akan dimainkan. Ini merupakan kumpulan yang kongkrit dari kondisi dan peristiwa yang akan dikomunikasikan melalui tujuan abstrak. 1.
Penelitian dan Persiapan Setelah menentukan tujuan dan topik, langkah selanjutnya
yaitu mempelajari semua hal mengenai topik tersebut. Pelajari semua penelitian terdahulu yang pernah dilakukan baik mengenai topik atau tujuan tersebut. 2.
Tahap Desain Pada tahap desain ini tujuan utamanya adalah membuat
garis besar dari tiga struktur yang saling bergantung yaitu : -
Struktur I/O (Input / Output) I/O adalah bahasa komunikasi antara komputer dengan pemain. I/O akan mendikte apa yang bisa dan tidak bisa dilakukan dengan perolehan. Tidak seperti bahasa manusia,
15
kedua hal tersebut tidak simetris. Komputer memiliki dua keluaran untuk manusia yaitu grafis pada layar dan suara. Grafis merupakan hal yang paling penting diantara keduanya
karena
manusia
lebih
berorientasi
pada
penglihatan daripada pendengaran. Sedangkan input game yaitu berupa taktik dari pemain yang berhubungan dengan game. -
Struktur Game Masalah inti dalam merancang struktur game adalah mencari tahu bagaimana menyaring tujuan dan topik ke dalam sistem yang bisa diterapkan. Desainer game harus mengidentifikasi beberapa elemen kunci dari lingkungan topik dan membangun game disekitar elemen kunci tersebut. Elemen kunci ini harus merupakan pusat dari topik, wakil atau simbol dari isu yang ditujukan kepada game, yang harus bisa dimanipulasi dan bisa dipahami.
-
Struktur Program Struktur
program
merupakan
kendaraan
untuk
menerjemahkan struktur I/O dan struktur game ke dalam bentuk nyata. Salah satu elemen paling penting dalam struktur program yaitu peta memori. Potongan memori harus dialokasikan secara spesifik untuk tugas tertentu. Dokumentasi aliran program juga penting, gunakan flow chart atau diagram apapun sesuai keinginan anda. Setelah ketiga hal tersebut dilakukan, selanjutnya dilakukan evaluasi terhadap keseluruhan desain untuk mengetahui
16
kekurangan yang paling umum yang bisa mengganggu game. 3.
Tahap Pra – Pemrograman Tahap ini merupakan tahap dimana desainer game siap untuk mendokumentasikan desain game secara lengkap. Pertama,
tuangkan semua hasil desain pada tahap
sebelumnya ke atas kertas. Definisikan struktur I/O dan struktur internal game. Dokumentasi ini harus menekankan pada pengalaman pemain daripada pertimbangan teknis. 4.
Tahap Pemrograman Dibutuhkan pemikiran yang lebih detail daripada pekerjaan yang lain.
5.
Tahap Playtesting Idealnya, playtesting adalah proses yang menghasilkan informasi yang digunakan untuk menyempurnakan dan memperhalus desain game. Dalam prakteknya, playtesting seringkali mengungkapkan fundamental desain dan masalah pemrograman yang membutuhkan usaha khusus untuk memperbaikinya.
6.
Post – Mortem Post – mortem adalah saat peluncuran game dimana masyarakat sudah bisa mulai memainkan dan memeberi kritik terhadap game.
17
2.3 Android Smartphone Android adalah salah satu sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi middleware dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka (Safaat, 2011). 2.3.1 Arsitektur Android
Gambar 2.1 Android Architecture .(Nazruddin Safaat, 2010)
Dalam bukunya “Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android” Nazruddin Safaat menjelaskan tentang gambar 2.1 di atas yang menunjukkan komponen utama dari sistem operasi Android. Setiap bagiannya akan dijelaskan secara lebih rinci berikut ini: Aplikasi Android dihadirkan dengan serangkaian aplikasi inti termasuk klien email, program SMS, kalender, peta, browser,
18
kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java. Aplikasi Framework Dengan menyediakan sebuah platform pengembangan yang terbuka, pengembang android menawarkan kemampuan untuk membangun aplikasi yang sangat kaya dan inovatif. Pengembang bebas untuk mengambil keuntungan dari perangkat keras, akses informasi lokasi, menjalankan layanan latar belakang, mengatur alarm, tambahkan pemberitahuan ke status bar, dan masih banyak lagi. Pengembang memiliki akses penuh ke API kerangka kerja sama yang digunakan oleh aplikasi inti. Arsitektur aplikasi ini dirancang
untuk
menyederhanakan
penggunaan
kembali
komponen, aplikasi apapun dapat mempublikasikan kemampuan dan aplikasi lain maka dapat menggunakan kemampuan mereka (tunduk pada batasan keamanan ditegakkan oleh framework). Mekanisme yang sama memungkinkan komponen yang akan diganti oleh pengguna. Menyediakan semua aplikasi untuk seperangkat layanan dan sistem, termasuk: -
Satu set Tampilan yang kaya dan extensible yang dapat digunakan untuk membangun aplikasi, termasuk lists, grids, text boxes, buttons dan bahkan sebuah browser web yang embeddable.
-
Penyedia Konten yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (seperti Kontak), atau untuk berbagi data mereka sendiri.
-
Sebuah Resource Manager, menyediakan akses ke sumber daya non-kode seperti string lokal, grafik, dan file layout.
19
-
Sebuah Notification Manager yang memungkinkan semua aplikasi untuk menampilkan alert custom dalam status bar.
-
Sebuah Activity Manager yang mengelola kelangsungan aplikasi dan menyediakan navigasi umum backstack.
Library Android sudah memasukkan satu set C/C++ library yang digunakan oleh berbagai komponen sistem android. Kemampuan ini dimasukkan oleh pengembang melalui kerangka aplikasi android. Beberapa library inti tercantum di bawah ini: -
Sistem C library - implementasi BSD-berasal dari sistem C library standar (libc) untuk perangkat berbasis Linux embedded.
-
Media Libraries - berdasarkan PacketVideo's OpenCORE; dukungan library playback dan rekaman audio populer dan format video, serta file gambar statis, termasuk MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG.
-
Surface Manager -
mengelola akses ke subsistem
menampilkan dan menampilkan lapisan grafis 2D dan 3D secara mulus dari beberapa aplikasi. -
LibWebCore - mesin modern web browser yang kekuatan baik browser android dan embeddable web view
-
SGL - dasar mesin grafis 2D.
-
3D library - implementasi berdasarkan OpenGL ES 1.0 API, library yang menggunakan akselerasi 3D hardware (jika tersedia) atau disertakan, software 3D rasterizer yang sangat optimal.
20
-
FreeType - font rendering bitmap dan vector.
-
SQLite - mesin database relasional yang powerfull dan ringan tersedia untuk semua aplikasi.
Android Runtime Android sudah termasuk satu set library inti yang menyediakan sebagian besar fungsi yang tersedia di library inti dari bahasa pemrograman Java. Setiap aplikasi android berjalan dalam prosesnya sendiri, Dalvik virtual machine. Dalvik telah ditulis sehingga perangkat dapat menjalankan beberapa VMs secara efisien. VM Dalvik mengeksekusi file dalam format file Dalvik executable (.dex) yang dioptimalkan untuk footprint memori minimal. VM adalah register-based, dan menjalankan class yang dikompilasi oleh compiler Java yang telah ditransformasikan ke dalam format .dex oleh "dx" tool yang sudah termasuk di dalamnya. VM Dalvik bergantung pada Linux kernel
untuk fungsionalitas dasar
seperti threading
dan
manajemen tingkat rendah memori. Linux Kernel Android
mengandalkan Linux versi 2.6 untuk layanan
sistem inti seperti keamanan, manajemen memori, manajemen proses, network stack, dan driver model. Kernel juga bertindak sebagai lapisan abstraksi antara hardware dan seluruh software stack.
21
2.4 Physics Game Physics game merupakan sebuah pengenalan hukum fisika ke dalam mesin simulasi atau suatu permainan tertentu, khususnya di dalam komputer grafis 3D, sebagai tujuan untuk membuat efek terlihat lebih nyata bagi yang mengamatinya. Biasanya, physics game hanya berupa suatu pendekatan dengan ilmu fisika yang nyata, namun tetap dengan perhitungan yang dilakukan menggunakan nilai-nilai diskrit. (Millington, 2010)
2.5
Adobe Flash – ActionScript Bahasa pemrograman ActionScript di Adobe Flash dapat
digunakan untuk mengembangkan interaksi animasi, mengontrol dan mengendalikan elemen-eleman seperti tombol, gambar, suara dan video, serta beragam keperluan lainnya yang berkaitan dengan tampilan aplikasi dan animasi. Pembuatan suatu animasi akan jauh lebih efisien dengan memanfaatkan ActionScript ini (Agung, 2009) Adobe Flash menyuguhkan 5 versi ActionScript yang disesuaikan dengan kebutuhan pengguna. Berikut penjelasan singkat mengenai versi-versi ActionScript tersebut (Agung, 2009) -
ActionScript 1.0. Merupakan versi yang paling sederhana dan digunakan pada kebanyakan versi Flash Lite Player.
-
ActionScript 2.0. Secara praktis lebih mudah dipelajari dan dipahami. Kinerjanya sedikit lebih cepat dari versi sebelumnya sehingga sangat sesuai digunakan untuk proyek-proyek yang tidak membutuhkan komputasi yang kompleks.
22
-
ActionScript pemrograman
3.0.
Versi
berorientasi
ini
menggunakan
objek
sehingga
konsep mampu
mengeksekusi perintah secara cepat. -
Flash Lite 1.x, 2.x, dan 3.x. Merupakan versi ActionScript yang khusus dirancang untuk menjalankan aplikasi Flash Lite 1.x pada perangkat seluler.
2.6 Box2D – QuickBox2D Dalam bukunya Flash Mobile: Developing Android and IOS Applications, Matthew David menjelaskan bahwa Box2D adalah sebuah open source C++ phisics engine yang dikembangkan untuk membantu mensimulasikan hukum fisika ke dalam sebuah aplikasi tertentu. Seperti aplikasi pembelajaran fisika, aplikasi perbandingan
berat
benda,
game
dan
lain-lain.
Box2d
dikembangkan oleh Erin Catto yang telah mengembangkan pemrograman untuk physics engine sejak 10 tahun yang lalu. Physisics engine kembanganya yang paling dikenal adalah Box2D dan QuickBox2D. Di dalamnya terdapat fitur-fitur untuk memudahkan programmer untuk mengolah dan menganalisa aplikasi yang sedang dikembangkannya. Yang ditawarkan di dalam Box2D ini, antara lain collision, physics, system, tesbed, beserta dokumentasi-dokumnetasi pendukungnya. Sedangkan QuickBox2D adalah sebuah mini-library yang dirancang untuk bekerja dengan Box2DFlashAS3. Tujuan utama dari mini-library ini adalah untuk menyederhanakan Box2D yang telah dikembangkan sebelumnya dan menyediakan cara yang
23
lebih sederhana untuk memberikan display kedalam suatu bentuk yang ingin dibuat dengan grafis tertentu (David, 2011).
2.7 Adobe AIR Extension Adobe AIR merupakan ekstensi untuk Adobe Flash CS 5 yang akan berjalan dengan baik jika di gabungkan dengan penggunaan ActionScript 3.0. Adobe AIR merupakan komponen kunci dari Platform Adobe Flash yang memberikan kebebasan kreativitas
bagi
para
desainer
dan pengembang
dengan
menyediakan lingkungan pengembangan yang konsisten dan fleksibel untuk pengembangan aplikasi di perangkat maupun platform. Adobe AIR ini mendukung untuk pemrograman pada Android, BlackBerry Tablet OS dan sistem IOS operasi mobile dan bahkan tersedia juga untuk televisi. (Brossier, 2011) Dengan keberadaan Adobe AIR ini, dapat dibuat berbagai macam
aplikasi
berbasis
Android
Smartphone
dengan
menggunakan ActionScript 3.0 sesuai dengan kebutuhan. Hasil yang didapat akan dapat dengan mudah di install ke dalam perangkat android karena Adobe AIR ini mampu melakukan konversi terhadap file .Swf menjadi file .Apk.