BAB 2 LANDASAN TEORI
2.1
Teori-Teori Umum Pada bagian ini memaparkan teori umum yang merupakan dasar dari teori-teori lain yang digunakan pada skripsi ini.
2.1.1 Multimedia Menurut Vaughan (2011, xiv), multimedia adalah kombinasi dari teks, seni grafis, suara, animasi, dan video yang memiliki suatu informasi tertentu dan disampaikan dengan komputer atau media elektronik lain yang dapat dimanipulasi secara digital. Elemen-elemen multimedia dapat dikontrol oleh user, maka disebut multimedia interaktif. Menurut Vaughan (2011), multimedia terdiri dari 5 elemen, yaitu: 1. Teks Merupakan jenis data yang paling sederhana dan merupakan elemen multimedia yang menjadi dasar dalam penyampaian informasi. Teks dapat memiliki banyak arti. Oleh karena itu, pemilihan kata-kata dalam menyampaikan informasi harus diperhatikan. (Vaughan, 2011, p18) 2. Gambar Gambar merupakan elemen visual yang membentuk multimedia. Elemen grafis ini dapat diubah ke ukuran yang berbeda, diwarnai, diberi pola, dibuat terlihat atau transparan. (Vaughan, 2011, p68) 6
7
3.
Suara Suara merupakan elemen paling sensasional dalam multimedia. Dengan adanya fasilitas suara, hasil visualisasi akan menjadi lebih sempurna dan nyata jika digunakan dengan benar. (Vaughan, 2011, p104)
4.
Animasi Animasi membuat gambar statik menjadi lebih hidup. Animasi sebenarnya adalah sebuah objek yang bergerak menyeberangi, ke dalam, atau keluar dari layar. Dengan animasi, gambar-gambar berubah sedikit demi sedikit dan dengan cepat secara berkelanjutan sehingga terlihat menyatu menjadi sebuah ilusi gerakan. (Vaughan, 2011, p140)
5.
Video Video merupakan elemen yang paling menarik dari bidang multimedia dan merupakan alat yang ampuh untuk mendekatkan user kepada dunia nyata. Video yang tidak direncanakan dan diproduksi dengan baik dapat menurunkan nilai informasi dari sebuah presentasi. (Vaughan, 2011, p164)
2.1.2 Interaksi Manusia dan Komputer Menurut Shneiderman (2010, p22-23), interaksi manusia dan komputer berkaitan dengan tampilan antarmuka yang digunakan oleh user untuk berkomunikasi dan berinteraksi dengan komputer. Interaksi manusia dan komputer merupakan disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif yang digunakan manusia. Kepentingan user harus
8
diperhatikan dalam membuat aplikasi komputer. Maka diharapkan aplikasi yang dihasilkan harus interaktif dan dapat digunakan dengan mudah oleh user.
Menurut Shneiderman (2010, p32), ada 5 faktor yang diperlukan dalam perancangan suatu antarmuka yang user friendly: 1. Waktu belajar Berapa lama waktu yang diperlukan user tertentu dari sebuah komunitas user untuk mempelajari penggunaan aksi yang relevan terhadap sebuah tugas. 2. Kecepatan kinerja Berapa lama waktu yang dibutuhkan oleh user untuk mengerjakan suatu tugas. 3. Tingkat kesalahan user Berapa banyak kesalahan dan jenis kesalahan apa yang dilakukan user dalam menyelesaikan suatu tugas. Pengendalian kesalahan adalah suatu komponen kritis dari penggunaan sistem antarmuka yang layak untuk dipelajari secara ekstensif. 4. Daya ingat Seberapa lama para user dapat menjaga ingatan mereka akan sesuatu yang telah dipelajari, setelah satu jam, satu hari, atau satu minggu. Daya ingat berkaitan erat dengan waktu belajar. Frekuensi penggunaan pun memiliki peran yang penting.
9
5. Kepuasan subjektif Kepuasan masing-masing user terhadap berbagai aspek dari suatu tampilan antarmuka dapat diketahui dari hasil wawancara atau survei tertulis yang termasuk komentar bebas maupun tingkat kepuasan.
Delapan aturan emas yang digunakan untuk merancang suatu antarmuka yang baik menurut Shneiderman (2010, pp88-89) adalah: 1. Konsistensi Perancangan menu, warna, layout, jenis huruf, dan yang lain pada antarmuka harus dilakukan secara konsisten. 2. Melayani kebutuhan universal Karena user sangat beragam, maka rancangan layar harus mempertimbangkan perbedaan dalam hal usia, hambatan fisik, dan variasi teknologi. Jadi, ada pemberian petunjuk untuk user awam dan shortcuts untuk user yang sudah berpengalaman. 3. Memberikan umpan balik yang informatif Untuk setiap aksi yang dilakukan oleh user, harus diberikan umpan balik agar tercipta suasana yang komunikatif. Pada aksi yang kecil dan sering digunakan, respon yang diberikan sederhana. Namun, pada aksi yang besar dan jarang digunakan, respon yang diberikan harus lebih banyak dan lebih rinci.
10
4. Merancang dialog untuk menghasilkan keadaan akhir Dalam merancang komunikasi dengan user, urutan tindakan harus diatur dengan mengetahui keadaan awal, tengah, dan akhir. 5. Adanya pencegahan kesalahan dan penanganan kesalahan Sedapat mungkin, sistem dirancang untuk dapat mencegah user dari kesalahan fatal yang dilakukan. Apabila user melakukan kesalahan, maka sistem harus dapat mendeteksi kesalahan dan memberikan instruksi kepada user bagaimana memperbaikinya. 6. Memungkinkan pembalikkan aksi yang mudah Apabila memungkinkan, aksi dapat dikembalikan ke kondisi sebelumnya. Dalam suatu waktu, user mungkin tidak sengaja melakukan aksi yang tidak diinginkan dan ingin melakukan pembatalan. Sistem harus memberikan fungsi pembatalan agar user merasa nyaman dalam menggunakan sistem. 7. Mendukung pusat kendali internal User memiliki kendali sebagai pemberi aksi pada sistem antarmuka dan antarmuka tersebut harus merespon kembali, sehingga dapat mengontrol program-program yang ada dalam sistem. 8. Mengurangi beban ingatan jangka pendek Tampilan harus dibuat sederhana sehingga user tidak perlu banyak menghafal. Tampilan dari tiap halaman dibuat sederhana dan frekuensi perpindahan window harus dikurangi.
11
2.1.3
Piranti Lunak Pengertian Piranti Lunak Menurut Pressman (2010, p1), pengertian dari piranti lunak (software) adalah sebuah produk yang dibuat oleh para profesional berupa program-program yang dapat dijalankan pada komputer yang memiliki arsitektur yang berbeda-beda. System Development Life Cycle (Waterfall Model) Model dari proses pengembangan piranti lunak yang pertama kali dipublikasikan merupakan turunan dari proses-proses rekayasa piranti lunak yang lebih umum (Sommerville, 2011, pp29-32).
Gambar 2.1 The Software Life Cycle Oleh karena bentuknya yang menurun dari satu fase ke fase lain, model ini pun dikenal sebagai “waterfall model” atau software life cycle. Model ini adalah contoh dari proses plan-driven, yang pada prinsipnya,
12
seluruh proses kegiatan harus direncanakan dan dijadwalkan sebelum mulai dikerjakan. Tahapan utama dari waterfall model mencakup serangkaian kegiatan pengembangan mendasar, yakni: 1. Analisis dan definisi kebutuhan Konsultasi dengan user diperlukan untuk menentukan kegunaan dari
sistem,
batasan,
dan
tujuannya.
Hasilnya
kemudian
didefinisikan lebih detail dan digunakan untuk spesifikasi sistem yang akan dibuat. 2. Perancangan sistem dan piranti lunak Proses perancangan sistem membagi-bagi kebutuhan sistem piranti lunak maupun perangkat keras. Proses ini membangun keseluruhan arsitektur sistem. Perancangan piranti lunak terdiri dari rangkuman identifikasi kebutuhan dan gambaran dasar sistem piranti lunak serta hubungan di antara keduanya. 3. Implementasi dan unit testing Pada tahap ini, perancangan piranti lunak direalisasikan ke dalam sekumpulan program atau unit program. Pengujian unit bertujuan untuk memastikan bahwa setiap unit program sesuai dengan spesifikasi atau fungsinya. 4. Penggabungan dan pengujian sistem Unit-unit program digabungkan dan diuji sebagai sebuah sistem yang utuh untuk memastikan bahwa kebutuhan piranti lunak telah terpenuhi, kemudian dikirimkan kepada user.
13
5. Pengoperasian dan pemeliharaan Secara umum, tahap ini merupakan fase yang paling lama untuk dilakukan. Sistem yang telah selesai, di-install dan digunakan untuk kepentingan sebenarnya. Proses pemeliharaan terdiri dari perbaikan kesalahan-kesalahan yang tidak ditemukan pada fase awal pengembangan, peningkatan implementasi dari unit-unit sistem, dan peningkatan kegunaan sistem seiring ditemukannya kebutuhankebutuhan baru.
2.1.4
Unified Modelling Language (UML) Menurut Kimmel (2005, p3), Unified Modelling Language (UML) adalah definisi resmi dari bahasa piktoral, dimana terdapat simbol umum dan hubungan yang memiliki satu makna umum. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML, dapat dibuat model untuk berbagai jenis aplikasi piranti lunak, dimana piranti lunak tersebut dapat dijalankan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. UML lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek karena UML juga menggunakan class dan operation dalam konsep dasarnya.
14
Macam – Macam Diagram Ada beberapa jenis diagram UML yang dapat digunakan, antara lain: a.) Use Case Diagram Menurut Whitten (2007, p382), use case diagram menggambarkan interaksi antara sistem, eksternal sistem, dan user. Dengan kata lain, secara grafikal mendeskripsikan siapa yang akan menggunakan sistem dan dengan cara seperti apa user berinteraksi dengan sistem. Terdapat dua hubungan asosiasi antar use case yaitu include dan extend. Hubungan include menggambarkan bahwa suatu use case seluruhnya meliputi fungsionalitas dari suatu use case lain. Tanda panah ke arah sub use case. Hubungan extend antar use case berarti bahwa suatu use case merupakan tambahan atau perluasan fungsionalitas dari use case yang lain jika kondisi atau syarat tertentu terpenuhi. Tanda panah ke arah base atau parent use case.
15
Tabel 2.1 Simbol pada use case diagram No Simbol 1
Gambar
Aktor
Keterangan Aktor adalah segala sesuatu yang
perlu
dengan
berinteraksi
sistem
untuk
pertukaran informasi. Aktor dapat
berupa
manusia,
organisasi, sistem informasi yang lain, dan perangkat eksternal. Label dari peran yang
dilakukan
aktor
diletakkan di atas simbol. 2
Use case
Use case
dalam
adalah fungsi sistem
yang
merepresentasikan
tujuan
dari
sistem
mendeskripsikan
dan aktivitas
dan interkasi user dengan sistem
untuk
mencapai
tujuan tersebut. 3
Hubungan
Menggambarkan hubungan atau
antara dua simbol pada use case diagram.
16
G a m b a r
2 Gambar 2.2 Contoh Use Case Diagram (Whitten, 2007, p384)
b.) Activity Diagram Activity diagram adalah diagram yang menggambarkan alur yang berurutan dari aktivitas use case atau proses bisnis. Diagram ini sangat berguna untuk menjelaskan aksi yang akan terjadi ketika suatu proses operasi dieksekusi serta menunjukkan hasilnya karena urutan proses ditunjukkan lengkap dengan mekanismenya.
Berikut adalah tabel dari simbol-simbol notasi yang digunakan pada activity diagram :
17
Tabel 2.2 Simbol pada Activity Diagram No 1
2
Simbol
Gambar
Keterangan
Initial
Menunjukkan
node
suatu proses.
Actions
Menunjukkan langkah
awal
dari
langkah-
aktivitas
sistem
yang terjadi. 3
Flow
Untuk menunjuk ke aksi atau
proses
yang
lain.
Dilengkapi dengan kata-kata jika berasal dari decision. 4
Decision
Memiliki
sebuah
flow
masuk dan dua atau lebih flow keluar. Menunjukkan aktivitas yang dapat dipilih. 5
Merge
Menyatukan
flow
yang
sebelumnya terpisah oleh decision. 6
Fork
Menotasikan permulaan aksi atau proses paralel yang dapat terjadi dalam suatu urutan atau terjadi secara bersamaan.
7
Join
Semua aksi yang masuk ke join harus telah diselesaikan sebelum proses berlanjut.
8
Activity Final
Menunjukkan proses.
akhir
dari
18
Gambar 2.3 Contoh Activity Diagram (Whitten, 2007, p392) c.) Class Diagram Diagram ini digunakan untuk menggambarkan struktur objek-objek yang membentuk suatu sistem dan hubungan antar objek-objek tersebut. Primary key dan foreign key tidak harus disebutkan dalam class diagram.
19
Notasi hubungan antar kelas terbagi atas : 1.
Exactly 1 ( tepat 1 )
2. Zero or 1 ( 0..1 ) 3. Zero or more ( 0..* atau * ) 4. 1 or more ( 1..* ) 5. Specific range ( ?..? ) Suatu objek memiliki tiga area pokok, yaitu nama, atribut dan metode. Menurut Kimmel (2005, pp113-117), hubungan antar objek terdiri atas : 1. Asosiasi,
yaitu
hubungan
statis
antar
class.
Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Agregasi, yaitu hubungan yang menyatakan bagian (terdiri atas). 3. Pewarisan, yaitu hubungan hierarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metode class asalnya dan menambahkan fungsionalitas baru. Kebalikan dari pewarisan adalah generalisasi. 4. Hubungan dinamis, yaitu rangkaian pesan (message) yang dipassing dari satu class kepada class lain.
20
Gambar 2.4 Contoh Class Diagram (Whitten, 2007, p404)
2.1.5 Storyboard Menurut Simon (2007,pp3-7), storyboard ialah sebuah bentuk ilustrasi seperti sebuah komik, yang menggambarkan sebuah produk final yang telah diedit. Storyboard merupakan cara komunikasi yang paling efektif antara desainer dan programmer. Setiap gambar menghubungkan semua informasi yang diperlukan secara instan dan menggambarkan sebuah pandangan tentang produk final yang akan dicapai. Storyboard berawal dan banyak dipakai pada bidang yang memerlukan animasi. Storyboard kini digunakan sebagai pengembangan sebuah script, menuangkan ide-ide, dan memvisualisasikan sebuah perencanaan yang telah selesai.
21
Menurut Simon (2007, pp71-72), game sangat berkembang beberapa tahun belakangan ini. Perkembangan ini disebabkan karena teknologi yang berkembang pada sistem gaming, komputer, ponsel, internet. Sebagian besar dari sebuah game akan terbuat dari animasianimasi, oleh karena itu semuanya harus dibuat dalam bentuk storyboard. Selain itu, storyboard merupakan bagian yang sangat penting karena bukan saja mencakup sebagai visualisasi animasi tetapi juga sebagai sebuah flowchart untuk mengorganisir struktur kompleks dari aplikasi multimedia, antara lain untuk mengorganisasi animasi, grafik, navigasi, cinematic cut-scenes, dan gameplay.
2.1.6 Sistem Basis Data Pengertian Basis Data Menurut Connoly dan Begg (2005, p31), basis data (database) adalah suatu koleksi dari data yang saling berhubungan secara logical serta dirancang untuk memenuhi kebutuhan informasi pada sebuah organisasi. Sistem Manajemen Basis Data Sistem manajemen basis data menurut Connoly dan Begg (2005, p31) adalah sebuah sistem piranti lunak yang memungkinkan user untuk mendefinisikan, menciptakan, mempertahankan, dan mengontrol akses ke sebuah database. Menurut Connoly dan Begg (2005, pp39-41), database languages terdiri atas dua bagian yaitu DDL (Data Definition Language) dan DML (Data Manipulation Language). DDL adalah
22
sebuah bahasa yang mengijinkan user mendeskripsikan dan menamai entities, atribut dan relationship yang diperlukan untuk aplikasi bersama dengan integrity dan security constraints yang berhubungan. DML adalah sebuah bahasa yang menyediakan sebuah set dari operasioperasi yang mendukung manipulasi data yang ada di database.
Menurut Connoly dan Begg (2005, pp18-21), ada lima komponen yang terdapat pada lingkungan sistem manajemen basis data: a. Perangkat keras Sistem manajemen basis data dan program aplikasinya memerlukan perangkat keras agar bisa dijalankan. Perangkat keras beragam, dapat berupa personal computer (PC), single mainframe, dan jaringan komputer. Pemilihan jenis perangkat keras bergantung pada kebutuhan organisasi dan sistem manajemen basis data yang digunakan. b. Piranti lunak Piranti lunak meliputi piranti lunak sistem manajemen basis data itu sendiri, program-program aplikasinya, sistem operasi, dan termasuk piranti lunak jaringan jika digunakan pada suatu jaringan komputer. c. Data Merupakan komponen yang paling penting. Data berperan sebagai jembatan penghubung antara komponen mesin dengan komponen orang.
23
d. Prosedur Prosedur merujuk pada berbagai langkah dan aturan yang mempengaruhi desain dan penggunaan dari sebuah database. User dari sistem dan orang yang bertugas menangani database membutuhkan dokumen petunjuk untuk dapat menggunakan dan menjalankan suatu sistem. e. Orang Komponen ini terdiri dari orang-orang yang terlibat di dalam sistem untuk menjalankan sistem manajemen basis data.
2.1.7 Java Programming Language Menurut Wu (2010, p12), Java adalah sebuah bahasa berbasis objek yang baru dan mendapatkan perhatian dari industri dan akademi. Java sering dideskripsikan sebagai sebuah bahasa pemrograman web, karena kegunaanya dalam menulis program yang disebut applets yang berjalan di dalam sebuah web browser. Applets mengijinkan diseminasi dari informasi menjadi lebih fleksibel dan dinamis di internet. Fitur applet membuat Java sebagai sebuah bahasa yang menarik untuk dibaca dan dipelajari. Java merupakan bahasa yang didesain dengan sederhana dengan mengambil pendekatan secara minimalis. Hanya fitur yang tidak eksesif dan redundan yang dipakai. Pendekatan minimalis membuat Java menjadi sebuah bahasa yang lebih mudah dipelajari daripada bahasa pemrograman berbasis objek yang lain. Java merupakan bahasa perangkat ajar yang ideal untuk dasar pemrograman berbasis objek.
24
2.1.8 Artificial Intelligence Menurut Rusell & Norvig (2010, p1), Artificial Intelligence adalah bagaimana sebuah benda dapat memprediksi, mengerti, menjadi sadar seperti mempunyai indra, dan memanipulasi sebuah dunia yang lebih besar dan rumit dari benda tersebut. Artificial Intelligence dipakai dalam banyak bidang dimulai dari pengajaran, game, dan diagnosis penyakit.
2.2
Teori-Teori Khusus Pada bagian ini penulis memaparkan teori khusus yang digunakan mengenai topik yang dibahas pada penelitian ini, sebagai berikut: 2.2.1
Game Menurut Schell (2008, p31) yang dikutip dari Elliot dan Brian, game adalah kegiatan sukarela yang dilakukan dan membentuk suatu sistem terkontrol, dimana ada sebuah kontes kekuatan, dibatasi oleh aturan-aturan untuk menghasilkan hasil yang tidak pasti menang atau kalahnya. Menurut Schell (2008, p31) yang dikutip dari Costikyan, game adalah struktur interaktif yang memiliki nilai internal yang membutuhkan pemain untuk bertahan sampai ke tujuan. Menurut Schell (2008, p34), terdapat sepuluh karakteristik yang harus dimiliki dalam sebuah game, yaitu : 1. Game dimainkan dengan kemauan sendiri 2. Game mempunyai tujuan
25
3. Game mempunyai konflik/masalah 4. Game mempunyai aturan 5. Game dapat menghasilkan kondisi menang atau kalah 6. Game bersifat interaktif 7. Game mempunyai tantangan 8. Game dapat menciptakan nilai (value) internal di dalam game itu sendiri 9. Game melibatkan player 10. Game adalah sistem formal yang tertutup
Dari sepuluh karakteristik di atas, Schell menyimpulkan definisi game adalah aktifitas pemecahan masalah (problem solving) dengan menggunakan pendekatan sikap yang menginginkan kesenangan.
Sedangkan menurut Rollings dan Adams (2003, p34), game adalah bentuk dari suatu partisipasi atau interaksi dengan suatu hiburan. Ketika game dimainkan, player dihibur dengan cara aktif berpartisipasi di dalamnya. Suatu game biasanya berada dalam satu dunianya sendiri yang dibatasi oleh aturan-aturan yang berlaku. Aturan-aturan tersebut yang membatasi aksi-aksi apa yang boleh dilakukan dan tidak boleh dilakukan oleh player dalam game tersebut.
26
Beberapa genre game yang ada antara lain : a. Action game Menurut Rollings dan Adams (2003, p289-290) genre ini adalah genre yang tertua, arcade game yang pertama adalah action game. Mekanisme game dan gameplay-nya sangat sederhana. Action game biasanya memasukkan tantangan fisik, puzzle, dan perlombaan, tetapi jarang memasukkan unsur strategi. Hampir semua action game menggunakan elemen–elemen umum yang meliputi : lives, reaction tests, dan hand-eye coordination tests. Selain elemen–elemen umum tersebut, terdapat elemen lain yaitu levels, waves, dan power-up.
b. Adventure game Menurut Heni dan Beckermann (2006, pp 3-4), pada genre ini player mengikuti cerita dengan memecahkan teka-teki (puzzle) atau mengubah jalan cerita dengan keputusannya sendiri. Adventure game adalah genre yang terutama meliputi tentang tantangan eksplorasi dan penyelesaian puzzle, yang kadang-kadang mengandung tantangan konseptual.
c. Action-Adventure game Action-adventure game adalah kombinasi dari action game dan adventure game. Game jenis ini lebih cepat dari adventure-game murni, dan mengandung tantangan fisik serta tantangan konseptual. Contoh game dengan genre ini adalah Indiana Jones and the Infernal Machine dan Tomb Rider. Game Tomb Rider termasuk action-adventure karena
27
mengandung puzzle, tetapi puzzle tersebut tidak terlalu sulit, dan actionnya berkesinambungan sepanjang game.
Menurut Schell (2008, pp41-43), ada empat elemen yang membentuk sebuah game, yaitu : 1. Mekanisme (Mechanics) Mekanisme adalah prosedur dan aturan dari sebuah game. Mekanisme menjelaskan tujuan dari game, bagaimana player dapat ataupun tidak dapat mencapai tujuan tersebut, dan apa yang akan terjadi ketika player mencoba mencapainya. Jika membandingkan game dengan hiburan yang linear (buku, film), dapat diketahui bahwa hiburan yang linear menggunakan teknologi, cerita, dan keindahan tetapi tidak mengandung mekanisme yang membedakannya dari sebuah game.
2. Cerita (Story) Cerita merupakan urutan kejadian yang berkembang yang menggambarkan sebuah game. Cerita bisa saja linear dan berurutan, ataupun bercabang. Ketika game desainer mempunyai cerita yang ingin diceritakan dalam game tersebut, maka mekanisme yang dipilih harus tepat untuk memperkuat cerita tersebut dan mampu membuat cerita tersebut berkembang.
28
3. Estetika (Aesthetics) Estetika adalah bagian yang menentukan bagaimana sebuah game terlihat, terdengar, tercium, dan terasa. Estetika merupakan aspek yang sangat penting dalam mendesain game, karena berhubungan langsung dengan pengalaman player. Estetika sangat berguna untuk membuat pengalaman yang dialami oleh player ketika bermain game menjadi menyenangkan. Game design yang kuat dan memiliki konsep ilustrasi yang baik akan : - Membuat konsep dari game menjadi lebih jelas untuk semua orang. - Membuat orang-orang melihat, membayangkan, dan memasuki dunia game tersebut. - Membuat orang-orang bersemangat untuk memainkan game tersebut.
4. Teknologi (Technology) Teknologi adalah setiap material dan interaksi yang membuat sebuah game memungkinkan untuk dibuat. Teknologi yang dipilih menentukan hal-hal apa saja yang dapat dilakukan dan tidak dapat dilakukan pada suatu game. Teknologi adalah media yang esensial dimana estetika terasa, mekanisme terjadi, dan cerita dapat disampaikan. Menurut Rollings dan Adams (2003, p4), game design adalah proses untuk : - Mengimajinasikan suatu game.
29
- Mendefinisikan cara bermainnya atau bagaimana sebuah game berjalan. - Mendeskripsikan elemen-elemen yang membangun sebuah game (konseptual, fungsional, artistik, dan lainnya). - Menyampaikan informasi yang dibutuhkan kepada team yang akan merancang dan membuat game. Secara sederhana, game design dapat didefinisikan sebagai sebuah tindakan untuk menentukan bagaimana sebuah game seharusnya dibuat. Seseorang yang merancang game disebut game designer. Sebuah game harus mengandung elemen artistik dan elemen fungsional, yaitu secara estestika harus menyenangkan, tetapi juga harus bekerja dengan baik agar dapat menyenangkan saat dimainkan. Kemudian, Rollings dan Adams (2003, pp9-13) membagi sebuah proses game design ke dalam tiga area spesifik yaitu core mechanics, storytelling, dan interactivity seperti terlihat pada gambar di bawah ini:
Gambar 2.5 Core Mechanics, Storytelling and Interactivity Sumber: Rollings and Adams (2003, p9)
30
a. Core Mechanics Core mechanics adalah peraturan-peraturan yang mendefinisikan bagaimana cara kerja sebuah game dan merupakan terjemahan dari visi seorang designer game ke dalam sekumpulan peraturan yang konsisten yang dapat ditafsirkan oleh komputer atau lebih tepatnya sekumpulan aturan-aturan yang dapat dimengerti oleh orang-orang yang akan menulis piranti lunak dan kemudian ditafsirkan oleh komputer.
b. Storytelling Semua game menceritakan sebuah cerita. Kompleksitas dan kedalaman cerita tersebut bergantung pada jenis game itu. Contohnya, pada game petualangan (adventure), game itu sendiri merupakan ceritanya dan player sendirilah yang menceritakan cerita tersebut dengan cara memainkannya.
c. Interactivity Interactivity adalah bagaimana seorang player melihat, mendengar, dan beraksi di dalam dunia game tersebut atau singkatnya bagaimana cara player memainkan sebuah game. Area ini biasanya meliputi beragam topik yang berbeda seperti grafik, suara, antarmuka player dan semua yang berhubungan dengan cara mempresentasikan pengalaman bermain game yang baik.
31
Game terdapat dalam berbagai platform antara lain : 1. Home Game Consoles Sebuah home game consoles biasanya terdiri dari sebuah konsol sebagai processing unit utama yang dilengkapi dengan controller sebagai input dan membutuhkan televisi sebagai output. Kelebihan home game console biasanya dapat dimainkan oleh lebih dari satu orang dalam satu waktu dan satu tempat (multiplayer game). Home game console memiliki unit pemroses grafik yang sangat bagus tetapi CPU dan RAM yang lemah jika dibandingkan dengan personal computer (PC), sehingga lebih sulit untuk memprogram game pada platform konsol.
2. Personal Computer (PC) Personal computer biasanya terdiri dari sebuah CPU dan memiliki keyboard, mouse, atau joystick sebagai media input dan sebuah monitor sebagai media output. Desain dari sebuah PC biasanya ditujukan untuk satu orang saja dalam satu mesin. Tetapi kemampuannya dalam mengakses jaringan internet membuat PC memiliki pasar yang luas dalam pengembangan online game. Selain itu, tidak seperti konsol yang memiliki spesifikasi yang sama, setiap PC memiliki spesifikasi sendiri karena
32
ada berjuta-juta kemungkinan modifikasi oleh berjuta-juta player yang berbeda.
3. Handheld Game Machines Handheld game machines merupakan salah satu bentuk hiburan yang sangat populer namun tidak terlalu mahal dan biasanya banyak digunakan untuk remaja. Handheld game machines biasanya memiliki desain model yang sederhana dan tidak ada sedikitpun ruang untuk dimodifikasi. Mesin handheld memiliki kontrol yang terbatas dan layar LCD yang kecil. Pasar dari handheld game machine sangat menguntungkan, namun desainer game harus mempunyai kemampuan yang mumpuni, karena tanpa movie pendukung, game pada platform ini murni mengandalkan gameplay untuk menghibur.
4. Other Devices Dewasa ini, perkembangan game sudah sangat pesat dan muncul pada alat-alat yang berbeda dari ketiga platform di atas. Pengiriman pesan berbasis teks pada telepon selular memunculkan genre seperti text MUD (multi user dungeon or domain). Maskapai penerbangan mulai memberikan mini video games pada setiap tempat duduk pada semua pesawat mereka. PDA (personal digital assistants) dan smartphone mendukung pengembangan game untuk platform kecil dan sederhana.
33
2.2.2 Android Android merupakan salah satu sistem operasi dari smartphone yang sekarang ini beredar di pasaran. Sekitar tahun 2004, Andrew Rubin menginkubasi Android bersama perusahaan modal Redpoint Ventures. Android
diciptakan
berawal
melalui
satu
ide
sederhana
yaitu
menyediakan platform mobile yang tangguh dan terbuka untuk dikembangkan oleh siapapun sehingga bisa mendorong inovasi lebih cepat demi keuntungan pelanggan. Pada tahun 2005, Android diakuisisi oleh Google (Utami, 2011, pp7-9). Menurut Utami (2011, p20), beberapa keunggulan dari Android antara lain, multitasking dimana sistem operasi ini memungkinkan untuk menjalankan beberapa aplikasi sekaligus. Misalnya, menjelajah internet, mendengarkan musik, dan chatting secara bersamaan. Keunggulan yang lain ialah custom home screen. Fitur ini sebenarnya juga terdapat pada sistem operasi lain, tetapi kelebihannya ialah kemudahan dalam notifikasi pesan, email, dll. Android juga menyediakan Android Market tempat dimana para developer mempublikasikan aplikasi yang dibuatnya. Dengan adanya fitur Android Market, user lebih mudah mengakses aplikasi mulai dari games hingga tools untuk smartphone. Dengan menyediakan platform pengembangan yang terbuka, Android
menawarkan
kemampuan
pada
para
developer
untuk
membangun aplikasi yang inovatif. Developer dapat dengan bebas mengambil berbagai keuntungan antara lain dari device hardware, access location information, menjalankan background services, dll.
34
Developer dapat memiliki akses penuh ke framework APIs yang digunakan di core applications. Arsitektur dari aplikasi ini didesain untuk memudahkan penggunaan kembali komponen-komponen yang diperlukan. Aplikasi apapun dapat mempublikasikan keunggulannya dan aplikasi lain dapat mengambil keunggulan tersebut sejauh yang dibatasi oleh security constraints dari framework.
Gambar 2.6 Android System Architecture
Application Framework Dibalik semua aplikasi adalah sebuah set yang terdiri dari servis dan sistem sebagai berikut: • View System, sebuah
set of views yang ekstensibel yang dapat
digunakan untuk membuat sebuah aplikasi antara lain text boxes, buttons, dan lists.
35
• Content Providers yang mengijinkan aplikasi untuk mengakses data dari aplikasi lain seperti daftar kontak. • Resource Manager yang menyediakan akses kepada resources yang tidak berbasiskan kode seperti grafik, layout file, dll. • Notification Manager yang mengijinkan semua aplikasi untuk memunculkan notifikasi pada status bar. • Activity Manager yang mengatur siklus dari sebuah aplikasi dan menyediakan kemampuan untuk kembali ke aktivitas sebelumnya yang disusun dalam sebuah stack dan berurutan sesuai dengan waktu aplikasi dijalankan.
2.2.3 Andengine Andengine adalah game engine 2D OpenGL untuk Android yang bersifat open-source untuk pengembangan game 2D di Android. Engine ini dikembangkan oleh Nicolas Gramlich yang sekarang berkerja pada perusahan game Zynga. Andengine ini berupa library tambahan dengan ekstensi jar yang dapat di-install ke dalam project Android pada program Eclipse. Andengine juga memiliki beberapa ekstensi tambahan, seperti Multiplayer, Augmented-Reality, MultiTouch, Physics, Live-Wallpaper, SVGTextureRegion, dan TexturePacker.
36
2.2.4 Visual Basic 2005 Menurut Willis dan Newsome (2006, xxix), Visual Basic 2005 adalah salah satu dari banyak
bahasa pemrograman yang dapat
digunakan dalam Visual Studio 2005. Keuntungan dari penggunaan Visual Basic 2005 yaitu kemudahan dalam menggunakan dan kecepatannya dalam membuat aplikasi windows, aplikasi web, aplikasi mobile, dan web services.