BAB 2 LANDASAN TEORI
Bab ini akan dijelaskan pembahasan teori-teori pendukung yang digunakan dalam pembuatan game ini, berikut teori-teori yang digunakan:*
2.1. Multimedia
2.1.1. Pengertian Multimedia Multimedia adalah kombinasi dari teks, gambar, suara, animasi, dan video yang disampaikan kepada pengguna lewat komputer, perangkat elektronik, atau manipulasi digital lainnya. Ketika suatu proyek multimedia dimungkinkan untuk dapat dikontrol oleh pengguna, maka ini dapat disebut dengan multimedia interaktif (Vaughan, 2011:1).
2.1.2. Elemen-elemen Multimedia 2.1.2.1. Teks Penggunaan teks untuk komunikasi telah dimulai sekitar 6000 tahun lalu. Pada saat ini teks sebagai pintu pengetahuan, karena teks memberikan suatu informasi dengan makna yang kuat, oleh karena itu, ketrampilan untuk membaca dan menulis teks saat ini diperlukan dalam sebagian besar budaya modern (Vaughan, 2011:18).
1. Perbedaan antara Serif dan Sans Serif Terdapat satu pendekatan untuk mengkategorikan suatu huruf agar dapat dipahami secara menyeluruh. Pendekatan ini menggunakan istilah serif dan sans serif. Serif dan sans serif adalah cara paling sederhana untuk mengkategorikan jenis huruf. Tipe serif memiliki sedikit dekorasi pada bagian akhir suatu goresan (stroke). Contoh-contoh huruf yang menggunakan serif yaitu Times, New Century Schoolbook, Bookman, dan Palatino. Helvetica, Verdana, Arial, Optima, dan Avant Garde yaitu tipe 19
20 dari huruf sans serif (Vaughan, 2011:24-25). Berikut gambar perbedaan antara serif dan sans serif:
Gambar 2.1 Tipe serif (kiri) dan sans serif (kanan) (Sumber: Vaughan, 2011:25)
2.1.2.2. Gambar Gambar adalah elemen multimedia yang memilki warna, bentuk geometris, atau bentuk aneh sekalipun. Gambar menjadi salah satu elemen paling penting dari suatu multimedia yang memberikan dampak visual. Gambar dihasilkan melalui dua cara dengan menggunakan komputer, yaitu (Vaughan, 2011:70-71):
1. Bitmaps Bitmaps dapat disebut dengan raster image atau terkadang disebut dengan program painting. Bitmaps digunakan untuk gambar photo-realistic dan gambar kompleks yang membutuhkan detail halus. Bitmaps menggunakan bit (digit elektronik berupa hitam atau putih dan true atau false) sebagai elemen utama dalam membentuk suatu gambar dengan metode biner.
2. Vector Vector adalah program drawing yang digunakan untuk garis, kotak, lingkaran, poligon, dan bentuk grafik lainnya yang dapat dihitung secara matematis dinyatakan dalam sudut, koordinat, dan jarak. Kelebihan Vector dibandingkan dengan Bitmaps yaitu dapat diperbesar
21 tanpa kehilangan kualitas dari gambar aslinya.
2.1.2.3. Suara Suara merupakan elemen yang paling sensual dari multimedia, termasuk berbicara dalam banyak bahasa, dan bisikan hingga menjerit. Suara dapat memberikan kenikmatan mendengarkan musik seperti aksen efek khusus yang dapat menghasilkan emosi cinta atau mengontrol suasana hati seseorang. Suara dihasilkan dari suatu tekanan gelombang atau getaran (Vaughan, 2011:104-105).
2.1.2.4. Animasi Animasi adalah suatu perubahan dari presentasi statis menjadi hidup. Animasi primtif dapat disebut dengan efek visual seperti wipes, fades, zooms, dan dissolves. Namun, animasi saat ini lebih dari sekadar efek visual. Animasi berupa objek yang bergerak ke dalam atau keluar dari layar, berputar seperti bumi kita, mengemudikan mobil, dan merupakan sumber utama dari suatu tindakan dinamis dalam presentasi multimedia. Terdapat dua jenis teknik animasi yaitu cel animation dan computer animation. Teknik cel animation dibuat oleh Disney menggunakan istilah keyframe dan tweening, sedangkan teknik computer animation menggunakan logika dan konsep yang sama seperti cel animation, hanya perbedaannya dibuat dengan menggunakan software komputer dalam banyak bentuk seperti 2D (dua dimensi), 21/2D (dua setengah dimensi) dan 3D (tiga dimensi). Animasi 2D merupakan animasi yang paling sederhana menggunakan koordinat kartesius X dan Y. Animasi 21/2D sedikit lebih kompleks yaitu menggunakan ilusi kedalaman berupa sumbu Z pada koordinat kartesius dengan diberikan bayangan dan cahaya, namun gambar tersebut tetap berada pada koordinat sumnbu X dan Y. Animasi 3D merupakan animasi yang paling realistis yaitu menggunakan tiga sumbu X, Y, dan Z secara nyata
22 bukan berupa bayangan dan cahaya seperti animasi 21/2D (Vaughan, 2011:140-146).
2.1.2.5. Video Video
adalah
elemen
multimedia
yang
dapat
menggambarkan situasi. Video dapat mempresentasikan pesan dan memperkuat cerita yang ingin disampaikan kepada penonton, namun dalam menggunakan video jika tidak dipikiran atau dihasilkan dengan baik maka, akan menurunkan hasil presentasi yang ingin disampaikan. Video lebih menarik dibanding elemen multimedia lainnya karena video dapat berupa penggabungan elemen multimedia lainnya seperti teks, gambar, animasi, dan suara (Vaughan, 2011:164).
2.2. Desain User Interface (Antarmuka)
2.2.1. Delapan Aturan Emas dalam User Interface Delapan aturan emas digunakan sebagai salah satu pedoman dalam merancang tampilan dari sebuah aplikasi atau website. Menurut Shneiderman dan Plaisant (2010:88-89), delapan aturan emas, yaitu: 1. Berusaha untuk konsisten Urutan yang konsisten dari suatu aksi dibutuhkan dalam situasi yang mirip, seperti penggunaan pada prompts, menus, help screen, konsistensi warna, layout, capitalization, fonts, dan lainnya. Konsistensi dibutuhkan agar pengguna lebih mudah dan terbiasa dalam menggunakan aplikasi.
2. Menyediakan kemudahan penggunaan yang universal Perbedaan antara pemula dengan ahli, perbedaan usia, pengguna abnormal, dan perbedaan teknologi dapat mempengaruhi kebutuhan dalam melakukan desain. Penambahan fitur untuk pemula seperti penjelasan, fitur untuk para ahli seperti shortcut, dapat memperkaya desain UI dan meningkatkan kualitas sistem.
23 3. Memberikan umpan balik yang informatif Untuk setiap aksi yang dilakukan pengguna, harus ada umpan balik yang diberikan sistem kepada pengguna. Untuk aksi yang sederhana, respon sistem dapat dibuat lebih sederhana. Untuk aksi yang jarang dilakukan namun menjadi hal utama, respon sistem harus lebih substansial.
4. Berikan dialog untuk memberikan penutupan (keadaan akhir) Urutan dari suatu aksi harus diatur dalam kelompok pada bagian awal, pertengahan dan akhir. Umpan balik yang informatif diberikan saat suatu kumpulan aksi telah selesai. Sebagai contoh, situs
e-commerce
memberikan
penutupan
akhir
dengan
menunjukkan halaman konfirmasi bahwa transaksi telah berhasil.
5. Pencegahan Kesalahan Dalam merancang sistem untuk pengguna buatlah sedemikan rupa agar tidak melakukan kesalahan yang serius. Jika pengguna melakukan kesalahan, antarmuka harus mendeteksi kesalahan, dan menawarkan penanganan kesalahan yang sederhana, konstruktif, dan instruksi yang spesifik.
6. Memungkinkan pembalikan aksi yang mudah Sebisa mungkin, aksi yang dilakukan harus dapat dibalikkan (reversible). Fitur ini berfungsi untuk mengurangi kecemasan karena pengguna mengetahui bahwa kesalahan dapat dibatalkan atau dikembalikan, sehingga mendorong pengguna untuk mencoba aplikasi tersebut lebih jauh.
7. Mendukung pusat kendali internal Pengguna yang berpengalaman menginginkan bahwa mereka mempunyai tanggung jawab dan kontrol atas antarmuka dan antarmuka akan merespon aksi yang dilakukan oleh mereka.
24 Buatlah pengguna merasa sebagai pihak yang memulai aksi bukan sebagai perespon terhadap suatu aksi.
8. Mengurangi beban ingatan jangka pendek Keterbatasan pemrosesan informasi pada manusia dalam ingatan jangka pendek membutuhkan antarmuka yang sederhana, layar dengan banyak halaman, pengurangan frekuensi window-motion, dan waktu pelatihan yang cukup untuk mengingat kode, singkatan (mnemonics), dan urutan suatu aksi.
2.3. User Experience
2.3.1. User Experience in Games Takatalo,
Hakkinen,
Kaistinen,
Nyman
(2008:320-322)
menjelaskan bahwa game dimainkan untuk mendapatkan pengalaman. Cara menilai suatu proses pengalaman dapat bervariasi, namun kerangka pikiran dan metode yang dipilih harus mengabaikan setiap bagian trilogy pikiran. Analisis trilogy ini yaitu mengungkapkan kualitas, intensitas, arti, nilai, dan pengembangan suatu pengalaman. Meskipun games dipelajari pada bidang Human Computer Interaction (HCI), namun terdapat suatu kebutuhan untuk analisis empiris yang sistematis dari User Experience (UX). Secara umum untuk beberapa studi game, mereka menanggap UX pada games sebagai hal yang menyenangkan, yang membuat player menikmati permainan dan memotivasi mereka untuk terus bermain. Tantangan (tujuan dan ketidakpastian), fantasi (emosi dan metafora) dan rasa ingin tahu (hal baru dan mengejutkan) mungkin menjadi dasar secara empiris sebagai pedoman
untuk
menghasilkan
sesuatu
yang
lebih
menarik,
menyenangkan dan memuaskan seperti games. Desurvire menyatakan sejak saat itu, dirancanglah desain game yang lebih baik (dikutip di Takatalo,
2008),
dan
untuk
melakukan
evaluasi
pada
game
menggunakan pendekatan secara psikologi sangat dibutuhkan. Kesenangan sering dianggap sebagai motivasi utama untuk
25 bermain, sehingga ada suatu penelitian yang berkonsentrasi pada sumber kesenangan dalam suatu game. Lazzaro melakukan studi secara empiris dengan melihat motivasi dari 30 player dan 15 non-player untuk bermain atau tidak memainkan games (dikutip di Takatalo, 2008). Hasilnya mengindikasikan terdapat empat emosi motivasi utama untuk bermain game, yaitu tantangan (mengatasi rintangan), mengambil perhatian (keingintahuan, kegembiraan, dan petualangan), keadaan yang berubah (emosi dan sensasi) dan player lainnya (kompetisi, kooperasi satu dengan yang lainnya). Sherry melakukan penelitian dengan dimensi yang lebih besar sebanyak 550 contoh (dikutip di Takatalo, 2008). Ketika dua studi ini dibandingkan, tertera bahwa ada satu yang spesifik yaitu keadaan yang berubah, menarik perhatian untuk berfantasi dan player lain untuk menyajikan dua dimensi dari sebuah kompetisi dan interaksi sosial. Yee melakukan studi empiris yang lebih besar mengambil sebanyak 3200 contoh untuk penelitian motivasi player (dikutip di Takatalo, 2008), meskipun studi ini dilakukan dalam satu genre (MMORPG), namun hasil komponen utama analisis tersebut menunjukkan kesamaan pada studi cross-game. Berkonsentrasi pada satu genre memungkinkan hasil yang lebih akurat seperti tantangan di dalam game, misalnya kemajuan dan persaingan. Namun untuk mengungkap hukum-hukum pengalaman di dalam game, cross-game dan analisis psikologis yang sistematis pada UX tetap dibutuhkan. Dari penjelasan diatas, dapat ditemukan studi tentang game yang dapat dirangkum dengan istilah komponen kesenangan, yaitu: a. Tantangan (mengatasi rintangan, menyelesaikan tujuan) b. Emosi dan sensasi (gairah, menikmati, bersantai) c. Fantasi (petualangan, eskapisme) d. Rasa ingin tahu / penasaran (penemuan, perhatian, eksplorasi, pembelajaran). e. Player lainnya (interaksi sosial, kompetisi, kooperasi / kerjasama) f. Naratif (drama, peran).
2.3.2. Prinsip Android dalam User Experience Berdasarkan informasi yang di dapat dari situs Android developer,
26 ditemukan
beberapa
prinsip
desain
untuk
menghasilkan
User
Experience yang baik (Google, 2013):
1. Enchant Me (Memikat Saya) a. Delight me in surprising ways (Menyenangkan saya dengan cara yang mengejutkan) Permukaan yang indah, penempatan animasi secara hatihati, atau efek suara yang tepat waktu adalah sebuah kebahagiaan
untuk
dipelajari.
Efek
yang
halus
berkontribusi untuk menimbulkan suatu perasaan tanpa usaha dan sebuah indra yang sangat kuat.
b. Real objects are more fun than buttons and menus (Benda nyata lebih menyenangkan daripada tombol dan menu) Memungkinkan orang secara langsung menyentuh dan memanipulasi objek di dalam aplikasi, agar dapat mengurangi upaya kognitif yang diperlukan untuk melakukan tugas sementara sambil membuatnya lebih memuaskan secara emosional.
c. Let me make it mine (Biarkan menjadi milik saya) Pengguna suka untuk menambahkan sentuhan pribadi karena itu membantu mereka merasa berada di rumah sendiri dan dapat mengontrolnya sendir. Sediakan tidak hanya hal yang masuk akal dan indah, tetapi juga pertimbangan untuk menghasilkan kesenangan.
d. Get to know me (Kenali Saya) Pelajari pilihan pengguna dari waktu ke waktu, daripada meminta mereka untuk membuat pilihan yang sama berulang-ulang, tempatkan pilihan sebelumnya yang mudah dijangkau.
27 2. Simplify My Life (Sederhanakan hidup saya) a. Keep it Brief (Jaga agar tetap singkat) Gunakan frasa singkat dengan kata-kata yang sederhana. Pengguna cenderung melewatkan kalimat yang terlalu panjang.
b. Picture are faster than words (Gambar lebih cepat daripada kata-kata) Pertimbangkan untuk menggunakan gambar untuk menjelaskan suatu ide, karena menarik perhatian pengguna dan lebih efisien dibanding kata-kata.
c. Decide for me but let me have the final say (Berikan pilihan tetapi izinkan saya untuk memilih keputusan akhir) Ambil perkiraan terbaik dan bertindak daripada meminta terlebih dahulu. Terlalu banyak pilihan dan keputusan membuat pengguna tidak senang. Ketika dalam suatu kasus
pengguna
melakukan
kesalahan,
berikan
kemungkinan untuk membatalkannya.
d. Only show what I need when I need it (Hanya tunjukkan apa yang saya butuhkan ketika saya membutuhkannya) Pengguna kewalahan ketika melihat terlalu banyak sekaligus. Istirahatkan tugas dan informasi potongan kecil yang mudah dicerna serta sembunyikan pilihan yang tidak penting.
e. I should always know where I am (Saya harus selalu mengetahui keberadaan saya) Berikan keyakinan kepada pengguna bahwa mereka tahu jalan di sekitar mereka. Buatlah tempat di dalam aplikasi anda agar terlihat berbeda dan menggunakan transisi
28 untuk menunjukkan hubungan diantara banyak layar dan sediakan umpan balik pada saat proses menjalankan fungsi.
f. Never lose my stuff (Jangan pernah hilangkan barangbarang saya) Simpan apa yang telah diambil oleh pengguna ketika membuat dan memungkinkannya untuk dapat diakses dimana saja. Buatlah suatu fungsi untuk mengingat pengaturan, sentuhan pribadi, dan kreasi pada ponsel, tablet, dan komputer.
g. If it looks the same, it should act the same (Jika tampak sama, seharusnya menunjukkan tindakan yang sama) Membantu pengguna melihat perbedaan fungsi dengan membuat perbedaan visual daripada yang pebedaan yang tidak terlihat. Hindari mode yang menunjukkan tempat yang terlihat mirip tetapi menghasilkan tindakan yang berbeda pada input yang sama.
h. Only interrupt me if it's important (Hanya menggangu saya jika ada hal yang penting) Seperti asisten pribadi yang baik yaitu melindungi dari hal kecil yang tidak penting. Pengguna ingin tetap fokus, dan jika penting dan sensitive terhadap waktu maka gangguan notifikasi dapat muncul dengan agresif.
3. Make Me Amazing (Buat saya merasa takjub) a. Give me tricks that work everywhere (Berikan trik yang dapat berfungsi dimanapun) Pengguna merasa hebat ketika mereka mencari hal-hal untuk diri mereka sendiri. Buatlah aplikasi yang lebih mudah untuk dipelajari dengan memanfaatkan pola-pola
29 visual dan memori otot dari aplikasi Android lainnya. Sebagai contoh, gerakan menggesek (swipe gesture) mungkin lebih baik untuk digunakan.
b. It's not my fault (Ini bukan salah saya) Buatlah dorongan kepada pengguna untuk melakukan koreksi. Pengguna ingin merasa pintar ketika mereka menggunakan aplikasi. Jika ada sesuatu yang salah, berikan pemulihan instruksi yang jelas namun dengan rincian yang teknis, bahkan lebih baik melakukan perbaikan pada belakang layar atau pengguna tidak perlu melihat adanya perbaikan kesalahan.
c. Sprinkle encouragement (Taburkan dorongan) Pecahkan tugas kompleks menjadi langkah-langkah kecil agar dapat mudah dicapai. Berikan umpan balik pada aksi, bahkan jika itu hanya suatu cahaya halus.
d. Do the heavy lifting for me (Angkatlah tinggi-tinggi agar saya merasa hebat) Buatlah pemula merasa seperti orang yang ahli dengan memungkinkan mereka untuk melakukan hal-hal yang mereka tidak pernah pikirkan misalnya, shortcut untuk menggabungkan beberapa efek foto agar merasa seperti fotografer amatir dan terlihat luar biasa hanya dalam beberapa langkah saja.
e. Make important things fast (Buat hal penting dengan cepat) Tidak semua aksi adalah sama. Putuskan apa yang paling penting dalam aplikasi dan buatlah mudah untuk ditemukan dan cepat untuk digunakan, seperti tombol shutter pada kamera, atau tombol pause pada pemutar musik.
30 2.4. Teori Game
2.4.1. Elements of Game Design 2.4.1.1. Pengertian Game Game adalah jenis aktivitas bermain, yang dilakukan dalam konteks realitas yang pura-pura. Peserta mencoba untuk meraih sesuatu hal apapun sesuai dengan kemauan, namun tujuannya harus bertindak bertindak sesuai dengan aturan (Adams, 2009:3). Schell, J. (2008:37) mendefinisikan game dengan pengertian yang lain, sebagai berikut: “A game is a problem-solving activity, approached with a playful attitude “.
2.4.1.2. Elemen Penting Game 1. Play (Bermain) Bermain adalah bentuk partisipasi dari suatu hiburan. Ketika bermain terdapat pilihan yang dapat mempengaruhi jalannya peristiwa. Setiap kali bermain game, akan dihasilkan pilihan dan pengalaman yang berbeda. Bermain mencakup kebebasan untuk bertindak dan memilih. Kebebasan ini tidak terbatas, namun pilihan dibatasi oleh aturan dan memungkinkan untuk menjadi pintar, imajinatif, atau terampil dalam bermain (Adams, 2009:4).
2. Pretending (Berpura-pura) Berpura-pura adalah aksi dari sebuah realitas di dalam pikiran, merupakan salah satu unsur definisi tentang game. Nama lain untuk realitas yang dibuat dengan berpura-pura dinamakan lingkaran sihir. Lingkaran sihir berkaitan dengan konsep dunia imajinasi dalam fiksi dan drama, dan ini terkoneksi ke dalam seremonial, spiritual, hukum dan kegiatan lainnya (Adams, 2009:4-5).
31 3. A Goal (Tujuan) Sebuah game harus memiliki tujuan (goal) dan mungkin terdapat lebih dari satu tujuan. Bermain tanpa tujuan sama saja tidak bermain game. Salen dan Zimmerman (dikutip di Adams, 2009) menjelaskan bahwa game harus memiliki hasil yang terukur. Tujuan dari game di definisikan oleh aturan karena game designer dapat menjelaskannya lewat berbagai cara yang mereka suka. Suatu tujuan harus berbentuk lebih dari sederhana, karena game harus mencakup beberapa unsur tantangan. Bahkan dalam suatu game dengan kesempaan murni seperti dadu atau roulette, player harus belajar untuk memahami peluang dan menempatkan taruhan yang kemungkinan besar akan menguntungkan mereka. Demikian pula dalam creative game, kreasi itu sendiri yang akan menantang para player (Adams, 2009:6-8).
4. The Rules (Aturan) Aturan (Rules) adalah sebuah definisi dan instruksi bagi player untuk setuju untuk mengikuti aturan selama game itu sedang dimainkan. Setiap game mempunyai aturan, bahkan jika aturan tersebut tidak tertulis sekalipun. Aturan melayani beberapa fungsi di dalam game, yaitu membangun objek dan arti sebuah game dari berbagai aktivitas dan kejadian yang terjadi di dalam lingkaran sihir. Aturan juga menciptakan kerangka kontekstual yang memungkinkan player untuk mengetahui aktivitas yang di izinkan dan mengevaluasi aksi terbaik yang akan membantu mereka mencapai tujuan (Adams, 2009:8-9)
2.4.1.3. Gameplay 2.4.1.3.1.
Pengertian Gameplay
Gameplay terdiri dari (Adams, 2009:9-11): a. Tantangan (Challenge) yang harus dihadapi seorang player untuk dapat tiba di tujuan pada saat memainkan game.
32 b. Aksi
(Action)
seorang
player
diperbolekan
untuk
mengambil dan mengatasi tantangan tersebut.
2.4.1.3.2.
Tantangan (Challenges) Tantangan adalah kumpulan tugas untuk player yang
dengan bentuk yang tidak sederhana untuk diselesaikan. Mengatasi tantangan harus membutuhkan usaha mental atau fisik.
Tantangan
dapat
menjadi
sederhana
seperti
mendapatkan bola melalui lingkaran atau bahkan menjadi sangat rumit seperti membuat bisnis menjadi menguntungkan. Tantangan dapat menjadi unik, berulang, atau melanjutkan sesuatu. Dalam bermain game action, player sering menghadapi tantangan berulang untuk mengalahkan sejumlah musuh yang identik, dan ketika telah selesai melakukannya mereka harus mengatasi tantangan yang unik untuk melawan musuh boss tertentu.
Berikut contoh tipe-tipe tantangan yang umum digunakan (Adams, 2009:19-20):
Tabel 2.1. Game Challenges
Tipe Tantangan
Contoh Klasik
Koordinasi fisik Kecepatan dan waktu reaksi
Tetris
Akurasi atau presisi (menyetir, menembak)
Need for Speed
Waktu dan irama
Dance Dance Revolution
Belajar suatu kombinasi untuk bergerak
Street Fighter II
Logika Formal Pengurangan dan pen-dekodean (decoding)
Minesweeper
33 Tipe Tantangan
Contoh Klasik
Pola Pengenalan Pola statis
Brain Age
Pola gerakan dan perubahan
Sonic the Hedgehog, behavior patterns of enemies
Tekanan Waktu Mengalahkan waktu
Frogger
Mencapai sesuatu sebelum orang lain
IndyCar Racing
Ingatan dan Pengetahuan Meremehkan (Trivia)
You Don’t Know Jack
Koleksi ulang suatu objek atau pola
Brain Age
Eksplorasi Mengidentifikasi hubungan spasial
Descent, navigating in 3D
Menemukan kunci (membuka kunci)
Ultima
Menemukan bagian tersembunyi
Doom
Labirin dan ruang logika
Zork
Konflik Strategi, taktik, dan logistik
Warcraft, commanding armies
Bertahan hidup
Pac-Man, avoiding being caught Space Invaders, killing aliens
Mengurangi pasukan musuh
Ico, looking after a little girl who
Mempertahankan item atau unit yang
can’t fight
rentan
Thief: The Dark Project, avoiding
Menipu
being seen
Ekonomi Mengumpulkan sumber daya atau poin
Civilization
(pertumbuhan) Membangun sistem produksi yang efisien
The Settlers
Mencapai keseimbangan atau stabilitas
SimEarth
dalam suatu sistem Merawat makhluk hidup
The Sims
34 Tipe Tantangan
Contoh Klasik
Penalaran Konseptual Memilah petunjuk dari ikan haring merah
Law and Order, solving crimes Planescape: Torment,
Mendeteksi makna motivasi tersembunyi
understanding characters’
dari petunjuk yang samar-samar
Façade, reconciling a quarreling
Memahami hubungan sosial
couple The Incredible Machine, building
Berpikir lateral dari bagian yang terbatas
a machine
Kreasi atau Konstruksi Keberhasilan estetika (keindahan atau
The Sims, assembling a photo
keanggunan)
album
Konstruksi dengan tujuan fungsional
SimCity
Berikut akan dijelaskan bagaimana contoh bentuk Hierachy of Challenges (Adams, 2009:253-257):
Secara keseluruhan bahkan game sederhana sekalipun, player akan menghadapi berberapa tantangan pada suatu waktu, yang diatur dalam hierarchy of challenges (hirarki tantangan). Untuk mencapainya, player harus menyelsaikan misi saat ini. Menyelesaikan misi membutuhkan penyelesaian pada submisi. Pada level terendah, player ingin segera menghadapi tantangan ketika musuh mengancamnya pada saat ini, atau membuka kunci namun membutuhkan mantra yang tepat. Tantangan pada level terendah ini disebut tantangan atom (atom dalam arti tidak terpisahkan), dan tantangan atom membentuk suatu sub-misi.
35
Gambar 2.2. Hirarki Tantangan (Sumber: Adams, 2009:254)
36
Gambar 2.3. Hirarki Tantangan dengan Banyak Pilihan (Sumber: Adams, 2009:257)
2.4.1.3.3.
Aksi (Actions) Aturan menentukan tindakan apa yang mungkin perlu
dilakukan oleh player untuk mengatasi tantangan dan mencapai tujuan dari suatu game. Aturan tidak hanya menentukan aksi apa yang diperbolehkan, tetapi juga apa yang dilarang dan mana yang dibutuhkan dalam keadaan tertentu. Game juga memungkinkan aksi tambahan yang tidak dibutuhkan untuk mengatasi tantangan, tetapi menambah kenikmatan player dengan cara lain, sebagai contoh pada game Grand Theft Auto, player dapat mendengarkan radio di dalam mobil.
2.4.1.4. Game Genre Terdapat sembilan jenis game genre yang akan dijelaskan dalam bentuk sub-bab, sebagai berikut (Adams, 2009:392-586): 2.4.1.4.1.
Action Games
Sebuah action game adalah salah satu bentuk dengan sebagian besar berupa tantangan yang disajikan melalui tes kemampuan fisik dan koordinasi.
37 1. Ciri-ciri Action Games: a. Action games membutuhkan koordinasi antara tangan dan mata yang baik dengan reaksi yang cepat. b. Action games tercepat terkadang disebut twitch games (kedutan), menyiratkan bahwa aksi terjadi hamir pada setiap tingkat reflek. c. Di dalam game, player tidak memiliki waktu untuk perencanaan strategi, sehingga ketika tingkat frustasi lebih tinggi daripada game yang lambat, ketrampilan intrinsik diperlukan untuk setiap tantangan yang lebih mudah.
2. Action Games Subgenres a. Shooter (2D / 3D), contohnya: Robotron X, Gauntlet II, Maze War, Battlefield. b. Platform Games, contohnya: Crash Bandicoot, Super Mario Bros. c. Fighting Games, contohnya: Tekken, Street Fighter. d. Fast Puzzle Games, contohnya: Sokoban. e. Action - Adventure Games, contohnya: Indiana Jones. f. Music, Dance, dan Rhythm Games, contohnya: Dance Dance Revolution, PaRappa the Rapper.
2.4.1.4.2.
Strategy Games Sebuah game strategi adalah salah satu dari sebagian
besar tantangan yang disajikan berupa tantangan strategi konflik dan player dapat memilih dari berbagai macam aksi potensial atau bergerak untuk mendapat poin terbanyak dalam suatu game. Kemenangan dicapai dengan perencanaan yang lebih unggul dan mengambil aksi yang optimal, dan unsur kesempatan tidak harus menjadi peran yang besar pada game. Tantangan lain juga muncul seperti taktis, logistik, ekonomi, dan tantangan eksplorasi.
38 2.4.1.4.3.
Role-Playing Games (RPG) Sebuah role-playing game (RPG) adalah salah satu
jenis game yang memungkinkan player mengontrol satu atau lebih karakter yang biasanya dirancang oleh player, dan menuntunnya melalui serangkaian quests yang dibuat oleh komputer.
Kemenangan
ditandai
dengan
berhasilnya
menyelesaikan quest. Fitur kunci dari RPG games adalah character growth (perkembangan karakter). Tantangan khas lainnya seperti pertarungan taktis, logistik, pertumbuhan ekonomi, eksplorasi, dan pemecahan teka-teki. Untuk tantangan koordinasi fisik jarang terjadi kecuali dalam konteks gabungan genre RPG-Action.
2.4.1.4.4.
Sports Games Sebuah game olahraga mensimulasikan beberapa
aspek dari olahraga atletik yang nyata atau imajiner, yaitu bermain di pertandingan, mengelola sebuah tim atau karir, atau keduanya. Bermain pada pertandingan menggunakan tantangan fisik dan strategis, terutama tantangan manajemen ekonomi.
2.4.1.4.5.
Vehilce Simulations Simulasi kendaraan mencakup beberapa lingkungan
dan mekanisme game. Player dapat berada di udara, di tanah, di air, atau di ruang angkasa. Player dapat berlomba dengan player lain atau lawan buatan (artificial), atau player juga dapat bereksplorasi hanya dengan memiliki pengalaman menggunakan kendaraan. Unsur yang paling umum adalah rasa verisimilitude (seakan-akan terlihat seperti). Player mencari sebuah pengalaman untuk merasakan bahwa hal itu benar-benar
terasa
seperti
mengendalikan kendaraan.
mengemudi,
terbang,
atau
39 2.4.1.4.6.
Construction and Management Simulations (CMS) Simulasi konstruksi dan manajemen adalah game
yaitu dengan sebagian besar berupa tantangan ekonomi dan konsentrasi
pada
merupakan
elemen
pertumbuhan. penting
dari
Kegiatan setiap
konstruksi CMS.
CMS
menghindari koordinasi fisik dan tantangan konflik, kecuali merupakan gabungan dari genre yang lain.
2.4.1.4.7.
Adventure Games Sebuah game petualangan merupakan cerita interaktif
tentang karakter protagonis yang dimainkan oleh player. Mendongeng dan eksplorasi merupakan elemen penting dari game petualangan. Memecahkan teka-teki dan tantangan konseptual membentuk sebagian besar gameplay dari game petualangan.
2.4.1.4.8.
Artificial Life Games Kehidupan buatan merupakan cabang dari penelitian
ilmu komputer, seperti kecerdasan buatan. Kehidupan buatan, atau kadang-kadang disebut A-life melibatkan proses biologis pemodelan, sering digunakan untuk mensimulasikan siklus hidup dari makhluk hidup.
2.4.1.4.9.
Puzzle Games Teka-teki (puzzle) sering muncul dalam beberapa
game genre. Banyak single-player game komputer berisi dengan teka-teki, pada action game player sering dan harus mencari tahu kelemahan musuh boss, pada game petualangan yang penuh teka-teki sering di dapatkan benda-benda tidak dapat diakses atau harus mendapatkan informasi dari orang lain, bahkan game first person shooter terkadang menawarkan suatu teka-teki untuk mencari tahu bagaimana melewati pintu yang terkunci dan hambatan lainnya. Desain teka-teki merupakan elemen penting dalam
40 mendesain suatu game dan ternyata lebih jauh lebih sulit dalam
melakukan
desainnya.
Dalam
game
teka-teki,
memecahkan teka-teki adalah kegiatan utama, meskipun tekateki mungkin terjadi di dalam alur cerita atau mengarah ke beberapa tujuan yang lebih besar. Game teka-teki biasanya memberikan tantangan yang saling terkait dan variasi pada tema game. Jenis-jenis teka-teki yang ditawarkan meliputi mengenali suatu pola, membuat kesimpulan logis, atau memahami proses. Dalam semua kasus, teka-teki memberikan petunjuk kepada player untuk menyelesaikan suatu kondisi kemenangan.
2.4.1.5. Game Balancing Dalam
sebuah
game,
terdapat
dua
jenis
konsep
keseimbangan (balance), yaitu player versus player (PVP) dan player versus environment (PVE). PVP adalah kondisi ketika player menghadapi satu atau lebih lawan player lainnya, sedangkan PVE adalah kondisi ketika player menghadapi seluruh lingkungan di dalam game, seperti melawan kecerdasan buatan (Artificial Intelligence). Berikut dibawah ini akan dijelaskan mengenai karakteristik PVE dan PVP (Adams, 2009:324-325):
2.4.1.5.1.
Karakteristik PVP dan PVE
1. Game menyediakan pilihan yang bermakna Jika
game memungkinkan player
untuk memilih
beberapa strategi yang mungkin untuk mendekati tantangan, tidak ada strategi yang jauh lebih efektif daripada yang lain. Jika ada strategi yang dominan, hal ini menunjukkan suatu keseimbangan game yang buruk. Ketika game memberikan pilihan strategi kepada player, masing-masing strategi harus memiliki kesempatan yang masuk akal untuk menghasilkan kemenangan.
41 2. Peran suatu kesempatan tidak berpengaruh besar terhadap kemampuan player Hal ini bukan berarti bahwa player tidak memiliki nasib buruk, tetapi saat game berlangsung lama atau bahkan mungkin berlangsung cepat, player dengan kemampuan lebih baik seharusnya lebih berhasil daripada yang bernasib sial.
2.4.1.5.2.
Balance Type
Terdapat 12 jenis tipe game balancing yang akan dijelaskan dibawah ini, yaitu (Schell, J. 2008:172-200):
1. Fairness a. Symmetrical Games Contoh game: Chess, Monopoly b. Asymmetrical Games Contoh game: BigPlane Dogfight c. Rock, Paper, Scissor
2. Challenge vs Success a. Meningkatkan
tingkat
kesulitan
setiap
masing-
masing kesuksesan Player membangun kemampuan sampai mereka dapat menyelesaikan level, dan kesulitan berikutnya akan disajikan dengan bentuk tantangan ulang.
b. Membiarkan player melewati bagian yang mudah dengan cepat Dengan asumsi suatu game memiliki beberapa metode dengan tingkat kesulitan secara bertahap, izinkan player untuk menyelesaikan level dengan cepat jika mereka mudah menguasainya.
42 c. Buatlah lapisan tantangan Pola populer di dalam suatu game adalah memberikan nilai pada akhir setiap level atau misi. Jika nilai tersebut “D” atau “F”, maka player harus mengulang level tersebut, tetapi jika nilai tersebut “C” atau lebih baik, maka player dapat melanjutkan game.
d. Membiarkan players memilih tingkat kesulitan Metode yang benar dan baik adalah dengan membiarkan player memilih untuk bermain dalam mode “mudah”, “menengah”, dan “sulit”.
e. Mencoba bermain dengan berbagai player Banyak desainer jatuh dalam perangkap ketika hanya menguji game pada satu orang secara terus-menerus dan akhirnya rancangan game menjadi terlalu sulit untuk pemula, sedangkan ada juga yang terperangkap ketika game tersebut diuji oleh orang yang belum pernah memainkan game sebelumnya, dan akhirnya desain game memberikan pengalaman yang cepat membosankan bagi player. Seharusnya desainer yang bijak melakukan uji dengan menggabungkan player yang terampil dan pemula, untuk memastikan bahwa game tersebut menyenangkan pada awalnya, selanjutnya, dan bahkan semakin menyenangkan.
3. Meaningful Choices Beberapa poin yang menunjukkan bahwa jumlah suatu usaha player untuk memilih bergantung pada beberapa hal yang di inginkan, yaitu: a. Jika Pilihan > Keinginan, maka player kewalahan b. Jika Pilihan < Keinginan, maka player frustasi c. Jika Pilihan = Keinginan, maka player merasa bebas dan tercapai.
43 4. Skill vs Chance Salah satu metode yang umum dari keseimbangan adalah alternatif penggunaan kesempatan dan ketrampilan di dalam game. Misalnya, bersepakat dengan menggunakan sebuah kartu (berjudi) adalah murni kesempatan, tetapi memilih bagaimana memainkan sebuah kartu adalah murni ketrampilan. Melempar dadu untuk melihat seberapa jauh dapat berpindah adalah murni kesempatan, memutuskan kemana akan berpindah adalah murni ketrampilan.
5. Head vs Hands Tipe keseimbangan ini adalah seberapa banyak game sebaiknya melibatkan aktivitas tantangan fisik (mengemudi, melempar, menekan tombol dengan cekatan) dan seberapa banyak sebaiknya melibatkan pemikiran? Kedua hal ini tidak terpisah karena banyak game melibatkan strategi konstan dan memecahkan
teka-teki
namun
sekaligus
membutuhkan
kecepatan dan ketangkasan. Sebagai contoh game Pac Man yang membutuhkan kecepatan tangan untuk menghindar, namun juga membutuhkan
pemikiran
agar
berhasil
menghindar
dari
pengejaran musuh.
6. Competition vs Cooperation Contoh-contoh game yang menggunakan tipe game balancing ini, yaitu: a. Cookie and Cream (Playstation 2) dengan menggunakan genre action platform puzzle game. Dua pemain saling berdampingan di jalur paralel mencoba untuk melewati level. b. Reiner Knizia’s Lord of Rings adalah suatu board game, dan salah satu yang menarik dari game ini yaitu player tidak bersaing sama sekali, melainkan berusaha untuk saling berkoordinasi untuk memenangkan game bersamasama.
44 7. Short vs Long Satu hal penting untuk menyeimbangkan setiap game adalah durasi suatu gameplay. Jika game terlalu singkat, player mungkin tidak mendapatkan kesempatan untuk mengembangkan dan melaksanakan strategi. Tetapi jika game terlalu lama, player mungkin akan merasa bosan, atau mereka mungkin menghindari game tersebut karena terlalu banyak membutuhkan komitmen terhadap waktu. Faktor utama yang menentukan game akan berakhir adalah kondisi menang atau kalah. Dengan mengubah kondisi tersebut, secara dramatis durasi game itu dapat berubah.
8. Rewards Ada beberapa tipe umum dari sebuah penghargaan yang diberikan di dalam game, masing-masing berbeda namun secara keseluruhan memiliki satu kesamaan, yaitu memenuhi keinginan player.
a. Pujian Pujian adalah penghargaan yang paling sederhana, suatu game hanya menceritakan bahwa player melakukan pekerjaan yang bagus, baik lewat pernyataan eksplisit, efek suara khusus, atau bahkan karakter di dalam game berbicara kepada player.
b. Poin Dalam beberapa
game, poin tidak ada gunanya
dibandingkan dengan keberhasilan player, baik melalui keahlian atau keberuntungan. Kadang-kadang hal ini menjadi pintu gerbang masuknya penghargaan lain, seperti ketika orang lain dapat melihat poin pada daftar skor tertinggi.
45 c. Bermain lebih lama Dalam beberapa game seperti pinball, tujuan dari game tersebut adalah mengumpulkan poin sebanyak mungkin tanpa kehilangan jumlah bola yang tersedia. Game dengan struktur atau metode yang menggunakan nyawa (lives), penghargaan yang paling bernilai yaitu player mendapatkan nyawa tambahan.
d. Gerbang Kapanpun player mendapatkan akses ke level selanjutnya atau memenangkan kunci untuk membuka pintu, artinya player telah menerima penghargaan telah berhasil menemukan jalan keluar berupa gerbang (gateway).
e. Tontonan / Pertunjukan Seringkali suatu game akan memainkan musik atau menampilkan
animasi
sebagai
penghargaan
yang
sederhana, sebagai contoh pada game Pac Man ketika dalam kondisi akhir di level 2 menampilkan waktu jeda yang berisi penghargaan seperti pertunjukan animasi.
f. Ekspresi Banyak player yang ingin mengekspresikan diri dalam game dengan pakaian khusus atau dekorasi. Meskipun ini sering tidak ada hubungannya dengan tujuan di dalam game, namun player dapat menjadi sangat senang dan puas.
g. Kekuatan Menjadi lebih hebat atau kuat adalah sesuatu yang seseorang inginkan di dalam kehiduan nyata, dan di dalam game, menjadi lebih kuat cenderung seperti meningkatkan kesuksesan player. Kekuatan ini dapat berupa banyak bentuk seperti menjadi tinggi pada game
46 Super Mario World, menjadi lebih cepat pada game Sonic the Hedgehog.
h. Sumber Daya Ketika bermain kasino dan lotre akan memberikan hadiah berupa uang nyata, di dalam video games hadiah tersebut lebih sering berupa makanan, energi, amunisi, dan lainnya.
i. Penyelesaian Menyelesaikan
seluruh
tujuan
di
dalam
game
memberikan perasaan khusus untuk player. Dalam banyak game, penghargaan inilah yang menjadi hal utama dan seringkali tidak ada gunanya bermain game lebih jauh.
9. Punishment Ide game dengan menghukum player mungkin agak sedikit aneh, namun jika hukuman digunakan dengan benar dapat meingkatkan kenikmatan bagi player. Berikut adalah beberapa alasan bahwa game mungkin akan menghukum player:
a. Hukuman menciptakan nilai endogen Sumber daya dalam sebuah game bernilai lebih jika ada kesempatan yang dapat dibawa pergi.
b. Mengambil risiko adalah menarik Risiko dapat diambil jika ada konsekuensi negatif atau hukuman. Memberikan player untuk menghadapi risiko dengan konsekuensi yang buruk akan jauh lebih manis.
c. Hukuman mungkin dapat meningkatkan tantangan Ketika player gagal dan menghukumnya, tantangan dalam game akan meningkat. Peningkatan hukuman
47 dalam bentuk kegagalan dapat menjadi salah cara untuk meningkatkan tantangan.
10. Freedom vs Controlled Experience Game
bersifat
interaktif,
dan
pada
suatu
titik
interaktivitas yaitu memberikan kontrol kepada player atau kebebasan dengan mendapatkan pengalaman. Memberikan kontrol kepada player atas segala sesuatu dapat memicu kebosanan bagi player. Salah satu jenis keseimbangan game yang sederhana adalah pertimbangan dalam memberikan kebebasan untuk player dan berapa banyak kebebasan yang diberikan. Dalam suatu hal pada kondisi tertentu keseimbangan harus sesuai dengan pengalaman yang dapat dikendalikan, bukan kebasan, karena game dibuat untuk pengalaman yang lebih baik untuk player.
11. Simple vs Complex Berikut beberapa perbedaan jenis dari kompleksitas di dalam game, yaitu: a. Pembawa kompleksitas Pada saat aturan sebuah game menjadi sangat kompleks, jenis
kompleksitas
ini
dapat
disebut
pembawa
kompleksitas. Istilah ini biasanya muncuk ketika desainer sedang
mencoba
untuk
mensimulasikan
situasu
kehidupan nyata yang kompleks, atau karena peraturan tambahan yang perlu ditambahkan ke dalam game untuk menyeimbangkannya. Game seperti ini sulit untuk dipelajari, namun untuk beberapa orang dapat benarbenar menguasai sekelompok aturan yang kompleks.
b. Kemunculan kompleksitas Jenis kompleksitas ini adalah jenis yang dipuji oleh setiap orang. Game yang memiliki sekelompok aturan yang sangat sederhana namun menimbulkan situasi yang
48 kompleks atau ketika game dipuji karena sederhana dan kompleks dalam waktu bersamaan, game tersebut dapat dikatakan memiliki jenis kemunculan kompleksitas.
12. Detail vs Imagination Memutuskan rincian yang harus disediakan dan sesutau yang harus diserahkan kepada imajinasi player adalah berbeda, tetapi penting untuk suatu jenis keseimbangan yang kuat. Berikut terdapat beberapa tips untuk melakukannya dengan baik, yaitu: a. Hanya merinci yang dapat player dapat lakukan dengan baik. b. Berikan rincian imajinasi yang dapat digunakan. c. Mengenal suatu dunia tidak perlu banyak rincian atau detail. d. Gunakan efek teropong. e. Berikan rincian yang menginspirasi imajinasi.
2.4.1.6. Level Design Level design sebagai proses membangun pengalaman yang akan ditawarkan
secara
langsung
kepada
player
menggunakan
komponen yang disediakan oleh desainer game. Selajutnya akan dijelaskan prinsip level design dan jenis-jenis layout dalam membuat level design (Adams, 2009:359-369).
2.4.1.6.1.
Prinsip Kunci Level Design
1. Prinsip level design yang universal a. Buat level singkat pada saat menunjukkan panduan game. b. Variasikan ketika level telah berhasil dilewati. c. Ketika player mengatasi tantangan yang menggunakan sumber daya, sediakan lebih banyak sumber daya tersebut. d. Hindari konsep pernyataan yang tidak masuk akal. e. Informasikan dengan jelas kepada player untuk tujuan jangka pendek. f. Jelas
dalam
memberikan
informasi
tentang
risiko,
49 penghargaan, dan konsekuensi. g. Berikan penghargaan kepada player atas ketrampilan, imajinasi, kepintaran, dan dedikasi. h. Berikan penghargaan dalam bentuk hal yang besar, berikan hukuman dengan cara yang sederhana. i. Gunakan lebih banyak sumber daya seperti memori dan waktu CPU pada bagian depan / pembuka dan pada bagian akhir level. j. Tujuan dari lawan buatan adalah untuk memberikan perlawanan yang baik dan kemudian kalah seketika. k. Implementasikan
beberapa
jenis
pengaturan
tingkat
kesulitan.
2. Prinsip level design yang spesifik berdasarkan genre a. Action game: variasi kecepatan. b. Strategy game: perencanaan hadiah. c. Role-playing game (RPG): menawarkan kesempatan kepada player untuk mengembangkan karakter dan ekspresi diri. d. Sports game: penting untuk terlihat seakan-akan seperti asilnya. e. Vehicle
simulation:
penghargaan
ketika
melakukan
manuver. f. Construction and management simulation: tawarkan variasi yang menarik dari kondisi awal dan tujuan. g. Adventure game: membangun tantangan dan harmonisasi terhadap lokasi game dan cerita. h. Artificial life game: buatlah banyak kesempatan untuk berinteraksi terhadap makhluk buatan di dalam lingkungan game. i. Puzzle game: berikan kepada player waktu untuk berpikir.
2.4.1.6.2.
Layout
1. Open Layout (Terbuka) a. Memungkinkan gerakan tak terbatas
50 b. Sesuai dengan alam c. Digunakan galam game perang dan RPG
2. Linear Layout (Lurus) a. Mengharuskan player untuk berpindah dalam urutan yang tetap b. Player hanya dapat pindah ke area berikutnya atau sebelumnya. c. Digunakan secara tradisional dalam game action sidescrolling dan rail-shooters
Gambar 2.4. Layout Linear (Sumber: Adams, 2009:366)
3. Parallel Layout (Paralel) a. Variasi modern dari linear layout b. Beragam cara untuk dapat melewati level c. Dapat mencerminkan atau menggambarkan struktur cerita
51
Gambar 2.5. Parallel Layout (Sumber: Adams, 2009:366)
4. Ring Layout (Cincin) a. Jalan kembali ke titik awal b. Trek oval atau memutar berbentuk cincin c. Digunakan untuk game racing
Gambar 2.6. Ring Layout (Sumber: Adams, 2009:367)
52 5. Network Layout (Jaringan) a. Satu ruang terhubung ke ruang lain dengan cara yang berbeda b. Berikan kebebasan kepada player untuk mengambil cara apapun c. Cerita harus mampu membiarkan player mengalami kejadian dalam berbagai bentuk urutan
Gambar 2.7. Network Layout (Sumber: Adams, 2009:368)
6. Hub and Spokes Layout (Pusat dan Jari-jari) a. Pusat tengah biasanya merupakan zona aman b. Sediakan beberapa pilihan tempat kemana akan pergi c. Kunci beberapa area untuk mengontrol urutan
Gambar 2.8. Hub and Spokes Layout (Sumber: Adams, 2009:369)
53 7. Combinations Layout (Kombinasi) a. Gabungan beberapa aspek dari jenis layout b. Game RPG dan adventure sering menggunakan layout kombinasi
Gambar 2.9. Combinations Layout (Sumber: Adams, 2009:369)
2.4.1.7. Storyboard Storyboard adalah suatu cara untuk berkomunikasi di antara desainer dan pengembang aplikasi, yaitu dengan bentuk kumpulan- kumpulan ilustrasi seperti sebuah komik pendek, yang mampu menggambarkan sebuah produk yang telah diubah. Setiap halaman storyboard berupa gambar-gambar dalam kumpulan panel sehingga menyerupai sebuah komik strip. Setiap gambar harus mampu menjelaskan semua informasi secara cepat dan harus mampu membuat para pengembang aplikasi mengetahui bentuk akhir dari produk yang akan dibuat (Simon, 2007:3-7). Dengan
banyaknya
game
yang
dikembangkan
menggunakan animasi, maka storyboard telah menjadi suatu keharusan dalam pengembangan aplikasi multimedia. Storyboard menjadi alat bantu yang paling efektif dalam pembuatan aplikasi karena mampu memvisualisaikan animasi sekaligus mempu
54 menjadi flowchart untuk mengatur perancangan dan analisa struktur aplikasi multimedia (Simon, 2007:71-72). Storyboard memiliki banyak bentuk, yaitu tergantung pada pembuatnya. Beberapa bentuk storyboard yang paling umum digunakan, yaitu: a. Bentuk kasar yang berfungsi untuk menjelaskan produk secara abstrak. Concept storyboard, yaitu storyboard yang penuh dengan warna dan full-atmosphere. b. Color storyboard, yaitu memetakan gambaran dengan penuh warna, bahkan terkesan lebih mengutamakan warna daripada urutan animasi. c. Animation storyboard, yang berfungsi untuk menggambarkan secara detail animasi itu sendiri. d. Presentation storyboard, yaitu bentuk storyboard yang di rancang dengan rapi dan sangat terencana, berfungsi untuk menjual suatu ide kepada klien.
2.5. Perfect Maze
2.5.1. Cara Membuat Maze Perfect Maze di definisikan sebagai Maze yang hanya memiliki satu jalan dari satu titik ke titik lainnnya di dalam Maze. Ini berarti bahwa Maze tidak memiliki bagian yang tidak dapat diakses, tidak ada perputaran jalur, dan tidak ada area yang terbuka (Herzog, 2002).
55
Gambar 2.11. Perfect Maze (Kanan), Bukan Perfect Maze (Kiri) (Sumber: Herzog, 2002)
Asumsikan Maze yang berbentuk persegi panjang. Untuk membuat Maze dengan banyak bentuk dan ukuran, pertama-tama dibutuhkan sutau kotak (grid):
Gambar 2.12. Grid (Sumber: Herzog, 2002)
Masing-masing kotak pada grid adalah cell. Garis-garis horizontal dan vertikal mewakili dinding Maze. Algoritma yang di asumsikan yaitu untuk pertama kali, seluruh dinding Maze akan naik. Kemudian, pilih secara selektif untuk merobohkan dinding Maze sampai terbentuklah suatu perfect maze. Dibutuhkan stuktur data untuk menyimpan informasi cell tersebut. Berikut dibawah ini merupakan gambaran berupa informasi yang diperlukan:
56
Gambar 2.13. Gambaran Informasi Maze (Sumber: Herzog, 2002)
Batas Maze adalah berwarna abu-abu, dinding berwarna putih, posisi awal berwarna hijau, posisi terkahir berwarna merah, jalan untuk menunjukkan solusi berwarna kuning, dan jalur mundur berwarna abu-abu terang.
Posisi awal dan akhir dapat dengan mudah disimpan dalam varibel individu, kemudian dibutuhkan pelacakan dari masing-masing cell di dalam grid (kotak), yaitu: 1. Setiap cell memiliki batas. 2. Dinding akan terus naik. 3. Jika jalur solusi melewatinya, dan kemana arahnya. 4. Jika jalur backtrack (mundur) melewatinya, dan kemana arahnya.
Salah satu caranya yaitu: 12 x 16 Maze grid dapat di representasikan sebagai array m[16][12] dari 16 bit integers. Masing-masing elemen array akan berisi semua informasi untuk cell tunggal yang sesuai di dalam grid (kotak), dengan pemetaan bit integer seperti gambar dibawah ini:
57
Gambar 2.14. Pemetaan Bit Integer (Sumber: Herzog, 2002)
Untuk menghilangkan dinding, mengatur border (batas), atau membuat jalan tertentu, yang perlu dilakukan adalah membalik bit ke dalam satu atau dua elemen array. Dengan menyimpan informasi batas di dalam array membuat Maze tersebut jauh lebih fleksibel, artinya dapat mengubah bentuk Maze dengan berbagai cara seperti array 2D (dua dimensi) dan menghasilkan algoritma tanpa banyak memodifikasi kode. Dengan struktur data untuk memegang informasi Maze, kita dapat menginisialiasi maze dengan menetapkan batas yang sesuai dan memasang semua dinding, kemudian diimplementasikan algoritma yang akan digunakan.
2.5.2. Depth First Search (DFS) DFS adalah algoritma paling sederhana untuk membuat Maze, yaitu: 1. Mulai pada random cell di dalam grid (kotak). 2. Carilah random neighbor cell yang belum pernah ditelusuri. 3. Jika menemukannya, pindah kesana, hilangkan dinding diantara cells. Jika tidak menemukannya, kembali ke cell sebelumnya. 4. Ulangi langkah dua dan tiga sampai menelusuri setiap cell di dalam grid (kotak).
58 Tabel 2.2. Algoritma DFS
create a CellStack (LIFO) to hold a list of cell locations set TotalCells = number of cells in grid choose a cell at random and call it CurrentCell set VisitedCells = 1 while VisitedCells < TotalCells find all neighbors of CurrentCell with all walls intact if one or more found choose one at random knock down the wall between it and CurrentCell push CurrentCell location on the CellStack make the new cell CurrentCell add 1 to VisitedCells else pop the most recent cell entry off the CellStack make it CurrentCell endIf endWhile
Ketika while loop berakhir, algoritma akan selesai. Setiap cell telah di kunjungi dengan demikian tidak ada cell yang tidak dapat diakses, karena setiap langkah telah diuji dengan algoritma pencegahan berupa jalan yang akan berputar kembali ke jalurnya sendiri. Kita dapat menempatkan posisi awal dan akhir dimana pun yang kita inginkan. Karena, menurut definsi, hanya satu jalur yang akan ada di antara dua titik di dalam Maze. Depth First Search (DFS) adalah algoritma yang paling umum digunakan pada pembuatan program Maze, sederhana untuk diimplementasikan, bekerja dengan cepat, dan menghasilkan Maze yang baik.
59 2.6. Matematika
Berdasarkan pengertian dari Kamus Besar Bahasa Indonesia (KBBI) Online, berikut dijelaskan beberapa pengertian dari operator matematika, yaitu (Sugono, 2008): a. Penjumlahan Merupakan proses, cara, atau perbuatan menjumlah suatu hitungan. b. Pengurangan Merupakan proses, cara, atau perbuatan mengurangi, mengurangkan suatu hitungan. c. Perkalian Merupakan bentuk perbanyakan atau hasil kali. d. Pembagian Merupakan proses, cara, atau perbuatan membagi suatu hitungan.
2.7. Object Oriented Programming (OOP)
Mengembangkan software secara cepat, tepat, dan ekonomis tetap menjadi hal yang sulit ketika tuntutan waktu pengembangan software baru sangat tinggi. Objek adalah suatu komponen penting dalam software dengan sifat reusable (dapat digunakan kembali). Hampir setiap benda dapat di representasikan pada software seperti objek tanggal, objek waktu, objek audio, objek video, objek mobil, dan lainnya dalam suatu istilah yang disebut atribut (nama, warna, ukuran) dan perilaku (menghitung, bergerak, berkomunikasi). Pengembang software menemukan bahwa dengan menggunakan modul desain berorientasi objek dapat membuat pengembangan software menjadi lebih produktif daripada menggunakan pemrograman terstruktur. Pemrograman berorientasi objek lebih mudah untuk dipahami, diperbaiki, dan dimodifikasi (Deitel, 2012:10).
Berikut akan dijelaskan beberapa konsep yang berhubungan dengan Object Oriented Programming (OOP), yaitu (Deitel, 2012:11-12):
60 1. Member Function dan Classes Sebagai contoh suatu mobil akan digunakan untuk memperkenalkan konsep kunci OOP. Menjalankan tugas dalam suatu program dibutuhkan member function, yang merupakan tempat suatu program statement
akan
menjalankan
tugasnya.
Member
function
menyembunyikan beberapa statements tersebut dari pengguna, seperti pedal gas menyembunyikannya dari supir suatu mekanisme untuk membuat mobil dapat melaju cepat. Di dalam C++, unit program disebut dengan class untuk menampung sejumlah member function yang melakukan tugas dari suatu class.
2. Instantiation Sama seperti halnya dengan harus membangun mobil dari gambaran teknik sebelum benar-benar mengendarai mobil tersebut. Harus dibuat suatu objek dari class sebelum program dapat melakukan tugas yang di definisikan oleh member function, dan ini dapat disebut dengan instantiation.
3. Reuse Sama halnya ketika gambar teknik mobil dapat digunakan kembali berkali-kali untuk membuat banyak mobil. Class dapat digunakan kembali berkali-kali untuk membuat banyak objek. Reuse berfungsi untuk membuat program baru agar menghemat waktu dan tenaga, lebih handal, serta efektif, karena class dan komponen tersebut telah diuji secara ekstensif.
4. Message dan Member Function Call Ketika mengendarai mobil, menekan pedal gas akan mengirim pesan kepada mesin mobil untuk melakukan tugas, yaitu agar berjalan lebih cepat. Demikian pula ketika pesan dikirim ke sebuah objek, setiap pesan diimplementasikan sebagai member function call yang memberitahu bahwa member function dari objek akan melakukan tugas.
61 5. Attribut dan Data Member Sebuah mobil, selain memilki kemampuan untuk melakukan tugas, juga memiliki atribut seperti warna, jumlah pintu, jumlah gas di dalam tangki, kecepatan saat ini, dan jumlah jarak tempuh. Sebagai contoh, masing-masing mobil mengetahui seberapa banyak gas di dalam tangkinya, tetapi tidak diketahui jika dari mobil yang lain. jadi, atribut adalah spesifik sebagai bagian dari class objek. Atribut juga ditentukan oleh data member dari class itu sendiri.
6. Encapsulation Class membungkus (encapsulate) atribut dan member function ke dalam ojek. Suatu objek atribut dan member function saling terkait. Objek dapat berkomunikasi satu dengan yang lainnya, namun biasanya tidak diperbolehkan untuk mengetahui implementasi dari objek-objek lain. Rincian implementasi disembunyikan ke dalam itu sendiri.
7. Inheritance Sebuah class baru dari objek dapat dibuat secara cepat dan mudah menggunakan inheritance (warisan), yaitu suatu class baru akan memiliki karakteristik dari class yang ada, dan memungkinkan untuk mengubah serta menambahkan karakteristik unik tersendiri bagi class baru tersebut.
2.8. Android
Android
adalah
sistem
operasi
mobile
berbasis
Linux
yang
dikembangkan oleh Google. Google secara aktif mengembangkan platform Android dengan lisensi secara gratis untuk produsen hardware atau vendor dan operator seluler yang ingin menggunakan Android pada perangkat mereka (Karch, n.d).
62 2.8.1. Sejarah Android Berikut akan dijelaskan sejarah Android secara garis besar, yaitu (Kovach, 2013): 1. Android dimulai sebagai perusahaan yang terpisah pada tahun 2003. Hal ini dijalankan oleh Andy Rubin dan beberapa nama besar lain di dunia awal teknologi mobile. Mereka mencoba untuk membangun perangkat lunak untuk ponsel dan kamera digital. 2. Google membeli Android pada tahun 2005. Andy Rubin dan timnya diam-diam bekerja mengembangkan sistem operasi mobile Android. 3. Pada tahun 2008, Google bermitra dengan T-Mobile untuk meluncurkan smartphone Android untuk pertama kalinya yaitu G1. 4. Kenaikan Android mulai pada bulan November 2009 ditandai dengan peluncuran Motorola Droid. Ponsel ini menjalankan versi baru dari Android, versi 2.0. 5. Motorola Droid memulai tren pemasaran produsen Android. Motorola Droid memiliki keyboard fisik dan baterai yang dapat dilepas sebagai dua kelebihan utama. 6. Google meluncurkan smartphone untuk pertama kalinya, yaitu Nexus One pada Januari 2010. Ini adalah upaya Google untuk menarik pengguna untuk membeli smartphone Android. Google menjual ponsel versi lock secara eksklusif secara online sebesar $529. Bagi pelanggan T-Mobile bisa mendapatkannya seharga $179 dengan kontrak. 7. Pada tahun 2010 juga tahun ketika pangsa pasar Android pertama melampaui pangsa pasar iPhone di Amerika Serikat, namun BlackBerry (dahulu RIM) masih memiliki pangsa pasar di atas secara keseluruhan. 8. Google melanjutkan program Nexus dan mencobanya lagi pada akhir 2010 dengan perilisan Nexus S, dan ponsel itu dikembangkan oleh Samsung. Nexus S pada dasarnya memiliki nyali yang sama dengan Samsung Galaxy S, namun desain yang sedikit berbeda, dan ini juga merupakan ponsel pertama dengan Android versi 2.3 yang disebut Gingerbread, versi baru dari Android yang lebih cepat dan menjadi yang paling populer. 9. Google berusaha untuk membuat tablet dengan Android versi 3.0 yang
63 disebut Honeycomb pada awal tahun 2011. Sistem operasi ini pertama kali diluncurkan lewat tablet dari Motorola yang disebut Xoom. 10. Perubahan terbesar untuk Android datang pada bulan November 2011 dengan merilis versi 4.0 terbaru yang disebut dengan Ice Cream Sandwich. Ice Cream Sandwich memberikan tampilan UI baru untuk Android dan juga dirancang untuk dapat berjalan pada perangkat tablet. 11. Google meluncurkan update untuk Android di musim panas 2012 yang disebut Jelly Bean dengan kode versi 4.1.
2.8.2. Versi Android Berikut tahap-tahap versi Android sejak diluncurkan hingga saat ini (Haslam, 2013): a. Android 1.0 Pada tanggal 23 September 2008, Google merilis versi Android pertama kalinya dengan versi 1.0. Fitur-fiturnya: i.
Google Maps, Sync, Search dan Talk
ii.
Dukungan kamera
iii.
Notifikasi dan wallpaper yang dapat di kustomisasi
iv.
Android Market
b. Android 1.5 – Cupcake Pada tanggal 30 April 2009, Google merilis versi Android terbaru yaitu versi 1.5 yang dinamai dengan Cupcake. Mulai saat itu, Google memberikan penamaan pada setiap versi dengan nama makanan dimulai dari abjad C. Fitur-fiturnya: i.
Dukungan Widgets
ii.
Orientasi rotasi otomatis
iii.
Copy dan Paste pada browser
c. Android 1.6 – Donut Pada tanggal 15 September 2009, Google merilis versi Android
64 terbaru dengan perbaikan dan penambahan fitur yaitu versi 1.6 yang dinamai Donut. Fitur-fiturnya: i.
Kotak pencarian cepat
ii.
Indikator penggunaan baterai
iii.
Integrasi galeri, kamera, dan camcorder
iv.
Mesin text-to-speech
d. Android 2.0 / 2.1 – Éclair Tidak sampai dua bulan, Google kembali merilis versi Android yang terbaru pada tanggal 26 Oktober 2009 yaitu versi 2.0 yang dinamai dengan Éclair. Fitur-fiturnya: i.
Dukungan akun lebih dari satu
ii.
Navigasi turn-by-turn dengan menggunakan Google Maps
iii.
Dukungan Bluetooth versi 2.1
iv.
Live wallpapers
v.
Dukungan Exchange email
e. Android 2.2 – Froyo (Frozen Yogurt) Pada tanggal 20 Mei 2010, Google merilis versi Android terbaru yaitu versi 2.2 dengan nama Frozen Yogurt atau disingkat menjadi Froyo. Fitur-fiturnya: i.
Dukungan wi-fi hotspot
ii.
Dukungan Adobe Flash
iii.
Jalan pintas khusus pada layar home
iv.
Dukungan bahasa lebih dari satu pada keyboard. (Multiple Keyboard Languages)
f. Android 2.3 – Gingerbread Pada tanggal 6 Desember 2010, Google merilis versi Android terbaru yaitu versi 2.3 dengan nama Gingerbread.
65 Fitur-fiturnya: i.
NFC (Near Field Communication)
ii.
Video chat pada Google Talk
iii.
Peningkatan kemampuan copy dan past
g. Android 3.0 – Honeycomb Pada tanggal 22 Februari 2011, Google memperkenalkan versi Android terbaru yaitu versi 3.0 dengan nama Honeycomb, namun versi ini hanya khusus untuk perangkat tablet saja. Kemudian untuk versi 3.1 dan 3.2 tetap menggunakan nama Honeycomb. Fitur-fiturnya: i.
Virtual dan Holographic UI
ii.
Action Bar
iii.
Peningkatan multitasking
h. Android 4.0 – Ice Cream Sandwich Pada tanggal 19 Oktober 2011, Google merilis versi Android terbaru yaitu versi 4.0 yang disebut Ice Cream Sandwich, dengan banyak peningkatan dan dukungan untuk smartphone dan tablet. Fitur-fiturnya: i.
Peningkatan multitasking
ii.
Face Unlock
iii.
Widgets yang dapat diubah ukurannya
iv.
Android Beam
v.
Google Chrome
vi.
Integrasi pengambilan screenshot
i. Android 4.1 – Jelly Bean Pada tanggal 9 Juli 2012, Google mengumumkan versi Android terbaru yaitu versi 4.1 dengan nama Jelly Bean. Kemudian untuk versi selanjutnya yaitu 4.2 dan 4.3 tetap menggunakan nama Jelly Bean. Fitur terbaru terlihat pada versi 4.3 dengan
66 dukungan OpenGL ES 3.0. Fitur-fiturnya: i.
Pencarian menggunakan aplikasi Google Now
ii.
Project Butters meningkatkan performa dan UI
iii.
Google Cloud Messanging (GCM)
iv.
Dukungan akun pengguna lebih dari satu
j. Android 4.4 – KitKat Pada tanggal 3 September 2013, Google mengumumkan Android versi paling terbaru yaitu versi 4.4 dengan nama makanan terkenal yaitu KitKat (Google, 2013). Fitur-fiturnya: i.
Multitasking yang lebih cepat
ii.
Caller ID yang lebih pintar
iii.
Penambahan emoji pada keyboard
iv.
Dukungan Chromecast
v.
Fotografi HDR+
vi.
Dukungan Blueetooth Message Access Profile (MAP)
2.9. BlackBerry 10
BlackBerry 10 merek baru bertenaga sistem operasi mobile QNX yang sebelumnya dibuat pada sistem operasi PlayBook. BlackBerry Z10 adalah perangkat pertama yang diluncurkan dengan sistem operasi BlackBerry 10, dan BlackBerry Q10 adalah model kedua. User Interface pada BlackBery 10 dapat berpindah menandalkan satu tombol fisik berupa gesture. Satu fitur yang paling penting adalah sapuan layar dari frame bawah ke frame kanan untuk mengakses Hub, yaitu pemberitahuan dari semua sumber yang disatukan di satu tempat agar pengguna dapat berinterkasi. Swiping up dari bawah mengembalikan pengguan ke layar Active Frame, yaitu meminimaliasi aplikasi yang sedang berjalan (Sage, 2013).
2.9.1. Sejarah BlackBerry 10 Dahulu BlackBerry bernama Research in Motion (RIM) yang didirikan
67 tahun 1984 oleh Mike Lazaridis, yang kemudian mengumumkan untuk mengganti nama perusahaan RIM menjadi BlackBerry pada tanggal 30 Januari 2013 sekaligus memperkenalkan sistem operasi terbaru yaitu BlackBerry 10 (BlackBerry, Fingas, 2013).
2.9.2. Fitur BlackBerry 10 Berikut fitur-fitur yang terdapat dalam sistem opeasi BlackBerry 10, yaitu (Michaluk, Zeis, 2013): a. BlackBerry Hub b. BlackBerry Keyboard dengan kemampuan swiping words c. Kamera dengan mode time shift d. Multitasking yang murni e. Berselancar internet dengan cepat f. BlackBerry Balance g. BBM Video dengan kemampuan screen share h. Dukungan Android Runtime i. Hub prioritas (versi 10.2) j. Dukungan Android Jelly Bean Runtime (versi 10.2) k. Bluetooth 4.0 energi rendah (versi 10.2) l. Pilihan tema dark dan light (versi 10.2) m. Notifikasi pada saat layar dikunci (versi 10.2)
2.10. Game Engine Cocos2d-x
Cocos2d-x adalah game engine 2D (dua dimensi) populer yang bersifat open source dan cross platform. Selain cocos2d-x, terdapat juga game engine cocos2d-html5 yang menggunakan teknologi HTML5. Fitur-fiturnya: 1. Cross platform a. Diaplikasikan dengan menggunakan C++, Javascript, dan Lua untuk iOS, Android, Windows Phone, BlackBerry, Tizen dan lainnya. b. Bekerja pada seluruh browser HTML5 c. Bekerja pada seluruh situs mobile browser
68 2. Dukungan Scripting a. Dukungan C++, LUA dan Javascript b. Menjalankan Javascript pada HTML5
3. Cepat a.
Mempercepat proses pengembangan, memperpendek siklus iterasi
b.
Memungkinkan game untuk dapat berjalan pada low end devices
c.
Bagus untuk prototyping dan game kontes, serta proyek besar
2.11. Unified Modeling Language (UML)
2.11.1. Use Case Diagram Booch et al. (2007:175-176) mendefinisikan use case diagram adalah sebuah diagram yang digunakan untuk menggambarkan keadaan dari sebuah sistem yang akan dibuat untuk menggambarkan fungsifungsi yang disediakan oleh sistem tersebut. Interaksi antar aktor tidak diperlihatkan dalam use case diagram. Interaksi yang diperlihatkan adalah antara aktor dengan sistem. Use case diagram terdiri dari, yaitu (Booch, et al., 2007:176-182):
1. Aktor Aktor merupakan orang, organisasi, atau sistem luar yang berperan dalam satu atau lebih interaksi dengan sistem.
Gambar 2.15. Aktor (Sumber: Booch, et al., 2007:176)
69 2. Use Case Use case mewakili keinginan aktor dari sistem yang akan dibuat agar melakukan aksi sesuai dengan keinginan mereka. Sebuah use case harus menjadi aliran aktivitas yang lengkap, yaitu dari sudut pandang aktor yang menyediakan nilai kepada aktor.
Gambar 2.16. Use Case (Sumber: Booch, et al., 2007:177)
3. Include Relationship Include relationship digunakan untuk menyatakan bahwa suatu use case tidak dapat dianggap selesai jika ada use case lain yang ada di dalam hubungan tersebut. Gambar 2.17 dibawah ini menjelaskan bahwa use case Update Crop Encyclopedia tidak akan dianggap lengkap tanpa View Reports.
70
Gambar 2.17. Use case Diagram Showing an Include Relationships (Sumber: Booch, et al., 2007:181)
71 2.11.1.1. Use Case Description Booch et al. (2007:502-505) memberikan penjelasan mengenai Use Case Description, yaitu untuk mendeskripsikan secara fungsional suatu sistem yang dilakukan oleh masing-masing use case. Berikut ini contoh bentuk deskripsi suatu use case:
Use case name: Manage Time Actor: Employee Goal: The employee wishes to submit a new request for vacation time. Preconditions: The employee is authenticated by the portal framework and identified as an employee of the company with privileges to manage his or her own vacation time. Main flow: 1. The employee begins by selecting a link from the intranet portal to the VTS. 2. The VTS uses the employee’s credentials to look up the current status of all the employee’s vacation time requests and outstanding balances. Information is displayed for the previous 6 months and up to 18 months in the future. 3. The employee wants to create a new request. The employee selects one of the categories of vacation time with a positive balance to use. 4. The VTS prompts the employee for the date(s) and time for which to request vacation time. The employee should have access to a visual calendar to help select and compare chosen dates.
4. Extend Relationship Extend relationship adalah aktivitas-aktivitas yang merupakan bagian dari use case lain tetapi tidak wajib untuk dijalankan.
72
Gambar 2.18. Use case Diagram Showing an Extend Relationships (Sumber: Booch, et al., 2007:182)
2.11.2. Activity Diagram Activity diagram adalah diagram dengan penggambaran visual dari aliran kegiatan, baik dalam sistem, bisnis, alur kera, atau proses lainnya. Activity diagram berfokus pada kegiatan yang dilakukan dan
73 siapa atau apa yang bertanggung jawab atas kinerja kegiatan tersebut (Booch et al. 2007:186).
Activity diagram memiliki elemen-elemen penting, yaitu (Booch, et al. 2007:186-189): 1. Actions (Aksi) Action adalah unit perilaku dalam activity diagram.
Gambar 2.19. Notasi untuk Actions (Sumber: Booch, et al., 2007:186)
2. Starting dan Stopping (Mulai dan Berhenti) Suatu activity diagram menunjukkan aliran proses, yaitu aliran tersebut harus mulai dan berhenti di suatu tempat. Titik mulai (initinal node) ditunjukkan dengan solit dot, dan titik berhenti (final node) ditunjukkan dengan bull’s eye (sasaran).
Gambar 2.20. Initial dan Final Node (Sumber: Booch, et al., 2007:187)
3. Decision (Keputusan) Decision digunakan untuk mengontrol aliran di dalam activity diagram. Masing-masing node di wakili dalam bentuk diamond (berlian) dengan panah masuk dan keluar. Decision
74 node hanya memiliki satu aliran masuk dan beberapa aliran keluar.
Gambar 2.21. Decision Node (Sumber: Booch, et al., 2007:187)
4. Partitions (Pembagian) Unsur-unsur dalam suatu activity diagram dapat dikelompokkan dengan
menggunakan
partition,
dengan
tujuan
untuk
menunjukka letak tanggung jawab dalam melakukan aktivitas yang spesifik. Terdapat dua jenis pembagi yaitu node fork dan join. Fork mirip seperti decision, perbedaannya yaitu decision memilih satu aliran keluar, sedangkan fork menghasilkan banyak aliran keluar.
Join dengan
merge juga
hampir
mirip,
perbedaannya yaitu node join digunakan ketika aliran masuk telah selesai sebelum aliran keluar dimulai.
75
Gambar 2.22. Activity Diagram dengan Partitions (Sumber: Booch, et al., 2007:189)
2.11.3. Class Diagram Booch, et al. (2007:593) mendefinisikan class Diagram merupakan bagian dari notasi object oriented design yang digunakan untuk memperlihatkan class yang ada di dalam sistem dan hubungan
76 class tersebut di dalam sistem. Class diagram merepresentasikan gambaran struktur class dari sebuah sistem.
Terdapat dua elemen penting dari class diagram, yaitu (Booch, et al., 2007:192-196):
2.11.3.1. Class Notation (Notasi Kelas) Class icon terdiri dari tiga komponen, yaitu: 1. Nama Class 2. Private (-) 3. Public (+)
Gambar 2.23. Contoh Komponen Class Diagram (Sumber: Booch, et al., 2007:192)
2.11.3.2. Class Relationships (Hubungan Kelas) Hubungan penting pada class yaitu association, generalization, aggreagation, dan composition.
1. Association Booch, et al. (2007:592) mendefiniskan association, sebagai berikut: “A relationship denoting a semantic connection between two classes.”
77 Pada
association lebih jauh lagi
dibutuhkan
suatu
multiplicity. Booch, et al. (2007:194) mendefinsikan multiplicity, sebagai berikut: “The multiplicity adornment is applied to the target end of an association and denotes the number of links between each instance of the source class and instances of the target class.”
Beberapa
jenis
multiplicity
menurut
Booch
et
al.
(2007:194): a. 1
Exactly one
b. *
Unlimited number (zero or more)
c. 0..*
Zero or more
d. 1..*
One or more
e. 0..1
Zero or one
f. 3..7
Specified range
2. Generalization Booch, et al. (2007:59) mendefinisikan generalization, sebagai berikut: “Inheritance thus implies a generalization/specialization hierarchy, wherein a subclass specializes the more general structure or behavior of its superclasses.”
3. Aggregation Booch, et al. (2007:592) mendefinisikan aggregation, sebagai berikut: “A whole/part relationship where one object is composed of one or more other objects, each of which is considered a part of the whole.”
4. Composition Booch, et al. (2007:593) mendefinisikan composition, sebagai berikut:
78 “A whole / part relationship where one object is composed of one or more other objects, each of which is considered a part of the whole. This relationship is a strong form of aggregation in that the lifetimes of the whole and its parts are dependent.”
Gambar 2.24. Class Diagram Relationship (Sumber: Booech, et al., 2007:195)
79 2.12.
Scrum
Metode Scrum dikenalkan oleh Jeff Sutherland pada awal tahun 1990. Kemudian pengembangan berikutnya dilakukan oleh Schwaber dan Beedle.
Scrum
merupakan
metode
pengembangan
software
yang
memberikan kesempatan bagi developer dalam suatu istilah, yaitu inspect (memeriksa) dan adapt (adaptasi). Inspect adalah suatu kegiatan pengukuran dan mempertanyakan setiap keadaan dalam pengembangan software, sedangkan adapt adalah kegiatan melakukan perubahan dan peningkatan untuk memperbaiki software jika diperlukan. Pengukuran juga memberikan feedback tentang keuntungan dari setiap perubahan dan memungkinkan developer untuk mengakhiri atau melanjutkan siklus perbaikan (Keith, 2010:56-57). Suatu game yang dikembangkan dengan metode Scrum memiliki jangka waktu iterasi dalam dua sampai empat minggu, menggunakan sprints, atau menggunakan tim disiplin yang terdiri dari enam orang (Keith, 2010:38).
Gambar 2.25. Ilustrasi Metode Scrum (Sumber: Keith, 2010:39)
80 2.12.1. Prinsip-prinsip Scrum Terdapat lima prinsip penting Scrum, yaitu (Keith, 2010:40-41):
1. Empiricism Scrum menggunakan istilah “inspect and adapt” yang memungkinkan tim pengembang dan stakeholders untuk menanggapi munculnya informasi baru dan perubahan kondisi secara real time menggunakan data actual.
2. Emergence Ketika mengembangkan game, ada sebuah pembelajaran bahwa apa yang membuat senang, apa yang mungkin, dan bagaimana membuatnya. Tinjauan Sprint dan perencanaan siklus dirancang untuk memaksimalkan munculnya fitur seperti yang terlihat dalam game.
3. Timeboxing Scrum adalah perulangan. Ini memberikan nilai secara rutin dan memungkinkan stakeholder dan developer untuk to mensinkronisasikan project. Sprint adalah salah satu praktik dari timeboxing.
4. Prioritization Beberapa fitur lebih penting bagi stakeholder daripada yang lainnya. Mengembangkan fitur game lebih baik berdasarkan nilai untuk player yang akan membeli game tersebut daripada mengimplementasikan
seluruh
fitur
yang
ada
pada
perencanaan.
5. Self-organization Tim yang kecil, dan disiplin diberdayakan untuk mengatur anggota, mengelola proses, dan membuat kemungkinan produk terbaik dalam suatu timeboxes.
81 2.12.2. Bagian-bagian Scrum
1. Product Backlog Product backlog adalah daftar prioritas dari kebutuhan atau fitur (disebut PBIs), seperangkat alat, atau pipa untuk membuat sebuah game (Keith, 2010:41-42).
Beberapa contoh dari product backlog, yaitu: a. Menambahkan fungsi filtering ke animasi exporter. b. Menambahkan fitur online gameplay. c. Menambahkan efek partikel di dalam game.
Product backlog diperbolehkan untuk diubah setelah sprint selesai. PBIs yang tidak lagi dibutuhkan sebaiknya dihapus, dan prioritas yang berubah sesuai kebutuhan.
Gambar 2.26. Fitur Backlog didalam Game (Sumber: Keith, 2010:42)
82 2. Sprints Suatu unit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang ditetapkan dalam backlog sesuai dengan waktu yang di tetapkan dalam timebox (Keith, 2010:42-43).
3. Scrum Meetings Scrum Meeting adalah pertemuan 15 menit dalam timebox yang ditentukan oleh setiap anggota di dalam tim dengan tujuan, yaitu (Keith, 2010:74): a. Untuk melakukan sinkronisasi pekerjaan atau usaha dari semua anggota tim. b. Berkomitmen
terhadap
perkejaan
yang
harus
diselesaikan pada hari berikutnya dan menegaskan kembali komitmen tim untuk tujuan sprint. c. Untuk mengidentifikasi hambatan yang harus ditangani oleh tim. d. Untuk mendengar masalah yang dihadapi dari masingmasing anggota sehingga solusi dapat diatasi setelah diadakan pertemuan. Scrum meeting memungkinkan untuk mengarahkan menuju tujuan tim bersama-sama.
2.13. Black Box Testing
Pengujian black box adalah suatu teknik yang penting untuk menguji fungsionalitas dari sebuah sistem tanpa mengetahui rincian di dalamnya, untuk memastikan benar, konsisten, selesai, dan akurat suatu dari perilaku atau fungsi di dalam sistem. Pengujian black box cocok untuk paradigma pemrograman modern seperti paradigma berorientasi objek. Pengujian desain black box berlaku untuk semua tingkat pengujian software, seperti: sistem dan penerimaan, pengujian fungsi, integrasi, dan pengujian unit (Saeed, 2009:28).
83
Gambar 2.27 Black Box Testing (Sumber: William, 2006)
2.14.
Penjelasan Jurnal
2.14.1. Mobile Games Jurnal yang berjudul “Effect of use contexts on the continuous use of mobile services: the case of mobile games” yang ditulis oleh Liang dan Yeh. (2010), membahas mengenai penelitian atas pengaruh konteks (situasi dan tempat) terhadap penggunaan mobile service secara terus menerus, khususnya pada kasus penggunaan mobile games. Tujuan dari penelitian ini adalah untuk mengetahui apakah faktor kontekstual secara signifikan mempengaruhi intensitas pengguna dalam menggunakan mobile games, untuk mengklarifikasi faktor mana yang lebih berpengaruh untuk mempengaruhi intensitas dalam menggunakan mobile games, dan untuk mengevaluasi apakah model adopsi dengan teknologi augmented dapat menyediakan kekuatan prediksi yang lebih baik untuk intensitas dalam penggunaan mobile games. Penulis (Liang dan Yeh) menggunakan metode penelitian dengan online survey yang mengindikasikan faktor kontekstual memiliki efek yang signifikan secara intensitas dalam bermain mobile games. Faktor kontekstual tersebut memiliki dua faktor utama, yaitu tempat dan situasi. Faktor tempat pada saat berada dirumah, sekolah atau kantor, sedangkan faktor situasi ketika sedang tidak atau melakukan tugas.
84 Hasil dari penelitian ini, membuktikan bahwa ketika kondisi pengguna tidak memiliki tugas, intensitas bermain pada mobile games lebih ditentukan oleh sikap dan persepsi dari masing-masing pengguna seperti keadaan suasana hati untuk bermain, sedangkan ketika pengguna sedang dalam kondisi tertekan (dengan tugas), maka pengguna akan lebih tertarik untuk bermain game ketika mereka menikmatinya, ini akan membawa untuk lebih meningkatkan intensitas pengguna untuk bermain mobile games. Kemudian, hasil dari faktor tempat membuktikan bahwa pengguna lebih merasa senang ketika bermain dirumah daripada di tempat kerja. Nilai hiburan pada mobile game merupakan faktor penting bagi sikap pengguna ketika pengguna lebih santai. Alasan penulis mengambil jurnal ini untuk memperkuat latar belakang penulisan skripsi mengenai perkembangan mobile device yang semakin banyak digunakan oleh banyak orang untuk bermain game, sehingga memicu game developer agar terus mengembangkan game pada mobile device.
2.14.2. Mobile Application Jurnal yang berjudul “What Affects Mobile Application Use? The Roles of Consumption Values” yang ditulis oleh Wang, Liao, dan Yang (2013), membahas mengenai apa yang mempengaruhi penggunaan mobile application dengan melihat peran dari nilai konsumsi. Penulis (Wang, Liao, dan Yang) melakukan penelitian ini berdasarkan teori nilai konsumsi, yaitu nilai fungsional, sosial, emosional, dan epistemic. Nilai fungsional menyangkut tentang fungsi dan layanan dari produk yang ditawarkan, seperti kualitas atau fitur yang dapat diberikan kepada pengguna. Kemudian, nilai sosial di definisikan sebagai alat perasa yang di dapat dari asosiasi alternatif atau kelompok sosial yang lebih spesifik, seperti contoh produk pakaian, perhiasan, atau hadiah sering di dorong oleh nilai sosial, oleh karena itu nilai sosial berhubungan dengan persetujuan sosial dan peningkatan citra diri diantara individu lainnya. Ketiga, nilai emosional adalah dimensi sosial-psikologi yang tergantung pada kemampuan suatu produk untuk membangkitkan emosi atau pernyataan afektif. Kemudian, nilai
85 epistemic adalah nilai yang dibuat ketika produk atau layanan membangkitkan rasa ingin tahu, memberikan hal yang baru atau memenuhi keinginan untuk mendapat pengetahuan. Dalam beberapa konteks, dapat merujuk pada nilai kebaruan dan nilai dari belajar cara yang baru dalam melakukan sesuatu, seperti contoh pada konteks mobile adanya rasa ingin tahu terhadap konten baru dan pengetahuan yang dapat diperoleh melalui layanan baru, atau adopsi game online dipicu oleh keinginan untuk memuaskan rasa ingin tahu seseorang dalam menggunakan teknologi baru. Hasil penelitian ini mengkonfirmasi bahwa, nilai fungsional, sosial, emosional, dan epistemic memiliki pengaruh yang signifikan dalam intensitas perilaku untuk menggunakan mobile Apps. Diantara nilai-nilai tersebut, nilai emosional dan epistemic paling berpengaruh dibanding nilai fungsional dan sosial. Berdasarkan Apple App Store, tipe aplikasi yang banyak di unduh adalah game. Pengguna menggunakan tipe aplikasi ini mungkin timbul dari rasa ingin tahu mereka, yaitu mengalami permainan baru, sehingga kebutuhan emosional pengguna dapat dipenuhi lewat kesenangan, dan oleh karena itulah nilai sosial menjadi faktor yang kurang berpengaruh. Alasan penulis mengambil jurnal ini untuk memperkuat bukti latar belakang penulisan, yaitu waktu yang dihabiskan ketika menggunakan mobile device adalah bermain game.
2.14.3. Math Games Jurnal yang berjudul “7 Games to Practice Math Facts” yang ditulis oleh O'Toole (2011), membahas tentang jenis-jenis game yang secara tidak langsung mempraktikan fakta matematika. Penulis (O'Toole) memberikan contoh game yang mempraktikan fakta matematika, dengan tujuan agar pengembang yang ingin mengembangkan game matematika dapat menambah inspirasi dan ide dari matematika dasar. Terdapat tujuh praktik game yang dijelaskan dalam jurnal ini, yaitu Speed Racer, Flashlight Tag, Subtraction Salute, Coin Toss, Double Down, Slam Ten, dan Firecracker. Ketujuh game tersebut
86 mempraktikan identifikasi bilangan ganjil-genap, matematika dasar, penjumlahan, pengurangan, dan perkalian. Alasan penulis mengambil jurnal ini adalah untuk dijadikan contoh dan referensi, bahwa praktik matematika secara tidak langsung dapat diterapkan dalam bentuk game di kehidupan sehari-hari tanpa disadari, oleh karena itu jurnal ini mendukung penulisan skripsi dalam konteks game dengan unsur edukasi matematika.