11
BAB 2
TINJAUAN PUSTAKA
2.1
Teori Teori Mengenai Multimedia
2.1.1
Multimedia
Bagian ini akan menjelaskan beberapa teori dasar dari multimedia
beserta elemen-elemen dari multimedia.
2.1.1.1
Pengertian Multimedia
Multimedia merupakan kombinasi dari teks, audio, gambar,
animasi, video, dan interaksi (Zeembry, 2008).
Menurut Mao Neo
dan Ken T.K Neo yang dikutip oleh Sumarno
(2011) multimedia
dipadukan dalam aplikasi atau presentasi interaktif multisensory
untuk menyampaikan suatu pesan atau informasi kepada pengguna.
Multimedia sudah banyak diterapkan dalam dunia
teknologi, perfilman, periklanan, pendidikan, bisnis, militer,
desain, arsitektur, dan lainnya (Wahono, 2007). Contoh penerapan
multimedia pada teknologi adalah game, e-learning, kios
informasi, kedokteran, dan lainnya.
Multimedia sendiri terbagi menjadi 2 (dua) jenis, yaitu:
multimedia linear dan multimedia interaktif.
Multimedia linear
adalah jenis multimedia dimana tidak terjadi interaksi antara
pengguna dan alat multimedia.
Contoh dari multimedia linear
seperti film, video dan siaran televisi.
Sedangkan multimedia
interaktif adalah jenis multimedia dimana pengguna bisa
berinteraksi secara dua arah dengan alat multimedia dengan
menggunakan perangkat. Contohnya seperti aplikasi game dan
virtual reality. (Sigit, Bambang dan Joko, 2008)
  
12
2.1.1.2
Elemen-elemen Multimedia
Berdasarkan pendapat Vaughan (2011:1), elemen
multimedia terdiri dari teks, grafik, audio (suara dan musik), video
dan animasi.
1.
Teks
Teks sudah digunakan untuk kepentingan komunikasi
sejak 6000 tahun yang lalu. Teks memegang peranan penting
dalam penyampaian pesan dalam sebuah aplikasi multimedia,
karena teks menjadi salah satu cara efektif untuk
menyampaikan informasi dan petunjuk kepada pengguna.
Jenis-jenis teks terdiri dari printed text, scanned text, electronic
text dan hypertext.
2.
Grafik
Grafik sangat berguna untuk menjelaskan informasi
yang tidak dapat dijelaskan oleh kata-kata. Seperti terdapat
kalimat yang mengatakan sebuah gambar dapat mewakili
seribu kata, maka grafik juga tidak kalah penting dalam sebuah
aplikasi multimedia. Terkadang sebuah grafik juga
menyertakan beberapa teks di dalamnya agar informasi yang
disampaikan lebih jelas.
Umumnya, grafik yang tersimpan
dalam komputer tersimpan dalam formatnya tersendiri yang
dikompres untuk menghemat memori dan kapasitas data,
seperti Graphics Interchange Format
(GIF), Joint
Photographic Experts Group
(JPEG), Portable Network
Graphics (PNG) dan lainnya. Jenis-jenis dari grafik terdiri dari
bitmaps, vector, clip art, digitized picture, dan lainnya.
3.
Audio
Sebuah aplikasi multimedia akan kurang menarik bila
tidak ada audio di dalamnya. Bagaimana kita menggunakan
sebuah sound akan menunjukkan perbedaan yang jelas di
dalam sebuah aplikasi multimedia. Oleh sebab itu, jika salah
menggunakan audio dalam sebuah proyek, maka akan
memberikan efek yang buruk pada keseluruhan proyek.
(Vaughan, 2011:104).
  
13
4.
Video
Video adalah kumpulan gambar-gambar yang bergerak
yang direkam oleh kamera, camcorder dan sejenisnya. Dalam
sebuah aplikasi multimedia, pesan dan cerita akan
tersampaikan dengan baik dengan adanya video. Video
menyampaikan apa yang tidak bisa dijelaskan oleh teks dan
grafik. Pengguna cenderung dapat menangkap apa yang mereka
lihat melalui video. Namun, bila video tersebut tidak dapat
menyampaikan pesan secara jelas dan maksimal, maka itu akan
membawa dampak buruk bagi sebuah aplikasi multimedia.
(Vaughan, 2011:164-165)
5.
Animasi
Animasi adalah gerakan gambar yang dihasilkan oleh
deretan frame. Animasi dapat membuat sebuah aplikasi
multimedia menjadi lebih hidup. Animasi
yang sederhana
terdapat pada 2D. Kemudian animasi tingkat menengah
terdapat pada dua setengah dimensi (2½-D) yang memberikan
kesan efek bayangan, cahaya dan perspektif. Dan animasi yang
paling mendekati nyata adalah animasi tiga dimensi (3D),
dimana perhitungan sumbunya menggunakan sumbu X, Y dan
Z.
2.1.1.3
Storyboard
Menurut Vaughan (2011:295) storyboard
digunakan dalam
merancang rincian-rincian dalam sebuah proyek multimedia.
Setiap rincian seperti gambar, suara, pilihan navigasi, teks hingga
pewarnaan dan bayangan dirincikan dalam storyboard.
Berdasarkan pendapat Vaughan (2011:296)
dalam storyboard
terdapat 4 jenis navigasi, yaitu linear navigation, hierarchical
navigation, nonlinear navigation, dan composite navigation.
1.
Linear Navigation
Storyboard
yang berjalan secara berurut dari frame
pertama ke frame berikutnya.
  
14
2.
Hierarchical Navigation
Storyboard
yang memiliki cabang sehingga pengguna
dapat mengakses ke jalur yang berlainan sesuai dengan alur
yang ditetapkan.
3.
Nonlinear navigation
Storyboard yang memiliki alur tidak berurutan sehingga
dapat diakses secara bebas sesuai keinginan penggunanya.
4.
Composite navigation
Merupakan
gabungan dari storyboard hierarchical
dan
nonlinear. Pengguna dapat mengakses secara nonlinear
dalam
storyboard
tersebut namun tetap dalam batasan yang telah
ditentukan.
2.2
Teori Teori Tematik
Pada teori tematik akan dibahas mengenai teori –
teori dasar yang
digunakan dalam pengembangan aplikasi game ini.
2.2.1
Metode Agile
Menurut Pressman (2010:68), metode agile
merupakan sebuah
metode dalam proses pengembangan aplikasi yang dapat menerima
perubahan dan mengubahnya dalam waktu yang singkat. Metode agile
mampu menyesuaikan terhadap perubahan –
perubahan requirement
yang terjadi pada saat proses pengembangan aplikasi. Di antara semua
metode agile, Extreme Programming
(XP) merupakan metode yang
paling sering digunakan pada saat pengembangan aplikasi.
2.2.1.1
Extreme Programming
Menurut Pressman (2010:72-73) terdapat 5 (lima) nilai
yang menjadi dasar dari metode Extreme Programming, antara
lain:
1. Komunikasi (Communication)
Agar hubungan komunikasi antara pihak pengembang
aplikasi dan pengguna
dapat berjalan secara efektif, maka
dalam metode Extreme Programming
menyarankan adanya
kolaborasi yang baik antara pengembang aplikasi dengan
pengguna, sehingga menghasilkan sebuah komunikasi yang
  
15
efektif dalam menyampikan konsep penting dalam
pengembangan aplikasi serta umpan balik secara terus
menerus.
2. Kesederhanaan (Simplicity)
Agar kesederhanaan dapat tercapai, XP membatasi
pengembang aplikasi untuk mengembangkan kebutuhan
yang mendesak dibandingkan dengan kebutuhan yang
diperlukan pada waktu mendatang. Hal tersebut bertujuan
untuk membuat sebuah rancangan sederhana yang dapat
diimplementasikan secara mudah dalam kode. Bila terjadi
perubahan pada design, dapat dilakukan dengan melakukan
refactoring pada waktu mendatang.
3. Umpan Balik (Feedback)
Umpan balik dalam Extreme Programming diperoleh
dari 3 (tiga) sumber, yaitu software itu sendiri, pengguna dan
anggota tim pengembangan software
lainnya. Umpan balik
tersebut berupa output, fungsi dan karakteristik dari use case.
4. Dorongan (Courage)
Extreme Programming
dalam pelaksanaannya
menuntut pada dorongan atau disiplin untuk lebih tepatnya.
Sebuah tim harus mempunyai kedisiplinan untuk merancang
kebutuhan pada saat ini, dengan mengetahui bahwa
perubahan yang akan datang dapat berubah tanpa terduga
yang meyebabkan kemungkinan perubahan rancangan dan
implementasi pada kode.
5. Saling Menghargai (Respect)
Dengan memegang prinsip –
prinsip yang telah
disebutkan, maka tim dapat menanamkan rasa saling
menghargai di antara anggota tim, stakeholder ataupun
kepada software itu sendiri.
Menurut
pendapat Pressman (2010:73-77), Extreme
Programming
menggunakan pendekatan object-oriented yang
  
16
meliputi serangkaian aturan. Extreme Programming
terdiri dari
4 (empat) buah kerangka kerja, antara lain: 
1.
Planning
Pada tahapan ini, semua orang yang terlibat dalam
pengembangan aplikasi berdiskusi mengenai output, fitur
dan fungsionalitas hasil aplikasi yang akan dikembangkan.
Hasil dari diskusi akan menghasilkan user stories
yang
merupakan gambaran kebutuhan user.
2.
Design
Tahapan design pada metode Extreme Programming
mengikuti aturan keep it simple
(KIS). Rancangan yang
sederhana lebih diutamakan daripada rancangan yang
kompleks. Dalam metode XP juga menyarankan penggunaan
CRC cards sebagai mekanisme yang efektif dalam konteks
perancangan berorientasi objek. Untuk perancangan yang
rumit, XP menyarankan penggunaan Spike Solution.
Tujuannya adalah untuk mengurangi resiko ketika
implementasi aplikasi yang sebenarnya dilakukan serta
melakukan validasi terhadap estimasi awal
untuk story
yang
berisi
masalah rancangan. XP juga menyarankan refactoring
yang merupakan penyederhanaan pada struktur kode tanpa
mengubah fungsionalitas pada kode tersebut.
3.
Coding
Pada tahapan
ini para pengembang aplikasi harus
terlebih dahulu membuat serangkaian unit test
yang akan
menguji setiap pendapat dan apa yang harus
diimplementasikan agar dapat melewati proses testing. Pada
tahap ini juga dilakukan pair programming. XP
menyarankan bahwa dua orang bekerja sama untuk
melakukan penulisan kode dalam pengembangan aplikasi.
Setiap orang memegang peranan yang berbeda, dimana salah
satu orang akan memikirkan tentang rincian coding
yang
akan diterapkan sesuai dengan rancangan yang ada,
  
17
sedangkan
yang lainnya memastikan penulisan kode akan
memenuhi persyaratan pada unit test
yang telah
dikembangkan untuk melakukan validasi antara kode dan
story yang dibuat.
4.
Testing
Dalam testing
akan dilakukan pengujian kode pada
serangkaian unit testing.
Pada tahap ini juga terdapat
acceptance test atau dapat disebut juga dengan customer test
yang dilakukan oleh pengguna aplikasi untuk melihat
keseluruhan fitur dan fungsionalitas dari aplikasi yang telah
dikembangkan. Acceptance test diperoleh dari user stories
yang telah diimplementasikan.
Gambar 2.1 Proses Extreme Programming
(Sumber: Software Engineering A Practitioner’s Approach – Pressman,
2010:74)
2.2.2
Game
Pada bagian ini akan dibahas teori mengenai  pengertian game,
game genre, dan game balancing.
2.2.2.1
Pengertian Game
Manusia bermain game
untuk menghibur diri. Menurut
Adams (2010:3) game adalah kegiatan bermain dalam realitas yang
dibuat-buat, dimana peserta ingin mencapai sebuah tujuan dengan
  
18
dibatasi oleh aturan-aturan. Dari definisi tersebut maka dapat
disimpulkan bahwa game
memiliki beberapa elemen. Elemen
tersebut adalah play, pretending, goals
dan rules. Play
atau
bermain adalah sebuah bentuk partisipasi dari hiburan. Pretending
atau berpura-pura adalah membuat realitas khayalan dalam pikiran.
Dalam
game
juga dibutuhkan tujuan yang harus dicapai oleh
peserta. Karena tanpa tujuan yang jelas, maka peserta tidak tahu
apa yang harus dilakukan. Pada game juga harus ada aturan-aturan
yang membatasi aksi yang dilakukan oleh peserta. Aturan
pada
game
biasanya disesuaikan dengan keadaan pada dunia nyata.
Misalnya, ketika jatuh dari ketinggian maka akan terasa sakit.
2.2.2.2
Game Genre
Menurut Adams (2010:70-71) terdapat beberapa jenis game
genre, yaitu:
1.
Action Game
Action
Game
adalah game
dimana tantangan di
dalamnya membutuhkan keterampilan fisik dan koordinasi
pemain. Pada action
game biasanya pemain diharapkan untuk
memiliki respons yang cepat.
2.
Strategy Game
Strategy
game
adalah game
dimana tantangan di
dalamnya merupakan konflik strategis yang membuat pemain
harus memiliki planning
yang baik untuk mencapai
kemenangan. Pada strategy
game
biasanya pemain akan
menemukan banyak pilihan yang harus dibuat untuk membuat
sebuah strategi yang baik. Pemain juga diharapkan dapat
mengolah sumber daya yang disediakan dengan baik.
3.
Role-playing Game
Role-playing game
adalah game
dimana pemain
mengendalikan sebuah karakter atau lebih dengan memandu
karakter tersebut untuk menyelesaikan serangkaian cerita.
Pengembangan karakter menjadi pusat dari game.
  
19
4.
Sports Game
Sports game adalah simulasi dari olahraga atletik nyata
ataupun imajiner baik dalam bentuk pertandingan, ataupun
kerjasama tim.
5.
Vehicle Simulation Game
Vehicle Simulation
adalah game
yang memberikan
kesan mengendarai kendaraan darat, udara, maupun air. Game
ini meliputi perlombaan dengan pemain
lain, eksplorasi, atau
hanya simulasi mengendarai kendaraan.
6.
Construction and Management Simulation Game
Construction and Management Simulation Game adalah
game
yang menekankan pada tantangan perkembangan
ekonomi. Pemain diharapkan dapat mengelola keuangan dan
sumber daya untuk mengembangkan sebuah kota, kebun
binatang, atau tempat lainnya.
7.
Adventure Game
Adventure game
adalah game
yang memberikan cerita
interaktif tentang sebuah karakter yang dimainkan oleh pemain.
Cerita dan eksplorasi adalah bagian penting pada game.
8.
Artificial Life Game
Artificial life game
adalah game
dimana pemain akan
memainkan siklus kehidupan makhluk hidup seperti manusia,
hewan, ataupun tumbuhan. Pada game
ini pemain diminta
untuk memenuhi kebutuhan makhluk hidup dalam game untuk
menjalani kehidupannya.
9.
Puzzle Game
Puzzle game
adalah game yang memberikan tantangan
kepada pemain untuk menyelesaikan serangkaian teka-teki
yang membutuhkan logika pemain untuk menyelesaikannya.
Puzzle game
sering
ditemui pada genre
lain. Misalnya,
pada
game adventure dimana pemain harus mencari jalan keluar dari
sebuah tempat.
  
20
2.2.2.3
Game Balancing
Menurut Schell (2008:172-200) terdapat 12 tipe
keseimbangan pada game:
1.
Fairness
Game
harus adil bagi setiap pemain. Setiap pemain
harus diberikan kesempatan yang sama. Keadilan pada game
dibagi pada 2 tipe game
yaitu game
simetris dan game
asimetris.
a.
Symmetrical
Jika game
termasuk tipe simetris maka keadilan
pada game
ini sederhana yaitu setiap pemain diberikan
kekuatan dan sumber daya yang sama.
b.
Asymmetrical
Pada game
yang asimetris maka pemain dapat
diberikan kemampuan yang berbeda tetapi tetap seimbang.
Setiap kemampuan memiliki kelebihan dan kekurangan
masing-masing.
2.
Challenge vs. Success
Pada game
sebaiknya diberikan tingkatan tantangan
yang berbeda. Setiap keberhasilan yang dicapai pemain maka
tantangan yang diberikan akan semakin sulit, sehingga pemain
tidak bosan.
3.
Meaningful Choice
Pada game
sebaiknya pilihan yang diberikan harus
memiliki arti. Misalnya pilihan dengan resiko rendah akan
memberikan hadiah yang rendah juga, sedangkan pilihan
dengan resiko tinggi akan memberikan hadiah yang besar.
4.
Skill vs. Chance
Pada game
sebaiknya pemain diberikan kesempatan
untuk mengembangkan diri melalui keterampilan ataupun
kesempatan. Keterampilan misalnya pemain menyusun strategi.
Kesempatan misalnya pemain mendapatkan sesuatu secara
acak sehingga memberikan kesan yang tidak terduga.
  
21
5.
Head vs. Hands
Pada game harus seimbang antara aktivitas fisik dengan
aktivitas pikiran. Pemain harus dapat beraksi dengan cepat
tetapi juga membutuhkan strategi untuk pemecahan masalah.
6.
Competition vs. Cooperation
Keseimbangan antara kompetisi dan kerjasama pada
game juga penting. Pemain dapat bekerja sama dengan pemain
lain ataupun berkompetisi dengan pemain lain.
7.
Long vs. Short
Durasi dari game juga harus seimbang. Game sebaiknya
tidak membuat pemain merasa bahwa game
tersebut terlalu
sebentar untuk dimainkan, ataupun pemain menjadi bosan
karena merasa game terlalu lama.
8.
Rewards
Pada game
hadiah yang diberikan kepada pemain juga
harus seimbang. Semakin sulit tantangan maka semakin besar
hadiah yang diberikan kepada pemain.
9.
Punishment
Pada game
juga dibutuhkan hukuman jika pemain
melakukan sesuatu yang salah. Sehingga pemain dapat berhati-
hati untuk tidak melakukan kesalahan lagi.
Hukuman yang
diberikan jangan terlalu berat bagi pemain.
10. Freedom vs. Controlled Experience
Berikan pemain kebebasan untuk bermain tetapi juga
diarahkan sesuai dengan rules
yang ada. Dengan kebebasan
bermain, pemain akan mendapatkan pengalaman yang
menyenangkan.
11. Simple vs. Complex
Beberapa bagian pada game
haruslah simple
sehingga
mudah dimengerti oleh pemain. Tetapi juga berikan
beberapa
bagian yang kompleks sehingga pemain tid
ak bosan.
Tetapi
jangan terlalu kompleks sehingga membuat pemain bingung.
  
22
12. Detail vs. Imagination
Game
harus terdapat bagian yang rinci seperti dunia
nyata, tetapi juga harus terdapat bagian yang dapat
mengundang pemain unuk berimajinasi. Hal rinci pada game
misalnya jika karakter pada game
terluka maka karakter akan
berdarah.
2.2.3
Interaksi Manusia dan Komputer
Pada pengembangan sebuah antarmuka, didasarkan pada delapan
aturan emas dan lima faktor
manusia terukur agar antarmuka aplikasi
dapat dengan mudah digunakan oleh pengguna.
2.2.3.1
Delapan Aturan Emas
Menurut Shneiderman dan Plaisant (2010:88-89), dalam
sebuah antarmuka harus memenuhi delapan aturan emas, antara
lain:
1.
Strive for consistency
Antarmuka harus dibuat konsisten, biasanya dilihat
konsisten pada tombol, pesan error
atau berhasil, dialog
konfirm, dialog help. Tujuannya adalah pengguna tidak perlu
mempelajari kembali setiap tampilan yang dilihat.
2.
Cater to universal usability
Setiap rancangan yang dihasilkan harus fleksibel dan
dapat digunakan oleh semua jenis pengguna. Beberapa faktor
yang harus dipertimbangkan, seperti tingkat penguasaan, umur,
ketidakmampuan (cacat fisik dan mental), perbedaan
kecanggihan teknologi. Dengan menambahkan fitur untuk
pemula, seperti penjelasan atau tutorial, dan fitur untuk para
pengguna ahli, seperti shortcut untuk
meningkatkan kualitas
dari sistem antarmuka.
3.
Offer informative feedback
Setiap aksi yang dilakukan pengguna harus dibuat
tanggapan dari sistem yang dapat berupa teks ataupun animasi.
Syarat ini berguna untuk memperkecil kebingungan pengguna
atas hasil dari input.
  
23
4.
Design dialog to yield closure
Dalam setiap urutan aksi harus dikelompokan menjadi
awal, tengah, dan akhir. Urutan aksi harus dibuat
akhir
sehingga pengguna dapat dengan mudah mengetahui hasil dari
input, disamping itu akhir dari urutan aksi tersebut dapat
menjadi jembatan untuk melanjutkan aksi berikutnya.
5.
Prevent errors
Rancangan sistem harus dirancang agar kesalahan yang
dilakukan oleh pengguna tidak fatal. Dan apabila pengguna
melakukan kesalahan yang menyebabkan error,
sistem
antarmuka harus bisa memunculkan dan menawarkan
pertolongan yang singkat, padat dan jelas untuk menolong
pengguna keluar dari kesalahan tersebut.
6.
Permit easy reversal of action
Program mendukung pengguna untuk mengulang aksi
apabila pengguna melakukan kesalahan.
Fitur ini tidak
diperlukan jika pengguna sudah mengetahui bahwa aksi yang
sedang dilakukan tidak dapat diulang.
7.
Support internal locus of control
Pengguna menjadi operator yang kuat dan dapat
mengendalikan seluruh aplikasi. Input user pada aplikasi
menjadi inisiasi aksi lainnya, tidak hanya menghasilkan respon
aplikasi saja.
8.
Reduce short-term memory load
Memberikan tampilan yang simple
dan terintegrasi
antar setiap tampilan.
Urutan aksi menjadi kunci dalam
pengintegrasian tampilan program.
2.2.3.2
Lima Faktor Manusia Terukur
Mengacu pada pendapat Shneiderman dan Plaisant
(2010:32) ada 5 (lima) faktor manusia terukur, antara lain:
  
24
1.
Time to Learn
Jumlah waktu yang diperlukan pengguna untuk
mempelajari apa saja yang perlu dipelajari untuk melaksanakan
atau menyelesaikan tugas mereka.
2.
Speed of Performance
Waktu yang diperlukan untuk menyelesaikan suatu
tugas atau pekerjaan.
3.
Rate of Error by Users
Jumlah kesalahan dan kesalahan jenis apa yang
dilakukan oleh pengguna. Dan jumlah tugas yang berhasil
diselesaikan oleh pengguna.
4.
Rentention Over Time
Seberapa baik kemampuan pengguna untuk mengingat
semua pengetahuan dan keterampilan setelah beberapa jangka
waktu tertentu.
5.
Subjective Satisfaction
Besar kepuasan pengguna terhadap sistem yang ada,
baik dari aspek penggunaan, desain, dan lainnya.
2.2.4
Android
2.2.4.1
Pengertian Android
Android adalah sebuah software
toolkit
untuk perangkat
mobile, yang dirancang oleh Google dan Open Handset Alliance
(Burnette, 2009). Kini, Android sudah digunakan di dalam jutaan
perangkat mobile, yang membuat Android menjadi
wadah utama
untuk para pengembang aplikasi. Android juga merupakan sebuah
sistem operasi mobile versi modifikasi dari Linux (Lee, 2012:2).
Android telah mengalami banyak update
dan perbaikan
sejak peluncuran pertama pada tahun 2009. Berikut ini adalah tabel
versi Android sejak pertama diluncurkan hingga sekarang menurut
Lee (2011).
  
25
Tabel 2.1 Tabel versi Android
(Sumber: Beginning Android 4 Application Development – Wei-Meng
Lee, 2011:3)
Versi Android
Tanggal
Peluncuran
Nama Kode
1.1
9 Februari 2009
1.5
30 April 2009
Cupcake
1.6
15 September 2009
Donut
2.0/2.1
26 Oktober 2009
Éclair
2.2
20 Mei 2010
Froyo
2.3
6 Desember 2010
Gingerbread
3.0/3.1/3.2
22 Februari 2011
Honeycomb
4.0
19 Oktober 2011
Ice Cream Sandwich
Android versi 4.1 diluncurkan pada pertengahan tahun 2012
dengan kode Jelly Bean. Sedangkan versi 4.2 diluncurkan pada
akhir tahun 2012. Android versi 4.3 menjadi versi yang terbaru dari
sistem operasi Android diluncurkan setahun kemudian pada Juli
2013. 
2.2.4.2
Fitur-Fitur Android
Karena sistem operasi Android bersifat gratis dan open
source, para pengembang dan pabrik bebas untuk mengembangkan
Android. Maka dari itu tidak ada ketentuan spesifikasi dari
pengaturan hardware dan software.
Berikut ini adalah beberapa
fitur yang dapat ditemui dalam sistem operasi Android menurut
Lee (2012:3):
1.
Storage
Untuk media penyimpanan data, Android menggunakan
SQLite untuk mengatur relasi dalam database.
2.
Connectivity
Mendukung GSM/EDGE, IDEN, CDMA, EV-DO,
UMTS, Bluetooth, Wi-Fi, LTE dan WiMAX.
  
26
3.
Messaging
Android mendukung fitur SMS dan MMS.
4.
Web Browser
Menggunakan open source WebKit bersamaan dengan
Chrome V8 JavaScript Engine.
5.
Media Support
Mendukung media-media seperti H.263, H.264, AAC,
MP3, MP4, MIDI, WAV, JPEG, PNG, GIF dan lainnya.
6.
Hardware Support
Memiliki fitur sensor accelerometer, kamera, kompas
digital, sensor proximity dan GPS.
7.
Multi-touch
Mendukung fitur layar sentuh dengan sentuhan lebih
dari satu jari.
8.
Multi-tasking
Aplikasi dalam sistem operasi Android dapat berjalan
lebih dari satu dan tidak akan mempengaruhi kinerja aplikasi
lainnya.
9.
Flash support
Sistem operasi Android versi 2.3 mendukung Flash
versi 10.1.
10. Tethering
Mendukung fitur berbagi koneksi Internet dan berperan
sebagai hotspot.
2.2.5
Aplikasi Mobile
Pada zaman modern ini, penggunaan perangkat mobile
terus
meningkat. Perangkat mobile
seperti smartphone
dan tablet telah
menjadi sesuatu yang biasa di masyarakat. Para penggunanya tidak
hanya kalangan kelas menengah ke atas, namun kelas menengah ke
bawah pun sudah dapat menikmati kecanggihan dari perangkat mobile.
Bahkan pada tahun 2008, pengguna perangkat
mobile
diperkirakan
mencapai 3,6 miliar orang, yaitu melebihi setengah dari populasi
penduduk dunia. (Fling, 2009:18)
  
27
2.2.5.1
Sistem Operasi Mobile
Berdasarkan pendapat Fling (2009:22) sistem operasi pada
perangkat mobile umumnya memiliki peran penting agar aplikasi-
aplikasi yang berada dalam perangkat bisa saling berkomunikasi
atau bertukar data. Sebuah perangkat mobile
yang tidak memiliki
sistem operasi akan menyebabkan aplikasi-aplikasinya berjalan
sendiri-sendiri.
Berikut ini adalah beberapa sistem operasi yang sudah
umum, antara lain:
1.
Symbian
Merupakan sistem operasi open source
yang dirancang
untuk perangkat mobile.
2.
Windows Mobile
Windows Mobile
adalah sistem operasi mobile
yang
beroperasi pada platform perangkat Windows Mobile.
3.
Palm OS
Palm OS merupakan sistem operasi yang digunakan
pada perangkat mobile Palm dengan spesifikasi lower-end
Centro line.
4.
Linux
Linux merupakan sistem operasi opensource
yang
penggunaannya terus meningkat dalam power smartphone,
salah satu contohnya seperti Motorola RAZR2.
5.
Mac OS X
Mac OS X adalah versi spesial dari Apple yang
digunakan dalam iPhone dan iPod Touch.
6.
Android
Android adalah salah satu dari sistem operasi open
source
yang terkenal di kalangan masyarakat. Desain dari
sistem operasi Android bisa disesuaikan dengan operator dan
produsen perangkat mobile yang ingin menggunakannya.
  
28
2.2.5.2
Jenis Aplikasi Mobile
Orang-orang awam sering kali mempunyai pemahaman
yang salah antara kategori dan jenis aplikasi mobile.
Mereka
menganggap itu adalah dua hal yang sama, padahal kategori dan
jenis aplikasi mobile
mempunyai pengertian yang berbeda. Yang
dimaksud dengan kategori aplikasi mobile
menurut Abhineet
(2012) adalah Utility Apps, Entertainment Apps, Games, Banking
Apps, dan lainnya. Sedangkan jenis aplikasi mobile
menurut
Manicor (2012) adalah sebagai berikut:
1.
Native Apps
Merupakan aplikasi yang dikembangkan dan digunakan
pada sistem operasi tertentu. Kelebihan dari jenis aplikasi ini
adalah kecepatan, kinerja dan antarmuka dari aplikasi paling
optimal di antara semua jenis aplikasi. Selain itu, jenis aplikasi
ini tidak membutuhkan koneksi internet. Namun, kelemahan
dari jenis aplikasi ini adalah biaya pengembangan jenis aplikasi
ini mahal karena hanya bisa berfungsi pada satu sistem operasi
serta proses pengembangan memakan waktu yang lama.
2.
Web-Based Apps
Jenis aplikasi ini menggunakan web
browser sebagai
client
yang dikembangkan dengan bahasa pemrograman yang
dapat diolah dan dibaca oleh web browser seperti HTML, PHP,
JavaScript dan lainnya. Kelebihan dari jenis aplikasi ini adalah
biaya pengembangan yang murah, dapat diakses oleh semua
perangkat yang memiliki fitur web browser
dan penggunaan
database yang kecil karena semua data tersimpan di server.
Kelemahannya adalah jenis aplikasi ini membutuhkan koneksi
internet agar aplikasi dapat digunakan. Kelemahan yang lain
adalah apabila koneksi internet yang lemah atau tidak baik,
akan menyebabkan mengurangi kinerja aplikasi.
3.
Hybrid Apps
Hybrid Apps adalah jenis aplikasi yang mirip dengan
Native Apps, hanya saja data-data di aplikasi tersimpan di web,
bukan di perangkat. Kelebihannya adalah jenis aplikasi dapat
  
29
diunduh melalui toko aplikasi, lebih mudah untuk diterapkan
pada sistem operasi yang berbeda dibanding
dengan Native
Apps.
Meskipun jenis aplikasi ini membutuhkan koneksi
internet, namun tetap dapat berjalan ketika perangkat sedang
dalam keadaan offline.
Kelemahannya yaitu tidak berjalan
semulus Native Apps, kinerja aplikasi ketika sedang dalam
keadaan offline akan tidak stabil.
Ketika aplikasi dirancang, pada umumnya akan berjalan
dengan lancar baik di smartphone ataupun tablet. Web-Based Apps
umumnya akan berjalan lancar pada kedua jenis perangkat
tersebut. Sedangkan Native Apps
dan Hybrid Apps
biasanya
memerlukan optimisasi untuk setiap jenis perangkat. Namun ini
tidak berarti bahwa aplikasi tersebut hanya dapat digunakan di
salah satu perangkat saja. Permasalahan seperti optimisasi ukuran
layar, navigasi dan lainnya yang harus dipertimbangkan ketika
akan diterapkan di kedua jenis perangkat tersebut.
2.2.5.3
Perkembangan Perangkat Mobile
Dalam pengembangan aplikasi terdapat beberapa persoalan
yang umum dan sering ditemui seperti integrasi dengan hardware,
keamanan, kinerja, daya tahan dan batas penyimpanan.
Namun
beberapa tahun terakhir, perangkat mobile
telah mengalami
perkembangan yang cukup pesat. Berikut ini adalah beberapa
keunggulan dari aplikasi mobile yang jarang ditemui di beberapa
aplikasi biasa lainnya, antara lain:
1.
Software
pada aplikasi mobile
bisa memiliki banyak aplikasi
dari berbagai sumber yang dapat berinteraksi satu dengan yang
lainnya. (Wasserman, 2010)
2.
Perangkat mobile
pada umumnya seperti smartphone,
mempunyai accelerometer yang bisa mendeteksi pergerakkan
penggunanya, layar sentuh yang bisa merespon beberapa
sentuhan jari sekaligus, virtual keyboard, Global Positioning
  
30
System (GPS), microphone yang bisa digunakan dalam aplikasi
lain selain untuk telepon, dan lainnya. (Wasserman, 2010)
3.
Beberapa aplikasi mobile
dapat menggunakan layanan data
atau Internet melalui web browser
untuk mengambil data dan
menampilkannya pada layar. (Wasserman, 2010)
2.2.6
Prinsip Perancangan Antarmuka pada Aplikasi Mobile
Seperti yang telah disebutkan di atas, perkembangan perangkat
mobile
terus meningkat dan membesar. Konvergensi dari cloud
computing, kemudahan akses broadband
dimana saja dan harga
perangkat mobile
yang semakin terjangkau telah mengubah segala aspek
yang ada di dalam masyarakat. Dan diprediksi di tahun 2015, perangkat
mobile akan menggantikan peran komputer
PC sebagai sarana utama
untuk kebutuhan browsing, dan lainnya. (Stark, 2012)
Walaupun perangkat PC dan smartphone dikategorikan sebagai
perangkat computing, tetapi pada dasarnya kedua perangkat tersebut
sangat berbeda.
Perbedaan tersebut bisa dilihat dari
segi ukuran layar,
konektivitas, bandwidth, sumber listrik, dan lainnya.
Pada kenyataannya banyak keunggulan lain yang dimiliki oleh
smartphone. Smartphone
bersifat
pribadi, selalu tersambung dan
teralamat dengan baik. Selain itu, smartphone juga memiliki
fitur sensor
yang bisa medeteksi lokasi, pergerakan, percepatan, orientasi dan
keadaan lingkungan sekitar smartphone. (Stark, 2012)
Berikut ini adalah 10
(sepuluh)
prinsip dasar dari perancangan
antarmuka aplikasi mobile menurut Stark (2012):
1.
Pola Pikir Mobile (Mobile Mindset)
Antarmuka harus disusun secara fokus sehingga pengguna
dapat melihat langsung tujuan dari setiap antarmuka yang
dimunculkan. Pembuatan antarmuka harus unik, menarik, dan harus
menampilkan antarmuka sesuai kebutuhan tujuan pengguna.
2.
Konteks Mobile (Mobile Contexts)
Aplikasi harus dapat digunakan
saat pengguna dalam keadaan
bosan
(bored), sibuk
(busy), ataupun saat sedang tidak mengenali
situasi pada lingkungan sekitarnya
(lost). Pada saat pengguna yang
  
31
sedang dalam keadaan bosan, aplikasi harus memberikan pengalaman
yang menyenangkan bagi pengguna serta dapat membuat pengguna
bertahan untuk menggunakan aplikasi dalam jangka waktu yang
panjang. Sedangkan pada saat pengguna dalam keadaan sibuk,
aplikasi harus mampu untuk menyelesaikan setiap permintaan
pengguna dalam waktu singkat dan sempurna, sehingga menimbulkan
bahwa aplikasi yang digunakan dapat diandalkan dalam situasi kritis.
Sedangkan ketika pengguna sedang berada dalam lingkungan sekitar
yang tidak dikenalinya, konektivitas yang sederhana dan daya tahan
baterai akan menjadi permasalahan yang besar. Aplikasi harus mampu
untuk menawarkan dukungan dalam bentuk offline
dan tidak
memakan daya baterai yang terlalu besar pada saat penggunaan
aplikasi oleh pengguna.
3.
Pedoman Global (Global Guidelines)
Beberapa hal yang harus disediakan dalam aplikasi
diantaranya harus responsif dan mempunyai gambar yang halus.
Di
samping itu harus mempunyai tombol-tombol yang mudah dijangkau
oleh ibu jari pengguna, serta pengguna dapat dengan mudah
memperkirakan tujuan dari tampilan yang dimunculkan.
4.
Model Navigasi (Navigation Models)
Terdapat banyak sekali jenis-jenis navigasi untuk aplikasi
mobile.
Namun dalam memilih jenis navigasi harus dengan penuh
pertimbangan agar aplikasi dapat tampil secara maksimal. Jenis-jenis
navigasi antara lain seperti Single Screen, Tab Bar dan Drill Down.
5.
Inputan Pengguna (User Input)
Di dalam sebuah aplikasi mobile, akan terdapat banyak input
yang dilakukan oleh pengguna. Jenis input
yang digunakan akan
disesuaikan kebutuhan input
yang dilakukan pengguna. Misalnya,
ketika pengguna akan memasukkan alamat e-mail, maka tampilan
keyboard akan berganti untuk input alamat e-mail.
6.
Gerakan (Gestures)
Salah satu fitur paling menonjol dari antarmuka layar sentuh
adalah fitur gesture. Contoh dari gesture seperti zoom in dan zoom out
  
32
pada aplikasi “Gallery” untuk melihat foto pada Android dan “Maps”
di iOS menggunakan gerakan menjepit oleh jari jempol dan telunjuk.
7.
Orientasi (Orientation)
Orientasi dalam mobile terdiri dari 2 (dua) jenis, yaitu portrait
dan landscape.
Potrait
adalah orientasi yang paling umum dan
terkenal, namun bila sebuah aplikasi mobile
banyak menggunakan
pengetikan, maka sebaiknya aplikasi tersebut mendukung orientasi
landscape agar pengguna dapat mengakses keyboard yang lebih lebar
dan mudah dalam mengetik.
8.
Komunikasi (Communications)
Sebuah aplikasi yang bagus harus mempunyai komunikasi
timbal balik kepada penggunanya. Pengguna akan mengira bahwa
aplikasi tersebut hang
atau macet bila tidak ada timbal balik yang
jelas. Timbal balik bisa berhubungan dengan indera perasa atau
penglihatan.
Contohnya seperti vibrasi atau cahaya berkelap-kelip
pada layar. Bila pengguna ingin melakukan sebuah kegiatan atau
operasi yang membutuhkan proses waktu sedikit lebih lama, maka
aplikasi harus menampilkan progress bar atau spinner agar pengguna
tahu bahwa apa yang mereka lakukan atau inginkan sedang dalam
proses pengerjaan.
Apabila pengguna ingin melakukan sebuah kegiatan atau
operasi yang membutuhkan pesan konfirmasi, ada baiknya aplikasi
memunculkan sebuah kotak konfirmasi yang menanyakan pilihan
pengguna.
Tujuan dari konfirmasi adalah untuk menghindari
kesalahan yang dilakukan oleh pengguna yang dapat berakibat buruk.
9.
Peluncuran (Launching)
Pada saat aplikasi dijalankan, disarankan agar
halaman
loading
sesederhana mungkin. Halaman loading
yang terlalu
interaktif akan menyebabkan pengguna frustasi terhadap antarmuka.
Ketika pengguna menjalankan kembali aplikasi setelah
menjalankannya beberapa waktu
yang lalu, diusahakan agar aplikasi
menjalankan operasi, kegiatan atau halaman terakhir yang pengguna
lakukan. Ini akan memberikan kesan kepada pengguna bahwa aplikasi
memiliki respon yang cepat.
  
33
10. Kesan Pertama (First Impressions)
Kesan pertama menjadi hal yang penting ketika pengguna
pertama kali menjalankan aplikasi. Sebuah aplikasi akan tidak bernilai
ketika seorang pengguna baru kebingungan dan frustasi ketika
mempelajari dan memahami aplikasi tersebut. Jika sebuah aplikasi
mempunyai fungsionalitas yang kompleks, diusahakan agar
menyertakan petunjuk tips and trick ke dalam aplikasi tersebut.
2.2.7
Unified Modeling Language (UML)
Kesulitan utama dalam pengembangan software
adalah
menentukan kebutuhan pengguna. Sangat sering dijumpai sebuah sistem
yang dirancang tidak memuaskan pengguna, hal ini yang mendorong
seorang sistem analis harus mengetahui kebutuhan penggunanya terlebih
dahulu sebelum memulai perancangan. Sehingga diperlukan beberapa
analisis sebelum pembuatan program. Pada bagian ini akan dibahas
mengenai use-case diagram, class diagram, activity diagram, dan
sequence diagram.
2.2.7.1
Use Case Diagram
Use case
berperan penting dalam mendeskripsikan
fungsional-fungsional yang ada di dalam sebuah sistem yang
dilihat dari sudut pandang pengguna. Use case dirancang dengan
menggunakan cara dan istilah yang
dapat dimengerti oleh
pengguna. (Whitten dan Bentley, 2007:246)
  
34
Gambar 2.2 Use Case Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:247)
Dalam use-case diagram terdapat 2 (dua) komponen, yaitu
actor dan relationship. Actor merupakan pengguna eksternal yang
berhubungan langsung serta memicu aktivitas sistem dengan tujuan
menyelesaikan tugas yang menghasilkan nilai tertentu. (Whitten
dan Bentley, 2007:247)
Gambar 2.3 Simbol actor pada Use Case Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:247)
Relationship
digambarkan oleh
sebuah garis yang
menghubungkan dua buah simbol dalam use case diagram.
Perbedaan arti setiap relationship, dilihat dari perbedaan jenis garis
  
35
yang digambarkan dan jenis simbol yang dihubungkan. Berikut ini
adalah jenis relationship menurut Whitten dan Bentley (2007):
1.
Associations
Association digambarkan sebagai sebuah garis sambung
yang menghubungkan actor
dengan use
case, dimana actor
melakukan fungsionalitas
dari
use case
yang dihubungkan.
Association
dibagi menjadi 2 jenis, yaitu Association
dengan
anak panah dan Association tanpa anak panah. 
Gambar 2.4 Hubungan association dalam Use Case
Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:248)
2.
Extends
Extends merupakan garis yang pada ujungnya diberikan
tanda panah, serta dilengkapi dengan tanda “<<extends>>”. 
Extends
bertujuan untuk menyambungkan beberapa use case
yang dipecah dari beberapa fungsional yang rumit agar lebih
mudah dimengerti. 
Gambar 2.5 Hubungan extends dalam Use Case Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:249)
  
36
3.
Include (Uses)
Merupakan garis yang pada ujungnya diberikan tanda
panah, serta dilengkapi dengan “<<include>>” atau
“<<uses>>”. Pada umumnya akan sering ditemui beberapa use
case
yang mengakses ke use case
yang sama. Maka dari itu,
dibuat sebuah use case
yang memiliki fungsional yang mirip
agar dapat diakses oleh use case
yang lainnya. Use case
ini
dikenal dengan abstract use case. Include
digunakan untuk
mengurangi redundansi dari penggunaan use case.
Gambar 2.6 Hubungan Include dalam Use Case Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:249)
4.
Depends On
Merupakan garis yang pada ujungnya diberikan tanda
panah, serta dilengkapi dengan
“<<depends on>>”. Use-case
yang menunjuk hanya dapat dikerjakan apabila use-case
yang
ditunjuk selesai dikerjakan.
  
37
Gambar 2.7 Hubungan Depends On dalam Use Case
Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:250)
5.
Inheritance
Inheritance
diterapkan dengan cara membuat sebuah
abstract actor
untuk menghubungkan dua / lebih actor
yang
mengakses ke dalam satu use-case
yang sama. Tujuan
Inheritance adalah mengurangi redundansi dalam sistem.
Gambar 2.8 Hubungan Inheritance dalam Use Case
Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:250)
  
38
Use-case
dijelaskan lebih lanjut pada use-case
narrative. Tujuannya untuk memperjelas kondisi setiap use-
case secara rinci. Use-case narrative pun dibuat dengan 2 (dua)
buah model, yaitu high-level dan expanded version use-case
2.2.7.2
Class Responsibility Collaboration (CRC) Card
Menurut Whitten dan Bentley (2007:657) class
responsibility collaboration
(CRC) card
pertama kali
diperkenalkan oleh Kent Beck dan Ward Cunningham. Dalam
sebuah CRC card terdapat semua behavior dan responsibilities dari
keseluruhan sebuah use-case
yang berhubungan dengan class
tersebut.
Dalam sebuah CRC card
terdiri atas 3 (tiga) bagian
menurut pendapat Whitten dan Bentley (2007:658-659). Ketiga
bagian tersebut adalah class,
responsibility
dan
collaborators.
Class
berisi nama class
yang terlibat dalam sebuah proses use-
case. Responsibility berisi tugas-tugas yang harus dilakukan oleh
sebuah class ketika proses use-case sedang berjalan. Collaborators
berisi class
lain yang terhubung dengan class
tersebut
dalam
melakukan proses sebuah use-case.
Gambar 2.9 Contoh CRC Card
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:658)
  
39
2.2.7.3
Class Diagram
Class diagram
merupakan penggambaran struktur class
pada sistem yang berisi beberapa class
yang disusun dengan
relationship antara beberapa class tersebut.
Gambar 2.10 Contoh Class Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:375)
Sesuai pada gambar
diatas, sebuah class
terdapat tiga
bagian penting, yaitu:
a.
Class Name
b.
Attribute
c.
Behavior (operation)
Gambar 2.11 3 (tiga) cara representasi Class Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:374)
  
40
Class diagram dapat direpresentasikan dengan 3 cara sesuai
dengan gambar diatas. Ketiga cara tersebut adalah:
a.
Menampilkan hanya nama class
b.
Menampilkan nama dengan attribute class
c.
Menampilkan nama, attribute, dan behavior dari class
Setiap class
pada class
diagram
dihubungkan dengan
relationship. Terdapat beberapa macam relationship, yaitu:
a.
Association
Merupakan garis yang menghubungkan relasi antara
class. Association merepresentasikan relasi statis antara objek-
objek dari 2 class
Gambar 2.12 Hubungan association dalam Class Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:377)
b.
Generalization and Specialitation
Teknik pengelompokan sifat (attributes dan behaviors)
yang sama dan dimiliki beberapa class
dikelompokan pada
sebuah class
supertype. Sifat dari class
supertype
akan
diwariskan pada class subtype.
  
41
Gambar 2.13 Hubungan generalization dalam Class
Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:375)
c.
Aggregation and Composition
Aggregation
menggambarkan hubungan sebuah class
merupakan bagian dari class lain. Contohnya: sebuah komputer
terdiri dari CPU, mouse, keyboard, printer, dan lainnya.
Gambar 2.14 Hubungan aggregation dalam Class Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:379)
  
42
Hubungan yang lebih kuat dari aggregation  dinamakan
composition. Dimana dalam composition, objek komputer tidak
dapat dibuat jika ada salah satu dari objek komponennya (CPU,
motherboard, VGA, dan lainnya) tidak lengkap.
Namun,
aggregation
tidak lagi digunakan pada UML 2.0, karena
aggregation
tidak dapat mendefinisikan perbedaan yang
signifikan (indistinction) pada pemrograman seperti yang dapat
didefinisikan oleh composition.
(Whitten dan Bentley,
2007:378)
Gambar 2.15 Hubungan composition dalam Class Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:379)
Multiplicity
merupakan jumlah hubungan yang
diperbolehkan antara objek yang dibentuk. Terdapat beberapa
jenis multiplicity, yaitu:
Tabel 2.2 Jenis-jenis multiplicity
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:379)
Multiplicity
Notasi UML Multiplicity
Exactly one
1..1 atau 1 atau leave blank
  
43
Multiplicity
Notasi UML Multiplicity
Zero or one
0..1
Zero or more
0..* atau *
One or more
1..*
Specific range
4..8 (7..9 jika range 7 hingga 9)
2.2.7.4
Activity Diagram
Model untuk
menunjukan langkah-langkah, proses, atau
aktifitas sebuah sistem. Tujuannya adalah untuk menggambarkan
alur yang berurut dari aktifitas sebuah use-case. Sebuah use-case
dapat membentuk satu atau lebih activity diagram. Banyaknya
activity diagram ditentukan dari panjang dan kompleksitas sebuah
use-case diagram.
  
44
Gambar 2.16 Contoh Activity Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:392)
Berikut adalah beberapa notasi yang umum dipakai pada
penggambaran activity diagram:
1.
Initial node
lingkaran penuh merepresentasikan mulainya
proses.
2.
Activity
segi empat tidak lancip merepresentasikan tahap
aktifitas.
3.
Flow tanda panah yang mengarahkan proses aktifitas sistem.
  
45
4.
Decision bentuk diamond yang mempunyai 1 arus masuk dan
2 atau lebih arus keluar. Tujuannya mencabangkan arah
aktifitas dengan kondisi benar dan salah.
5.
Merge bentuk diamond yang mempunyai 2 arus masuk dan 1
arus keluar. Tujuannya untuk menggabungkan 2 arah aktifitas
yang sebelumnya dicabangkan dengan decision.
6.
Fork garis hitam tebal yang mempunyai 1 arus masuk dan 2
atau lebih arus keluar. Hasil dari fork
dapat berjalan secara
paralel dan dalam waktu bersamaan.
7.
Join
garis hitam tebal yang mempunyai 2 atau lebih arus
masuk dan 1 arus keluar. Seluruh aksi yang masuk harus telah
selesai untuk memproses aksi selanjutnya.
8.
Activity final lingkaran penuh merepresentasikan berakhirnya
proses.
Untuk memperjelas sebuah activity
diagram, biasanya
dilengkapi dengan actor
yang melakukan tahap pada activity
diagram. Actor
pada activity
diagram
dapat digambarkan dengan
swimlanes.
Terdapat
2
(dua)
buah fitur tambahan pada activity
diagram, yaitu:
9.
Subactivity
indicator
digambarkan pada aktifitas dengan
simbol garpu yang menunjukan bahwa aksi
tersebut dijelaskan
pada activity diagram lain. Tujuannya untuk mencegah activity
diagram yang terlalu kompleks.
10. Connector
sebuah huruf kapital didalam sebuah lingkaran
yang menghubungkan activity diagram
yang sama. Fitur ini
dipakai jika activity diagram
tidak cukup digambarkan pada
sebuah kertas.
  
46
2.2.7.5
Sequence Diagram
Gambar 2.17 Contoh Sequence Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007:395)
Menggambarkan bagaimana sebuah objek berinteraksi
dengan objek lainnya melalui sebuah pesan yang dieksekusi dari
sebuah use-case. Sequence diagram
merupakan scenario dari
sebuah use-case. Pada sebuah sistem sequence diagram
yang
lengkap, beberapa diagram yang berbeda dapat menggambarkan
satu use-case diagram.
Berikut ini merupakan notasi yang dipakai pada sequence
diagram:
1.
Actor menginisiasi aktor dari use-case.
2.
System
kotak yang mengidentifikasi sistem. Digambarkan
dengan kotak berisi warna. Beberapa sistem dibuat dengan
  
47
tulisan yang diawali dengan tanda titik dua (:), yang artinya
notasi dari objek yang sedang digunakan sistem.
3.
Lifelines garis putus-putus secara vertikal yang digambar dari
aktor ke bawah, dimana mengidentifikasi kehidupan dari
sequence.
4.
Activation Bars
merupakan kotak putih yang menunjukan
bahwa periode peserta sedang aktif.
5.
Input Messages merupakan panah lurus yang bertujuan untuk
meminta verifikasi atau data dari actor
ke sistem. Garis
digambar secara sambung.
6.
Output Messages merupakan panah lurus yang menunjuk dari
sistem ke actor. Dimana garis panah digambar secara putus-
putus. Dimana hasil dari sistem merupakan data yang diminta
pada input messages.
7.
Receiver Actor eksternal actor yang menerima hasil sistem.
8.
Frame
kotak yang membagi sequence
menjadi beberapa
bagian yang dapat diulang (loop frame), dipilih frame
yang
dijalankan (optional frame), atau menjadi frame
yang dapat
dijalankan sesuai kebutuhan (alternate frame).
2.2.8
Eclipse
Sebuah
Integrated Development Environtment
(IDE) dan
extensible plug-in
yang dapat digunakan untuk mengembangkan aplikasi
dengan beberapa bahasa, Java, C, C++, PHP, Phyton, Ruby, dan lainnya.
2.2.9
Database
Menurut Connolly dan Begg (2010:54), database adalah
sekumpulan data-data yang terelasi secara logis dan deskripsi dari data,
yang dirancang untuk kebutuhan informasi dari sebuah perusahaan atau
organisasi. Agar sebuah database
dapat terintegrasi dengan baik dan
maksimal, maka diperlukan sebuah software system
yang menjadi
jembatan antara pengguna dan database
bernama DBMS (Database
Management System). DBMS menyediakan fitur-fitur kepada pengguna
  
48
untuk merancang, memperbaiki, mengontrol dan mengakses ke dalam
database tersebut.
Dalam penggunaan DBMS
menurut Connolly dan Begg
(2010:77), terdapat keunggulan dan kelemahan. Keunggulan DBMS
adalah pengontrolan data dari redundansi (pengulangan), konsistensi data,
integritas data, sekuritas data dan lainnya. Kelemahan dari DBMS adalah
kompleksitas data, biayanya yang mahal dan bila terjadi kegagalan pada
sistem akan memberikan dampak yang besar terhadap perusahaan.
2.2.10
SQLite
Relational Database Management System
(RDBMS) yang
mengandung library kecil dengan bahasa C. Merupakan hasil penanaman
SQL database
engine, namun tidak seperti SQL database
lainnya,
SQLite tidak mempunyai proses server yang terpisah.
Ukuran yang kecil dalam penyimpanan datanya menjadikan
SQLite banyak dipilih untuk database
engine
pada smartphone, PDAs,
dan MP3 player.
2.2.11
Classical Elements
Berdasarkan pada teori
Aristoteles dalam bukunya berjudul On
Generation and Corruption
(2004),
terdapat
4 (empat)
jenis
elemen,
yaitu angin, api, tanah, dan air.
2.2.12
Color Histogram
Berdasarkan penelitian yang dilakukan oleh Jadhav dan Ahmed
(2012) warna memegang peran penting dalam mengambil informasi dari
sebuah gambar, terutama dalam content-based image retrieval
(CBIR).
Menurut Meskaldji, Boucherka dan Chikhi (2012) Color Histogram
adalah sebuah metode yang menjelaskan isi warna dalam sebuah gambar.
Color
Histogram
menghitung jumlah titik warna yang muncul
pada
setiap jenis warna. Cara kerja metode Color Histrogram
menurut Kaisha
(2013) adalah gambar dipilah menjadi daerah warna oleh sebuah satuan
kuantisasi warna. Kemudian sistem akan mencari daerah yang
mengandung warna spesifik dalam daerah warna yang telah ditentukan
  
49
tersebut. Pada akhirnya sistem akan menghitung jumlah titik warna pada
setiap jenis warna yang berada dalam daerah warna tersebut dan sistem
akan menggambarkan dalam bentuk diagram vektor.
2.2.13
Weather Detection
Menurut pendapat yang dikemukakan oleh Xiang Li dkk (2013)
sistem pendeteksi cuaca menggunakan sensor yang berbeda-beda untuk
mendeteksi kondisi cuaca yang berbeda-beda seperti sensor uap air,
sensor suhu jalanan, sensor kepadatan kabut, sensor tingkat ketebalan
lapisan es dan sensor tingkat ketebalan salju.
Banyak sistem pendeteksi
cuaca yang dapat meramal keadaan cuaca dengan tepat dan memberikan
kemudahan bagi orang yang akan melakukan aktivitas di luar seperti
berkendara, piknik, memanjat gunung, dan sebagainya.
2.3
Hasil Penelitian Sebelumnya
2.3.1
Color Histogram
Dalam beberapa tahun terakhir, sudah banyak penelitian yang
dilakukan dalam bidang color histogram
untuk mengatasi masalah –
masalah yang sering dialami dalam representasi gambar
seperti
tekstur, bentuk, rotasi, translasi dan kuantisasi warna. Mengacu pada
penelitian yang dilakukan oleh Suhasini, Krishna dan Krishna (2009)
di antara semua elemen visual, warna merupakan elemen yang mudah
untuk dibandingkan dalam sejumlah aplikasi gambar. Oleh karena itu,
informasi warna dalam sebuah gambar direpresentasikan ke dalam
sebuah data kurva yang bernama color histogram.
Color histogram
yang digunakan pada mulanya untuk merepresentasikan informasi
warna adalah conventional color histogram (CCH).
Meskipun conventional color histogram
mudah dan sederhana
ketika dikomputasikan,
namun
menurut Suhasini Suhasini, Krishna
dan Krishna (2009) conventional color histogram
memiliki
dimensionalitas yang tinggi dan tidak dapat melakukan rotasi maupun
translasi gambar. Masalah tersebut kemudian diatasi dengan
menggunakan teknik invariant color histogram (ICH) dan fuzzy color
histogram (FCH) untuk mengatasi kekurangan yang ada pada CCH.
  
50
Pada penelitian lain yang dilakukan oleh Sandhu dan Kochhar
(2012) dalam bidang color histogram
yang menggunakan konsep
Content-Based Image Retrieval
(CBIR) untuk menganalisis tekstur,
warna dan bentuk dari sebuah gambar.
Cara kerja CBIR menurut
penelitian yang dilakukan oleh Sandhu dan Kochhar (2012) adalah
sistem CBIR akan mencari gambar pada database
yang relevan dan
sesuai dengan informasi tekstur, warna dan bentuk yang diberikan.
Color histogram
menurut Sandhu dan Kochhar (2012) merupakan
metode yang umumnya digunakan untuk mengambil informasi warna
dari sebuah gambar. Color histogram
juga diimplementasikan ke
dalam sistem CBIR pada saat proses pengambilan informasi warna.
Penelitian ini menyimpulkan bahwa hasil gambar mempunyai
kemiripan yang signifikan dengan informasi tekstur, warna dan
bentuk yang diberi. Namun penelitian ini masih memiliki kelemahan
karena tingkat akurasi dari hasil pengolahan informasi warna hanya
sebesar 62 persen.
Gambar 2.18 Cara Kerja pada Sistem CBIR
(Sumber: Content Based Image Retrieval using Texture, Color and
Shape for Image Analysis – Sandhu and Kochhar, 2012)
Penelitian lain mengenai color histogram juga dilakukan oleh
Kucuktunc, Gudukbay, Ulusoy (2009) yang menggunakan fuzzy color
histogram
untuk melakukan shot-boundary detection
dalam
segmentasi video.  Cara kerja fuzzy color histogram dalam segmentasi
video menurut penelitian Kucuktunc, Gudukbay dan Ulusoy (2009)
  
51
adalah dengan mengambil salah satu frame
gambar untuk dihitung
ukuran dimensinya dalam video tersebut, kemudian frame
gambar
akan dibagi menjadi beberapa bagian dan ukuran tertentu
sesuai
dengan ukuran dimensinya. Setelah itu akan menghasilkan informasi
warna sesuai dengan perhitungan algoritma                      
fuzzy color histogram.
Dalam waktu yang hampir bersamaan, penelitian yang
dilakukan oleh Kucuktunc dan Zamalieva (2009) mengenai
penggunaan metode fuzzy color histogram
(FCH) di dalam sistem
content-based image retrieval
(CBIR) untuk mengurangi kepekaan
terhadap perubahan iluminasi warna  dan kesalahan dalam kuantisasi
warna. Hasil penelitian menunjukkan bahwa kemampuan metode
fuzzy color histogram
mengungguli metode RGB color histogram,
L*a*b* color histogram dan Intensity histogram.
Namun kelemahan
dari metode fuzzy color histogram
adalah metode tersebut belum
mampu untuk diimplementasikan ke bidang lain seperti kernel
tracking dan lainnya.
Gambar 2.19 Gambar Perbandingan FCH dengan RGB Color
Histogram dan L*a*b* Color Histogram
  
52
(Sumber: Fuzzy Color Histogram-based CBIR System Kucuktunc
and Zamalieva, 2009)
2.3.2
Weather Detection
Perubahan
iklim dan cuaca dapat terjadi setiap saat. Dalam 5
tahun terakhir, global warming
dan efek rumah kaca yang semakin
terasa di sekitar kita membuat cuaca terkadang berubah tidak
menentu. Oleh sebab itu, saat ini berbagai jenis penelitian mengenai
weather detection telah dilakukan. Menurut penelitian yang dilakukan
oleh Xiang Li dkk
(2008) dengan menggunakan konsep Algorithm
Development and Mining
(ADAM) yang terdiri dari Mesocyclones
dan Storm Detection Algorithm
(SDA) untuk mendeteksi badai
pada
suatu daerah. Algoritma tersebut kemudian dikolaborasikan dengan
software yang dikembangkan
para ahli meteorologi bernama Linked
Environments for Atmospheric Discovery Cyberinfrastructure
(LEAD-CI). Hasil penelitian menyimpulkan bahwa dengan adanya
LEAD-CI yang dikolaborasikan dengan ADAM memudahkan
pekerjaaan para peneliti cuaca untuk mendeteksi keberadaan badai.
Namun penelitian ini belum mampu untuk melacak pertumbuhan dan
pergerakkan badai dalam waktu tertentu.
Gambar 2.20 Cara Kerja Software LEAD-CI
(Sumber: Real-time Storm Detection and Weather Forecast Activation
through Data Mining and Events Processing – Xiang Li dkk, 2008)
  
53
Penelitian lain mengenai weather detection
juga dilakukan
oleh Moneeshaa dan Sairam (2013) dengan menggunakan Hue
Saturation Light
(HSL), Region of Interest
(ROI), Watershed
Demirel
dan Color Segmentation.
Objek penelitian yang diteliti
adalah gambar awan tipis yang dikirim dari satelit infrared. HSL
berfungsi untuk menganalisis rasio warna yang ada pada gambar. ROI
berfungsi
untuk menghilangkan awan dan barang –
barang langit
lainnya. Sedangkan algoritma Watershed
dan Demirel
akan
melakukan segmentasi pada awan tipis.
Kemudian warna pada
gambar tersebut akan dibandingkan dengan gambar yang ada pada
database
untuk menghasilkan prakiraan cuaca.
Hasil penelitian ini
menghasilkan solusi yang efektif karena semua algoritma memberikan
persentase output
yang tinggi. Sehingga disimpulkan bahwa weather
detection dengan konsep thin cloud akan lebih efisien.
Qian, Zhang dan Feng
(2013) melakukan
penelitian untuk
mendeteksi cuaca ekstrim dengan menggunakan metode phase
synchronization clustering.
Hasil penelitian menunjukkan bahwa
simulasi dari phase synchronization
dengan menggunakan one-
dimension data detection
dapat mendeteksi proses sementara dari
keadaan cuaca ekstrim. Namun penelitian ini belum dapat melakukan
phase synchronization dengan multi-dimension data untuk mendeteksi
keadaan cuaca ekstrim.
2.4
Related Works
Berikut ini adalah daftar – daftar penelitian mengenai color histogram
dan weather detection
serta metode yang digunakan dalam penelitian
tersebut.
No
Nama
Judul
Metode
Keterangan
1
P.S.Suhasini,
Dr. K.Sri Rama
Krishna, Dr.
I.V. Murali
CBIR Using
Color
Histogram
Processing
Invariant Color
Histogram
(ICH), Fuzzy
Color
Penelitian ini
bertujuan untuk
mengimplementasikan
konsep ICH dan FCH
  
54
No
Nama
Judul
Metode
Keterangan
Krishna
(2009)
Histogram
(FCH)
untuk mengatasi
kekurangan yang ada
pada CCH.
2
Amanbir
Sandhu, Aarti
Kochhar
Content Based
Image Retrieval
using Texture,
Color and
Shape for Image
Analysis (2012)
Texture Feature
Extraction
Model using
Gray Level Co-
occurrence
Matrix
(GLCM), Color
Feature
Extraction
Model using
CBIR system,
Shape Feature
Extraction,
Similarity
Feature
Extraction
Penelitian ini
mengimplementasikan
sistem CBIR untuk
menganalisis
kemiripan sebuah
gambar melalui
informasi tekstur,
warna dan bentuk.
3
Onur
Kucuktunc,
Daniya
Zamalieva
Fuzzy Color
Histogram-
based CBIR
System (2009)
L*a*b color
space linking to
fuzzy color
histogram bins
using Mamdani-
style inference
system.
Penelitian ini
bertujuan untuk
menguji kepekaan
iluminasi cahaya dan
kesalahan dalam
kuantisasi warna pada
gambar.
4
Onur
Kucuktunc,
Ugur
Gudukbay,
Ozgur Ulusoy
Fuzzy Color
Histogram-
based  Video
Segmentation
(2009)
Fuzzy Color
Histogram-
based Shot-
boundary
Detection 
Algorithm
Penelitian ini
bertujuan untuk
mengembangkan
konsep Fuzzy Color
Histogram yang
dikolaborasikan
  
55
No
Nama
Judul
Metode
Keterangan
specialized  for
Content-Based 
Copy Detection
applications.
dengan algoritma
Shot-boundary
Detection untuk
mencari kesamaan
warna dan isi pada
dua buah video yang
berbeda.
5
Xiang Li, Beth
Plale, Nithya
Vijayakumar,
Rahul
Ramachandran,
Sara Graves,
Helen Conover
Real-time Storm
Detection and
Weather
Forecast
Activation
through Data
Mining and
Events
Processing
(2009)
Mesocyclones,
Storm Detection
Algorithm
(SDA)
Penelitian ini
bertujuan untuk
mengembangkan
konsep Algorithm
Development and
Mining (ADAM)
yang dikolaborasikan
dengan software
LEAD-CI untuk
mendeteksi badai
6
J. Moneeshaa,
N.Sairam
Algorithms for
Weather
Prediction
Using Thin
Clouds (2013)
Hue Saturation
Light (HSL), 
Region of
Interest (ROI),
Watershed
Demirel and
Color
Segmentation
Penelitian ini
menggunakan
berbagai jenis
algoritma untuk
mendeteksi cuaca
dengan konsep thin
cloud.
7
Zhonghua
Qian, Zenping
Zhang, Guolin
Feng
Detection of
The Process
about Extreme
Weather Events
(2013)
Phase
Synchronization
Clustering with
One –
dimensional
data
Penelitian ini
bertujuan untuk
mengembangkan
konsep PSC dalam
mendeteksi cuaca
ekstrim. Namun
konsep ini belum
  
56
No
Nama
Judul
Metode
Keterangan
mampu dijalankan
dalam multi-
dimesional data.
  
57