BAB 2 LANDASAN TEORI - Library & Knowledge...
Transcript of BAB 2 LANDASAN TEORI - Library & Knowledge...
7
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.
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 masing-
masing 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 Simbol Gambar Keterangan
1 Aktor
Aktor adalah segala sesuatu yang perlu
berinteraksi dengan sistem untuk
pertukaran informasi. Aktor dapat
berupa manusia, 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 Simbol Gambar Keterangan
1 Initial node
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
dapat dipilih.
5 Merge
Menyatukan flow yang
sebelumnya terpisah oleh
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 SQLiteOpenHelper dipanggil, menentukan
nama database dan versi 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 game memiliki system
requirement yang berbeda.
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.