BAB 2 TINJAUAN PUSTAKA
2.1 Teori Yang Berkaitan Dengan Interactive Multimedia 2.1.1 Multimedia Multimedia adalah gabungan dari elemen teks, gambar, suara, video, dan animasi yang dimanipulasi secara digital. Apabila end-user dapat berinteraksi dengan elemen-elemen yang disampaikan, multimedia disebut dengan multimedia interaktif. Jika terdapat struktur dari elemen-elemen dimana end-user dapat bernavigasi, multimedia interaktif akan berubah menjadi hypermedia. (Vaughan, 2011, p. 1). Menurut Tay Vaughan multimedia terdiri dari 5 elemen, yaitu : •
Teks Teks adalah suatu media yang menyalurkan informasi, dimana satu kata bisa mengandung berbagai macam makna. Oleh karena itu, jika kita ingin memakai teks dalam menyalurkan informasi, terlebih dahulu kita harus menggunakan kata-kata yang akurat, singkat, padat, dan jelas. (Vaughan, 2011, p. 20).
Karakteristik teks terbagi menjadi 2 bagian besar, yaitu serif dan san serif. Jenis serif memiliki dekoratif disetiap akhir huruf yang membantu pembaca lebih gampang dalam membaca kata-kata dalam paragraf. Jenis serif banyak digunakan untuk dokumen atau layar yang menggunakan banyak tulisan. Contohnya : Times New Roman, Century, Bookman. Sedangkan Jenis san serif tidak memiliki dekoratif pada setiap huruf, sering digunakan untuk tampilan pada layar komputer. Contohnya : Helvetica, Verdana, Arial. (Vaughan, 2011, p. 25).
5
6 •
Gambar Gambar memiliki peranan yang penting dalam merepresentasikan multimedia secara visual. Elemen grafis biasanya dapat diatur berdasarkan ukuran, warna, transparansi, urutan letak gambar, dan dapat diatur jika ingin memunculkan atau menghilangkan gambar tersebut. (Vaughan, 2011, p. 68). Gambar dibedakan menjadi 2 jenis, yaitu : − Bitmap Bitmap merupakan matriks sederhana yang terdiri dari titiktitik yang membentuk sebuah gambar dan ditampilkan pada layar komputer atau tercetak. (Vaughan, 2011, p. 71). − Vector Vector merupakan kumpulan garis yang membentuk sebuah gambar, dimana setiap garis dideskripsikan oleh posisi 2 titik akhir berdasarkan Cartesian coordinates. (Vaughan, 2011, p. 80).
•
Suara Suara merupakan elemen yang paling sensual didalam multimedia. Suara dapat memberikan kenikmatan dalam mendengarkan musik, aksen yang dapat menekankan pada sesuatu yang khusus, atau pengaturan efek suasana hati pada suatu peristiwa. Penggunaan musik yang tepat dapat mengisi hati pengguna, meningkatkan emosi cinta, atau membuat pendengar lebih dekat dengan surga. Tetapi jika salah dalam menggunakan musik dapat menghancurkan proyek multimedia (Vaughan, 2011, p. 104). Suara secara umum terbagi menjadi 2 bagian, yaitu : − Digital Sound Digital sound dibuat dengan merepresentasikan sebuah gelombang suara menjadi angka, proses ini disebut dengan digitizing. Suara digital dapat dibuat dengan menggunakan mikrofon, synthesizer, rekorder, siaran radio dan televisi, CD atau DVD Player. (Vaughan, 2011, p. 106). − MIDI Audio (Musical Instrument Digital Interface) MIDI merupakan sebuah standar komunikasi untuk elektronik instrumen musik dan komputer dengan menggunakan kabel yang
7 terhubung antar perangkat. MIDI menyediakan protokol untuk mengirimkan detail dari musik, seperti not, urutan not, dan instrumen yang akan dimainkan dari not tersebut. (Vaughan, 2011, p. 114). •
Animasi Animasi membuat presentasi yang kaku menjadi terlihat lebih hidup. Gambar yang dihasilkan berubah setiap waktu dan dapat menambahkan kekuatan dalam projek multimedia dan halaman web. Animasi terjadi dikarenakan fenomena biologi yang dikenal dengan persistence of vision dan fenomena psikologi yang biasanya disebut dengan phi.Dimana sebuah objek yang dilihat oleh mata manusia secara kimiawi masih tertinggal di retina setelah melihat objek tersebut, dan digabungkan dengan pikiran manusia yang secara konseptual ingin menyelesaikan serangkaian aksi kejadian. Hal ini memungkinkan sederet gambar mengalami perubahan yang sedikit dan cepat yang terlihat menyatu seperti ilusi pergerakan (Vaughan, 2011, p. 141).
•
Video Video merupakan hasil dari teknik yang memproses sinyal elektronik menjadi serangkaian gambar yang bergerak. Video memiliki permintaan memori penyimpanan yang besar, sehingga untuk mendapatkan memori penyimpanan yang lebih kecil, dibutuhkan kompresi yang disebut dengan codec. Codec dapat mengkompres gambar pada video menjadi data yang berukuran lebih kecil tetapi tetap menghasilkan kualitas video yang baik. (Vaughan, 2011, p. 164).
2.1.2 Interaksi Manusia dan Komputer Interaksi Manusia dan Komputer merupakan ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif yang digunakan oleh manusia. (Shneiderman, 2010, p. 8). Menurut Shneiderman (2010, p. 88) dalam merancang suatu desain antarmuka, terdapat aturan yang disebut dengan Eight Golden Rules of User Interface, yaitu :
8 1. Berusaha untuk konsisten Konsisten dalam sesuatu yang mirip, seperti jenis tulisan, menu, warna, layout, dan ukuran. 2. Universal usability Sebuah sistem yang dibuat harus mengenali kebutuhan kebutuhan pengguna. Pengguna yang menggunakan sistem tersebut ada yang pemula dan ada yang ahli. Gunakan icon yang sudah diketahui secara umum untuk pengguna yang pemula agar lebih gampang digunakan dan memberikan fitur shortcut kepada pengguna yang telah ahli. 3. Umpan balik yang informatif Untuk setiap aksi yang dilakukan oleh pengguna harus diberikan umpan balik yang informatif untuk menunjukkan bahwa sistem telah menjalankan aksi yang dilakukan pengguna. Untuk aksi-aksi yang sederhana atau sering dilakukan, umpan balik dapat bersifat sederhana. Sedangkan untuk aksi-aksi yang penting dan jarang dilakukan, umpan balik harus lebih detail dan substansial. 4. Merancang dialog penutupan Urutan aksi yang dirancang terbagi menjadi awal, tengah, dan akhir. Pada bagian akhir, harus diberikan pesan yang informatif, agar pengguna tahu bahwa tindakan yang dilakukan telah selesai. 5. Mencegah kesalahan dan penanganan yang sederhana Merancang sistem agar pengguna tidak melakukan kesalahan yang fatal. Jika terjadi kesalahan, sistem harus memberitahukan kesalahan kepada pengguna dan memberikan tindakan yang harus dilakukan pengguna agar dapat memperbaiki kesalahan yang dibuat. 6. Memungkinkan pembalikan aksi Merancang sistem yang dapat kembali ke kondisi semula, agar pengguna dapat melakukan eksplorasi pada sistem dan tidak takut dalam melakukan sesuatu. 7. Mendukung internal kontrol Merancang sebuah sistem yang harus bisa dikontrol oleh pengguna. Agar pengguna tidak merasa sistem yang mengontrol pengguna, dan halhal yang diinginkan pengguna harus ada di dalam sistem tersebut.
9 8. Mengurangi beban ingatan jangka pendek Daya ingat setiap orang berbeda-beda, sehingga rancangan tampilan harus mudah dimengerti, sederhana, dan gunakan simbol-simbol yang telah umum agar gampang diingat pengguna. Menurut Shneiderman (2012, p. 32), 5 faktor manusia terukur, yaitu : 1. Waktu untuk belajar Berapa lama waktu yang dibutuhkan pengguna untuk mempelajari sesuatu agar dapat menjalankan sistem atau tugas. 2. Kecepatan kinerja Berapa lama waktu yang dibutuhkan untuk menyelesaikan tugas. 3. Tingkat kesalahan Berapa banyak kesalahan yang dilakukan oleh pengguna. Walaupun kesalahan tersebut dapat diperbaiki, tetapi waktu yang dibutuhkan untuk menyelesaikan tugas tersebut akan terpengaruh. 4. Daya ingat Berapa
lama
daya
ingat
pengguna
untuk
mempertahankan
pengetahuannya dalam jangka waktu tertentu. 5. Kepuasan subjektif Seberapa puaskah pengguna menggunakan sistem tersebut. Hal ini bisa didapat melalui survei yang bersifat komentar pengguna terhadap sistem.
2.1.3 Storyboard Storyboard merupakan deskripsi keseluruhan proyek dengan menggunakan kata-kata dan sketsa untuk setiap pilihan gambar di layar, suara, pilihan navigasi, warna dan shades, teks, atribut, font, bentuk tombol, style, respon, dan nada suara. (Vaughan, 2011, p. 295). Navigasi pada Storyboard terdiri dari 4 macam, yaitu : 1. Linear navigation Pada linear navigasi, user menavigasi suatu frame secara berurutan dari satu frame ke frame lainnya.
Gambar 2.1 Linear Navigation (Vaughan, 2011, p. 297)
10
2. Hierarchical navigation Hierarchical juga disebut sebagai linear bercabang, karena user menavigasi frame sepanjang struktur cabang pohon seperti bentuk pohon secara alami.
Gambar 2.2 Hierarchical Navigation (Vaughan, 2011, p. 297)
3. Nonlinear navigation Pada nonlinear, user menavigasi secara bebas sesuai isi proyek, tidak mengikuti rute yang telah ditentukan.
Gambar 2.3 Nonlinear Navigation (Vaughan, 2011, p. 297) 4. Composite navigation Pada composite, user menavigasi secara bebas (nonlinear), tetapi terkadang terbatas untuk presentasi frame yang bersifat linear atau informasi yang bersifat kritis dan untuk data yang logis dikelompokkan dalam hierarchy.
Gambar 2.4 Composite Navigation (Vaughan, 2011, p. 297)
11 2.1.4 UML (Unified Modelling Languange) UML adalah sebuah kumpulan ketentuan permodelan yang digunakan untuk menspesifikasikan atau menggambarkan sebuah perangkat lunak yang terkait dengan objek. (Whitten & Bentley, 2007, p. 371). Berikut merupakan beberapa komponen yang dalam UML : 1. Use Case Diagram Use
case
diagram
menggambarkan
siapa
saja
yang
akan
menggunakan sistem dan bagaimana cara berinteraksi antar pengguna dan sistem. Use case diagram juga dapat menggambarkan urutan langkah setiap interaksi. Use case diagram secara umum terbagi menjadi 3 bagian umum, yaitu :
Gambar 2.5 Use Case Diagram (Whitten & Bentley, 2007, p. 246)
a. Actor Actor merupakan pengguna yang berinteraksi dengan aktivitas sistem, dengan tujuan menyelesaikan tugas-tugas dan menukar informasi. b. Relationship Relationship digambarkan dengan sebuah garis antara dua simbol pada use case diagram yang menjelaskan hubungan antar simbol.
12 c. Use Case Use case memiliki suatu tujuan yang merupakan fungsi dari hubungan aktor dan sistem.
2. Activity Diagram Activity diagram menggambarkan urutan sekuensial dari proses use case diagram. Activity diagram juga dapat digunakan untuk memodelkan logika dari suatu sistem.
Tabel 2.1 Komponen Activity Diagram Komponen
Simbol
Pengertian
Inital node
Awal dari sebuah proses.
Actions
Tugas yang akan dilakukan.
Flow
Menunjukkan
kegiatan
yang
menghasilkan keputusan. Decision
Kegiatan sebuah kejadian yang menyangkut keputusan.
Fork
Tindakan yang dilakukan secara bersamaan.
Join
Akhir
dari
tindakan
yang
dilakukan secara bersamaan. Activity Final
Akhir dari sebuah proses.
3. Sequence Diagram Sequence
diagram
menggambarkan
bagaimana
objek
yang
berinteraksi satu sama lain dalam sistem melalui pesan yang sedang berjalan pada use case. 4. Class Diagram Class diagram merupakan gambaran dari struktur dan objek dari sistem. Class diagram menampilkan hubungan objek yang satu dengan
13 objek yang lainnya dengan relasi yang disebut generalisasi, asosiasi, dan agregasi. a. Genelarization Hubungan antara super class (parent) dengan sub class (child). Super class adalah class yang berisi atribut umum, sedangkan sub class adalah class yang berisi atribut khusus tetapi memiliki atribut turunan parent-nya dan memiliki atributnya sendiri. b. Aggregation / Composition Aggregation merupakan hubungan yang tidak simetris, dimana objek A merupakan bagian dari objek B, tetapi objek B bukan bagian dari objek A, sedangkan Composition merupakan hubungan yang simetris, dimana objek A merupakan bagian dari objek B, dan objek B merupakan bagian dari objek A. c. Association Merupakan hubungan antar class dan menggambarkan suatu class yang memiliki atribut class lain. Class diagram memiliki istilah cardinality yang berarti hubungan antar suatu class dengan class yang lain. Berikut merupakan jenis-jenis cardinality :
14 Tabel 2.2 Cardinality
2.1.5 Rekayasa Perangkat Lunak Menurut Pressman (2010, p. 13), rekayasa perangkat lunak merupakan pembentukan dan penggunaan prinsip untuk mendapatkan software yang handal, ekonomis, dan dapat bekerja secara efisien.
2.1.6 Metode Scrum Metode Scrum merupakan metode pengembangan dari software agile yang ditemukan oleh Jeff Sutherland dan timnya pada tahun 1990-an, dan dikembangkan lebih lanjut dalam metode scrum yang dilakukan oleh Schwaber dan Beedle. (Pressman, 2010, p. 82). Prinsip scrum merupakan pedoman dalam pengembangan suatu aktifitas yang menggabungkan framework, antara lain : kebutuhan, analisis, desain, evolusi, dan pengiriman. Berikut merupakan alur proses pada metode scrum :
15
Gambar 2.6 Alur Proses Metode Scrum (http://www2.mokabyte.it/cms/article.run?permalink=mb167_metodoagile-3)
Scrum memiliki aktifitas yang meliputi : 1. Backlog Backlog merupakan sebuah daftar prioritas kebutuhan proyek yang dibutuhkan oleh klien dan daftar yang dibuat bisa diubah setiap saat. 2. Sprints Sprints merupakan pekerjaan yang diperlukan untuk mencapai kebutuhan yang ditetapkan dalam backlog sesuai dengan waktu yang telah ditentukan (biasanya 30 hari). Selama proses ini berlangsung, backlog tidak terjadi perubahan. 3. Scrum Meeting Scrum Meeting merupakan pertemuan 15 menit yang dilakukan setiap hari oleh tim untuk evaluasi apa yang akan dikerjakan, hambatan yang ada, dan target penyelesaian untuk bahan meeting selanjutnya. 4. Demos Demos merupakan aktifitas penyerahan software kepada klien untuk didemonstrasikan dan dievaluasi oleh klien. Demo yang ditunjukkan berisi fungsionalitas yang telah diimplementasi sesuai dengan waktu yang telah ditentukan.
16
2.1.7 IMSDD Berikut merupakan tahapan IMSDD (Dastbaz, 2003, p. 130) :
Gambar 2.7 IMSDD Cycle (Dastbaz, 2003, p. 131)
1. System Requirements Tahap ini sama seperti tahapan spesifikasi kebutuhan pada model waterfall dan mengandung elemen-elemen feasibility dan pemilihan hardware seperti model RMM. Pada tahapan ini terdapat fungsi : a. Untuk menyediakan definisi sistem seperti pembuatan outline mengenai tujuan dan sasaran dari sistem yang akan dibuat. b. Untuk memastikan siapakah user dari sistem yang akan dibuat dan jika ada kebutuhan spesifik lain yang perlu dipertimbangkan. c. Mengevaluasi kebutuhan hardware, software, dan authoring tools yang dibutuhkan dan memilihnya secara tepat. d. Pertimbangkan secara tepat delivery platform yang dibutuhkan oleh sistem.
17 2. Design Considerations Tujuan dari langkah ini adalah untuk menggambarkan secara jelas panduan pada detail desain. Tahap ini mencakup : a. Design Metaphor : Memilih sebuah model nyata untuk digunakan sebagai kunci dari solusi desain interface bagi sistem. Contohnya : film, buku, game, dll. b. Information types and formats : Definisikan tipe-tipe informasi yang perlu diintegrasikan ke dalam sistem, misalnya : teks, gambar, animasi, suara, dan video. Contoh : jika kita membuat sistem multimedia interaktif tentang film atau cinema maka format informasi video akan berperan paling banyak. c. Navigational structures : Menerangkan sebuah strategi navigasi yang jelas termasuk struktur hubungan dan fitur-fitur yang mungkin akan menghindari masalah yang berhubungan dengan sistem hypermedia seperti disorientasi. d. System controls : Menjelaskan tipe dan fitur-fitur dari kontrol dan peralatan yang dibutuhkan oleh sistem. 3. Implementation Setelah fitur desain ditentukan, maka tahap implementasi dari sistem dimulai menggunakan multimedia authoring tools. Tahap ini meliputi : a. Membuat prototype dari sistem b. Melakukan beta test terhadap prototype untuk mencari masalah yang mungkin dari kontrol dan desain. 4. Evaluation Pada tahapan ini, sistem dievaluasi terhadap tujuan sebelumnya. Tipe-tipe evaluasi yang digunakan dapat berupa evaluasi formative atau summative.
2.2 Teori Yang Terkait Tema penelitian 2.2.1 Android Platform Android, yang dikembangkan oleh Google adalah sebuah platform yang dioptimalkan untuk perangkat mobile dengan kombinasi sempurna dari sistem operasi, middleware, dan program aplikasi. Platform Android memilih kebijakan Open Source yang berarti setiap programmer dapat mengembangkan aplikasinya sendiri, dan terdiri dari kernel linux, library, run-time, aplikasi dan
18 aplikasi framework. (Lee & Son, 2012, p. 3) Berikut merupakan gambaran struktur hirarki platform Android dan komponen :
Gambar 2.8 Sistem Konfigurasi Platform Android (Lee & Son, 2012, p. 3)
Linux kernel menggunakan layanan sistem inti seperti linux versi 2.6, yang meliputi keamanan, manajemen memori, manajemen proses, jaringan stack dan driver model. Fungsi kernel adalah sebagai abstraksi lapisan diantara perangkat keras dan perangkat lunak. Libraries terdiri dari C dan C++ dan menyediakan C system library, media library, 3D library, dan lainnya. Aplikasi framework adalah paket komponen yang terdiri dari Java dimana aplikasi dapat dibuat dengan menggunakan paket dari framework. Semua program aplikasi dari platform Android yang dibuat dengan menggunakan Java dan aplikasi yang dibuat, dikonversi menjadi file class melalui Java Compiler. File class tersebut dikonversi sekali lagi ke Dalvik Executable Files sebelum dieksekusi, dan setelah dikonversi, dieksekusi menggunakan Dalvik virtual machine. Format DEX file dioptimalkan untuk pemetaan yang efektif, diantara ruang penyimpanan dan memori. Dalvik virtual machine memiliki karakteristik yang dioptimalkan untuk keterbatasan memori dikarenakan pada dasarnya virtual machine berbasis register.
19 Berikut pengenalan sistem operasi Android yang dirilis dari periode 2009 sampai 2013 (Irawan, 2012, p. 3): − Android 1.1 (Februari 2009) − Android 1.5 Cupcake (April 2009) − Android 1.6 Donut (September 2009) − Android 2.0 / 2.1 Eclair (Oktober 2009 / Januari 2010) − Android 2.2 Froyo (Mei 2010) − Android 2.3 Gingerbread (Desember 2010) − Android 3.0 / 3.1 Honeycomb (Februari 2011 / Mei 2011) − Android 4.0 Ice Cream Sandwich (Oktober 2011) − Android 4.1 / 4.3 Jelly Bean (Juli 2012 / July 2013) − Android 4.4 KitKat (Oktober 2013) Android merupakan smartphone operating system yang berada pada peringkat satu dan iOs pada peringkat dua di seluruh dunia, gabungan 92,3% dari semua pengiriman smartphone selama kuartal pertama 2013 (1Q13) dan Windows Phone menyelinap BlackBerry pada peringkat ke tiga. Menurut International Data Corporation (IDC) di seluruh dunia Quarterly Mobile Phone Tracker, vendor smartphone Android dan Apple mengirimkan total 199.500.000 unit di seluruh dunia selama 1Q13, naik 59,1% dari 125.400.000 unit pengiriman selama 1Q12. (Framingham, 2013). Berikut merupakan data pengiriman pada kuartal pertama tahun 2013 dan 2012 :
20 Tabel 2.3 Top five OS, Shipments, and Market Share, 1Q2013 (Units in Millions) (Framingham, 2013)
2.2.2 Game Menurut Elliot Avedon dan Sutton-Smith, games merupakan permainan yang dapat dimainkan kapan saja, dimana ada kompetisi antar kekuatan, dan dibatasi oleh peraturan-peratuan yang dapat menghasilkan siapa yang menang atau kalah. Menurut Greg Costikyan, games merupakan sebuah permainan yang membuat pemain untuk berjuang mencapai tujuan. Menurut Tracy Fullerton, Chris Swain, dan Steven Hoffman, games merupakan hubungan dari berbagai media di dalam sistem yang melibatkan pemain pada konflik yang terstruktur, dan dapat diselesaikan dengan berbagai cara. Jadi, dari pengertian yang berbeda Jesse Schell (2008,p. 30 - p. 34). mendefinisikan games sebagai berikut : − Games dimainkan secara sadar − Games memiliki tujuan yang jelas − Games memiliki konflik − Games memiliki peraturan-peraturan − Games dapat menang dan kalah − Games adalah media yang interaktif − Games memiliki tantangan
21 − Games dapat menciptakan nilai internal − Games melibatkan pemain − Games merupakan gabungan dari berbagai media dalam sistem
2.2.3 Game Design Game design merupakan aksi yang akan menentukan seperti apa game yang seharusnya dimainkan. (Schell, 2008, p. xxiv) . Berikut merupakan 4 elemen dasar dalam game design. (Schell, 2008, p. 41). 1. Mechanics Mechanics merupakan prosedur dan aturan dalam permainan. Mechanics mendeskripsikan tujuan dari permainan, bagaimana pemain mencapai apa yang harus dicapai, apa yang tidak boleh dilakukan, dan apa yang terjadi jika pemain tersebut melakukannya. 2. Story Story merupakan rangkaian dari kejadian-kejadian yang muncul di dalam permainan. Kejadian yang muncul tersebut bisa linear dan telah ditentukan, atau bercabang dan tidak tentu. 3. Aesthetics Aesthetics menentukan bagaimana permainan terlihat, terdengar, tercium, terasa. Aesthetics merupakan elemen yang penting karena akan berhubungan langsung dengan pemain. 4. Technology Technology merupakan material dan interaksi yang memungkinkan bagaimana game tersebut dimainkan, seperti menggunakan kertas, pensil, plastik, atau laser. Technology menjelaskan bahwa hal apa saja yang dapat dilakukan dan apa yang tidak boleh dilakukan.
22 2.2.4 Game Balancing Game balancing memiliki berbagai macam bentuk, karena setiap game memiliki berbagai macam aspek yang harus dilihat untuk menyeimbangkan permainan. Berikut merupakan tipe-tipe game balancing. (Schell, 2008, p. 172). 1. Fairness − Symmetrical Games Pada game jenis ini, memberikan sumber daya dan kekuatan yang sama pada setiap pemain. − Asymmetrical Games Pada game ini, setiap karakter yang ada memiliki kekuatan yang berbeda-beda. Contohnya :
Tabel 2.4 Perbedaan Kekuatan Tiap Karakter (Schell, 2008,p. 174)
Untuk mengetahui apakah tabel diatas telah seimbang untuk tiap karakter, dapat dilakukan dengan mengkategorikan dengan cara : Low = 1, Medium = 2, dan High = 3, dan setelah dievaluasi akan mendapatkan hasil seperti berikut ini.
Tabel 2.5 Perbedaan Kekuatan Tiap Karakter Setelah Dievaluasi (Schell, 2008, p. 174)
Dapat dilihat pada kolom totals, Hasil evaluasi tiap karakter berbeda dan tidak seimbang. Untuk mendapatkan hasil yang seimbang, hasil dari tIotals tersebut harus memiliki nilai yang sama pada tiap karakter. Contohnya seperti berikut ini.
23 Tabel 2.6 Perbedaan Kekuatan Tiap Karakter Setelah Dievaluasi dan di Seimbangkan (Schell, 2008, p. 174)
− Rock, Paper, Scissors Jenis ini merupakan jenis yang paling gampang, dimana rock mengalahkan scissors, scissors mengalahkan paper, dan paper mengalahkan rock. 2. Challenge vs. Success Jika dalam permainan terlalu menantang, pemain akan menjadi frustasi, tetapi jika permainan itu gampang, pemain akan cepat bosan. Oleh karena itu, sebaiknya tetap mempertahankan pada titik tengah. Ini merupakan hal yang cukup sulit, dikarenakan setiap orang memiliki tingkat kemampuan yang berbeda-beda. 3. Meaningful Choices Menjelaskan bagaimana pemain menggunakan sumber daya yang ada, memfokuskan pada pertahanan atau penyerangan. Permainan yang baik memberikan pilihan yang berarti. Bukan hanya pilihan biasa, dimana pilihan tersebut berdampak pada kejadian yang akan terjadi selanjutnya, dan bagaimana permainan tersebut akan berjalan. Permainan bisa juga menggunakan sistem dimana jika pemain memilih jalur yang resikonya kecil, maka akan mendapatkan hasil yang sedikit. Sebaliknya, jika pemain memilih jalur yang resikonya besar, maka akan mendapatkan hasil yang besar. 4. Skill vs. Chance Penyeimbangan game dengan cara apakah pemain tersebut akan dites pada kemampuannya atau pada keberuntungan seseorang. Kemampuan tersebut diuji pada game yang serius atau casual. 5. Head vs, Hands Tipe ini menekankan pada permainan yang harus menggunakan kekuatan fisik, contohnya : menggunakan simulator balapan, melempar,
24 menekan tombol dengan keras atau cepat, atau menggunakan kekuatan pikiran dalam menyelesaikan teka-teki dan menyusun strategi. 6. Competition vs. Cooperation Competition merupakan kompetisi seorang pemain dengan pemain lain, dimana pemain tersebut harus bertahan hidup dan meningkatkan status dalam komunitas. Sedangkan Cooperation adalah naluri dasar sifat pemain, dimana pemain tersebut bermain dalam tim, mendapatkan kekuatan, dan tentunya bermain secara tim akan lebih menguntungkan dibandingkan bermain sendirian. 7. Short vs. Long Dalam permainan juga harus diperhatikan seberapa lama dalam memainkan permainan tersebut. Jika permainan terlalu cepat,
pemain
tidak mendapatkan kesempatan untuk mengembangkan dan melaksanakan strategi yang berarti, sedangkan jika permainan terlalu lama, pemain akan cepat bosan, atau akan menghindari permainan karena akan memakan banyak komitmen waktu. 8. Rewards Kebanyakan permainan memberikan hadiah jika mencapai skor tertentu,
misalnya
pemain
akan
mendapatkan
tambahan
nyawa,
mendapatkan barang yang langka, dan mendapatkan kesenangan tersendiri jika pemain mendapatkan angka atau skor yang tinggi dibandingkan pemain lainnya. 9. Punishment Punishment hendaknya digunakan secara hati-hati. Pada dasarnya, pemain memainkan sebuah permainan dikarenakan kemauannya sendiri. Penyeimbangan yang tepat, akan memberikan permainan lebih berarti dan pemain akan mendapatkan sensasi yang dapat membanggakan pemain itu sendiri. 10. Freedom vs. Controlled Experience Permainan merupakan media yang interaktif.Permainan yang memberi hak akses kepada pemain untuk melakukan apapun, tentu akan membuat pemain cepat bosan. Pada dasarnya, permainan bukan simulasi dari kehidupan nyata, tetapi harus membuatnya menjadi lebih menarik
25 dibandingkan dunia nyata. Ini dapat menghilangkan unsur kebosanan, kompleksitas, pilihan dan aksi yang tidak diinginkan. 11. Simple vs. Complex Permainan yang sederhana akan mendapatkan kritik yang berupa "permainan sangat gampang dan cepat bosan", dan bisa juga mendapatkan pujian yang berupa "permainan ini sederhana dan elegan.", sedangkan jika permainan tersebut kompleks, biasanya akan mendapatkan kritikan "permainan sangat susah dan membingungkan" atau mendapatkan pujian "kaya akan komplesitas yang rumit". 12. Detail vs. Imagination Permainan merupakan struktur yang mempengaruhi pemikiran pemain, dimana permainan akan memberikan detail-detail informasi, yang sisanya akan dipikirkan sendiri oleh pemain. Dalam memutuskan detail-detail apa saja yang harus diberikan, dan apa saja yang harus dipikirkan sendiri oleh pemain, merupakan dua hal yang berbeda, namun merupakan hal yang penting untuk diseimbangkan.
2.2.5 Java Java dikembangkan oleh tim yang dipimpin oleh James Gosling di Sun Microsoft. Pada awalnya disebut Oak, didesain pada tahun 1991 yang digunakan pada chip peralatan rumah tangga. Pada tahun 1995, namanya diubah menjadi Java, dan didesain ulang untuk mengembangkan aplikasi internet. (Liang, 2011, p. 8). Berikut merupakan karakteristik Java. 1. Java is Simple Java lebih sedikit mudah dimengerti dibandingkan pemrograman objected oriented C++ yang lebih popular, dimana sebelumnya merupakan dominan sebagai pengembangan aplikasi. Java merupakan permodelan dari C++, tetapi telah dipermudah dan menambahkan fitur-fitur. Java menggunakan alokasi dan dealokasi memori secara otomatis, sedangkan pada
C++,
pemrograman
harus
mengdealokasikan secara manual.
mengalokasikan
memori
dan
26 2. Java is Object-Oriented Pemrograman Object-Oriented adalah proses pendekatan pada pemrograman yang menggantikan prosedur tradisional pada teknik pemrograman. 3. Java is Distributed Java didesain agar distributed computing menjadi lebih mudah. Dimana distributed computing adalah beberapa komputer yang bekerja secara bersamaan dalam suatu jaringan. Hal ini dikarenakan jaringan terintegrasi dalam Java, menulis program jaringan sama seperti mengirim dan menerima data kepada dan dari file. 4. Java is Interpreted Java membutuhkan penerjemah untuk menjalankan program java. Program yang dijalankan di Java Virtual Machine disebut dengan bytecode. Bytecode adalah mesin tertentu dan dapat menjalankan segala mesin yang memiliki penerjemah java, dimana bytecode merupakan bagian dari Java Virtual Machine (JVM). 5. Java is Robust Robust berarti dapat diandalkan. Java menekankan pada pengecekan awal untuk kesalahan yang mungkin terjadi, dikarenakan compilator java akan mendeteksi banyak masalah yang muncul pertama kali pada waktu eksekusi. Java telah menghapuskan berbagai macam error yang sering terjadi di bahasa pemrograman lainnya. Contohnya adalah pointers. Java juga memiliki runtime exception-handling yang dapat membantu pengguna. 6. Java is Secure Sebagai internet bahasa pemrograman, java digunakan dalam jaringan dan terdistribusikan dalam lingkungan. Jika mengunduh java applet (semacam program yang spesial) dan menjalankannya di komputer, program tersebut tidak akan merusak komputer, dikarenakan java mengimplementasikan mekanisme keamanan untuk menjaga sistem dari ancaman.
27 7. Java is Architecture-Neutral Java memiliki penerjemah, dengan menggunakan Java Virtual Machine, program yang dibuat dapat dijalankan pada berbagai platform. 8. Java is Portable Java merupakan architecture neutral, program java bersifat portabel. Program tersebut dapat dijalankan di berbagai platform dan tidak perlu di compile ulang. Lingkungan java juga portabel untuk hardware dan sistem operasi yang baru. Pada dasarnya, java compiler sendiri itu ditulis dalam bahasa java. 9. Java's Performance Performa java sering dikritik. Pada saat melakukan eksekusi bytecode, tidak secepat bahasa pemrograman yang lain, seperti C++. Ini dikarenakan java harus diterjemahkan, bytecode tidak langsung dieksekusi oleh sistem, melainkan melalui penerjemah. 10. Java is Multithreaded Multithreading merupakan kemampuan untuk menjalankan berbagai program dalam waktu yang bersamaan. Multithreading sangat berguna digunakan dalam GUI dan pemrograman jaringan. pada GUI, pengguna dapat mendengarkan musik sambil melakukan browsing pada web. Sedangkan di pemrograman jaringan, server dapat mengatur berbagai klien pada saat yang bersamaan. 11. Java is Dynamic Java didesain agar dapat beradaptasi pada lingkungan yang baru. Pembuatan class yang baru dapat dilakukan tanpa harus compile ulang. Tidak diperlukan pemrograman untuk membuat, meng-install versi software yang terbaru. Fitur baru dapat dimasukkan sesuai kebutuhan.
2.2.6 AndEngine AndEngine merupakan game engine yang memfokuskan pada pembuatan game berbasis 2D di platform Android. AndEngine diciptakan oleh Nicolas Gramlich pada pertengahan 2010. AndEngine mempermudah para pembuat game karena sudah menyediakan berbagai macam class yang siap dipakai. (NW, 2012, p. 19).
28 Berikut adalah fitur-fitur yang ditawarkan oleh AndEngine : •
Sprite AndEngine mendukung fasilitas animasi seperti pada gambar yang bergerak.
•
Collision AndEngine mendukung fasilitas untuk pengecekan tubrukan.
•
SplitScreen. AndEngine mendukung fasilitas membagi layar pada perangkat Android.
•
Live-Wallpapers AndEngine mendukung pembuatan wallpaper yang bergerak.
•
MultiTouch AndEngine mendukung penggunaan teknologi multitouch pada perangkat yang mendukung multitouch.
•
Network Multiplayer AndEngine mendukung fasilitas untuk bermain multiplayer.
•
Physics-Engine(Box2D) AndEngine mendukung perhitungan fisika dalam pembuatan aplikasi menggunakan teknologi Box2D.
2.3 Hasil Penelitian dan Produk Sebelumnya 2.3.1 Manfaat Multimedia Terdapat banyak cara manusia untuk mendapatkan informasi. Jika melalui media cetak atau penglihatan, ternyata hanya 20% yang diingat, sedangkan melalui pendengaran hanya 30% yang diingat. Media yang melibatkan indera pendengaran, penglihatan, dan sentuhan (multimedia) secara bersamaan ternyata mampu menyerap 80% informasi yang diberikan. Itu sebabnya multimedia apalagi yang interaktif menjadi suatu media pembelajaran yang baik. Video game merupakan multimedia yang interaktif karena pada manusia terlibat aktif didalamnya, dengan kata lain manusia turut mengambil keputusan terhadap jalannya suatu permainan. (Pramono, Paramita, & Muzakiroh, 2011, p. 3).
29 2.3.2 Android Platform Android, yang dikembangkan oleh Google adalah sebuah platform yang dioptimalkan untuk perangkat mobile dengan kombinasi sempurna dari sistem operasi, middleware, dan program aplikasi. Platform Android memilih kebijakan Open Source yang berarti setiap programmer dapat mengembangkan aplikasinya sendiri, dan terdiri dari kernel linux, library, run-time, aplikasi dan aplikasi framework. (Lee & Son, 2012, p. 3). Dimana kernel merupakan penghubung lapisan diantara perangkat keras dan perangkat lunak. Libraries yang terdiri dari C dan C++ dan menyediakan C system library, media library, 3D library. Aplikasi framework merupakan paket komponen yang terdiri dari Java dimana aplikasi dapat dibuat dengan menggunakan paket dari framework.
2.3.3 Game Tower Defense Game Tower Defence (TD) merupakan genre yang memfokuskan pada alokasi resource dan penempatan bangunan. TD game terdiri dari pemain yang membeli dan mengatur bangunan untuk menyerang dan bertahan dari serangan musuh (creeps). Untuk setiap creeps yang berhasil dibunuh oleh bangunan, pemain akan mendapatkan resources tergantung dari kesulitan creeps. Pemain dinyatakan menang jika pemain dapat bertahan hingga akhir wave(s), dan dinyatakan kalah jika creeps mencapai batas akhir pertahanan pemain (Avery, 2011, p. 1). Menurut Avery, Elemen Tower Defence terdiri dari 5 bagian, yaitu : 1. Terrain Terrain merupakan sebuah peta, dimana pemain telah ditentukan tempat untuk membangun bangunan pertahanan dari serangan musuh. 2. Towers Towers merupakan bangunan yang dibangun, dan untuk membangun tower dibutuhkan strategi, dimana pemain harus memikirkan dimana tower harus dibangun dan mengatur penggunaan resources secara hemat. Kebanyakan game, bangunan memiliki kemampuan dan harga yang berbeda untuk dibangun. Bangunan juga dapat dibedakan berdasarkan jarak tembakan, kecepatan tembak, cara tembak dan efek.
30 3. Creeps Tipe dari creeps dibedakan atas tipe bangunan yang ada, dan harus diperhatikan game balance. Creeps juga dapat dibedakan atas kemampuannya, yaitu kecepatan gerak, hitpoints, dan armor. Biasanya creeps yang jalannya cepat memiliki hitpoints yang kecil, dan creeps yang jalannya lambat memiliki hitpoints yang besar. 4. Reward systems Dalam permainan tower defense, untuk meningkatkan minat pemain untuk memainkan permainan dalam jangka panjang, dibutuhkan keunikan untuk setiap bangunan yang ada dan dibutuhkan pembuatan sistem achievement. 5. Single or Multi-Player Pada Single-Player pemain berkompetisi dengan creeps dalam game. Dan pada Multi-Player, pemain dapat bekerja sama dengan pemain lain dalam bertahan dari serangan creeps, atau mencari skor yang tinggi.