BAB 2 LANDASAN TEORI 2.1 Multimedia Menurut Vaughan (2011, p1), multimedia merupakan gabungan serta kombinasi dari teks yang dimanipulasi, gambar, suara, seni grafis, suara, animasi dan elemen video yang disampaikan kepada user melalui komputer atau media elektronik lainnya. Ketika Anda membiarkan end user - juga dikenal sebagai viewer dari multimedia proyek-untuk mengontrol apa dan kapan elemen-elemen yang disampaikan, itu disebut multimedia interaktif. Multimedia sendiri terdiri dari 5 elemen utama yaitu: 1. Text Menurut Vaughan (2011, p17) teks merupakan elemen dasar yang ada di dalam multimedia dan digunakan dalam berkomunikasi oleh manusia. Akan tetapi Teks dapat memiliki arti yang lebih dari satu. Oleh karena itu dalam berkomunikasi harus menggunakan teks yang baik dan jelas. Teks sendiri digunakan dalam multimedia untuk bermacam hal, akan tetapi tujuan dari teks hanya satu yaitu menyampaikan informasi kepada user dalam bentuk kata-kata. 2. Gambar Menurut Vaughan (2011, p68) gambar adalah elemen multimedia yang merupakan elemen penting untuk menciptakan kesan yang menarik dalam multimedia. Gambar juga membantu agar ide atau informasi dapat tersalurkan kepada user melalui gambar. 7
8
Gambar sendiri dibagi menjadi dua jenis yaitu : •
Bitmap Merupakan jenis grafis atau gambar yang tersusun oleh pixel (elemen gambar) dalam kotak. Setiap pixel atau "bit" berisi informasi warna untuk gambar. Grafis atau gambar yang memiliki format bitmap memiliki resolusi tetap yang berarti apabila
dilakukan perubahan ukuran maka dapat
mengakibatkan distorsi dan tepi bergerigi pada gambar. •
Vektor Gambar vektor bersifat resolusi-independen, dapat diubah-ubah ukuran gambarnya karena terdiri dari objek individu yang dibuat berdasarkan perhitungan matematis. Gambar vektor dapat diubah ukurannya dengan mudah tanpa kehilangan kualitas, hal ini membuat mereka menjadi format yang ideal untuk desain awal logo dan ilustrasi yang akan digunakan pada berbagai ukuran.
3. Suara Menurut Vaughan (2011, p104) suara merupakan elemen dalam multimedia yang selain berfungsi menarik perhatian user juga dapat berfungsi sebagai media dimana informasi dapat disalurkan kepada user. Suara sendiri dapat juga membantu user yang tunanetra dalam mendapatkan informasi. Dengan adanya suara maka multimedia dapat menjadi lebih menarik bagi user. Suara yang sering digunakan dalam multimedia terdiri dari dua jenis yaitu:
9
•
Digital Audio Sebuah urutan sampel diskrit yang diambil dari suara kontinyu (audio) gelombang. Puluhan ribu sampel diambil setiap detik. Setiap sampel mewakili intensitas gelombang tekanan suara pada saat itu. Terlepas dari frekuensi sampling, parameter lainnya adalah encoding digital masingmasing sampel termasuk jumlah bit yang digunakan. Pengkodean mungkin linear,dan logaritma. Format yang sering digunakan oleh suara digital adalah MP3 atau WAV.
•
Musical Instrument Digital Interface (MIDI) Merupakan jenis suara yang paling mudah diimplementasikan ke dalam sebuah multimedia. MIDI sendiri merupakan bentuk konversi dari suara yang disimpan ke dalam bentuk numerik.
4. Animasi Menurut Vaughan (2011, p140) animasi merupakan proses mengubah dan membuat seolah gambar yang statis seperti bergerak. Dalam multimedia, animasi digital digunakan untuk memberikan kesan yang menarik kepada user dengan kesan menghidupkan gambar Animasi digital dikategorikan menjadi dua area yang luas yaitu: •
Dua Dimensi (2D) Animasi 2D adalah animasi yang hanya menggunakan dua dimensi yaitu sumbu x dan sumbu y pada sumbu kartesian. Animasi yang paling umum adalah kartun. Kartun sendiri berasal dari kata “cartoon” yang berarti gambar yang lucu.
10
•
Tiga Dimensi (3D) Animasi 3D merupakan animasi dimana digunakan 3 sumbu untuk mengatur pergerakan objeknya. Animasi 3D adalah pengembangan dari animasi 2D. Dengan animasi 3D, karakter yang diperlihatkan semakin hidup dan nyata, mendekati wujud manusia aslinya.
5. Video Menurut Vaughan (2011, p164) video merupakan elemen yang penting dalam multimedia. Video memberikan dampak yang besar dalam popularitas suatu multimedia. Berikut beberapa alasan mengapa penggunaan video dalam multimedia cukup penting: •
Video dapat disunting dengan mudah
•
Video dapat disimpan dimana pun (komputer) dan kualitasnya dapat dipertahankan
•
Video dapat dikirim ke alat elektronik lainnya dan tidak perlu disunting apapun
2.2 Delapan Aturan Emas dalam Mendesain Interface Dalam merancang interface suatu game diperlukan suatu prinsip golden rules yang biasanya digunakan untuk hampir semua sistem interaktif berbasis multimedia. Prinsip ini diterima dan sangat berguna untuk petunjuk pembuatan interface bagi desainer baik game maupun aplikasi. Menurut Shneiderman (2010, p74) golden rules terdiri dari:
11
1. Berusaha untuk bersifat konsisten Berusaha agar seluruh elemen yang terlibat dalam aplikasi atau game dapat bersifat konsisten. Sebagai contoh apabila membuat tombol close berada di kanan atas maka dari awal sampai akhir aplikasi tombol close harus ada di kanan atas. 2. Memenuhi kebutuhan universal Karena
user
sangat
beragam,
maka
rancangan
layar
harus
mempertimbangkan perbedaan dalam hal usia, hambatan fisik, dan variasi teknologi. Jadi, ada pemberian petunjuk untuk user awam dan shortcuts untuk user yang sudah berpengalaman. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan yang dilakukan oleh user, harus ada sistem umpan balik. Untuk tindakan yang sering dan kecil, respon dapat menjadi sederhana, sedangkan untuk tindakan jarang dan besar, respon harus lebih jelas. 4. Merancang desain dialog untuk menghasilkan penutupan Suatu aplikasi multimedia yang baik adalah dimana action dalam aplikasi tersebut terbagi menjadi tiga bagian yaitu awal, pertengahan dan akhir. Dan di akhir diberikan tampilan atau dialog dimana mengindikasikan kepada user bahwa aplikasi telah berakhir.
12
5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana Di dalam aplikasi multimedia, sebaik mungkin harus dibuat agar user tidak dapat melakukan kesalahan yang fatal, dan apabila user melakukan kesalahan maka sistem harus bisa mendeteksi dan menawarkan solusi sederhana untuk menyelesaikan kesalahan tersebut. 6. Memberikan kemudahan dalam pembalikan aksi Dengan adanya fitur ini, maka dapat mengurangin kecemasan user karena user tahu bahwa kesalahan yang dia buat bisa diselesaikan oleh sistem. Dengan fitur ini pula user dapat lebih tenang dalam mengeksplorasi aplikasi. 7. Mendukung pusat kendali internal (Internal locus of control) User yang sudah berpengalaman sangat ingin menjadi seperti raja di dalam suatu aplikasi. Artinya adalah user ingin memiliki otoritas tertinggi di dalam sebuah aplikasi. Aplikasi harus dibuat dimana user lebih banyak melakukan action dibanding menjadi responder. 8. Mengurangi beban ingatan jangka pendek Keterbatasan manusia dalam memproses ingatan jangka pendek mengharuskan suatu aplikasi untuk memiliki tampilan sederhana dan sistem navigasi yang baik. Hal ini ditujukan agar user tidak repot dalam mengeksplorasi aplikasi.
13
2.3 Lima Faktor Manusia Terukur Dalam pembuatan aplikasi penulis memerlukan memikirkan bagaimana user mengerti, memahami, menggunakan, dan mengingat bagaimana cara kerja aplikasi yang sesuai dengan Shneiderman (2010, p16). Lima faktor manusia terukur terdiri dari: 1. Waktu pembelajaran, seberapa lama user untuk mengerti dan memahami aplikasi yang dibuat 2. Kecepatan kinerja, seberapa cepat user menggunakan aplikasi itu untuk mengerjakan tugas yang sederhana 3. Tingkat kesalahan, seberapa banyak kesalahan dan jenis kesalahan yang dilakukan user dalam pengerjaan tugas yang sederhana 4. Daya ingat, seberapa lama user dapat mengingat cara kerja aplikasi tersebut 5. Kepuasan subjektif, seberapa puas user menggunakan interface-interface yang ada di dalam aplikasi tersebut 2.4 Piranti Lunak Menurut Sommerville (2011, pp6-8) piranti lunak adalah program komputer dan dokumentasi terkait. Produk perangkat lunak dapat dikembangkan untuk pelanggan tertentu atau dapat dikembangkan untuk pasar umum. Rekayasa piranti lunak adalah teknik rekayasa yang berkaitan dengan semua aspek produksi piranti lunak dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan.
14
2.5 Waterfall model Menurut Sommerville (2011, pp29-31) Waterfall model merupakan dasar dari aktivitas proses yang terdiri dari spesifikasi, pengembangan, validasi, evolusi, dan semua direpresentasikan dalam tahapan proses yang terpisah seperti spesifikasi kebutuhan, perancangan perangkat lunak, implementasi, pengujian, dan sebagainya.
Gambar 2.1. Contoh gambar Waterfall Model (Sommerville, 2011) Berikut adalah penjelasan detail dari masing-masing tahap dalam Waterfall model: 1. Analisis dan definisi kebutuhan Konsultasi dengan user diperlukan untuk menentukan kegunaan dari sistem, batasan, dan tujuannya. Hasilnya kemudian didefinisikan lebih detil dan digunakan untuk spesifikasi sistem yang akan dibuat.
15
2. Perancangan sistem dan piranti lunak Proses perancangan sistem membagi-bagi kebutuhan sistem piranti lunak maupun perangkat keras. Proses ini membangun keseluruhan arsitektur sistem. Perancangan piranti lunak terdiri dari rangkuman identifikasi kebutuhan dan gambaran dasar sistem piranti lunak serta hubungan di antara keduanya.
3. Implementasi dan unit testing Pada tahap ini, perancangan sistem direalisasikan menjadi sebuah program atau unit program. Pengujian unit melibatkan verifikasi untuk memastikan apakah setiap unit memenuhi spesifikasi sistem. 4. Penggabungan dan pengujian sistem Unit-unit program digabungkan dan diuji sebagai sebuah sistem yang utuh untuk memastikan bahwa kebutuhan piranti lunak telah terpenuhi, kemudian dikirimkan kepada user. 5. Pengoperasian dan pemeliharaan Sistem yang telah selesai, di-install dan digunakan untuk kepentingan sebenarnya. Proses pemeliharaan terdiri dari perbaikan kesalahan-kesalahan yang tidak ditemukan pada fase awal pengembangan, peningkatan implementasi dari unit-unit sistem, dan peningkatan kegunaan sistem seiring ditemukannya kebutuhan-kebutuhan baru. 2.6 Storyboard Menurut Simon (2007, pp3-7), storyboard adalah sebuah bentuk ilustrasi seperti sebuah komik, yang menggambarkan sebuah produk final yang telah di-edit.
16
Storyboard merupakan cara komunikasi yang paling efektif antar desainer dan programmer. Setiap gambar menghubungkan semua informasi yang diperlukan secara instan dan menggambarkan sebuah pandangan tentang produk final yang akan dicapai. Storyboard berawal dan banyak dipakai pada bidang yang memerlukan animasi. Storyboard kini digunakan sebagai pengembangan sebuah script, menuangkan ide-ide, dan men-visualisasikan sebuah perencanaan yang telah selesai. Menurut Simon (2007, pp71-72), game sangat berkembang beberapa tahun belakangan ini. Hal ini disebabkan karena perkembangan dalam dunia komputer, mobile, dan lain-lain. Karena sebagian besar isi dalam game akan berupa animasi maka diwajibkan membuat storyboard. Selain itu, storyboard merupakan komponen yang sangat penting karena bukan saja mencakup sebagai visualisasi animasi tetapi juga sebagai sebuah flowchart untuk mengorganisir struktur kompleks dari aplikasi multimedia, antara lain untuk mengorganisasi animasi, grafik, navigasi, cinematic cut-scenes, dan gameplay. 2.7 Android Menurut Suprianto (2012, p9), Android adalah sistem operasi bergerak (mobile operating system) yang mengadopsi sistem operasi Linux, namun telah dimodifikasi. Android diambil alih Google pada tahun 2005 dari Android, Inc sebagai bagian strategi untuk mengisi pasar sistem operasi bergerak. Google mengambil alih seluruh hasil kerja Android termasuk tim yang mengembangkan Android. Google menginginkan agar Android bersifat terbuka dan gratis, oleh karena itu hampir setiap kode program Android diluncurkan berdasarkan lisensi open-
17
source Apache yang berarti bahwa semua orang yang ingin menggunakan Android dapat men-download penuh source code-nya. Di samping itu produsen perangkat keras juga dapat menambahkan extension-nya sendiri ke dalam Android sesuai kebutuhan produk mereka. Model pengembangannya yang sederhana membuat Android menarik bagi vendor-vendor perangkat keras. Keuntungan utama dari Android adalah adanya pendekatan aplikasi secara terpadu. Pengembang hanya berkonsentrasi pada aplikasi saja, aplikasi tersebut bisa berjalan
pada beberapa perangkat yang berbeda selama masih ditenagai oleh
Android. 2.8 Versi Android Android sendiri sudah diluncurkan beberapa versinya. Berikut adalah list perkembangan Android sejak awal sampai sekarang: Tabel 2.1 Versi Operating System Android (Suprianto & Rini, 2012) Versi Android
Diluncurkan
Nama Kode
Beta
5 November 2007
1.0
23 September 2008
1.1
9 Febuari 2009
1.5
30 April 2009
Cupcake
1.6
15 September 2009
Donut
2.0/2.1
26 Oktober 2009
Eclair
2.2
20 Mei 2010
Froyo
18
2.3
6 Desember 2010
Gingerbread
3.0
22 Febuari 2011
Honeycomb
4.0.1
19 Oktober 2011
Ice Cream Sandwich
4.1/4.2
27 Juni 2012
Jelly Bean
Sekitar 2013
Key Lime Pie
2.9 Arsitektur Android Menurut Suprianto (2012, p10) secara garis besar sistem operasi Android terbagi menjadi lima tingkatan:
Gambar 2.2 Arsitektur Android (Suprianto, 2012)
19
•
Linux kernel Merupakan kernel dasar Android, berisikan semua driver tingkat rendah untuk komponen-komponen hardware perangkat Android.
•
Libraries Berisi semua kode program yang menyediakan layanan-layanan utama sistem operasi Android.
•
Android Runtime Menyediakan kumpulan pustaka inti yang dapat diaktifkan pengembang untuk menulis kode aplikasi Android dengan bahasa pemrograman Java.
•
Application framework Semacam kumpulan class built-in yang tertanam dalam sistem operasi Android sehingga pengembang dapat memanfaatkannya untuk aplikasi yang sedang dibangun.
•
Applications Semua aplikasi yang dibuat terletak pada tingkat ini.
2.10 Unified Modeling Language (UML) Menurut Bentley dan Whitten (2007, p371), UML adalah satu set dari ketentuan modeling yang digunakan untuk menspesifikasi atau mendeskripsikan sebuah sistem software dalam suatu kondisi dari objek. UML dibagi menjadi beberapa komponen :
20
1. Use Case Diagram Menurut Bentley dan Whitten (2007, p382), use case diagram menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Dengan kata lain, use case diagram menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa user ingin berinteraksi dengan sistem. Selain itu, use case narative digunakan untuk menggambarkan secara tektual urutan langkah dari setiap interaksi.
Tabel 2.2 Simbol Pada Use Case Diagram No 1
Simbol Aktor
Gambar
Keterangan Aktor adalah segala sesuatu yang perlu berinteraksi
dengan
pertukaran
informasi.
berupa
manusia,
sistem
untuk
Aktor
dapat
organisasi,
sistem
informasi yang lain, dan perangkat eksternal.
Label
dari
peran
yang
dilakukan aktor diletakkan di atas simbol 2
Use Case
Use Case adalah fungsi dalam sistem yang
merepresentasikan
tujuan
dai
sistem dan mendeskripsikan aktivitas dan interaksi user dengan sistem untuk mencapai tujuan tersebut.
21
3
Hubungan
Menggambarkan hubungan antara dua simbol pada use case diagram
Gambar 2.3 Contoh Use Case Diagram (Whitten & Bentley, 2007) 2. Class Diagrams Menurut Bentley dan Whitten (2007, p382), class diagram menggambarkan struktur objek dari suatu sistem. Class diagram menunjukkan kelas objek di mana sistemnya terdiri dari hubungan antar kelas objek tersebut. Berikut adalah contoh dari Class Diagram:
22
Gambar 2.4 Contoh gambar Class Diagram (Whitten & Bentley, 2007) Tabel 2.3 Relasi pada class diagram (Whitten & Bentley, 2007) Simbol
Penjelasan Class Sebuah deskripsi dari seperangkat objek yang berbagi atribut, operasi, dan relasi yang sama. Class terbagi atas tiga bagian, yaitu nama class pada bagian atas, atribut class pada bagian tengah, dan operasi pada bagian bawah.
23
Association Merupakan hubungan struktural antar class yang saling berelasi. Aggregation Merupakan bentuk spesial dari hubungan asosiasi yang menspesifikasikan semua hubungan antara kumpulan (the whole) dan sebuah bagian (the part). Agregasi digambarkan dengan wajik tidak terisi. Multiplicity Menggambarkan jumlah objek yang berpartisipasi dalam hubungan antar class.
Generalization Merupakan sebuah relasi spesialisasi atau generalisasi dimana suatu class dapat lebih general atau lebih spesifik dari class lainnya.
24
3. Activity Diagrams Menurut
Bentley dan
Whitten
(2007,
p382),
activity
diagram
menggambarkan aliran sekuensial dari aktivitas pada use case atau proses bisnis. Activity diagram juga dapat digunakan untuk model logika dengan sistem. Tabel 2.4 Simbol Pada Activity Diagram No 1
Simbol Initial node
Gambar
Keterangan Menunjukkan awal dari suatu proses.
2
Actions
Menunjukkan
langkah-langkah
aktivitas sistem yang terjadi. 3
Flow
Untuk menunjuk ke aksi atau proses yang lain. Dilengkapi dengan kata-kata jika berasal dari decision.
4
Decision
Memiliki sebuah flow masuk dan dua atau lebih flow keluar. Menunjukkan
aktivitas
yang
Menyatukan
flow
yang
sebelumnya
terpisah
oleh
dapat dipilih. 5
Merge
decision.
25
6
Fork
Menotasikan
permulaan
aksi
atau proses paralel yang dapat terjadi dalam suatu urutan atau terjadi secara bersamaan. 7
Join
Semua aksi tang masuk ke join harus telah diselesaikan sebelum proses berlanjut.
8
Activity Final
Menunjukkan akhir dari proses
26
Gambar 2.5 Contoh gambar Activity Diagram (Whitten & Bentley, 2007)
27
2.11 Java Menurut Shelly (2006, p2), Java adalah bahasa programming komputer tingkat tinggi. Bahasa programming tingkat tinggi seperti java membuat programmers dapat menuliskan instruksi menggunakan English-like command dan kata-kata daripada menggunakan cryptic numeric codes atau memory addresses. Java didesain pada awal tahun 1990-an oleh tim dari Sun Microsystems yang dipimpin oleh James Gosling. Desainer java memulai dari syntax dasar seperti C, C++, dan Smalltalk. Pada awalnya Java didesain untuk penggunaan pada devices seperti telepon selular, akan tetapi beberapa tahun kemudian, Sun Microsystems menggunakan Java untuk animasi dan interaktifitas di dalam Web. 2.12 Eclipse Menurut Suprianto (2012, p14), Eclipse adalah IDE (Integrated Development Environment) software yang digunakan oleh banyak bahasa pemrograman seperti Java, Ada, C, C++, COBOL, Phyton dan lain-lain. Di dalam IDE Eclipse terdapat layanan system extensible (semacam sistem penambahan plugins), editor, debugger, control tools, pengaturan direktori dan lain-lain. IDE Eclipse intinya adalah suatu software yang lingkungannya dikondisikan agar memudahkan pengembang membangun suatu aplikasi. Berikut adalah tools pendukung Eclipse dalam mengembangkan sebuah aplikasi Android: -
Java Development Kit Menurut Liguori (2008, p87), JDK adalah programming environment untuk meng-compile, men-debug, dan menjalankan Java applets, aplikasi, dan
28
Java Beans. JDK sudah mencakupi JRE dengan tambahan Java Programming language dan juga tambahan development tools serta APIs tool. -
Android Software Development Kit Menurut Suprianto (2012, p14), SDK Android adalah mesin utama untuk mengembangkan aplikasi Android. SDK Android berisi debugger, library, emulator, dokumentasi, contoh kode program dan tutorial.
-
Android Development Tools Plugins Menurut Suprianto (2012, p14), Plugins ADT berfungsi sebagai pengenal Android di dalam IDE Eclipse. Dengan ADT plugins maka dapat terciptalah project aplikasi Android baru, mengakses tools emulator dan perangkat Android melakukan kompilasi dan men-debug aplikasi, mengeksplor aplikasi ke Android packages (APK), membuat sertifikasi digital terhadap kode program APK.
2.13 Sistem Basis Data Menurut Connoly dan Begg (2005, p31), basis data (database) adalah suatu koleksi dari data yang saling berhubungan secara logical serta dirancang untuk memenuhi kebutuhan informasi pada sebuah organisasi. 2.14 SQLite Menurut Allen dan Owen (2010, p1), SQLite adalah sebuah open source dengan database relasional. Awalnya dirilis pada tahun 2000, SQLite dirancang untuk menyediakan cara yang nyaman untuk aplikasi untuk mengelola data tanpa overhead yang sering muncul dengan sistem manajemen database relasional khusus. SQLite memiliki reputasi baik karena sangat portabel, mudah digunakan, kompak, efisien, dan dapat diandalkan.
29
SQLite adalah Database Open Source yang tertanam di Android. SQLite mendukung fitur database relasional standar seperti sintaks SQL, transactions dan prepared statements. Selain itu hanya memerlukan sedikit memori pada saat runtime (sekitar 250 KByte). SQLite mendukung tipe data TEXT (mirip dengan String di Java), INTEGER (mirip dengan long di Java) dan REAL (mirip dengan double di Java). Semua tipe lain harus dikonversi sebelum menyimpannya dalam database. SQLite sendiri tidak memvalidasi apakah tipe yang ditulis ke kolom sebenarnya sesuai dengan tipe yang sudah didefinisikan, Sebagai contoh, sebuah integer dapat ditulis ke dalam kolom string. 2.14.1 SQLite di Android Menggunakan SQLite di Android tidak memerlukan setup database atau administrasi, hanya perlu menentukan SQL statements untuk membuat dan meng-update database kemudian database akan secara otomatis dikelola oleh Android (www.vogella.com). Pengaksesan database SQLite dapat memakan waktu karena mengakses filesystem. Oleh karena itu dianjurkan untuk menggunakan operasi database asynchronously, contohnya adalah kelas AsyncTask. Jika suatu aplikasi menciptakan database, database ini disimpan secara default di direktori “DATA/data/APP_NAME/database/FILENAME.” “DATA” adalah path di mana method Environment.getDataDirectory() dikembalikan. “APP_NAME” adalah nama aplikasi dan “FILENAME” adalah nama yang diberikan pada saat pembuatan database.
30
Package android.database berisi semua kelas umum untuk bekerja dengan database. android.database.sqlite berisi kelas SQLite tertentu. 2.14.2 SQLiteOpenHelper Untuk membuat dan meng-upgrade database dalam aplikasi Android biasanya menggunakan subclass “SQLiteOpenHelper”. Di constructor dari subclass, method super() dari nama
database
dan
versi
SQLiteOpenHelper dipanggil, menentukan database
yang
sedang
digunakan
(www.vogella.com). SQLiteOpenHelper menyediakan methods getReadableDatabase() dan
getWriteableDatabase()
untuk
mendapatkan
akses
ke
objek
“SQLiteDatabase” yang memungkinkan akses database baik saat membaca dan menulis. Untuk primary key dari database harus selalu menggunakan identifier “_id” karena beberapa fungsi Android bergantung pada standar ini. 2.14.3 SQLiteDatabase “SQLiteDatabase” menyediakan method insert(), update() dan delete(). Selain itu, method execSQL() memungkinkan untuk mengeksekusi SQL statement secara langsung. Objek “ContentValues” memungkinkan untuk mendefinisikan key/values. “Key” mewakili kolom tabel identifier dan “value” mewakili isi untuk tabel record di kolom. ContentValues dapat digunakan untuk insert dan update data dalam database (www.vogella.com). Queries dapat dibuat melalui methods rawQuery() dan query() atau kelas SQLiteQueryBuilder. rawQuery() menerima secara langsung sebuah
31
SQL select statement sebagai input. query() menyediakan interface terstruktur untuk menentukan SQL query. SQLiteQueryBuilder adalah kelas yang membantu untuk membangun SQL queries. Sebuah query mengembalikan objek cursor. Sebuah cursor mewakili sebuah query dan biasanya menunjuk ke satu baris dari hasil query. Dengan cara ini, Android dapat menyangga hasil query secara efisien sehingga tidak perlu menge-load semua data ke memori. 2.15 Game Menurut Adams (2010, p3), game adalah jenis kegiatan bermain, yang seolah-olah dilakukan dalam konteks realita, di mana pemain mencoba untuk mencapai setidaknya satu tujuan dengan bertindak sesuai aturan. Menurut Adams (2010, pp70-71), genre game dibagi sebagai berikut: •
Action games – meliputi tantangan fisik. Model game seperti ini dapat berupa puzzle, balapan, dan beragam tantangan konflik. Action games jarang menggunakan tantangan yang bersifat strategi dan konseptual.
•
Strategy games – meliputi tantangan yang bersifat strategi, taktikal, dan kadang bersifat logis. Strategy games juga memberi tantangan ekonomi dan eksplorasi untuk memperpanjang game serta memberikan variasi.
•
Role-playing games – meliputi tantangan taktikal, logis, dan eksplorasi. Role-playing games juga memberi tantangan ekonomi (mengumpulkan dan menukarkan barang) untuk senjata yang lebih baik.
•
Real-world simulations – meliputi games olahraga dan simulasi kendaraan termasuk kendaraan militer. Genre game
ini melibatkan
32
tantangan fisik dan taktikal akan tetapi bukan yang bersifat eksplorasi, ekonomis atau konseptual. •
Construction and management games – seperti RollerCoaster Tycoon yang memberikan tantangan ekonomis dan konseptual. Genre game ini jarang melibatkan tantangan fisik.
•
Adventure games – menyediakan terutama eksplorasi dan puzzle-solving. Genre game ini terkadang mengandung tantangan konseptual juga. Adventure games juga dapat mengandung tantangan fisik akan tetapi hal ini jarang terjadi.
•
Puzzle games – memberikan tantangan logic dan konseptual secara khusus, walaupun terkadang ada tekanan dalam segi waktu dan elemen aksi.
Menurut DiMarzio (2012, pp7-8), Arcade game merupakan gabungan dari beberapa macam game. Sebagai contoh, Pac-Man adalah arcade game yang terkenal pada zamannya. Awalnya, arcade game dirancang tanpa tujuan bermain yang jelas. Akan tetapi, arcade game pada zaman sekarang dirancang dengan tujuan bermain yang lebih jelas dan cenderung dimainkan dalam jangka waktu yang singkat. Platform game terdiri dari: •
Personal Computer (PC) – merupakan seperangkat alat yang biasanya terdiri dari CPU, keyboard, mouse, dan monitor. PC memiliki spesifikasi yang berbeda-beda sesuai keinginan pemiliknya. Spesifikasi komputer berpengaruh terhadap game karena setiap requirement yang berbeda.
game memiliki system
33
•
Home Game Consoles - merupakan alat yang memiliki unit pemroses grafik yang sangat bagus tetapi CPU dan RAM yang lemah jika dibandingkan dengan PC. Contoh: PlayStation, Xbox, Nintendo Wii, dan lain-lain.
•
Handheld Game Machines – merupakan media bermain game yang populer karena bersifat portable. Mesin handheld memiliki kontrol terbatas dan layar LCD yang kecil. Contoh: GameBoy, PsP
•
Other Devices – berbeda dengan ketiga platform di atas, other devices seperti smartphone dapat digunakan sebagai media pengembangan game. Contoh: Blackberry, Samsung, Iphone.
Menurut Rollings dan Morris (2003, p105-106), game balance adalah hal yang penting dalam perancangan game. Jika suatu game tidak seimbang, maka ada beberapa bagian dari game yang sangat jarang digunakan sehingga membuat pengembangan game menjadi sia-sia. Terdapat 3 jenis game balance, yaitu : a. Player/Player Balance – game termasuk dalam jenis multiplayer game, masing-masing player memiliki keuntungan yang sama kecuali keahlian player. b. Player/gameplay
Balance
–
Pada
player/gameplay
balance,
keberhasilan player dalam tiap-tiap level game akan mendapat imbalan yang sesuai dengan keberhasilan yang dicapai. c. Gameplay/Gameplay Balance – Fitur-fitur yang ada dalam game haruslah seimbang, contohnya jika potion dalam game dapat
34
menyembuhkan dua kali lipat dari potion lainya, maka potion tersebut harus didapatkan dengan melewati level game yang lebih tinggi. Menurut Rollings dan Adams (2003, p4), game design adalah proses mengimajinasikan sebuah game, mendefinisikan bagaimana cara kerjanya, mendeskripsikan elemen-elemen yang membangun game (konseptual, fungsional, artistik, dan yang lain), mengirimkan informasi kepada tim yang akan membuat game. Secara umum, game design dapat didefinisikan sebagai sebuah tindakan untuk menentukan bagaimana sebuah game seharusya dibuat. Menurut Schell (2008, pp41-43), ada empat elemen yang membentuk sebuah game, antara lain:
Gambar 2.6 Empat elemen dasar game (Schell, 2008)
35
1. Mekanisme (Mechanics) Mekanisme adalah prosedur dan aturan dari sebuah game. Mekanisme menjelaskan tujuan dari game, bagaimana player bisa atau tidak bisa dalam mencapainya, dan apa yang terjadi ketika player mencobanya. Pemilihan teknologi yang mendukung dibutuhkan ketika menentukan set mekanisme sebagai bagian penting dari gameplay. 2. Cerita (Story) Cerita merupakan urutan kejadian yang berkembang yang menggambarkan sebuah game. Cerita bisa saja linear dan berurutan, ataupun bercabang. Ketika mempunyai cerita yang ingin diceritakan dalam game, maka mekanisme yang dipilih harus tepat untuk memperkuat cerita tersebut dan mampu membuat cerita tersebut berkembang. 3. Estetika (Aesthetics) Estetika adalah bagian yang menentukan bagaimana sebuah game terlihat, terdengar, tercium, dan terasa. Estetika merupakan aspek yang sangat penting dalam mendesain game karena berhubungan langsung dengan pengalaman player. Estetika sangat berguna untuk membuat pengalaman yang dialami oleh player ketika bermain game menjadi menyenangkan. Game design yang kuat dan memiliki konsep ilustrasi yang baik akan: -
Membuat konsep dari game menjadi lebih jelas untuk semua orang
-
Membuat orang-orang melihat, membayangkan, dan memasuki dunia game tersebut
36
-
Membuat orang-orang bersemangat untuk memainkan game tersebut
4. Teknologi (Technology) Teknologi adalah setiap material dan interaksi yang membuat sebuah game memungkinkan untuk dibuat. Teknologi yang dipilih menentukan hal-hal apa saja yang dapat dilakukan dan tidak dapat dilakukan pada suatu game. Teknologi adalah media esensial di mana estetika terasa, mekanisme terjadi, dan cerita dapat disampaikan. Menurut Rolling dan Adams (2003, pp9-13) game design terdiri dari tiga area spesifik:
Gambar 2.7 Core Mechanics, Storytelling and Interactivity (Rolling dan Adams, 2003)
37
a. Core Mechanics Core mechanics adalah sekumpulan aturan yang dapat dimengerti oleh orang-orang yang akan menulis piranti lunak dan kemudian ditafsirkan oleh komputer. b. Storytelling Semua game mempunyai cerita. Kompleksitas dan kedalaman cerita tergantung kepada game itu. Contoh game Counter Strike mempunyai cerita pertikaian antara polisi dan teroris. c. Interactivity Interactivity adalah bagaimana cara player melihat, mendengar, melakukan aksi di dalam dunia game, dengan kata lain, cara player memainkan game. Biasanya meliputi topik yang berbeda, seperti grafik, suara, antarmuka player. Menurut Pedersen (2009, p125) game design document (GDD) adalah seluruh visi dari desainer yang dijelaskan secara detil, termasuk seluruh storyline, dialog karakter, worldmaps, tampilan kota, dan detil dari spesifikasi ruangan, seperti sample wallpaper, karya seni, dan desain permadani. GDD juga meliputi konten audio untuk background, efek suara, dialog karakter (dengan aksen dan pola pelafalan), programming, dan pertimbangan AI. 2.16 Visual Basic 2010 Menurut Halvorson (2010, xvii), Visual Basic 2010 adalah upgrade yang penting dan merupakan peningkatan dari bahasa pemrograman Visual Basic, teknologi ini digunakan oleh jutaan programmers di dunia. Visual Basic 2010 bukan
38
merupakan produk stand-alone tapi merupakan komponen kunci dari Microsoft Visual Studio 2010.
Microsoft Visual Studio 2010 merupakan sistem
pengembangan komprehensif yang mengizinkan kita untuk menciptakan aplikasi yang powerful untuk windows, web, dan handheld devices.