BAB 2
TINJAUAN PUSTAKA
2.1 Multimedia
2.1.1 Pengertian Multimedia
Menurut Vaughan (2011, p. 1), multimedia adalah kombinasi dari teks,
gamb ar, suara, animasi, dan video yang disampaikan melalui komputer
atau alat elektronik lainnya. Multimedia disebut multimedia interaktif
ketika pengguna diberikan kendali atas elemen-elemen tersebut. Jika
elemen-elemen multimedia tersebut tersusun menjadi struktur yang saling
terhubung satu sama lain dan pengguna dapat menavigasikannya,
multimedia interaktif disebut hypermedia.
Drew dan Li (2004, p. 3) mendefinisikan multimedia sebagai aplikasi
yang menggunakan berbagai modalitas demi berbagai manfaat, termasuk
teks, gambar, animasi, video dan suara dan mengandung interaktivitas
dalam bentuk tertentu.
2.1.2 Elemen-elemen Multimedia
1. Teks
Teks adalah elemen multimedia yang p aling sederhana. Teks
merujuk pada kata, kalimat atau paragraf yang dapat dibaca dan
digunakan untuk mengkomunikasikan ide atau pikiran seseorang.
Menurut Vaughan (2011, p. 19), sejak meledaknya popularitas
internet, peran teks semakin penting. Selain menyusun konten sebuah
buku, teks juga digun akan dalam web. Web yang native language-nya
adalah HTML (Hypertext Markup Language) dapat menampilkan
dokumen berupa
teks sederhana dengan berbagai gambar sebagai
ilustrasi.
2. Gambar
Menurut Kamus Besar Bahasa Indonesia, gambar berarti tiruan
baran g (orang, binatang, tumbuhan, dan sebagainya) yang dibuat
dengan coretan pensil dan sebagainya pada kertas dan sebagainya.
Gambar dapat digunakan untuk merepresentasikan pesan yang tidak
|
tersampaikan oleh teks. Secara digital, gambar dibagi menjadi dua,
yakni bitmap dan vector.
a. Bitmap
Bitmap tersusun dari dua kata, yakni bit dan map. Vaughan
(2011, p. 71) mengungkapkan bahwa bit adalah elemen terkecil
dalam konteks digital yang memiliki dua nilai (binary), salah atau
benar, hitam atau putih, 0 atau 1, sementara map adalah matriks
dua dimensional dari bit-bit ini.
Dengan menggabungkan kedua definisi tersebut, bitmap bisa
diartikan sebagai matriks sederhana dari sekumpulan bit yang
membentuk sebuah gambar dan ditampilkan d alam layar komputer
atau dalam bentuk cetakan. Bitmap juga sering disebut raster.
Menurut Drew dan Li (2004, p. 61), gambar terdiri atas pixel
atau pel. Pixel adalah titik fisik dalam gambar bitmap, dan
merupakan elemen terkecil dengan koordinat dalam sebu ah
display.
Pixel digunakan seb agai satuan ukuran sebuah gambar bitmap.
Bitmap biasa digunakan untuk foto yang memiliki tingkat detail
yang tinggi dan bersifat realistik karena basisnya yang merupakan
array dari satuan terkecil dari display device, yaitu pixel.
b. Vektor
Menurut Vau ghan (2011, p. 80), gambar vektor tersusun dari
kumpulan operasi matematika dan algoritma. Vektor menggunakan
bentuk geometris primitif yang disusun berdasarkan sistem
koordinat kartesius (tiap titik dalam bidang dihubungkan
berdasarkan dua bilangan yang biasa disebut koordinat x dan
koordinat y). Vektor biasa digunakan untuk desain logo atau press
printing karena sifatnya yan g berbasis pada operasi matematika
dan algoritma menyebab kan bentuknya tetap crisp meskipun sudah
di-scaling ukurannya.
|
![]() Gambar 2.1 Perbedaan bitmap dan vector
Sumber: computinglesson.com
3. Suara
Vaughan (2011, p. 104) menyatakan bahwa suara atau audio
adalah elemen multimedia paling sensuous (mempengaruhi indera
ketimbang akal). Suara berarti ucapan dalam bahasa apapun, dari
bisikan hingga teriakan yang dapat didengar manusia. Ketika sesuatu
bervibrasi di udara, akan terjadi gelombang tekanan. Gelombang ini
akan menyebar layaknya percikan yang dihasilkan oleh kerikil yang
dilemparkan ke sebuah kolam, dan ketika gelombang tersebut sampai
ke telinga kita, kita akan merasakan perubahan tekanan atau vibrasi
tersebut.
Menurut Drew dan Li (2004, p. 126), suara adalah sebuah
fenomena gelombang yang melibatkan molekul udara yang dikompresi
dan diekspansi lewat aksi dari sebuah physical device. Contohnya
speaker di dalam sebuah audio system bervibrasi dan menghasilkan
tekanan longitudinal yang dipersepsikan seb agai suara.
4. Animasi
Menurut Vaughan (2011, p. 140), animasi adalah sebuah teknik
u n t u k membuat sebuah presentasi statis menjadi hidup. Animasi
berasal dari kata Latin, animatio yang berarti memberikan hidup.
Kamus Besar Bahasa Indonesia mendefinisikan animasi sebagai
rangkaian lukisan atau gambar yg digerakkan secara mekanik
elektronis sehingga tampak di layar menjadi bergerak
Vaughan (2011, p. 141) mengungkapkan bahwa animasi timbulk
karena fenomena biologis yan g dinamakan persistence of vision dan
|
fenomena psikologis yang disebut phi. Saat manusia melihat sebuah
objek, objek tersebut akan dipetakan oleh retina mata sesaat setelah
penglihatan. Kebutuhan pikiran manusia untuk menyelesaikan persepsi
dari pen glihatan tersebut dalam satuan waktu tertentu, mengakibatkan
mungkinnya serangkaian gambar yan g berganti dengan sangat cepat
seakan men yatu dan membentuk ilusi berupa gerakan dari rangkaian
gambar tersebut.
5. Video
Video adalah teknologi yang mampu menangkap, merekam,
memproses, menyimpan, mentransmisi dan merekonstruksi secara
elektronis serangkaian gambar yang membentuk sebuah adegan
dengan gerakan. Menurut Vaughan (2011, p. 164), video adalah
elemen yang dapat mendramatisir sebuah proyek multimedia. Sebuah
klip video yan g menamp ilkan seorang presiden tengah berpidato tentu
akan lebih menarik perhatian ketimbang membaca teks pidato itu
sendiri secara langsun g. Suatu video yang dibuat secara baik dapat
menciptakan suatu keadaan yang memberikan pesan dan memperkuat
isi cerita sehingga pengguna cenderung mempercayai apa yang dilihat.
2.2 Interaksi Manusia dan Komputer
2.2.1 Eight Golden Rules of Interface Design
Menurut Shneiderman dan Plaisant (2010, p. 88), dalam mendesain
tampilan antarmuka pengguna, ada delapan aturan yang berlaku dan
penting untuk diikuti demi meningkatkan usability sistem.
1. Strive for consistency.
Urutan aksi yang konsisten dibutuhkan dalam keadaan yang mirip
saat pen ggun aan tampilan antarmuka pengguna; terminology yang
identik diperlukan pada menu dan help screen. Faktor-faktor yang
mempengaruhi konsistensi antara lain warna, tata leta, kapitalisasi
huruf, font dan seterusnya.
2. Cater to universal usability.
Perancang tampilan antarmuka pengguna harus mengerti kebutuhan
dari penggunanya yang muncul dari berbagai kalangan. Perbedaan
|
antara pemula dan ahli, umur penggun a, disabilitas dan perbedaan
pemahaman teknologi memperkaya spektru m kebutuhan dalam
petunjuk perancangan tampilan antarmuka pengguna. Contoh
implementasi prinsip ini adalah dengan memberikan fitur khusus,
misaln ya tutorial untuk pemula dan shortcut atau hotkey untuk
pengguna ahli.
3. Offer informative feedback.
Untuk setiap aktivitas yang akan dilakukan oleh pengguna, hendaklah
rancangan tampilan antarmuka pen ggun a memberikan umpan balik
yang in formatif. Untuk aksi yang cukup serin g dilakukan dan berakibat
minor, umpan balik yang diberikan oleh rancan gan tampilan antarmuka
pengguna sebaiknya sederhana, sementara aksi yang jarang dilakukan
namun berpen garuh besar harus memberikan umpan balik yan g lebih
substansial.
4. Design dialogs to yield closure.
Serangkaian aktivitas dalam penggunaan tampilan antarmuka
pengguna haruslah terorganisir dan memiliki awal, pertengahan dan
akhir yang jelas. Sangat penting bagi seorang penggun a untuk diberi
tahu kapan aksi yang dilakukannya akan berakhir.
5. Prevent errors.
Jika pengguna melakukan kesalahan, sistem tampilan antarmuka
pengguna patut memberikan instruksi yang informatif untuk meng-
undo atau memperbaiki kesalahannya tersebut.
6. Permit easy reversal of actions.
Sebisa mungkin, untuk aktivitas yang dilakukan oleh pengguna,
disediakan opsi untuk melakukan pengembalian aksi atau undo. Hal ini
mendorong pengguna u ntuk melakukan eksperimen dengan fungsi-
fungsi lain yang belum ia ketahui dan memberikan perasaan lega karena
saat ia salah langkah, ia dapat melakukan pengembalian aksi dan
memperbaiki kesalahannya tersebut.
7. Support internal focus of control.
|
Pengguna ahli sebuah tampilan antarmuka pengguna kerap
mengharapkan kontrol menyeluruh atas sistem. Sistem juga harus
memberikan respon yang cermat.
8. Reduce short-term memo ry load.
Manusia memiliki kapasitas yan g terbatas dalam memproses ingatan
jangka pendek. Perancang tampilan antarmuka pengguna pun ditantang
untuk membuat penggunanya tidak perlu mengingat hal-hal yang
dibutuhkan olehnya untuk mengerjakan aktivitas yang sudah ia lakukan
sebelumnya.
2.3 Rekayasa Perangkat Lunak
2.3.1 Waterfall Model
Waterfall model, atau biasa disebut classic life cycle menurut
Sommerville (2011, p. 747) adalah process model yang melibatkan tahap an
pengembangan yang diskrit: perancangan, implementasi, pengujian dan
pemeliharaan. Secara principal, satu tahapan harus benar-benar selesai
sebelum tahapan pengembangan selanjutnya dapat dilakukan. Menurut
Sommerville (2011, p. 31), tahap-tah ap dalam waterfall model yakni:
1. Analisis kebutuhan.
Seluruh kebutuhan software harus bisa didapatkan dalam fase ini,
termasuk kegunaan software yang diharapkan pengguna dan batasan
software. Informasi ini biasanya dapat diperoleh melalui wawancar a,
survey atau diskusi yang dianalisis untuk mendapatkan dokumentasi
kebutuhan pengguna untuk digunak an pada tahap selanjutnya.
2. Perancangan sistem dan software.
Dalam tahapan ini akan disusun arsitektur sistem berdasarkan
persyaratan yang telah ditetapkan. Dilakukan pula identifikasi dan
abstraksi dasar sistem perangkat lunak dan hubungan-hubun gannya.
3. Implementasi dan unit testing
Hasil perancangan akan direalisasikan sebagai satu set program atau
unit program. Setiap unit akan diuji apakah sudah memenuhi
spesifikasinya.
4. Intergrasi and system testing.
|
![]() Dalam tahapan ini, setiap unit program akan diintegrasikan satu sama
lain dan diuji sebagai satu sistem yang utuh untuk memastikan sistem
sudah memenuhi persyaratan yang ada. Setelah itu sistem akan dikirim
ke pengguna sistem.
5. Pengoperasian dan pemeliharaan
Dalam tahap an ini, sistem diinstal dan mulai digunakan. Selain itu
juga memperbaiki error yang tidak ditemukan pada tahap pembuatan.
Dalam tahap ini juga dilakukan pen gembangan sistem seperti
penambahan fitur dan fungsi baru.
Gambar 2.2 Diagram waterfall model menurut Sommervile.
Sumber: Sommerville (2011, p. 31)
Kelebihan dari model ini adalah selain karena pengaplikasian
menggunakan model ini mudah, ketika semua kebutuhan sistem dapat atau
sudah didefinisikan secara utuh dan runtut di awal proyek, maka pengerjaan
aplikasi dapat berjalan dengan baik.
Kekurangan yang utama dari model ini adalah kesulitan dalam
melakukan perubahan apabila proses pengembangan suda
dijalani. Fase
sebelumnya harus lengkap dan selesai sebelu
mengerjakan fase
berikutnya.
2.4 Storyboard
Menurut Vaughan (2011, p. 295), storyboard adalah graphic outline yang
mendeskripsikan pro yek secara detil menggunakan kata-kata dan sketsa untuk
|
![]() setiap tampilan gambar yang ada di aplikasi, suaranya, pilihan navigasinya,
warna-warnanya secara spesifik, konten teks dan atributn ya, semisalnya tipe font,
bentuk button, style-nya, responnya, serta infleksi suaranya.
Storyboard dapat berupa kumpulan sketsa yang menggamb arkan isi dari
urutan tampilan dari aplikasi multimedia. Sebuah form stor yboard sederhan a
memiliki bagian yan g menampilkan tampilan antarmuka pengguna dalam layar
dan bagian keteran gan.
2.5 UML
Menurut Whitten dan Bentley (2007, p. 371), UML (Unified Mod elling
Language) adalah kumpulan konvensi standar untuk mengambarkan sistem
sebuah aplikasi. UML digunakan untuk memvisualisasikan, menspesifikasi,
membangun dan mendokumentasi artifak dalam sebuah sistem aplikasi.
Ada tiga macam UML yang dipakai dalam pengerjaan AR Residence dan
laporan ini, yaitu class diagram, use case diagram dan activity diagram.
1. Use case diagram
Whitten dan Bentley (2007, p. 382) mengemukakan bahwa use case
diagram mengambarkan interaksi antara sistem dengan sistem eksternal atau
pengguna sistem.
Ga mbar 2.3 Contoh class diagram.
|
![]() Sumber: Whitten & Bentley (2007, p. 384)
Ada beberapa elemen yang perlu diperhatikan dalam sebuah use case
diagram, yakni:
a. Actor
Menurut Whitten dan Bentley (2007, p. 247), dala
sebuah use case,
actor adalah entitas yang memulai aktivitas dala
sebuah sistem yang
menghasilkan nilai yang dapat diukur.
Ga mbar 2.4 Simbol actor.
Sumber: Whitten & Bentley (2007, p. 247)
Ada empat tipe actor, yaitu:
Primary Business Actor
Actor utama yang berpengaruh secara langsung dalam
pengeksekusian sebuah use case dengan cara menerima nilai yang
dapat diukur. Actor ini dapat mengerjakan sebuah task atau tidak
sama sekali.
Contoh: Seorang karyawan menerima tagihan dari sebuah sistem
bank setiap hari Jumat. Karyawan tidak memulai event, namun
mendapatkan sesuatu yang mempunyai nilai.
Primary System Actor
Actor utama yang mempun yai hubungan langsung dengan sistem dan
dapat berinteraksi dengan primary business actor sebagai perantar a.
Contoh: Seorang customer menyewa mobil lewat website yang diurus
oleh seorang admin yang menjadi perantar a
antara customer dan
pemilik mobil.
External Server Actor
Actor yang merespon permintaan dari use case.
|
![]() Contoh: Biro kredit melakukan authorization saat pengisian kartu
kredit.
External Receiver Actor
Bukan actor utama, namun menerima nilai terukur dari suatu use
case.
Contoh: Sebuah gud ang menerima packing order untuk
mempersiapkan pengiriman barang.
b. Relationship
Whitten dan Bentley (2007, p. 248) mengambarka
relationship dalam
sebuah use case diagram sebagai sebuah garis yang me
ghubun gkan
antara dua simbol yang jenis hubungannya tergantung denga
bagaimana
garis tersebut digambar.
Association
Relationship antara actor dan use case.
Gambar 2.5 Relationship association
Sumber: Whitten & Bentley (2007, p. 248 )
Dari gambar di atas, kita dapat melihat dua tipe garis yang
menghubungkan actor dengan use case. Garis (1) yang memiliki ujung
panah menunjukkan bahwa use case tersebut dapat langsun g dilakukan
oleh actor tersebut, sedangk an garis (2) yang tidak memiliki arah
panah menunjukkan bahwa terjadi interaksi antara use case dengan
external actor.
Extend
Sebuah use case yang terdiri dari lan gkah-lan gk ah yang dikutip dari
use case yang lebih kompleks untuk men yederhanakan use case asli
dan memperluas fungsionalitasnya. Relationship ini disebut extend,
dan setiap gambar garis extend harus diberi label <<extend>>.
|
![]() Gambar 2.6 Relationship extend.
Sumber: Whitten & Bentley (2007, p. 249)
Uses
Tidak jarang kita menemukan dua atau lebih use case yang melakukan
fungsi identik. Sangat disarankan untuk mengekstrak langkah-langkah
ini menjadi use case terpisah yan g disebut abstract use case. Abscract
use case mengurangi redundansi dan relationship antara abstract use
case dengan use case yang menggunakann ya disebut relationship uses.
Mirip dengan extend, relationship uses juga harus dilabeli tag
<<uses>> dalam garis penghubungnya.
Gambar 2.7 Relationship uses.
Sumber: Whitten & Ben tley (2007, p. 249 )
Depends on
Hubungan yang menggambarkan ketergantungan antar use case. Jenis
hubungan ini digambarkan dengan garis yang berpanah dimulai dari
satu use case menunjuk ke use case tempat ia bergantung.
Relationship ini disebut depends on. Menggunakan label
|
![]() <<depends on>>.
Gambar 2.8 Relationship depends on.
Sumber: Whitten & Bentley (2007, p. 250)
Inheritance
Ketika dua atau lebih actor dapat menginisiasikan use case yang
sama, ada baiknya behavior ini diekstrapolasi menjadi ke aktor baru
yang bersifat abstrak untuk mengurangi komunikasi yang redund an
dalam sistem. Contohnya, seorang pengawas perpustakaan memegang
kartu yang mengizinkann ya untuk mencari inventory perpustakaan,
check-out buku. Pengunjung perpustakaan dapat melakukan
pencarian inventory perpustakaan, namun tidak dengan check-out
buku. Dengan membuat actor abstrak yang men ghubun gk an
pengawas dan pengunju ng, misalnya dengan nama customer, yang
akan diwariskan (inherit) ke pengawas dan p engunjung, kita hanya
perlu memodelkan satu kali relationship yang menginisiasi fungsi
mencari inventory perpustakaan. Hubun gan ini disebut inheritance,
yang digambarkan dengan garis dengan ujung panah.
|
![]() Gambar 2.9 Relationship inheritance.
Sumber: Whitten & Bentley (2007, p. 250)
2. Activity diagram
Menurut Whitten dan Bentley (2007, p. 382), activity diagram
menampilkan aktivitas dalam suatu sistem secara sekuensial.
Dengan merujuk pada
gambar di halaman selanjutnya, elemen-elemen yang
menyusun sebuah activity diagram adalah sebagai berikut:
(1) Initial node Lingkaran solid yang menunjukkan awal proses.
(2) Actions
Lingk aran lonjong yang merepresentasikan tahap-tahap dalam
sebuah proses.
(3) Flow Panah yang menunjukkan alur bergeraknya proses.
(4) Decision Bujursangkar den gan satu flow masuk dan dua flow keluar.
Ada kondisi yang perlu dipenuhi oleh flow masuk untuk keluar lewat
salah satu dari dua flow keluar tersebut. Biasanya berupa ya atau
tidak.
(5) Merge Keb alikan dari decision di mana dua flow masuk ke
bujursangkar dengan satu flow keluar. Menggabungkan dua flow yang
terpecah oleh decision.
(6) Fork Garis hitam dengan satu flow masuk dan d ua flow keluar, sehingga
memungkinkan beberapa activity untuk berjalan secara bersamaan.
|
![]() (7) Join Kebalikan dari fork dimana dua flow masuk menghasilkan satu
flow keluar. Menggabungkan hasil fork kembali menjadi satu flow.
(8) Activity final Lingkaran yang menunjukkan akhir dari sebuah proses.
Ga mbar 2.10 Activity diagram.
Sumber: Whitten & Bentley (2007, p. 393)
|
![]() Activity diagram pada Gambar 2.5 tidak menunjukkan siapa yang
melakukan proses. Jika kita ingin membagi pro ses tersebut sesuai dengan
pelakun ya, kita dapat melakukan partisi yang disebut swimlane. Contohnya
bisa dilihat pada gambar di bawah ini.
Ga mbar 2.11 Activity diagram dengan swimlane.
Sumber: Whitten & Bentley (2007, p. 394)
|
![]() Dari gambar di atas, kita dapat melihat bahwa proses tersebut dibagi
sesuai dengan pelakunya, yakni member dan computer system. Ada dua
elemen baru dalam gambar tersebut, yakni:
(9) Subactivity indicator simbol yang menunjukkan aktivitas yang dipecah
ke activity diagram lain.
(10) Connector Huruf dalam lingkar an mempermudah dalam mengatur
kompleksitas. Flow yang masuk dalam connector akan keluar di
connector lain dengan indikator huruf sama.
3. Class diagram
Menurut Whitten dan Bentley (2007, p. 382), class diagram
mengambarkan object structure dari sebuah sistem. Class diagram
menunjukkan bahwa sistem terkait tersusun dan terangkai oleh hubungan-
hubungan yan g ada dalam class. Setiap class yang menyusun class diagram
direpresentasikan dengan sebuah kotak yan g terbagi atas 3 (tiga) bagian,
yaitu:
a. Class name
Nama kelas merupakan identitas dari setiap kelas.
b. Attribute
Atribut kelas menunjukkan informasi yang dimiliki oleh suatu kelas.
c. Operation
Operasi kelas menunjukkan apa yang bisa dilakuk an oleh suatu kelas.
Gambar 2.12 Contoh class.
Sumber: (Whitten & Bentley, 2007, p. 406)
|
![]() Gambar 2.13 Contoh class diagram.
Sumber: Whitten & Bentley (2007, p. 406)
Ada beberapa istilah penting dalam class diagram yaitu:
a. Visibility
Visibility menentukan apakah atribut dari suatu class dapat diakses
oleh class lainnya.
Tabel 2.1 Tabel simbol visibility.
Simbol Deskripsi
-
Private
Hanya bisa diakses oleh class yang mendefinisikannya.
# Protected
Dapat diakses oleh class yang mendefinisikannya dan turunan
|
![]() dari class tersebut.
+
Public
Dapat diakses oleh semua class yang berhubungan dengan class
terdefinisi.
b. Multiplicity
Menentukan jumlah banyakn ya objek sebuah class yang berelasi
dengan objek lain pad a class lain yang berasosiasi dengan class tersebut.
Tabel 2.2 Tabel multiplicity.
Simbol Deskripsi
1 Han ya satu.
0 .. 1 Nol atau satu.
0 .. * Nol atau lebih.
1 .. * Satu atau lebih.
? .. ? Spesifik.
c. Relationship
Atau hubungan, seperti namanya, menunjukkan tipe hubungan antar
class. Terdiri dari:
Association
Hubungan statik antara class yang digunakan untuk memberikan
penjelasan tentang relasi dan multiplicity. Ada dua tipe, yaitu:
-
Uni-directional
Dua class berhubungan, tetapi hanya satu di antaranya yang
memiliki peran dalam dalam hubungan tersebut.
-
Bi-directional
Kedua class terhubung dan masing-masing memiliki peran.
Aggregation
Digunakan untuk mengambarkan hubungan di mana sebuah class
adalah bagian dari class lain namun tidak sebalikn ya. Contoh: Guru
adalah bagian dari class Sekolah, tapi Sekolah b ukanlah bagian dari
class Guru.
|
Generalization/Specialization
Teknik untuk mengelompokkan objek yang memiliki kesamaan
dalam atributnya ke dalam sebuah supertype. Attribut dari supertype
akan diwariskan ke sub type. Konsep inheritance berlaku sehingga
subtype dapat memakai sifat-sifat supertype.
Dependency
Menunjukkan apabila sebuah perubahan terjadi dengan satu class,
class lain yang terhubung juga akan ikut berubah.
2.6 Android
Android adalah sistem operasi yang didesain khususnya untuk smartphone
dan komputer tablet yang dimiliki dan dikembangkan oleh Google.
Secara sederhana, Meier (2010, p.4) menyimpulkan bahwa Android
merupakan kombinasi dari tiga komponen, yaitu:
1. Sistem operasi gratis dan open-source untuk mobile device.
2. Development platform yang open-source untuk menciptakan aplikasi mobile.
3. Device, khususnya smartphone yang menjalankan Android sebagai sistem
operasinya d an aplikasi yang dibuat untuknya.
Menurut Meier (2010, p.3), Android menawarkan peluang baru untuk aplikasi
mobile dengan menawarkan keterbukaan dalam development environment-nya.
Dibangun di atas kernel Linux, akses perangkat keras dalam device Android
diberikan untuk semua aplikasi lewat serangkaian library API dan interaksi
aplikasi. Dalam Android, semua aplikasi memiliki derajat sama. Aplikasi third
party (dari luar) dan native (bawaan) Android ditulis menggunakan API yang
sama dan dieksekusi dalam run time yang sama.
Fitur-fitur penting yang dimiliki Android antara lain :
1. Framework aplikasi yang mendukung penggantian komponen dan reuseable.
2. Dalvik Virtual Machine (DVM) dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open so urce Webkit.
4. Grafis yang dioptimalkan dan didukung oleh perpustakaan grafis 2D, dan
grafis 3Dberdasarkan spesifikasi OpenGL ES 1.0 (Opsional akselerasi
hardware).
|
![]() 6. SQLite untuk penyimpanan data.
7. Media support yang didukung audio, video, gamb ar (MPEG4, h.264, MP3,
AAC, AMR , JPG, PNG, GIF), dan GSM Telephone (tergantung hardware
device).
8. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware device).
9. Kamera, GPS, kompas, dan accelerometer (tergantung hardware device).
10. Lingkungan development yang lengkap dan kaya, termasuk perangkat
emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk
Eclipse IDE.
Versi terbaru Android saat ini adalah Android 4.4 yang diberi codename
KitKat. Versi perdananya adalah Android 1.1. Semenjak versi 1.5 yang ber-
codename Cupcake, setiap versi terbaru Android diberi codename makanan
manis dengan huruf pertama yang berurutan. Android versi 1.6 diberi codename
Donut, Android versi 2.0/2.1 Eclair, And roid versi 2.2 Froyo (frozen yoghurt),
Android versi 2.3 Gingerbread, Android versi 3.0 Honeycomb, Android versi 4.0
Ice Cream Sandwich dan Android versi 4.1 (Jelly Bean).
Sejak tahun 2012, Android menjadi sistem operasi smartphone paling laris di
dunia. Menurut data dari IDC1, Android menguasai 70,18% pangsa pasar
smartphone di kuartal keempat tahun 2012.
Gambar 2.14 Diagram yang menunjukkan pangsa pasar smartphone dunia.
Sumber: idc.com
2.7 Augmented Reality
2.7.1 Pengertian Augmented Reality
Istilah augmented reality menurut Mullen (2011, p. 2) berarti kombinasi
antara teknologi yang memungkinkan pen ggabungan antara objek yang
|
![]() dihasilkan oleh komputer dengan objek nyata yang ditampilkan dengan live
video. Augmented reality dibedakan dengan virtual reality. Virtual reality
melibatkan penciptaan lingkungan tiga dimensi yang imersif, sementara
augmented reality menciptakan objek tertambah komposit di dunia nyata.
Madden (2011, p. 4) mengatakan bahwa augmented reality sebagai
teknologi yang mampu:
Mengkombinasikan dunia nyata dengan objek yang dihasilkan
komputer.
Memungkinkan interaksi dengan objek secara real-time.
Men-track aktivitas objek secara real-time.
Mengenal gambar atau objek.
Menampilkan informasi secara real-time.
Dengan bantuan teknolo gi augmented reality lingkungan n yata disekitar
kita akan dapat berinteraksi dalam bentuk digital (virtual). Info rmasi
informasi tentan g objek dan lingkun gan disekitar kita dapat ditambahkan
kedalam sistem augmented reality yan g kemudian informasi tersebut
ditampilkan diatas layer dunia nyata secara real-time seolah-olah informasi
tersebut n yata.
Augmented reality dapat mempermudah kehidupan penggunanya dengan
membawa informasi virtual. Fuhrt (2011, p. 14) mengatakan bahwa aspek
paling penting dalam teknologi ini adalah menciptakan teknik yang baik
untuk interaksi yang intuitif antara penggunan ya dengan aplikasi
augmented reality.
Ga mbar 2.15 Contoh penerapan augmented reality dalam
lingkungan supermarket.
Sumber: augmentedpixels.com
|
2.7.2 Sejarah Augmented Reality
Istilah augmented reality diciptakan oleh Tom C audell, seoran g peneliti
di perusahaan pesawat terbang Boeing pada tahun 1990 (Fuhrt, 2011, p. 3).
Selama awal dan pertengahan tahun 90an, Caudell dan rekan-rekannya
mengembangkan head-mounted display untuk membantu pekerja memasang
kabel dalam pesawat terbang menggunak an diagram digital yang
diproyeksikan ke layar head-mounted display tersebut yang menunjukkan
dimana kabel harus dipasang. Dengan diimplementasikannya teknologi
seperti ini, pekerjaan pun menjadi lebih mudah dilakukan.
Sepanjang dekade 90an, augmented reality tetap berkembang di sektor
industri dan militer. Peran gkat yan g dibutuhkan untuk menampilkan
augmented reality cend erung mahal dan berukuran besar, sehingga tidak
banyak khalayak umum yang memiliki kesempatan untuk mencoba
teknologi ini.
Pada akhir tahun 90 an, Hirokazu Kato menciptakan ARToolKit, sebuah
library yang dapat mempermudah pengerjaan augmented reality, namun
kebutuhan perangkat keras yang besar dan mahal masih menutup
kesempatan bagi augmented reality untuk dipakai oleh masyarakat banyak.
Hal ini akan tetap berlangsung apabila teknologi ponsel pintar atau
smartphone tidak berkembang seperti saat ini. Smartphone Android dan
iPhone beserta tablet computer yang memiliki kamera dan daya proses
layakn ya komputer membuka banyak kemungkinan yang menarik un tuk
pengaplikasian augmented reality.
Pada tahun 2008, Wikitude AR Travel Guide, memperkenalkan Android
G1 Telephone yan g berteknologi augmented reality, tahun 2009, Saqoosha
memperkenalkan FLARToolkit yang merupakan perkembangan dari
ArToolkit. FLARToolkit memungkinkan kita memasang teknologi AR di
sebuah website, karen a output yang dihasilkan FLARToolkit berbentuk
Flash. Di tahun yang sama, Wikitude Drive meluncurkan sistem navigasi
berteknologi AR di Platform Android. Tahun 2010, Acrossair menggunakan
teknologi augmented rea lity pada iPhone 3GS.
|
![]() 2.7.3 Jenis-jenis Augmented Reality
Augmented reality dibagi menjadi dua berdasarkan metode penggunaann ya.
1. Market Augmented Reality
Metode yang meman faatkan marker, misaln ya ilustrasi monokrom
(hitam putih) berbentuk persegi dan bentuk lainn ya dengan batas hitam
tebal dan latar putih. Dengan menghadapkan kamera ke posisi yang tepat,
device ak an melakukan proses render objek, menyatukan objek virtual
tersebut dengan dunia nyata.
Gambar 2.16 Au gmented reality d engan marker.
Sumber: arlabs.com
2. Markerless Augmented Reality
Metode yang tidak membutuhkan marker, sesuai namanya.
Penggunaan metode ini biasa dilakukan dengan memanfaatkan deteksi
koordinat objek, misalnya wajah untuk dijadikan trigger untuk
menampilkan informasi tentang pemilik wajah tersebut.
|
![]() Gambar 2.17 Augmented reality tanpa marker.
Sumber: arlabs.com
2.7.4 Aplikasi Augmented R eality
Augmented reality sudah cukup banyak diaplikasikan ke dalam
kehidupan sehari-hari, kegiatan perindustrian, hingga militer (Andriyadi,
2011, p. 10).
a. Kedokteran
Teknologi pencitraan sangat dibutuhkan di dunia kedokteran,
misalnya simulasi operasi atau simulasi pembuatan vaksin dan lain
sebagainya.
b. Hiburan
Augmented reality juga dipakai dalam dunia hiburan, misalnya
dalam industri perfilman atau game. Teknologi ini juga belakangan
ini diterapkan pada koran atau majalah, dimana pembaca dapat meng-
scan marker yang ada di majalah untuk menampilkan konten yang
dimuat di dalamnya.
c. Militer
Contoh penerapan augmented reality dalam dunia militer misalnya
simulasi perang dimana tentara dapat berpartisipasi di dalamn ya
sebagai latihan.
d. Engineering
Augmented reality dap at mensimulasikan perbaik an alat-alat berat
atau mesin, misalnya mobil hingga pesawat.
|
e. Robotik
Dalam bidang robotika, seorang operator robot menggunakan
pencitraan visual lewat augmented reality untuk mengendalikan robot
itu.
f. Consumer Design
Augmented reality telah digunakan dalam mempr omosikan produk.
Sebagai contoh, seorang pen gembang menggunakan brosur virtual
untuk memberikan informasi yang lengkap secara 3D, sehingga
pelanggan dapat mengetahui secara jelas produk yang ditawarkan.
2.8 Vuforia QCAR
Vuforia QCAR adalah softw are development kit (SDK) yang digunakan
untuk menciptakan aplikasi augmented reality. Vuforia QCAR menyediakan
application programming interfaces (API) dengan bahasa C++, Java, Objective-
C dan mendukung pengembangan aplikasi untuk platform iOS dan Android.
Vuforia QCAR men ggu nakan teknologi Computer Vision untuk mengenali
dan men-track target dan objek tiga dimensi, memungkinkan pen gguna untuk
memposisikan objek virtual bersama dengan gambar dunia nyata yang
ditampilkan lewat layar kamera mobile device secara real-time. Objek virtual
tersebut
men-track posisi gambar dunia nyata tersebut sehingga objek dan
lingkungann ya dapat berkorespondensi dengan perspektif pengguna aplikasi,
membuat objek virtual tersebut nampak selayaknya bagian dari dunia nyata.
Setelah melakukan registrasi di website vuforia, pengembang aplikasi
kemudian dapat men gun ggah gambar inputan untuk dijadikan target yang ingin
di-track. Tidak semua gambar dapat dipakai menjadi target. Akan dilakukan
penilaian terlebih dahulu oleh web develop er vuforia. Nilai skor target
mendefinisikan seberapa baik suatu gambar dapat dideteksi dan dilacak
menggunakan SDK Vufo ria. Direpresentasikan dengan bintang, nilai skor sebuah
gambar yang akan dijadikan target berkisar dari 0 hingga 5. Semakin banyak
bintang, semakin kuat kemampuan deteksi dan pelacakan yang didapat.
Atribut yang menjadi kriteria penilaian Vufo ria disebut feature. Feature
adalah sudut-sudut tajam yang ada di dalam gambar yang diunggah. Image
analyzer Vuforia akan menampilkan hasil deteksi feature dengan tanda silang
|
![]() keci berwarna kuning. Untuk contoh penilaian, dapat dilihat di gambar di bawah
ini.
Gambar 2.18 Contoh gambar yang kurang baik untuk dijadikan target oleh Vuforia.
Sumber: developer.vuforia.com
Gambar 2.18 merupakan contoh gambar yang kurang baik untuk dijadikan
target. Jumlah tanda silang kuning yang menandakan feature sedikit diakibatkan
dua faktor, yakni ku rangnya atau burukn ya distribusi feature dalam gambar atau
kontras gambar yan g kurang baik. Gambar yang baik untuk dijadikan target oleh
Vuforia adalah gambar yang memiliki sudut tajam yang detail. Untuk lebih
jelasnya, perh atikan Gambar 2.19.
Gambar 2.19 Gambar bentuk sederh ana yan g dinilai oleh Vuforia.
Sumber: developer.vuforia.com
Hasil penilaiain Vuforia ke gambar bentuk sederhana dapat dilihat pada
Gambar 2.19. Di posisi paling kiri terdapat bentuk persegi yang memiliki empat
tanda silang kunin g di setiap sudutnya. Di tengah, terdapat lingkaran yan g sama
sekali tidak memiliki tanda silang kuning. Sementara itu, di kanan, terdapat
bentuk persegi dan setengah lin gkaran yang memiliki dua tanda silang kuning
pada sudut bagian perseginya. Dari ketiga gambar tersebut, dapat disimpulkan
|
![]() bahwa bentuk lingkaran tidak cocok untuk dijadikan target karena tidak memiliki
sudut tajam atau feature.
Untuk contoh gambar dengan penilaian baik oleh Vuforia dapat dilihat di
Gambar 2.20. Dapat dilihat bahwa gambar terseb ut memiliki banyak tanda silang
kuning karena jumlah feature yang banyak.
Gambar 2.20 Contoh gambar yang baik untuk dijadikan target oleh Vuforia.
Sumber: developer.vuforia.com
2.9 Unity
Menurut Goldstone (2009, p.1), Unity adalah game authoring tools untuk
Mac dan PC. Unity yang berbasis 3D menggunakan Direct3D (Windows),
OpenGL (Windows, Mac, Linux), OpenGL ES (Android) seb agai graphic
engine. Versi terbarunya adalah Unity 4.3.3 yang dirilis pada Januari 2014.
Meskipun Unity digunakan secara luas untuk menciptakan game, Unity juga
mempun yai kapabilitas untuk menciptakan aplikasi di luar ranah entertainment
dengan memanfaatkan kemampuan Unity untuk melakukan render grafik 3D
atau 2D dengan cepat menggunakan GPU atau engine physics-nya, misalnya
aplikasi arsitektural, aplikasi instruksi interaktif atau aplikasi presentasi produk.
Unity memiliki built-in scripting engine bernama Mono. Scripting di dalam
Unity 3D dapat menggunakan beberap a pilihan bahasa pemro graman, yaitu
C++, Javascript, C#, atau Boo.
2.10 XML
XML adalah singkatan dari Extensible Markup Language. XML adalah
serangkaian peraturan untuk mendefinisikan tag semantik yang memecah
dokumen menjadi bagian-bagian terpisah. Menurut Fawcett, Ayers, & Quin
|
(2012, p. 4), XML memiliki dua fungsi, yaitu merepresentasikan low level data,
misalnya file konfigurasi dan menambahkan metadata ke dokumen, misalnya di
saat kita ingin menandai dokumen dengan tulisan miring (italic) atau cetak tebal
(bold).
Perlu diketahui XML bukan markup language selayaknya HTML (Hypertext
Markup Language). XML adalah sebuah meta-language (bahasa yang digunakan
untuk menjelaskan bahasa lain) yang memungkinkan pengembang membuat
sendiri tag yang menyediakan fun gsi yang tidak tersedia dalam HTML.
Contoh XML:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Budi</to>
<from>Moyes</from>
<heading>Reminder</heading>
<body>Jangan lupa kerjakan skripsi!</body>
</note>
2.11 C#
C# (baca: C Sharp) adalah bahasa pemrograman yang pertama diumumkan
oleh Microsoft pada tahun 2000. Menurut Deitel (2012, p. 12), C# yang
memiliki akar di C, C++ dan Java mempunyai kapabilitas layaknya Java dan
cocok untuk pengembangan aplikasi berskala b esar, misalnya enterprise app,
aplikasi web-based dan cloud-based app.
C# adalah bahasa berb asis object oriented dan memiliki akses ke .NET
Framew ork Class Library kumpulan prebuilt class yang powerful dan
memungkinkan pengerjaan aplikasi dengan lebih cepat. C# juga event driven.
Pengemban g dapat membuat aplikasi yang bereaksi dengan event seperti mouse
click, keystroke dan lain-lain. Hal ini juga berlaku untuk event di smartphone,
misalnya swipe, touch, tap dan lain-lain.
|