Upload
vuongphuc
View
233
Download
0
Embed Size (px)
Citation preview
9
BAB 2
TINJAUAN PUSTAKA
2.1 Multimedia
Multimedia adalah kombinasi dari teks, foto, seni grafis, suara, animasi
dan video yang dikemas melalui media komputer atau media elektronik lain
yang bisa dimanipulasi secara digital (Vaughan, 2010: 1). Multimedia
Interaktif adalah multimedia yang user dapat mengendalikan apa dan kapan
elemen yang disajikan (Vaughan, 2010: 1).
2.1.1 Elemen Multimedia
Menurut Vaughan (2010: 5), multimedia merupakan
pengabungan dari hasil manipulasi elemen-elemen teks, foto, seni grafis,
suara, animasi, dan video. berikut ini merupakan elemen-elemen dari
multimedia, yaitu :
1. Teks
Teks adalah salah satu dasar elemen multimedia yang digunakan
menyampaikan pikiran, ide, dan fakta dalam hampir seluruh aspek
dari kehidupan manusia. Teks bervariasi tergantung kepada
penampilannya; warna, efek, dan font tulisan. Teks sangat berfungsi
pada multimedia karena mampu menyampaikan ide utama dari judul,
headlines, menu, navigasi, dan keterangan lainnya.
2. Gambar
(Vaughan, 2010: 70). Gambar dapat berwarna dan memiliki bentuk
yang bermacam-macam, ditempatkan dimanapun pada layar, secara
geometris, atau berbentuk aneh. Gambar apapun, akan diubah pada
komputer menjadi 2 (dua) jenis, sebagai gambar bitmap atau gambar
vector. Gambar bitmap disebut juga gambar raster. Biasanya
digunakan gambar foto-realistik dan gambar kompleks yang
membutuhkan detail yang baik. Gambar vector digunakan untuk
garis, kotak, lingkaran, persegi, dan bentuk lainnya yang secara
matematis dapat diekspresikan dengan koordinat, sudut, dan jarak.
10
3. Suara
Suara adalah gelombang yang dihasilkan oleh tekanan udara dan
tersalurkan pada sebuah media fisik. Tingkat tekanan suara
(kekerasan dan volume) diukur dengan satuan decibels (dB).
Digitizing adalah proses merepresentasikan karakteristik dari
gelombang suara dengan mengunakan angka. Proses digitizing
menghasilkan audio digital. Digitizing suara dapat menggunakan
suara asli atau suara yang telah direkam sebelumnya. Suara yang akan
di digitizing dapat berasal dari microphone, synthesizer, rekaman
yang telah ada, siaran televisi, ataupun radio.
4. Animasi
Animasi terjadi karena fenomena biologi yang dikenal dengan
persistence of vision dan fenomena fisika yang disebut phi. Sebuah
objek yang dilihat oleh manusia tetap terpetakan secara kimiawi pada
retina mata untuk beberapa saat setelah melihat objek tersebut. Oleh
karena itu serangkaian gambar yang bergerak secara cepat akan
menciptakan ilusi visual gerakan.
Jenis-jenis animasi yang dihasilkan/dibuat pada komputer, yaitu :
a. Animasi 2D
Animasi dua dimensi sederhana dan statis, tidak mengubah posisi
pada layar pembaca.
b. Animasi 2.5D
Animasi 2.5D menambahkan ilusi kedalaman (sumbu z)
menggunakan shadowing dan highlighting, tetapi gambarnya tetap
berada pada sumbu x dan y pada dua dimensi.
c. Animasi 3D
Animasi tiga dimensi umumnya dihasilkan oleh komputer dengan
mengkalkulasi ketiga sumbu x, y, dan z. sehingga animasi dapat
terlihat dari berbagai sudut pandang.
5. Video
Video adalah kumpulan gambar yang berurutan direkam pada film
menggunakan teknologi yang sensitif terhadap cahaya mirip pada
11
fotografi. Video dibagi berdasarkan frame rate/ ukuran gambar dan
color depth/ resolusi yang digabungkan menjadi satu video file.
Pembuatan video menggunakan cara pencahayaan, di mana cahaya
yang direfleksikan oleh objek melewati lensa kamera video, cahaya
tersebut dikonversikan menjadi sinyal elektronik dengan sensor
spesial yang disebut charge-coupled device (CCD). Sinyal-sinyal
yang mengandung warna merah, biru, dan hijau tersebut dikirim ke
Video Cassete Recorder (VCR) dan ditulis dalam videotape.
2.2 Interaksi Manusia Komputer
Menurut Shneiderman (2010: 22) Interaksi manusia dan komputer
merupakan ilmu yang mempelajari tentang perancangan, implementasi dan
evaluasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi
fenomena-fenomena yang berhubungan dengannya. IMK menangani
perancangan dan evaluasi antarmuka pemakai (user interface). Antarmuka
pemakai adalah bagian dari komputer yang bertujuan untuk memungkinkan
interaksi antara manusia dengan komputer secara langsung.
2.2.1 Lima Faktor Manusia Terukur
Lima faktor manusia terukur oleh Shneiderman dan Plaisant (2010:
32-33) :
1. Waktu Belajar
Merancang antarmuka yang mudah untuk pemain. Sehingga
pemain dapat mudah beradaptasi menggunakan aplikasi.
2. Kecepatan Kinerja
Mengurangi kompleksitas proses dalam aplikasi yang bertujuan
untuk meningkatkan kinerja proses pada aplikasi. dan memperhatikan
berapa lama waktu yang diperlukan aplikasi untuk menyelesaikan
suatu proses.
12
3. Tingkatan Kesalahan
Meminimalisir tingkat kesalahan yang mungkin terjadi dalam
proses penggunaan dan memberikan penanganan kepada pemain.
4. Daya Ingat
Membuat tampilan agar pemain dapat dengan mudah diingat,
dengan tujuan agar pemain tidak membutuhkan waktu lama untuk
mempelajari penggunaan aplikasi. daya ingat berkaitan dengan waktu
belajar dan frekuensi pemain dalam menggunakan sistem, semakin
sering pemain menggunakan sistem maka semakin mudah pemain
mengingat sistem tersebut.
5.Kepuasan subjektif
Hal ini dapat dicapai dengan melakukan interview dan survey
kepada beberapa pemain untuk mendapat tingkat kepuasan terhadap
keseluruhan aspek antarmuka.
2.2.2 8 Aturan emas
Menurut Shneiderman & Plaisant (2010: 88) dalam IMK terdapat
delapan aturan emas (Eight Golden Rules) yang digunakan dalam
perancangan antarmuka pemakai yaitu:
1. Konsistensi
Konsistensi sangat diperlukan di dalam banyak hal, seperti: urutan
aksi, istilah-istilah, menu, layar bantuan, warna, tata letak,
huruf capital, dan font.
2. Memenuhi kegunaan universal
Mengenali kebutuhan pemain yang beragam dan desain untuk
fleksibilitas dan memfasilitasi transformasi konten. Hal-hal seperti
perbedaan pemain pemula dan ahli, rentang usia, disability, dan
keragaman jenis pemain lainnya dapat memperkaya user interface dan
meningkatkan kualitas sistem yang dirasakan. Menambahkan fitur-
13
fitur untuk user pemula seperti menambahkan penjelasan, dan
memberi fitur-fitur seperti shortcut untuk intermediate user dan untuk
user ahli membuat tampilan yang kompleks dapat meningkatkan
kualitas dari desain interface.
3. Memberikan umpan balik yang informatif
Untuk setiap aksi yang dilakukan oleh pemain, sebaiknya harus ada
umpan balik dari sistem. Umpan balik tersebut harus dapat
memberikan visualisasi hasil dari aksi yang telah dilakukan oleh user.
Respon yang diberikan tergantung dari aksi yang dilakukan. Untuk
aksi yang minor namun sering dipakai, umpan balik sebaiknya
bersifat sederhana. Sebaliknya, umpan balik yang lengkap diperlukan
bagi aksi mayor namun jarang digunakan.
4. Merancang dialog yang menghasilkan keadaan akhir
Urutan dari aksi-aksi harus diorganisasikan secara teratur dengan
urutan awal, tengah, atau akhir. Kotak dialog akan mempermudah
pemain untuk mengingat urutan aksi yang telah dilakukannya. Hal ini
akan membuat para pemain dapat merencanakan aksi apa yang akan
dilakukan berikutnya. Adanya umpan balik dapat memberikan pilihan
untuk menyiapkan ke kelompok aksi yang selanjutnya.
5. Memberikan pencegahan kesalahan dan penanganan yang sederhana
Perancangan sistem yang baik sangat penting, sistem yang tidak
memungkinkan penggunanya untuk dapat melakukan kesalahan yang
serius. Jika sebuah error terjadi, maka sistem harus mendeteksinya,
kemudian menawarkan mekanisme penanganan error yang sederhana,
memberikan informasi yang spesifik kepada user untuk menangani
kesalahan.
6. Memungkinkan pengembalian aksi yang mudah
Sistem dirancang agar dapat kembali ke tindakan sebelumnya
sehingga pemain tidak perlu khawatir jika terjadi kesalahan. Setiap
14
aksi yang dilakukan pemain sebaiknya dapat dibatalkan dengan
mudah, misalnya dengan penggunaan undo. Hal ini dimaksudkan
mengurangi kecemasan pemain ketika sedang mengeksplorasi suatu
aplikasi.
7. Mendukung pusat kendali internal (internal locus of control)
Menjadikan pemain sebagai pemegang kendali dari sistem bukan
sistem yang mengendalikan user. Ketidakmampuan pemain
memperoleh informasi penting akan memberikan ketidakpuasan
kepada pemain. Pemain memiliki kontrol penuh atas sistem sehingga
sistem akan merespon apapun yang dilakukan oleh pemain, bukan
sebaliknya.
8. Mengurangi beban ingatan jangka pendek
Tampilan dan fungsi sistem sebaiknya dibuat sesederhana mungkin
agar pemain dapat mengingatnya dalam jangka waktu yang cukup
lama. Keterbatasan manusia dalam mengolah informasi dalam
memori jangka pendek membutuhkan antarmuka yang sederhana dan
mengurangi pergerakan layar. Yang dimaksud pergerakan layar
seperti ketika pemain harus mengingat suatu informasi pada satu layar
dan informasi tersebut digunakan pada layar yang lain.
2.2.3 10 Prinsip Desain Antarmuka Aplikasi Mobile
Jonathan Stark berdasarkan penelitiannya, merumuskan prinsip-
prinsip utama pada desain antarmuka aplikasi mobile. Prinsip-prinsip
tersebut antara lain:
1. Mobile mindset
a. Be focused
Lebih banyak bukan berarti lebih baik.
b. Be unique
Kenali apa yang membuat aplikasi anda berbeda dan kembangkan
hal tersebut.
15
c. Be charming
Aplikasi yang user-friendly, reliable, dan menyenangkan untuk
digunakan, dan pemain akan lebih terbiasa pada penggunaannya.
d. Be considerate
Tempatkan posisi anda sebagai user saat membuat aplikasi.
2. Mobile Contexts
Kita harus memperhatikan 3 (tiga) konteks utama mobile, yaitu :
Bored, Busy, dan Lost.
a. Bored
kebanyakan orang menggunakan smartphone mereka didalam
rumah. Pada konteks ini, sesi penggunaan yang lama, mendalam,
dan menyenangkan sangat diharapkan. Pastikan bahwa aplikasi
anda dapat menyimpan pekerjaan terakhir penguna. Contoh :
Facebook, Twitter, Angry Birds, web browser.
b. Busy
sangatlah penting aplikasi anda memiliki kemampuan untuk
menyelesaikan tugas-tugas mikro dengan cepat dan handal
menggunakan satu tangan dalam lingkungan yang sibuk. Ingatlah
bahwa pemain akan menggunakan aplikasi untuk tujuan yang
sudah jelas, sehingga desain yang jelas dan terlihat sangatlah
penting. Contoh : TripIt, email, kalender, perbankan.
c. Lost
Pemain yang sedang berada dalam perjalanan, didaerah yang tidak
dikenalnya, atau didaerah yang akrab dikenalnya tetapi ingin
mencari sesuatu termasuk kedalam kategori ini. Dalam konteks ini,
masalah konektivitas dan penggunaan baterai adalah hal yang perlu
diperhatikan, anda harus menawarkan offline support yang hemat
dengan penggunaan geolocation dan baterai. Contoh : Maps, Yelp,
Foursquare.
16
3. Global Guidelines
Aplikasi yang berbeda memiliki pendekatan, desain, dan teknik yang
berbeda. Oleh karena itu, ciri yang melekat pada perangkat
smartphone layar sentuh menyarankan beberapa panduan global,
antara lain :
a. Responsiveness
Respon yang cepat sangatlah penting. Saat pemain melakukan
sesuatu, aplikasi anda harus mengetahui interaksi tersebut segera.
Bedakan antara speed dan responsiveness, bukan masalah jika
sebuah pekerjaan memakan waktu yang lama. Namun, pastikan
bahwa pemain mengetahui aplikasi anda sedang melakukan
pekerjaannya.
b. Polish
Polesan atau detail penyempurnaan sangatlah penting. Sifatt utama
dari smartphone anda adalah “teman yang selalu ada” sehingga
anda harus memperhatikan detail-detail kecil yang sempurna
karena akan diperhatikan dan diapresiasi.
c. Thumbs
Perhatikan penggunaan ibu jari, karena kita harus mendesain
aplikasi untuk digunakan memakai ibu jari. Jarang sekali orang
mengunakan jari yang lain. Meskipun pemain memegang
smartphone menggunakan kedua tangannya akan tetap sulit untuk
menempatkan jari selain ibu jari, kebanyakan penguna juga
mengetik menggunakan ibu jari.
d. Targets
Perhatikan penempatan dan ukuran tombol. Kebanyakan tombol
akan ditekan menggunakan ibu jari. Perhatikan juga relasi antar
tombol. Contohnya, meletakkan tombol backspace dan tombol
send berhimpitan pada aplikasi chatting merupakan ide yang
buruk.
17
e. Content
Maksimalkan penggunaan antarmuka sentuh dimana pemain dapat
berinteraksi langsung dengan konten. Kembangkan kemampuan
intuitif UI sentuh dengan meminimalkan penggunaan antarmuka
chrome (tombol, tab bar, checkbox, slider, dan lain-lain) sebisa
mungkin.
f. Controls
Tempatkan kontrol dibelakang konten. jika tidak bisa, pastikan
bahwa user tetap dapat melihat apa yang berada dibelakang
kontrol. Hal ini berbeda dengan desain web tradisional atau
aplikasi desktop yang menggunakan mouse bukan jari sebagai
pointer utama.
g. Scrolling
Hindari penggunaan scrolling view, non-scrolling view terkesan
lebih solid dan dependable dibanding scrolling view karena lebih
dapat diprediksi.
4. Navigation Models
Ada banyak jenis dari model navigasi untuk aplikasi mobile tetapi
pilihlah yang paling sesuai dengan aplikasi anda.
a. None
Aplikasi layar tunggal (Aplikasi Weather pada iPhone).
b. Tab Bar
Tiga sampai enam konten area yang berbeda-beda (Aplikasi
Twitter pada iPhone).
c. Drill Down
Hirarki konten berisi list dan detail (Aplikasi Settings pada
iPhone).
5. User Input
Mengetik merupakan pekerjaan yang menjengkelkan bahkan di
device yang terbaik, sehingga kita harus memudahkan user dalam
penggunaannya.
18
a. Pilih keyboard yang cocok dengan inputan yang akan dimasukan
sehingga berguna bagi pemain. Contohnya penggunaan keyboard
email untuk inputan username/email, penggunaan keyboard phone
untuk inputan angka atau nomor telepon.
b. Pertimbangkan setiap field inputan anda pada saat menambahkan
fitur auto entry (auto-correct, auto-capitalization, dan auto-
complete).
c. Jika aplikasi anda banyak mengetik, pastikan anda menyediakan
orientasi landscape untuk pemain yang ibu jarinya besar.
Gambar 2. 1 Tampilan Keyboard Perangkat Mobile
6. Gestures
Beberapa hal yang yang perlu diperhatikan adalah:
a. Invisible
Gesture tidak terlihat pada pemain, sehingga kita harus
memberitahu kepada pemain mengenai fungsi gesture yang ada.
19
b. Two Hands
Gesture menggunakan dua tangan seringkali menyulitkan pemain
saat harus menggunakannya ketika hanya dapat memakai satu
tangan. Zoom in dan zoom out pada iOS memaksa untuk
menggunakan kedua jari, Android menangani hal tersebut dengan
menambahkan tombol zoom in dan out pada bagian atas mapnya.
c. Nice to have
Gesture bersifat optional. bagus untuk dipakai, tetapi tidak harus
digunakan pada setiap aplikasi. Fungsinya mirip seperti shortcut
pada keyboard. Power user menyukainya, namun kebanyakan
orang biasanya tidak mengetahui keberadaan shortcut tersebut.
d. No Replacement
Belum terdapat penjelasan lengkap mengenai gesture, sehingga
penggunaan gesture masih belum dapat menggantikan penggunaan
tombol yang ditekan menggunakan satu jari.
7. Orientation
a. Portrait adalah orientasi yang paling popular. Sehingga aplikasi
anda harus dioptimalkan untuk orientasi portrait terlebih dahulu.
b. Berikan dukungan orientasi landscape bila aplikasi anda banyak
mengetik.
c. Pertimbangkan menambahkan orientation lock jika aplikasi anda
akan digunakan untuk waktu yang lama (contohnya aplikasi Kindle
Reader).
8. Communications
a. Provide feedback
feedback diberikan pada setiap interaksi yang pemain lakukan pada
aplikasi, sehingga mereka mengetahui bahwa aplikasinya berjalan
atau mereka tepat menekan. Feedback dapat berupa tactile
(contohnya getaran) atau visual (contohnya perubahan warna pada
tombol yang ditekan). Tampilkan progress bar atau spinner untuk
action yang memakan waktu yang lama, agar pemain mengetahui
bahwa aplikasi anda sedang mengerjakan pekerjaannya.
20
b. Modal Alerts
Modal Alerts digunakan hanya ketika terjadi masalah yang serius,
karena Modal Alerts sangat pushy dan mengganggu flow pemain.
pengunaan kata-kata Modal Alerts harus meyakinkan dan ramah.
c. Confirmations
Penggunaan modal confirmation dialog (seperti “apakah anda
yakin untuk menghapus file ini?”) pada saat membutuhkan
konfirmasi dari pemain tidak terkesan menganggu karena
confirmation dialog telah diharapkan dan merupakan respon dari
aksi pemain.
9. Launching
Aplikasi anda harus dapat menyimpan hal terakhir yang pemain
lakukan. ketika pemain keluar dari aplikasi, aplikasi anda harus
seperti yang terakhir ditinggalkan. Hal ini akan memberikan ilusi
kecepatan dan responsiveness aplikasi anda.
10. First Impression
a. Your Icon
Ikon aplikasi anda harus mampu memenangkan perhatian
dibanding ikon aplikasi lain. Ikon aplikasi anda merupakan kartu
nama anda daripada sekedar gambar seni. ikon yang baik
menjelaskan apa yang aplikasi anda lakukan. aplikasi anda harus
menggunakan siluet yang kuat dan teks yang sedikit. Ikon yang
baik mensugestikan aplikasi yang baik.
b. First Launch
Penggunaan pertama menjadi situasi penentu, apabila pemain
merasa frustasi atau kesulitan menggunakan aplikasi mereka akan
segera meninggalkan aplikasi anda. Jika aplikasi anda memiliki
fungsi yang rumit, sertakan “tips and tricks” untuk membantu
pemain.
21
2.3 Game
Game adalah sebuah jenis aktivitas bermain, dilakukan dalam konteks
realitas palsu, yang mana partisipan berusaha untuk mencapai setidaknya satu
tujuan nontrivial dengan bertindak sesuai dengan aturan. Unsur-unsur penting
dari permainan adalah rules, goals, play, dan pretending. (Adams, 2010: 3).
2.3.1 Elemen Game
Menurut schell (2008: 41-43) terdapat empat elemen dasar yang
membentuk sebuah game, yaitu :
1. Mechanics
Mechanics merupakan prosedur dan aturan-aturan yang terdapat
dalam game yang menjelaskan tujuan dari game tersebut,
bagaimana pemain mencoba mencapainya ataupun tidak mencoba
untuk mencapainya, dan apa yang terjadi jika pemain mencobanya.
Mechanics adalah sesuatu yang membedakan game dengan buku
ataupun film, karena pada buku dan film hanya ada story,
technology dan aesthetics namun tidak memiliki mechanics.
2. Story
Story adalah urutan peristiwa atau jalan cerita sebuah game yang
akan dilalui oleh pemain dalam mencapai sebuah tujuan. Sebuah
story harus memiliki ending dan pemain dapat menentukan
bagaimana ending tersebut akan terjadi. Story dalam game dapat
berbentuk linear dan pre-scripted atau bercabang dan tiba-tiba.
3. Aesthetics
Aesthetics adalah elemen yang menjelaskan bagaimana suatu
game terlihat, terdengar, tercium, dan terasa sehingga membuat
kita mengingat game tersebut. Dengan aesthetics, game dapat
menyampaikan suatu suasana tertentu yang dapat membangun
imajinasi pemainnya sehingga pemain tersebut dapat merasakan
keadaan dalam game tersebut. Hal ini menyebabkan aesthetics
22
menjadi salah satu elemen yang paling penting dalam sebuah
game.
4. Technology
Technology dalam game tidak harus selalu berhubungan dengan
kecanggihan tetapi lebih kepada material dan interaksi yang bisa
membuat game menjadi nyata. Technology yang dipakai dalam
membuat game dapat melakukan beberapa hal dan melarang game
untuk melakukan hal-hal tertentu.
2.3.2 Game Design
Menurut Adams (2010: 44-52) suatu game harus dirancang dan
dibuat dengan melakukan beberapa kali percobaan, pengaturan pada
game, dan perbaikan pada desain setelah dikembangkan. Tidak semua
bagian dari proses perancangan dapat diubah. Seperti pemilihan konsep,
target user, dan genre harus ditentukan pada awalnya dan tidak bisa
diganti setelahnya. Proses itu dibagi menjadi 3 bagian utama, yaitu:
1. Concept Stage
Didalam proses ini akan membahas beberapa pokok bahasan
seperti bagaimana konsep game, menetapkan pemain, dan
menentukan peran pemain dalam game. Hasil dari proses ini tidak
dapat diubah atau direvisi.
2. Elaboration Stage
Pada proses ini akan dibahas beberapa hal pokok seperti
menentukan gameplay, menentukan karakter utama, game world,
core mechanic, mendesain level yang ada pada game tersebut,
menentukan story pada game. Selain itu pada proses ini juga,
programmer akan membuat prototype game yang akan dicoba dan
diperbaiki secara berulang-ulang hingga sesuai dengan konsep
game yang diinginkan.
23
3. Tuning Stage
Proses ini merupakan proses yang paling akhir dalam merancang
suatu game. Pada proses ini game akan dilakukan pemeliharaan,
perbaikan bug, dan penyempurnaan game yang dibuat.
2.3.3 Game Design Document
Menurut Adams (2010: 55) game design document berisi
kumpulan keputusan yang dibuat dan disetujui oleh tim perancang suatu
game. Game design document ini digunakan untuk menyampaikan
desain kepada anggota-anggota dari tim, agar tidak terjadi perbedaan
gambaran mengenai apa yang harus dilakukan.
Berikut ini tipe dari design document menurut Adams (2010: 55 –
58), yaitu:
1. High concept document
High concept document merupakan ringkasan ide yang penting
mengenai game yang akan dibuat.
2. Game treatment document
Game treatment document memiliki isi yang hampir sama dengan
high concept document dengan ide- ide dasar dalam game.
3. Character design document
Character design document digunakan untuk mencatat desain dan
informasi dari karakter yang akan muncul dalam game dengan
tujuan untuk memperlihatkan tampilan dari karakter serta
animasinya.
4. World design document
World design document berisi mengenai gambaran dunia yang ada
dalam game dan audio yang digunakan.
24
5. Flowboard
Flowboard berisi tentang storyboard dari game. Flowboard
menerangkan alur tampilan dari game.
6. Story and level progression document
Story and level progression document berisi tentang skala besar
dari cerita dalam game dan perkembangan levelnya. Seluruh
cabang cerita dari game dicatat dalam story and level progression
document.
7. The game script
The game script berisi tentang rules dan core mechanic dari game.
Target hardware dan spesifikasi minimal hardware dapat
dicantumkan ke dalam the game script.
2.3.4 Game Genre
Menurut Ernest Adams & Jorris Dormans di bukunya
Advanced GameDesign (2012: 9) game genre dapat dikategorikan
menjadi 9 bagian yang berfokus terhadap aspek Physics, Economy,
Progression, Tactical Maneuvering dan Social Interacion.
1. Action
Genre action memiliki ketajaman dan detail pada aspek Physics
dimana pada game ini, detail seperti melompat, pergerakan
karakter dan menembak sangat diperhatikan. Genre ini biasanya
menggunakan prinsip Economy yang menggunakan collectable
items, points dan nyawa. Untuk progression, genre ini di desain
untuk meningkatkan tingkat kesulitan permainan seiring dengan
storyline berjalan.
25
2. Strategy
Menggunakan physics yang sederhana dalam melakukan
pergerakan namum memiliki resource yang tinggi pada aspek
Economy. Hal ini disebabkan karena fokus dari genre ini adalah
strategi dan bagaimana menyelesaikan sebuah misi dengan sumber
(resource) yang tersedia.Sebuah game harus menyediakan resource
yang sesuai sehingga dapat digunakan untuk menyelesaikan misi.
Sehingga dibutuhkan tactical maneuvering yang tinggi untuk
mendapatkan hasil yang baik dengan resource yang sedikit.
3. Role -Playing
Memiliki pergerakan yang relatif sederhana.Genre ini juga
biasanya menggunakan experience sebagai variabel dalam
menyelesaikan misi. Banyak karakter peralatan yang dapat
dimodifikasi oleh pemain yang bertujuan untuk menyelesaikan
misi. Jalan cerita genre ini sendiri sangat fleksibel karena
tergantung pada keinginan pemain. Salah satu bentuk dari Role-
Playing adalah Live-Action Role-Playing:
a. Live-Action Role-Playing adalah sebuah jenis dari Role-
Playing interaktif, dimana pemain melakukan aksi dari
karakter yang dimainkan pada sebuah physical setting.
Dengan bermain menggunakan tempat yang nyata, pemain
akan berinteraksi dengan obyek-obyek yang terdapat pada
lokasi sebenarnya(Odom, 2009: 9).
4. Sports
Memiliki detail pergerakan yang tinggi. Membutuhkan
kemampuan untuk melakukakan management dalam
memainkannya. Biasanya menggunakan sistem tournament,
competitions dan musim untuk berinteraksi dengan progression
game itu sendiri.
26
5. Vehicle Simulation
Memiliki detail pergerakan yang tinggi (simulasi). Genre ini
menawarkan cara bermain yang realistis untuk mendapatkan
perhatian dari pemain. Pengaturan kendaraan, misi-misi yang
realistis seperti balapan, turnamen dan kompetisi menjadi fitur
andalan genre ini.
6. Management and Construction Simulation
Genre ini lebih fokus pada bagaimana pemain mampu mengatur
resource yang ada.Genre ini menuntut keahlian pemain dalam
menciptakan skenario baru yang akan digunakan sebagai umpan
untuk menciptakan dunia baru dan kemungkinan baru.
7. Adventure
Genre ini memiliki jalan cerita yang sudah jelas namun dikemas
dengan suasana petualangan. Pemain diharapkan menyelesaikan
sebuah misi namun pemain diberikan kontrol penuh terhadap apa
yang akan dilakukan dalam menyelesaikan misi tersebut.
8. Puzzle
Memiliki bentuk yang sederhana, konten dan karakter yang
terkadang tidak realistis dan bentuk dari bagian-bagian permainan
itu sendiri terkadang menjadi tantangan yang unik. Permainan ini
semakin sulit dengan meningkatnya jumlah bagian dari puzzle yang
akan dibangun.
9. Artificial Life Simulation
Genre ini biasanya banyak mengadopsi sifat dari genre lain. Genre
ini sering kali menggabungkan antara adventure, role-playing dan
strategy genre menjadi satu genre baru yang sangat diminati oleh
pemain.
27
2.4 Agile Development
Menurut Pressman (2010: 67), Agility telah menjadi kata kunci ketika
mendeskripsikan sebuah proses software yang modern. Sebuah team yang agile
merupakan sebuah team yang mampu dengan segera merespon perubahan yang
terjadi. Perubahan merupakan sesuatu yang sering terjadi dalam pengembangan
piranti lunak, mulai dari perubahan saat membangunan piranti lunak, perubahan pada
anggota tim, perubahan akibat teknologi baru maupun perubahan-perubahan yang
dapat mempengaruhi hasil dari pengembangan piranti lunak. sebuah tim agile
menyadari bahwa piranti lunak dikembangkan oleh individu yang bekerja dalam tim
dan bahwa kemampuan individu, serta kolaborasi mereka merupakan inti kesuksesan
proyek tersebut.
Menurut Pressman (2010: 71-73), dalam agile development, peran manusia /
tim sangat penting dan akan berpengaruh pada pengembangan piranti lunak. Agile
development berfokus pada bakat dan keterampilan pada tiap individu. Keterampilan
dan bakat yang diperlukan untuk membangun sebuah tim dalam agile development
meliputi :
1. Competence
Dalam konteks agile development, “competence” mencakup bakat bawaan,
keterampilan perangkat lunak yang dibutuhkan, dan pengetahuan secara
keseluruhan mengenai proses yang dipilih oleh tim.
2. Common focus
Semua anggota tim, meskipun dapat melakukan tugas yang berbeda, mereka
semua harus fokus terhadap satu tujuan, yaitu memberikan software kepada
customer sesuai dengan waktu yang dijanjikan.
3. Collaboration
Anggota tim harus bekerja sama satu sama lain dan dengan stakeholder lainnya
untuk menganalisis dan menggunakan informasi yang dikomunikasikan
kepada anggota tim.
28
4. Decision-making ability
Setiap tim yang baik harus diperbolehkan memiliki kebebasan untuk
mengontrol nasibnya sendiri. Hal ini menyiratkan bahwa tim diberikan otoritas
untuk mengambil keputusan dalam proyek.
5. Fuzzy problem-solving ability
Setiap software manager harus menyadari bahwa sebuah tim agile akan terus
berurusan dengan ambiguitas dan terus menerus akan diterjang oleh perubahan
yang terjadi. Dalam beberapa kasus, tim harus menerima kenyataan bahwa
masalah yang mereka pecahkan saat ini mungkin bukan masalah yang harus
mereka pecahkan besok.
6. Mutual trust and respect
Tim harus memiliki rasa kepercayaan dan rasa hormat yang diperlukan untuk
membentuk suatu tim yang kuat.
7. Self-organization
Dalam konteks agile development, sebuah tim agile harus :
a. Dapat mengorganisasi dirinya sendiri dalam mengatur pekerjaan yang
akan diselesaikan.
b. Dapat mengatur proses yang terbaik untuk mengakomodasi
lingkungannya.
c. Mengatur jadwal kerja terbaik untuk mencapai waktu yang telah
ditentukan.
2.4.1 Extreme Programming (XP)
Menurut Pressman (2010: 73-77), Extreme Programming (XP)
mengunakan pendekatan berbasis objek sebagai paradigma
pengembangan yang dipilih dan mencakup seperangkat aturan dan
praktek-praktek yang terjadi dalam konteks empat kerangka kegiatan:
planning, design, coding, dan testing.
29
Gambar 2. 2 Urutan Kegiatan Extreme Programming
a. Planning
Aktifitas perencanaan diawali dengan listening yaitu aktifitas
mengumpulan requirements yang memungkinkan para anggota
teknis tim XP untuk memahami konteks bisnis perangkat lunak dan
untuk mendapatkan gambaran luas dari output yang dibutuhkan
serta fitur dan fungsi yang utama.
Listening mengaju kepada pembuatan satu set “stories”
(disebut juga user stories) yang menjelaskan output, fitur, dan
fungsi yang dibutuhkan untuk membangun piranti lunak. Setiap
story dituliskan oleh pelanggan dan ditempatkan pada index card.
Pelanggan memberikan nilai prioritas berdasarkan dari nilai fitur
atau fungsi bisnis secara keseluruhan. Anggota tim XP kemudian
menilai setiap story dan menetapkan biaya (diukur dalam satuan
development weeks). Jika sebuah story diperkirakan membutuhkan
waktu lebih dari tiga minggu, pelanggan diminta untuk membagi
story tersebut menjadi story yang lebih kecil dan pemberian nilai
30
dan biaya dilakukan kembali. Penting untuk dicatat bahwa story
baru dapat ditulis/ditambahkan setiap saat.
Selama pengembangan berlangsung, pelanggan dapat
menambahkan story, mengubah nilai dari story yang ada, membagi
story, atau menghilangkannya. Tim XP kemudian
mempertimbangkan kembali semua rilis yang tersisa dan
memodifikasi rencananya.
b. Design
Desain XP selalu mengikuti prinsip KIS (Keep It Simple).
Desain yang sederhana selalu dipilih daripada representasi yang
lebih kompleks. Desain fungsi tambahan (karena pengembang
menganggap bahwa hal itu akan diperlukan nanti) tidak disarankan.
XP mendorong penggunaan CRC cards sebagai mekanisme
yang efektif untuk berpikir tentang perangkat lunak dalam sebuah
object-oriented context. CRC cards adalah satu-satunya produk
karya desain yang dihasilkan sebagai bagian dari proses XP. Jika
terjadi masalah desain yang sulit sebagai bagian dari desain sebuah
story, XP merekomendasikan pembuatan langsung prototipe
operasional dari bagian desain tersebut.
Proses ini disebut sebagai spike solution, prototipe desain
tersebut diimplementasikan dan dievaluasi. Tujuannya adalah
untuk menurunkan risiko saat pelaksanaan sebenarnya dimulai dan
untuk memvalidasi estimasi sebenarnya untuk story yang
desainnya bermasalah.
c. Coding
Setelah story telah dikembangkan dan karya desain awal
selesai, tim tidak langsung melanjutkan proses coding, melainkan
mengembangkan serangkaian tes unit yang akan menguji setiap
story yang akan disertakan dalam rilis saat ini (peningkatan
software).
31
Setelah unit uji telah dibuat, pengembang lebih mampu untuk
fokus pada apa harus diimplementasikan untuk lulus tes. Tidak
melakukan penambahan berlebihan (KIS). Setelah kode selesai,
unit dapat segera diuji, sehingga mampu memberikan umpan balik
seketika untuk para pengembang.
d. Testing
Penciptaan unit test sebelum coding dimulai merupakan
elemen kunci dari pendekatan XP. Unit test yang dibuat harus
diimplementasikan dengan menggunakan kerangka yang
memungkinkan mereka untuk bekerja secara otomatis (maka,
mereka dapat dijalankan dengan mudah dan berulang-ulang). Ini
mendorong strategi pengujian regresi setiap kali kode yang diubah
(yang sering dilakukan, mengingat filosofi refactoring XP).
Tes penerimaan XP, juga disebut tes pelanggan,
dispesifikasikan oleh pelanggan dan terfokus pada fitur dan fungsi
sistem secara keseluruhan yang terlihat dan dapat ditinjau oleh
pelanggan. Tes penerimaan yang berasal dari cerita pengguna yang
telah diimplementasikan sebagai bagian dari rilis software.
2.5 Unified Modelling Language (UML)
Whitten dan Bentley (2007: 381) mengatakan Unified Modelling
Language (UML) adalah blueprint dari sistem informasi yang akan dibuat
dalam pengembangan aplikasi yang dapat menghasilkan berbagai macam sudut
pandang dari sistem informais tersebut. Setiap UML memiliki fungsi dan
tujuan yang berbeda dalam pengembangan aplikasi sesuai dengan jenisnya.
Terdapat 13 diagram UML yang dapat dipakai untuk pengembangan software
yaitu :
1. Use-case Diagrams
2. Activity Diagrams
3. Class Diagrams
4. Object Diagrams
32
5. State machine Diagrams
6. Composite structure Diagrams
7. Sequence Diagrams
8. Communication Diagrams
9. Interaction overview Diagrams
10. Timing Diagrams
11. Component Diagrams
12. Deployment Diagrams
13. Package Diagrams
Dalam pengembangan software, dari ketiga belas diagram tersebut tidak
semua perlu untuk digunakan. UML yang digunakan dipilih sesuai dengan
kebutuhan, dengan syarat sudah dapat menggambarkan proses pengembangan
sistem secara jelas.
2.5.1 Use Case Diagram
Menurut Whitten dan Bentley (2007: 246), use case diagram
merupakan salah satu bagian dari use case modeling. Use case diagram
digunakan untuk menggambarkan secara jelas proses yang akan
dijalankan oleh sistem. Dalam use case diagram terdapat tiga komponen
utama yaitu :
1. Use Case
Use case adalah alat yang mendeskripsikan dan menjelaskan
fungsi sebuah sistem. Use case mendeskripsikan fungsi sistem
berdasarkan sudut pandang pengguna eksternal dengan meggunakan
bahasa dan istilah yang mereka mengerti. Use case digambarkan
dalam bentuk elips mendatar yang memiliki keterangan pada bagian
atas, bawah, atau dalam dari elips tersebut.
33
Gambar 2. 3 Contoh Use Case Diagram
2. Actor
Actor adalah user yang akan berinteraksi, menginisiasi,
melakukan usecase dalam sistem untuk bertukar informasi. Actor
digambarkan dalam bentuk stick figure dengan label peran actor
tersebut dalam sistem.
3. Relationship
Relationship adalah hubungan dari dua symbol dalam use case
diagram yang digambarkan dalam bentuk garis. Arti dari hubungan
tersebut berbeda-beda tergantung jenis garis dan symbol yang
dihubungkan. Berikut adalah beberapa hubungan yang ada dalam use
case diagram:
a. Associations
Komunikasi antara use case dan actor digambarkan sebagai
associations. Garis associations dapat memiliki anak panah yang
34
berarti actor berperan sebagai pelaku dari use case tersebut,
sedangkan garis tanpa anak panah berarti actor hanya berperan
sebagai external database atau penerima dari use case tersebut.
Gambar 2. 4 Contoh Hubungan Associations
b. Extends
Sebuah use case yang cukup kompleks dapat dipisahkan menjadi
extension use case yaitu dengan membuat hubungan extends
dengan use case lainnya. Pemisahan tersebut berguna untuk
membuat use case tetap berjalan sesuai logika. Hubungan tersebut
digambarkan menggunakan garis solid dengan anak panah dan
label <<extends>>. Use case A extends use case B berarti use case
A ada bagian yang lbh spesifik dari use case B atau use case B
bersifat lebih umum.
Gambar 2. 5 Contoh Hubungan Extends
c. Uses
Hubungan uses digambarkan menggunakan garis solid dengan
anak panah dan label <<usess>>. Use case A uses use case B
berarti untuk melakukan use case A , use case B harus dilakukan
terlebih dahulu minimal satu kali.
35
Gambar 2. 6 Contoh Hubungan Uses
2.5.2 Use Case Narative
Menurut Whitten dan Bentley (2007: 254), use case narrative merupakan
salah satu bagian dari use case modeling yang berisikan rincian dari setiap
event dan menerangkan bagaiman user berinteraksi dengan sistem selama
event terjadi.
2.5.3 Activity Diagram
Menurut Whitten dan Bentley (2007: 319), activity diagram digunakan
untuk menggambarkan proses dari aktivitas dalam suatu sistem. Melalui
activity diagram dapat dilihat secara jelas urutan dari use case yang akan
dijalankan. Berikut adalah tabel notasi yang akan digunakan dalam
menggambarkan activity diagram:
36
Tabel 2. 1 Tabel Notasi Activity Diagram
Notasi Keterangan
Initial Node
Notasi ini menggambarkan awal proses dari activity
diagram
Actions
Notasi ini menggambarkan sebuah aktivitas yang jika
disusun secara keseluruhan akan menggambarkan
keseluruhan aktivitas dalam activity diagram
Flow
Notasi ini menggambarkan jalannya aktivitas dalam
activity diagram. Jika notasi ini keluar dari decision
dibutuhkan kata-kata untuk mengidentifikasikannya.
Decision/Merge
Notasi ini menggambarkan keadaan bersyarat, yaitu
decision dan merge.
Decision
Satu flow akan masuk ke dalam decision dan
menghasilkan dua atau lebih flow lainnya yang
merupakan hasil pilihan dari kondisi yang ada.
Merge
Dua atau lebih flow hasil dari decision akan masuk
ke dalam merge dan menggabungkannya menjadi
Activity Final
Notasi ini menggambarkan akhir proses dari activity
diagram
37
Gambar 2. 7 Contoh Activity Diagram
2.5.4 Class Diagram
Menurut Whitten dan Bentley (2007: 423), class diagram adalah
kumpulan dari objek-objek beserta hubungannya dalam suatu sistem yang
biasanya disebut sebagai class. Dalam class diagram terdapat tiga aspek
utama, yaitu:
1. Object instance
2. Attribute
Behavior<<instance name>>
-attribute
+behavior
Gambar 2. 8 Struktur Class
Dalam class diagram terdapat istilah visibility yang merupakan level
akses suatu objek terhadap attribute dan behavior. Terdapat tiga level visibility
dalam class diagram yaitu pada tabel berikut:
38
Tabel 2. 2 Tabel Visibility
Visibility Simbol Keterangan
Public
+
Dapat digunakan oleh semua
kelas yang berhubungan.
Protected
#
Hanya dapat digunakan oleh
kelas itu dan kelas turunannya.
Private
-
Hanya dapat digunakan kelas itu
sendiri
Dalam class diagram juga terdapat istilah generalisasi atau spesialisasi,
yaitu teknik yang digunakan untuk mengelompokkan attribute dan behavior
yang sama dari suatu objek menjadi kelas tersendiri yang disebut supertype.
Attribute dan behavior yang ada pada supertype akan diturunkan ke kelas
anaknya yang disebut subtype.
Gambar 2. 9 Contoh Class Diagram
39
2.6 Android
Menurut Friesen (2014: 20) Android adalah Software Stack Google bagi
perangkat mobile. Terdiri dari aplikasi, virtual machine, middleware, dan
merupakan Operating System berbasis Linux. Android menawarkan berbagai
macam fitur-fitur seperti berikut:
a. Application Framework yang memungkinkan untuk menggunakan
kembali atau mengganti komponen aplikasi.
b. Mendukung jaringan seperti: Bluetooth, EDGE, 3G, 4G dan Wi-Fi
(Bergantung pada hardware).
c. Mendukung Camera, GPS, Compass, dan Accelerometer (Bergantung
pada hardware).
d. Optimasi Dalvik Virtual Machine pada perangkat mobile.
e. Jaringan telepon GSM dan CDMA
f. Integrated browser berdasarkan open source WebKit engine.
g. Mendukung media dengan format seperti: MPEG4, H.264, MP3,
AAC, JPG, PNG, dan GIF.
h. Optimasi grafik yang didukung oleh custom 2D graphics library, serta
3D graphics berdasarkan OpenGL ES 1.0, 1.1, 2.0, atau 3.0
(Hardware Acceleration).
i. SQLite untuk penyimpanan data terstruktur.
2.6.1 Sejarah Android
Android pada awalnya tidak berasal dari Google, melainkan buatan
Android, Inc. Android, Inc. adalah sebuah perusahaan startup kecil di
Palo Alto, California yang membuat Operating System Android sebagai
produk pertama. Google membeli perusahaan ini pada tahun 2005 dan
mengeluarkan versi beta Android SDK pada bulan November di tahun
2007.
Pada tanggal 23 September, 2008, Google merilis Android versi
1.0 (Astro) yang memiliki fitur: web browser, kamera, Google Search,
Wi-Fi, serta Bluetooth. Hal ini menandakan munculnya API level 1 yang
40
berhubungan dengan versi keluaran Android. Berikut merupakan tabel
keluaran versi Android dan API level:
Tabel 2. 3 Tabel Keluaran Android
Version API
Level
Tanggal keluaran Penambahan Fitur
1.1 (Astro) 2 9 Februari 2009
Speakerphone dialpad dan
penyimpanan attachment
message
1.5 (Cupcake) 3 30 April 2009
Rekam video dan mendukung
format MPEG-4 serta 3GP,
penggunaan home screen,
animasi perpindahan halaman
1.6 (Donut) 4 15 September 2009
GestureBuilder Development
Tools, pengintegrasian
camera-camcorder-gallery,
mendukung resolusi layar
WVGA, pembaharuan search
2.0 (Eclair) 5 26 Oktober 2009
Live wallpaper, fitur pada
kamera, pembelajaran pada
pemilihan kata pengguna,
Google Maps 3.1.2, Bluetooth
2.1
2.0.1 (Eclair) 6 3 Desember 2009 Perubahan minor pada API,
memperbaiki bug
2.1 (Eclair) 7 12 Januari 2010 Perubahan minor pada API,
memperbaiki bug
2.2 - 2.2.3
(Froyo) 8 20 Mei 2010
Chrome V8 sebagai browser,
Adobe Flash, kompilasi JIT,
USB-tethering, Wi-Fi hotspot
41
2.3 - 2.3.2
(Gingerbread) 9 6 Desember 2010
Garbage Collector,
Gyroscope, Barometer, NFC
2.3.3 - 2.3.7
(Gingerbread) 10 9 Februari 2011
Video dan voice chat pada
Google Talk, animasi shadow
pada list scrolling,
penambahan fitur kamera
3.0 (Honeycomb) 11 22 Februari 2011
Peningkatan pada 3D UI,
hardware acceleration,
mendukung multicore
processor (Khusus dibuat
untuk Tablet)
3.1 (Honeycomb) 12 10 Mei 2011
Perubahan UI, konektivitas
aksesoris USB, mendukung
gamepad
3.2 (Honeycomb) 13 15 Juli 2011
Peningkatan dukungan
hardware, optimasi pada
resolusi tablet
4.0 - 4.0.2 (Ice
Cream Sandwich) 14 19 Oktober 2011
Rekam 1080p video, launcher
yang dapat di customize
4.0.3 - 4.0.4 (Ice
Cream Sandwich) 15 16 September 2011
Peningkatan pada graphics,
database, spell-checking, dan
bluetooth, peningkatan
performa kamera, phone
number recognition
4.1 (Jelly Bean) 16 9 Juli 2012
Vsync timing, triple buffering,
resizable widget, peningkatan
voice search, notifikasi yang
expandable
42
4.2 (Jelly Bean) 17 13 November 2012 Penambahan fitur kamera,
wireless display (Miracast)
4.3 (Jelly Bean) 18 24 Juli 2013
Low-energy Bluetooth,
mendukung resolusi 4K,
dukungan OpenGL ES 3.0
4.4 - 4.4.2
(KitKat) 19 31 Oktober 2013
Penggunaan memori
streamline, pengurangan pada
penggunaan heap, NFC Host
Card Emulation
2.6.2 Arsitektur Android
Menurut Krajci dan Cummings (2014: 2) arsitektur Operating System
Android dapat dipecah menjadi 5 bagian besar, yaitu: Applications,
Application Frameworks, Native Libraries, Android Runtime, dan Linux
Kernel.
43
Gambar 2. 10 Arsitektur Operating System Android
1. Applications
Aplikasi berada pada tingkat tertinggi pada arsitektur Android.
Aplikasi merupakan tools yang sangat familiar bagi para pengguna
Android untuk penggunaan sehari-hari, seperti: Browser, Messaging,
e-mail, dan yang lainya. Aplikasi banyak dibuat menggunakan bahasa
pemrograman Java. Aplikasi-aplikasi dapat disebarkan menggunakan
berbagai media, paling umum disebarkan pada Google Play Store,
namun Android memperboleh kan untuk melakukan instalasi melalui
USB connection ataupun SD card.
2. Application Framework
Android menyediakan tools bagi para developer untuk dapat
mengembangkan aplikasi yang ekstensif, interaktif, kaya akan grafis
kepada pengguna, dan ditargetkan untuk disebarkan melalui media
44
Google Play Store. Semua developer memiliki hak akses yang sama
untuk mengakses API yang digunakan pada core aplikasi, dan juga
library Java lainnya.
3. Native Libraries
Native Libraries merupakan bagian yang berada di level yang sama
dengan Android Runtime. Native Libraries merupakan binaries
C/C++ yang sudah di compile dan di install, serta dibutuhkan oleh
System Android. Berikut merupakan Native Libraries yang paling
menonjol dan fungsinya didalam Android:
a. Surface Manager
Surface Manager digunakan untuk mengatur tampilan di setiap
device, serta melakukan berbagai macam fungsi untuk membantu
Operating System Android tetap lancar seperti: off-screen
buffering dan transisi.
b. SQLite
Database yang digunakan untuk penyimpanan data pada Android.
Database SQLite disimpan pada memori internal, sehingga SD
card dapat dimanipulasi tanpa kehilangan informasi penting.
c. WebKit
WebKit merupakan library yang memungkinkan HTML untuk
dapat di render dan ditampilkan pada perangkat Android dengan
cepat dan efisien. Ini merupakan browser engine default pada
System Android.
d. OpenGL/ES
Engine OpenGL melakukan proses grafik pada Android. OpenGL
dapat melakukan render terhadap obyek 2D maupun 3D di
Android, serta mendukung hardware acceleration pada perangkat
yang memiliki graphic chip tersendiri.
4. Android Runtime
Didalam Android Runtime terdapat 2 komponen utama: Core
Libraries dan Dalvik Virtual Machine. Core Libraries berisi library
Java yang disediakan oleh Android. Dalvik Virtual Machine adalah
45
hasil implementasi Google terhadap Java yang di optimasi pada
penggunaan perangkat mobile.
5. Linux Kernel
Level terakhir pada arsitektur Android adalah Linux Kernel. Pada
awalnya Android dibuat berdasarkan Linux 2.6 Kernel, dengan
beberapa optimasi untuk perangkat mobile, namun dalam
pengembangannya sekarang sudah digunakan Linux 3.1 Kernel. Linux
Kernel menyediakan akses ke hardware sedekat mungkin, karena itu
driver diletakkan pada Kernel Space supaya dapat beroperasi secepat
dan seefisien mungkin.
2.7 Augmented Reality
Konsep Augmented Reality pertama kali disebutkan di tahun 1990 oleh
Thomas Caudell, seorang teknisi Boeing, yang menyatakan “indirect view of
the physical world”. Gambar ditangkap menggunakan kamera yang telah
dikalibrasi, kemudian komputer menambahkan informasi dengan gambar.
Hanya saja Augmented Reality dilakukan secara real-time.
Menurut Azuma (1997: 2) Augmented Reality merupakan variasi dari
Virtual Environment, atau yang lebih dikenal sebagai Virtual Reality. Berbeda
dari Virtual Reality, Augmented Reality memungkinkan pengguna untuk
melihat dunia nyata dengan obyek maya atau virtual. Konsep Augmented
Reality lebih menekankan terhadap menambah benda virtual dibandingkan
dengan mengganti obyek yang ada di dunia nyata dengan virtual.
2.7.1 Penggunaan Augmented Reality
Pada teknologi Augmented Reality terdapat beberapa macam
penggunaan, berikut merupakan beberapa penggunaan Augmented Reality:
1. Markerless AR
Markerless AR merupakan implementasi teknologi Augmented Reality
tanpa menggunakan special marker sebagai obyek tracking. Markerless
tracking adalah Augmented Reality yang digunakan untuk melakukan
46
tracking suatu obyek di dunia nyata tanpa special marker, contohnya
yaitu Face Recognition pada berbagai macam perangkat Android.
Gambar 2. 11 Contoh Penggunaan Markerless AR
2. Gravimetric AR
Gravimetric AR merupakan teknologi yang menggunakan gravimeter
perangkat untuk menentukan posisi dari pengguna dan orientasinya.
Teknologi ini akan mencari data dari obyek yang menjadi fokus pada
kamera perangkat seiring dengan pergerakan kamera tersebut,
sehingga apabila pengguna menggerakkan perangkat maka informasi
baru akan muncul.
Gambar 2. 12 Contoh Penggunaan Gravimetric AR
3. Fiduciary Markers
Fiduciary Markers merupakan teknologi Augmented Reality yang
menggunakan special marker untuk menambahkan obyek maya ke
dalam dunia nyata. Penggunaannya adalah dengan mengatur fokus
kamera perangkat ke arah special marker tersebut, apabila marker
dikenali maka obyek maya akan ditambahkan diatas marker tersebut.
Program akan dapat menangkap orientasi dari special marker
tersebut, sehingga apabila perangkat bergerak obyek maya yang
ditambahkan akan tetap mengikuti orientasi dari special marker
tersebut.
47
Gambar 2. 13 Contoh Fiduciary Marker
2.8 Java
Java adalah bahasa pemrograman berorientasi objek murni yang
diciptakan oleh James Gosling pada tahun 1991 ketika ia masih menjadi
developer dari Sun Microsystem. Java dikembangkan dengan model bahasa
yang mirip dengan C++ namun dirancang agar lebih mudah dan dapat
digunakan dalam beberapa jenis Operating System dan arsitektur komputer.
Menurut Jeff Friesen (2014: 2) ada beberapa persamaan dan perbedaan
antara bahasa pemrograman Java dengan C++, berikut adalah beberapa
persamaan tersebut :
a. Java dan C++ sama sama memiliki Self Documentation
menggunakan satu atau banyak baris.
b. Beberapa reserved words pada bahasa pemrograman Java, juga
merupakan reserved words pada C++.
c. Java mendukung character, double precision floating-point,
floating-point, integer, long integer, serta beberapa variable
seperti char, double, float, int, long, dan short reserved words
d. Java juga memiliki beberapa jenis operator seperti operator
matematika (+, -, *, /) dan operator kondisi (?:)
e. Sama seperti C++, Java menggunakan curly bracket ({ dan })
sebagai pemecah blok antar statement.
48
Berikut ini adalah perbedaan bahasa pemrograman Java dengan
bahasa pemrograman C++ :
a. Java mendukung jenis komentar untuk Self Documentation yang
bernama Javadoc.
b. Java memiliki beberapa reserved words yang tidak dimiliki C++.
c. Java tidak membutuhkan machine-specific knowledge.
d. Java memiliki operator yang tidak dimiliki C++.
e. Pada bahasa pemrograman Java, Developer dapat menambah
label pada statement break dan continue.
Java bisa disebut juga sebagai platform yang terdiri dari virtual
machine dan execution environment. Virtual machine adalah sebuah software
based processor yang merepresentasikan sebuah set instruksi, tetapi biasanya
mereferensikan kepada Java Virtual Machine (JVM). Execution environment
terdiri dari beberapa library untuk menjalankan sebuah program dan untuk
berinteraksi dengan operating system yang bersangkutan.
Sebuah Program Java yang dikenal sebagai Compiler Java dapat
menerjemahkan sebuah source code menjadi object code berisi instruksi-
instruksi yang sudah dieksekusi oleh JVM dan assosiated data. Instruksi ini
lebih dikenal sebagai bytecode. Berikut adalah bagan yang menggambarkan
penerjemahan dari source code menjadi object code.
Gambar 2. 14 Bagan Penerjemahan Source Code menjadi Object Code
49
2.8.1 Edisi Java
Java juga memiliki beberapa edisi yang dapat digunakan Developer
untuk membuat program Java yang dapat dijalankan di desktop, web
browser, mobile dan lain lain.
a. Java Platform, Standard Edition (Java SE)
Platform Java untuk membuat aplikasi stand-alone programs yang
dijalankan pada desktop. Java SE juga digunakan untuk mendevelop
applets yang digunakan pada web browsers.
b. Java Platform, Enterprise Edition (Java EE)
Platform java untuk mengembangkan aplikasi dan servlet berbasiskan
enterprised. Java EE juga dibuat menggunakan Java SE.
c. Java Platform, Micro Edition (Java ME)
Platform Java untuk mengembangkan MIDlets, yaitu program yang
dijalankan pada embedded devices seperti mobile dan Xlets.
2.9 XML
XML pertama kali disarankan oleh W3C (World Wide Web Consortium)
yang kemudian digunakan untuk keperluan pertukaran data dari berbagai jenis
system. Tujuan dibuatnya XML adalah untuk dapat menyimpan data dengan
ringan, ringkas dan mudah diatur sehingga transfer data dapat dilakukan
dengan cepat. XML juga digunakan untuk memberikan view database tetapi
dengan penulisan yang sudah ditetapkan.
Menurut Michael Fitzgerald (2005: 2) XML sebenarnya merupakan
bentuk simplified dari Standard Generalized Markup Language (SGML),
sebuah standar dokumentasi internasional yang muncul di tahun 1980an.
Namun SGML terlalu rumit untuk Web, karena itu dibuatlah XML. XML
merupakan sebuah meta language yang memungkinkan developer untuk
membuat dan melakukan format sendiri dari sebuah markup dokumen.
50
Dokumen XML terdiri dari satu atau lebih element. Element terdiri dari 2
tag, opening tag yang ditandai dengan tanda less-than (<) dan greater-than (>),
serta closing tag yang ditandai dengan tanda yang sama dengan opening tag
namun ditambahkan tanda forward slash (/) sebelum nama element.
Menurut Laurent (2005: 4) XML memiliki beberapa aturan yang berlaku
dalam penulisan, yaitu:
a. Case Sensitive
b. Value sebuah attribute harus berada dalam quotation marks
c. Element non-empty harus berada diantara opening dan closing tag
d. Tags harus di-nested secara benar
2.10 DroidAR
DroidAR merupakan framework Augmented Reality yang dibuat
menggunakan bahasa pemrograman Java untuk sistem operasi Android.
DroidAR merupakan sebuah produk dari pengembang software yang bernama
Bitstars, sebuah perusahaan yang bertempat di Jerman. Dengan lisensi Open
Source, DroidAR dapat dengan mudah diimplementasikan mengikuti keinginan
developer dan masing masing developer dapat menambah fitur lainnya
membantu pengembangan library tersebut.
DroidAR dapat mengaplikasikan dua jenis Augmented Reality, yaitu
Location Based Augmented Reality dan Marker Based Augmented Reality.
Location Based merupakan jenis Augmented Reality dengan menggunakan
lokasi sebenarnya agar element yang ditambahkan dapat terlihat lebih nyata.
Marker Based adalah jenis Augmented Reality dengan menggunakan sebuah
marker / penanda yang kemudian secara digital akan ditambahkan sebuah
element.
51
2.11 AppWarp
Appwarp merupakan sebuah library yang digunakan untuk mengatasi
masalah multiplayer dalam berbagai platform. Saat ini, Appwarp dapat
digunakan ke lebih dari 10 platform dimana salah satunya adalah Android.
Cara kerja Appwarp dapat dijabarkan menjadi 4 buah proses yaitu :
1. Pemain akan tersambung ke Appwarp melalui permainan yang dibuat
2. Pemain akan masuk kedalam Room tertentu
3. Mengirimkan pesan untuk semua pemain yang berada di Room
tersebut
4. Handle pesan yang dikirimkan dari pemain lain
Beberapa fitur tambahan Appwarp selain untuk real-time multiplayer
adalah, Appwarp menyediakan Leaderboard yang dapat digunakan untuk
merangking pemain dari tingkat progressnya. Fitur lainnya adalah Reward
management yang digunakan untuk memberikan Reward dari progress yang
dilakukan oleh pemain, juga terdapat fitur Push Notifications yang dapat
memberitahukan pemain tentang berita terbaru meskipun pemain sedang
berada di luar permainan.
2.12 Google API
Application Programming Interface adalah suatu antar muka dari sebuah
aplikasi yang memungkinkan aplikasi lain untuk dapat berkomunikasi dengan
aplikasi tersebut. Google API adalah suatu antar muka yang dapat ditambahkan
pada aplikasi untuk mengakses atau menjalankan fitur yang disediakan oleh
Google. Ada banyak API yang disediakan oleh Google, salah satunya adalah
Google Maps API.
Google Maps API adalah API yang memungkinkan developer untuk
melakukan embed Google Maps kedalam aplikasi yang sedang dibuat. Google
Maps API dibuat dan didesain untuk bekerja pada perangkat mobile dan
browser pada desktop.
52
2.13 Hasil Penelitian Sebelumnya
Penelitian yang dilakukan mengenai bahan yang terkait dengan
perancangan permainan Pokemon ARventure adalah penelitian terhadap:
Location Based Game, Augmented Reality Pada Smartphone, dan Augmented
Reality Location Based Game.
2.13.1 Location Based Game
Menurut Jacob dan Fernando Coelho (2011: 2) Location based game
adalah sebuah permainan yang menggunakan lokasi sebenarnya dari
pemain. Location based game biasanya menggunakan sensor GPS sebagai
input untuk mengakses informasi dari suatu lokasi yang spesifik. Salah satu
contoh location based game yang populer adalah Pac-Manhattan, sebuah
game yang mengadaptasi cara bermain permainan Pac-Man. Labirin yang
digunakan pada permainan Pac-Manhattan merupakan representasi dari
blok-blok yang ada di Manhattan secara nyata. Untuk memainkan
permainan ini diperlukan 10 orang yang berperan sebagai Pac-Man dan
Ghost, dan semua pemain diharuskan untuk bergerak dalam jangkauan kota
Manhattan. Dengan adanya kesuksesan dari beberapa location based game,
maka semakin banyak bermunculan platform untuk location based games.
Dalam pengembangannya location based game banyak dibuat untuk
perangkat-perangkat mobile, dengan alasan supaya lebih meudahkan
pemain untuk bergerak kemana-mana.
Pada location based game terdapat hal-hal yang harus diperhatikan
seperti keterbatasan hardware. Location based game lebih banyak yang
mengandalkan sinyal GPS untuk menentukan loksi pemain, karena itu hal
ini menandakan keterbatasan pemain karena terdapat beberapa daerah
dengan sinyal GPS yang kurang bagus. Untuk mengatasi permasalahan
seperti ini terdapat pengembangan sensor lokasi menggunakan A-GPS.
Menurut Zandbergen dan Barbeau (2011: 383) A-GPS atau Assisted-GPS
merupakan sebuah teknologi perkembangan GPS yang banyak digunakan di
area jaringan perangkat mobile. Dalam sistem A-GPS informasi berguna
disediakan oleh jaringan selular yang dapat membantuk GPS receiver untuk
53
dapat menentukan posisi secara lebih akurat dan cepat. A-GPS
menggunakan lebih dari satu sumber ketika melakukan kalkulasi posisi dari
perangkat tersebut, untuk mendapatkan posisi yang valid.
2.13.2 Augmented Reality Pada Smartphone
Menurut Leila Alem (2011: 1) Augmented Reality telah digunakan di
berbagai macam bidang seperti: edukasi, engineering, dan juga
entertainment. Sebagai contoh gamers dapat melihat monster virtual
muncul pada sebuah kartu permainan dan bertarung bersamadengan
monster virtual tersebut.
Menurut Billinghurst dan Thomas (2011: 3) saat ini perangkat mobile
seperti smartphone Android sudah semakin powerful seperti sebuah
desktop computer di masa yang lalu. Smartphone modern menggabungkan
CPU yang cepat, perangkat grafis, layar yang besar, kamera ber-resolusi
tinggi, sensor seperti GPS, compass, dan juga gyroscope. Hal ini membuat
smartphone modern sebagai platform yang tepat untuk Augmented Reality.
Terdapat beberapa standar hardware yang diperlukan oleh sebuah
smartphone untuk dapat menjalankan teknologi Augmented Reality dengan
lancar, seperti:
1. Processor
CPU (Central Processing Unit) yang digunakan untuk memproses
input dari pengguna, gambar video, dan menjalankan simulasi atau
animasi dari aplikasi.
2. Graphic Hardware
GPU (Graphical Processing Unit) untuk menampilkan gambar
virtual.
3. Camera
Perangkat kamera untuk menangkap gambar video secara live, yang
akan digunakan untuk AR tracking atau menambahkan gambar
virtual kedalam gambar video.
54
4. Display Hardware
Perangkat untuk menampilkan gabungan dari gambar virtual dengan
gambar dari dunia nyata, dapat berupa handheld, head mounted,
ataupun projected display.
5. Networking
Wireless atau jaringan selular yang dapat mendukung perangkat
untuk mengambil informasi dari sumber data.
6. Sensor Hardware (optional)
Tambahan sensor seperti GPS, compass, atau gyroscope dapat
digunakan untuk menentukan posisi pengguna dan orientasinya di
dunia nyata.
2.13.3 Augmented Reality Location Based Game
Menurut Dixon, Kiani, dan Ikram (2013: 3) perancangan sebuah
permainan Augmented Reality Location Based memiliki keterbatasan,
terutama pada desain permainan dan interaksi pemain. Keterbatasan
tersebut ditimbulkan karena faktor software dan hardware yang memiliki
batas untuk dapat mendukung permainan Augmented Reality yang
interaktif. Keakuratan GPS menjadi sebuah variabel penting dan memiliki
pengaruh pada penempatan obyek virtual. Perbedaan ukuran layar juga
mempengaruhi kualitas pengalaman interaktif yang dapat dirasakan pemain.
Untuk mengatasi keterbatasan ini dapat dilakukan dengan membuat
desain permainan yang interaksinya simpel. Menurut Dixon (2013: 5)
interaksi pada interface Augmented Reality sebaiknya dibuat dengan syarat
"one-click", dan membuat pemain hanya perlu menentukan untuk
berinteraksi dengan obyek atau tidak. Dengan interaksi yang simpel,
permainan ditujukan untuk menikmati lingkungan Augmented Reality dan
perjalanan yang dilakukan saat memainkan permainan Augmented Reality
Location Based.