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. 9
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 prinsipprinsip 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 autocomplete). 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 RolePlaying adalah Live-Action Role-Playing: a. Live-Action Role-Playing adalah sebuah jenis dari RolePlaying 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
kemampuan
pergerakan
untuk
memainkannya.
yang
tinggi.
melakukakan
Biasanya
menggunakan
Membutuhkan
management sistem
dalam
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 kepada anggota tim.
menggunakan informasi yang dikomunikasikan
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
Notasi ini menggambarkan awal proses dari activity diagram Initial Node
Notasi ini menggambarkan sebuah aktivitas yang jika disusun secara keseluruhan akan menggambarkan keseluruhan aktivitas dalam activity diagram Actions Notasi ini menggambarkan jalannya aktivitas dalam activity diagram. Jika notasi ini keluar dari decision Flow
dibutuhkan kata-kata untuk mengidentifikasikannya.
Notasi ini menggambarkan keadaan bersyarat, yaitu decision dan merge. Decision/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 ini dalam merge dan menggabungkannya menjadi Notasi menggambarkan akhir proses dari activity diagram
Activity Final
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<
> -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 Dapat digunakan oleh semua
+ Public
kelas yang berhubungan.
Hanya dapat digunakan oleh # Protected
kelas itu dan kelas turunannya.
Hanya dapat digunakan kelas itu Private
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:
Version
Tabel 2. 3 Tabel Keluaran Android API Tanggal keluaran Penambahan Fitur Level Speakerphone dialpad dan
1.1 (Astro)
2
9 Februari 2009
penyimpanan attachment message Rekam video dan mendukung
1.5 (Cupcake)
3
30 April 2009
format MPEG-4 serta 3GP, penggunaan home screen, animasi perpindahan halaman GestureBuilder Development Tools, pengintegrasian
1.6 (Donut)
4
15 September 2009
camera-camcorder-gallery, mendukung resolusi layar WVGA, pembaharuan search Live wallpaper, fitur pada kamera, pembelajaran pada
2.0 (Eclair)
5
26 Oktober 2009
pemilihan kata pengguna, Google Maps 3.1.2, Bluetooth 2.1
2.0.1 (Eclair)
6
3 Desember 2009
2.1 (Eclair)
7
12 Januari 2010
2.2 - 2.2.3 (Froyo)
Perubahan minor pada API, memperbaiki bug Perubahan minor pada API, memperbaiki bug Chrome V8 sebagai browser,
8
20 Mei 2010
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 Video dan voice chat pada
2.3.3 - 2.3.7 (Gingerbread)
10
9 Februari 2011
Google Talk, animasi shadow pada list scrolling, penambahan fitur kamera Peningkatan pada 3D UI, hardware acceleration,
3.0 (Honeycomb)
11
22 Februari 2011
mendukung multicore processor (Khusus dibuat untuk Tablet) Perubahan UI, konektivitas
3.1 (Honeycomb)
12
10 Mei 2011
aksesoris USB, mendukung gamepad Peningkatan dukungan
3.2 (Honeycomb)
13
15 Juli 2011
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 Peningkatan pada graphics,
4.0.3 - 4.0.4 (Ice Cream Sandwich)
database, spell-checking, dan 15
16 September 2011
bluetooth, peningkatan performa kamera, phone number recognition Vsync timing, triple buffering,
4.1 (Jelly Bean)
16
9 Juli 2012
resizable widget, peningkatan voice search, notifikasi yang expandable
42 4.2 (Jelly Bean)
17
13 November 2012
Penambahan fitur kamera, wireless display (Miracast) Low-energy Bluetooth,
4.3 (Jelly Bean)
18
24 Juli 2013
mendukung resolusi 4K, dukungan OpenGL ES 3.0 Penggunaan memori
4.4 - 4.4.2
19
(KitKat)
31 Oktober 2013
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.