BAB 2 LANDASAN TEORI 2.1.1.1 Pengertian Interaksi Manusia ... · Menyediakan kegunaan universal ......
Transcript of BAB 2 LANDASAN TEORI 2.1.1.1 Pengertian Interaksi Manusia ... · Menyediakan kegunaan universal ......
9
BAB 2
LANDASAN TEORI
2.1 Teori Dasar/Umum
2.1.1 Interaksi Manusia dan Komputer
2.1.1.1 Pengertian Interaksi Manusia dan Komputer
Karray et al. (2008:138) mendefinisikan interaksi
manusia dan komputer sebagai sebuah desain yang harus
dihasilkan sesuai pengguna, mesin dan layanan yang dibutuhkan
untuk mencapai suatu kinerja tertentu baik dalam kualitas dan
optimalitas layanan.
2.1.1.2 Lima Faktor Manusia Terukur
Ada lima faktor manusia terukur yang harus
diperhatikan dalam perancangan antarmuka menurut
Shneiderman and Plaisant (2010:32), yaitu:
1. Waktu Belajar
Merancang antarmuka dengan memperhatikan kemudahan
tampilan. Sehingga pengguna dapat beradaptasi dengan
cepat dalam menggunakan aplikasi.
10
2. Kecepatan Kinerja
Memperhatikan berapa lama waktu yang diperlukan oleh
aplikasi untuk menyelesaikan suatu proses.
3. Tingkat Kesalahan
Mengurangi kemungkinan kesalahan yang dilakukan oleh
pengguna aplikasi.
4. Daya Ingat
Merancang tampilan yang mudah diingat oleh pengguna
sehingga tidak memerlukan waktu yang panjang untuk
mempelajarinya lagi.
5. Kepuasan Subjektif
Dapat memenuhi kepuasan pengguna akan aspek – aspek
yang terdapat pada aplikasi.
2.1.1.3 Kategori Pengguna
Menurut Shneiderman and Plaisant (2010:81) ada tiga
kategori pengguna yang perlu dipertimbangkan dalam
perancangan antarmuka, yaitu:
1. Novice
Merupakan pengguna pemula sehingga antarmuka
sebaiknya dirancang sesederhana mungkin sehingga mudah
digunakan dan juga memberikan umpan balik yang
informatif.
11
2. Knowledgable Intermittent Users
Merupakan pengguna yang sudah memiliki pengetahuan
mengenai sistem dan antarmuka namun masih diperlukan
konsistensi dalam perancangan antarmukanya.
3. Expert Frequent Users
Merupakan pengguna yang telah benar – benar mengerti
sistem dan antarmuka. Sehinnga untuk mempercepat kerja
pengguna ini dapat dibuatkan macro, shortcut, dan
command-line.
Aplikasi mobile yang akan dirancang adalah aplikasi yang
ditujukan kepada “Knowledgable Intermittent Users” karena
belakangan ini peredaran perangkat mobile dengan berbagai
aplikasi yang tertanam di dalamnya sudah tidak dapat terelakan
lagi sehingga banyak orang kurang lebih telah mengerti
bagaimana pengoperasian sistem dan antarmuka dari suatu
aplikasi.
2.1.1.4 Delapan Aturan Emas
Menurut Shneiderman and Plaisant (2010:88) terdapat
delapan aturan emas yang harus dipertimbangkan dalam
perancangan antarmuka, yaitu:
12
1. Berusaha untuk konsisten
Konsisten dalam berbagai aspek yang terdapat dalam
aplikasi, seperti warna yang digunakan, jenis font yang
dipakai, dan tampilan menu.
2. Menyediakan kegunaan universal
Perancangan dilakukan dengan mengetahui perbedaan dari
pengguna sehingga dapat dipakai oleh semua kategori
pengguna baik yang sudah ahli maupun pemula.
3. Memberikan umpan balik yang informatif
Setiap tindakan yang dilakukan oleh pengguna harus
memiliki umpan balik sehingga pengguna mengetahui apa
yang terjadi akibat tindakannya.
4. Merancang dialog yang menghasilkan keadaan akhir
Memberikan gambaran hasil yang akan didapat oleh
pengguna jika melakukan suatu tindakan sehingga pengguna
tidak salah dalam memilih tindakan dan melanjutkan ke
tahap selanjutnya.
5. Memberikan pencegahan dan penanganan kesalahan
Sistem seharusnya dirancang agar pengguna tidak
melakukan kesalahan serius. Jika terjadi kesalahan pun
sistem dapat memberikan peringatan yang sederhana untuk
pemulihan kesalahan yang terjadi.
13
6. Kemudahan untuk kembali ke tindakan sebelumnya
Sistem dirancang agar dapat kembali ke tindakan
sebelumnya sehingga pengguna tidak perlu khawatir jika
terjadi kesalahan.
7. Mendukung pusat kendali internal
Pengguna memiliki kontrol penuh atas sistem sehingga
sistem akan merespon apapun yang dilakukan oleh
pengguna, bukan sebaliknya.
8. Mengurangi beban ingatan jangka pendek
Dengan keterbatasan ingatan yang dimiliki oleh manusia,
sistem harus dirancang sesederhana mungkin dengan tujuan
pengguna tidak memerlukan waktu yang lama untuk
beradaptasi menggunakan sistem.
2.1.2 Perangkat Lunak
2.1.2.1 Definisi Perangkat Lunak
Menurut Pressman (2010:4), perangkat lunak
didefinisikan sebagai berikut:
1. Instruksi – instruksi (program komputer) yang jika
dieksekusi akan menghasilkan fungsi dan performa yang
diinginkan.
2. Struktur data yang memungkinkan program untuk
memanipulasi informasi.
14
3. Pendokumentasian yang menjelaskan operasi dan kegunaan
dari sebuah program.
2.1.2.2 Scrum
Scrum adalah metode pengembangan perangkat lunak
cepat yang dianut oleh Jeff Sutherland dan tim pengembangnya
pada awal tahun 1990. Beberapa tahun belakangan,
pengembangan menggunakan metode Scrum dilakukan oleh
Schwaber dan Beedle (Pressman, 2010:82).
Prinsip Scrum digunakan untuk membimbing kegiatan
pengembangan dalam proses yang menggabungkan framework
berikut: activities, requirements, analisis, perancangan, evolusi,
dan pengiriman.
Gambar 2.1 Alur Kerja Scrum (Pressman, 2012)
15
Scrum menekankan penggunaan sekumpulan proses
perangkat lunak yang telah terbukti efektif dalam penyelesaian
projek dalam waktu yang singkat, perubahan requirements, dan
kebutuhan bisnis. Setiap proses yang terdapat pada gambar 2.1
memiliki aksinya masing – masing:
1. Backlog: daftar kebutuhan projek atau fitur – fitur yang
memiliki nilai bisnis pada customer. Penambahan kebutuhan
atau fitur dapat dilakukan kapanpun.
2. Sprints: susunan kegiatan yang diperlukan untuk mencapai
kebutuhan dan fitur – fitur yang telah ditentukan pada
backlog dalam jangka waktu yang telah ditentukan
(biasanya 30 hari). Perubahan tidak diperbolehkan saat
sprint sedang berlangsung.
3. Scrum meetings: pertemuan tim Scrum biasanya hanya
dilakukan dalam waktu singkat yaitu sekitar lima belas
menit setiap harinya. Tiga pertanyaan kunci yang diajukan:
• Apa saja yang telah anda lakukan sejak pertemuan
terakhir?
• Hambatan apa yang anda temui?
• Apa yang anda rencanakan untuk menyelesaikan
pekerjaan anda pada pertemuan selanjutnya?
16
4. Demos: pengiriman perangkat lunak pada customer
sehingga dapat diimplementasikan untuk dilakukan
demonstrasi dan evaluasi oleh customer.
Dalam perancangan dan implementasi aplikasi ini
dinggunakan metode perancangan Scrum karena metode –
metode yang terdapat pada Scrum menerapkan pekerjaan dalam
batas waktu dan tuntutan tugas dalam periode iterasi yang
sempit sehingga penerapan Scrum sesuai dengan kondisi dan
waktu dalam pembuatan skripsi yang terbatas.
2.1.3 Unified Modeling Language (UML)
Menurut Whitten and Bentley (2007:371), Unified Modelling
Language (UML) adalah sekumpulan ketentuan pemodelan yang
digunakan untuk menentukan dan menggambarkan sebuah sistem piranti
lunak yang berhubungan dengan objek.
Dalam bidang perancangan piranti lunak penggunaan UML telah
menjadi standar dalam bahasa pemodelan. Object Management Group
(OMG) merupakan industri yang menstandarisasi UML pada November
1997 dan secara terus – menerus memperbaikinya berdasarkan kebutuhan
industri.
Terdapat tiga belas diagram yang termasuk dalam UML versi 2.0.
Tetapi jika sistem telah digambarkan dan dapat dipahami dengan baik
menggunakan diagram – diagram yang telah dibuat maka tujuan dari
17
UML telah tercapai sehingga tidak perlu membuat ketiga belas diagram
tersebut.
2.1.3.1 Use Case
Use Case diagram menggambarkan interaksi antara
sistem dengan sistem eksternal dan pengguna, siapa yang akan
menggunakan sistem dan bagaimana cara pengguna berinteraksi
dengan sistem (Whitten and Bentley, 2007:246).
Ada tiga elemen penting dalam Use Case diagram, yaitu
aktor, use cases, dan relationship. Aktor dapat diartikan sebagai
siapapun atau apapun yang melakukan interaksi dengan sistem
untuk pertukaran informasi. Use cases merupakan urutan
perilaku yang terkait, baik otomatis ataupun manual, yang
bertujuan untuk menyelesaikan sebuah tugas bisnis. Sedangkan
relationship menggambarkan hubungan antara dua simbol
dalam sebuah use case diagram.
Gambar 2.2 Contoh Use Case Diagram
18
Ada beberapa macam dari relationship yang digunakan
dalam use case (Whitten and Bentley, 2007:248):
1. Associations
Associations menggambarkan interaksi antara use cases
dengan aktor. Associations digambarkan dengan simbol
garis dengan atau tanpa panah.
Gambar 2.3 Contoh Associations Relationship
Associations dengan anak panah yang berasal dari aktor
menunjuk ke use cases menandakan bahwa use cases dipicu
oleh tindakan aktor. Sedangkan associations tanpa panah
menandakan interaksi antara use cases dengan aktor
penerima.
2. Extends
Extends digunakan ketika fungsi dari sebuah use cases
terdiri dari beberapa tahap. Dengan extends, use cases
tersebut akan menghasilkan use cases baru yang mewakili
fungsi tertentu. Use cases hasil dari extends disebut
extension use case.
19
Gambar 2.4 Contoh Extends Relationship
3. Uses/Includes
Uses/Includes digunakan ketika terdapat dua atau lebih use
cases yang melakukan langkah yang sama. Langkah yang
sama tersebut baiknya dipisahkan menjadi use cases berbeda
yang disebut abstract use case untuk mengurangi
redundancy pada use cases. Hubungan antara abstract use
case dengan use cases disebut uses/includes relationship.
Memesan Barang
Mengubah Data
Pribadi
Melakukan Login
«uses»
«uses»
Gambar 2.5 Contoh Uses/Includes Relationship
4. Depends On
Depends On digunakan ketika terdapat hubungan
ketergantungan antara satu use cases dengan use cases
20
lainnya, dimana suatu use cases tidak dapat dilakukan
sebelum use cases lain dilakukan.
Gambar 2.6 Contoh Depends On Relationship
5. Inheritance
Inheritance digunakan ketika terdapat dua atau lebih aktor
yang melakukan use cases yang sama. Untuk
menyederhanakan rancangan diagram diperlukan aktor
abstrak. Aktor abstrak ini memiliki langkah yang dimiliki
aktor lain.
Gambar 2.7 Contoh Inheritance Relationship
21
2.1.3.2 Use Case Narrative
Use case narrative merupakan gambaran berupa kalimat
mengenai suatu langkah dan mendeskripsikan bagaimana
pengguna berinteraksi dengan sistem untuk menyelesaikan
pekerjaannya (Whitten and Bentley, 2007:246).
2.1.3.3 Activity Diagram
Activity diagram digunakan untuk memberikan
gambaran mengenai alur dari sebuah proses bisnis, langkah
dalam sebuah use cases, dan metode dari sebuah objek (Whitten
and Bentley, 2007:390).
Gambar 2.8 Contoh Activity Diagram
22
Elemen – elemen yang terdapat dalam activity diagram:
Tabel 2.1 Tabel Elemen pada Activity Diagram
Initial State
Simbol yang digunakan untuk
menandakan dimulainya proses.
Action State
Simbol yang digunakan untuk
menandakan suatu aktivitas. Semua
aktivitas pada diagram berdasarkan
urutan action state.
Control Flow
Simbol yang digunakan untuk
menandakan jalur dari sebuah
aktivitas ke aktivitas selanjutnya.
Decision/Merge
1. Decision
Menandakan kondisi untuk
memilih salah satu alur
aktivitas.
2. Merge
Menandakan penggabungan
alur aktivitas yang dipisahkan
oleh decision.
23
Fork/Join
1. Fork
Menandakan adanya dua atau
lebih action state yang jalan
bersamaan.
2. Join
Menandakan berakhirnya proses
parallel.
Final State
Simbol yang digunakan untuk
menandakan berakhirnya proses.
2.1.3.4 Class Diagram
Class diagram digunakan untuk menggambarkan
struktur objek – objek bernama kelas yang menyusun suatu
sistem dan juga hubungan antara kelas – kelas tersebut (Whitten
and Bentley, 2007:400).
Gambar 2.9 Contoh Class Diagram
24
Notasi – notasi yang terdapat di dalam class diagram adalah
sebagai berikut:
1. Kelas
Setiap kelas digambarkan deangan sebuah kotak yang
terbagi menjadi tiga bagian, yaitu nama kelas, atribut kelas,
dan operasi kelas.
2. Visibility
Visibility berfungsi untuk menentukan apakah atribut atau
operasi dari suatu kelas dapat digunakan oleh kelas lainnya
atau tidak. Terdapat tiga visibility dalam class diagram yang
dapat dilihat pada tabel berikut:
Tabel 2.2 Tabel Visibility pada Class Diagram
Visibility Simbol Keterangan
Private -
Atribut dan operasi hanya
dapat digunakan oleh kelas itu
sendiri.
Protected #
Atribut dan operasi hanya
dapat digunakan oleh kelas itu
sendiri dan kelas turunannya.
Public + Atribut dan operasi dapat
digunakan oleh semua kelas
25
yang berhubungan.
3. Asosiasi
Asosiasi digunakan untuk menggambarkan adanya
hubungan antara kelas dengan kelas lainnya sehingga
membuat kelas – kelas yang terhubung dapat saling
mengirimkan pesan.
Gambar 2.10 Contoh Asosiasi
Gambar 2.9 menjelaskan bahwa Lecturer mengajar Class
atau Class diajar oleh Lecturer.
4. Multiplicity
Multiplicity merupakan istilah yang digunakan untuk
menentukan kardinalitas banyaknya kelas yang berhubungan
dengan kelas yang dimaksud. Terdapat empat jenis
multiplicity, yaitu exactly one (1), zero or one (0..1), zero or
more (0..*), one or more (1..*).
26
Gambar 2.11 Contoh Multiplicity
Gambar 2.10 menjelaskan bahwa Lecturer dapat mengajar
satu atau banyak Class dan Class hanya dapat diajar oleh
satu Lecturer.
5. Generalisasi
Generalisasi menggambarkan hubungan antara superclass
dan subclass, dimana superclass merupakan bentuk umum
dari subclass dan subclass adalah bentuk spesifik dari
superclass. Sehingga superclass memiliki semua properti
yang dimiliki oleh subclass. Generalisasi menunjukan
adanya inheritance pada class diagram.
Gambar 2.12 Contoh Generalisasi
27
6. Agregasi
Agregasi adalah tipe hubungan yang unik dimana satu objek
merupakan bagian dari objek lain. Dalam agregasi dikenal
istilah whole/part relationship. Sifat agregasi adalah
asimetris jadi Kelas A merupakan bagian dari Kelas B,
tetapi Kelas B bukan bagian dari A.
Gambar 2.13 Contoh Agregasi
7. Komposisi
Komposisi bisa disebut strong aggregation sehingga dalam
hubungan antar kelas lebih terikat kuat dibandingkan
agregasi. Dimana Kelas A merupakan bagian dari Kelas B,
tetapi Kelas B tidak akan ada jika Kelas A tidak ada.
Gambar 2.14 Contoh Komposisi
28
2.1.3.5 Sequence Diagram
Sequence diagram digunakan untuk menggambarkan
model logika dari sebuah use case yang menunjukan interaksi
antara aktor dengan sistem dalam pengiriman pesan dalam suatu
urutan waktu tertentu (Whitten and Bentley, 2007:394).
Elemen – elemen yang terdapat dalam sequence diagram
adalah sebagai berikut:
1. Aktor
Aktor pada sequence diagram memiliki simbol yang sama
seperti yang digunakan pada use case diagram. Di sini aktor
juga berperan sebagai pengguna yang berinteraksi dengan
sistem.
2. Sistem
Sistem disimbolkan dengan sebuah persegi panjang yang
mewakili kelas – kelas pada class diagram.
:Sistem
Gambar 2.15 Sistem
29
3. Lifeline
Lifeline disimbolkan dengan garis putus – putus yang berada
di bawah simbol aktor dan sistem, menandakan mulainya
sebuah rangkaian proses.
4. Activation Bars
Activation bar disimbolkan dengan persegi panjang pada
lifeline yang menandakan periode waktu dimana sistem aktif
berinteraksi.
Gambar 2.16 Activation Bars
5. Input Messages
Input messages disimbolkan dengan tanda panah horizontal
yang berasal dari aktor menuju sistem berisi method dari
setiap sistem.
Gambar 2.17 Input Messages
30
6. Output Messages
Output messages disimbolkan dengan tanda panah
horizontal putus – putus yang berasal dari sistem menuju
aktor berisi jawaban dari sistem atas input messages yang
dikirim.
Gambar 2.18 Output Messages
7. Frame
Frame merupakan sebuah kotak yang digunakan untuk
menyatukan satu atau lebih message dalam pecahan
rangkaian proses. Frame dapat menunjukan adanya
perulangan (loop), seleksi (alternative), dan pilihan
(optional).
Gambar 2.19 Frame
opt
31
2.2 Teori Khusus
2.2.1 Android
Android merupakan sebuah sistem operasi mobile yang open
source. Android sendiri mencakup sistem operasi, middleware, dan
aplikasi mobile yang berbasis Linux Kernel yang dikembangkan oleh
Google dan Open Handset Alliance. Tujuan dari Android Open Source
Project adalah untuk membangun produk real-world yang dapat
meningkatkan pengalaman para pengguna perangkat mobile (Android
Open Source Project, 2012). Berikut ini merupakan karakteristik utama
yang dimiliki oleh Android:
1. Terbuka
Android dibuat benar – benar terbuka sehingga memungkinkan
pengembang dapat membuat aplikasi mobile yang menarik pada
semua handset berbasis Android. Dengan sifat yang terbuka tersebut
memungkinkan sebuah aplikasi dapat memanggil salah satu fungsi
inti ponsel seperti membuat panggilan, mengirim pesan, atau
menggunakan kamera sehingga menciptakan pengalaman yang lebih
kaya bagi pengguna.
2. Semua aplikasi dibuat sama
Android tidak membedakan antara aplikasi inti dengan aplikasi third-
party. Semuanya memiliki akses yang sama terhadap kemampuan
ponsel dalam menyediakan layanan dan aplikasi yang luas pada para
pengguna.
32
3. Memecahkan batasan aplikasi
Android memecahkan batasan untuk membangun aplikasi baru dan
inovatif. Pengembang dapat menggabungkan informasi dari web
dengan data yang ada pada ponsel individu seperti kontak, kalender,
lokasi geografi untuk memberikan pengalaman yang lebih relevan
pada pengguna.
4. Pengembangan aplikasi yang cepat dan mudah
Android menyediakan akses ke berbagai libraries dan tools yang
dapat digunakan untuk membangun aplikasi yang lebih kaya.
Contohnya perangkat Android dapat berkomunikasi satu sama lain
sehingga memungkinkan peer-to-peer aplikasi sosial (Open Handset
Alliance, 2012).
Aplikasi yang berjalan di Android ditulis dengan bahasa
pemrograman Java menggunakan Android Software Development Kit
(Android SDK). Aplikasi – aplikasi yang telah dibuat oleh berbagai
pengembang dapat diunduh dari situs third-party seperti Google Play.
Google Play merupakan website yang dikembangkan oleh Google untuk
digunakan sebagai tempat bagi para pengembang menaruh/mnggunggah
aplikasi yang telah mereka kembangkan dan bagi para pengguna
digunakan sebagai tempat mencari aplikasi sesuai dengan kriteria yang
diinginkan.
33
2.2.1.1 Versi Android
Android memiliki banyak versi semenjak dirilis pertama
kali. Setiap versi terbaru yang dirillis memiliki pembaharuan
seperti perbaikan terhadap bug ataupun pemambahan fitur –
fitur baru. Berikut ini merupakan versi – versi yang dimiliki
Android (Safaat, 2012:10):
1. Android versi 1.1
Pada tanggal 9 Maret 2009, Google merilis Android versi 1.1
yang dilengkapi dengan pembaharuan estetis pada aplikasi,
jam alarm, pencarian suara, pengiriman pesan dengan Gmail,
dan pemberitahuan email.
2. Android versi 1.5 (Cupcake)
Berselang sekitar 2 bulan dari versi 1.1 tepatnya pada tanggal
30 April 2009 Android versi 1.5 dirilis. Android versi ini
didasarkan apda Linux Kernel 2.6.27. Pada versi ini terdapat
pembaharuan antarmuka dan penambahan fitur – fitur.
Permbaharuan yang dilakukan adalah sebagai berikut:
� Widget dan folder baru yang dapat ditambahkan ke layar
utama.
� Merekam dan menonton video dengan modus kamera.
� Menggunggah video langsung ke Youtube melalaui
handset.
34
� Keyboard pada layar yang dapat disesuaikan dengan
sistem.
� Dukungan Bluetooth A2DP (Advanced Audio Distribution
Profile)
3. Android versi 1.6 (Donut)
Pada tanggal 15 September 2009 Android versi 1.6 dirilis.
Pembaharuan yang dilakukan adalah sebagai berikut:
� Improvisasi pada Android Market.
� Kamera, camcorder, dan antarmuka galeri yang
terintegrasi.
� Multi select pada galeri.
� Dukungan resolusi layar Wide Video Graphics Array.
� CDMA/EVDO, VPN.
� Gesture dan Text-to-Speech engine.
� Teknologi text to change speech.
4. Android versi 2.0/2.1 (Eclair)
Pada tanggal 26 Oktober 2009 Android versi 2.0 dirilis.
Pembaharuan yang dilakukan adalah sebagai berikut:
� Optimalisasi kecepatan perangkat keras.
� Dukungan HTML 5.
� Peningkatan Google Maps 3.1.2
� Microsoft Exchange Support.
� Live Wallpaper.
35
� Dukungan flash untuk kamera 3,2MP dan digital zoom.
� Bluetooth 2.1.
5. Android versi 2.2 (Froyo)
Pada tanggal 20 Mei 2010 Android versi 2.2 dirilis. Android
versi ini didasarkan pada Linux Kernel 2.6.32. Pembaharuan
yang dilakukan adalah sebagai berikut:
� Optimasi sistem operasi Android, memori, dan performa.
� Memungkinkan shortcut untuk aplikasi yang diinginkan.
� Adanya fasilitas tethering.
� Dukungan password numeric dan alpha numeric.
6. Android versi 2.3 (Gingerbread)
Pada tanggal 6 Desember 2010 Android versi 2.3 dirilis.
Pembaharuan yang dilakukan adalah sebagai berikut:
� Perubahan user interface.
� Mendukung resolusi yang lebih besar.
� Peningkatan fungsi copy-paste.
� Terdapat Gyroscope dan sensor.
� Mendukung mixable audio effects.
� Tersedia download manager.
36
7. Android versi 3.0/3.1/3.2 (Honeycomb)
Android versi ini lebih ditujukan untuk tablet yang memiliki
prosesor dan layar yang lebih besar. Pembaharuan yang
dilakukan adalah sebagai berikut:
� User interface khusus untuk tablet.
� Mendukung multi prosesor.
8. Android versi 4.0 (Ice Cream Sandwich)
Pada tanggal 19 Oktober 2011 Android versi 4.1 dirilis.
Pembaharuan yang dilakukan adalah sebagai berikut:
� Lockscreen dengan face recognition.
� Berbagi informasi dengan NFC (Near Field
Communication).
� Pencarian email secara offline.
9. Android versi 4.1 (Jelly Bean)
Android versi 4.1 merupakan versi Android yang paling
cepat dan halus. Pembaharuan yang dilakukan adalah sebagai
berikut:
� Peningkatan kebebasan pengguna dalam mengatur home
screen.
� Peningkatan kualitas text-to-speech dan voice typing.
� Peningkatan kualitas pencarian pada Google.
� Dukungan Google Now.
37
2.2.1.2 Arsitektur Android
Android memiliki banyak komponen dalam arsitektur
pembangunannya, berikut ini merupakan gambaran arsitektur
Android yang tebagi menjadi beberapa layer (Safaat, 2012:6):
Gambar 2.20 Arsitektur Android
2.2.1.2.1 Applications
Pada layer ini terdapat beberapa aplikasi awal
yang berasal dari setiap pabrikasn seperti email
client, program SMS, browser, dll. Semua aplikasi
tersebut dibuat dengan bahasa Application
Programming Interface (API) libraries yang sama.
38
2.2.1.2.2 Application Framework
Application Framework menyediakan semua
kelas yang digunakan dalam pembuatan aplikasi
Android. Dan juga merupakan sebuah gambaran
umum untuk akses perangkat keras serta manajemen
user interface dan application resource. Arsitektur
aplikasi dirancang supaya kita dengan mudah dapat
menggunakan kembali komponen yang sudah
digunakan (reuse).
2.2.1.2.3 Libraries
Pada layer ini Android menyertakan
kumpulan core library C/C++ seperti libc dan
Secure Sockets Layer (SSL) yang digunakan oleh
berbagai komponen Android. Penjelasan library
lainnya adalah sebagai berikut:
1. Media Library untuk memainkan audio dan
video.
2. Surface manager untuk menyediakan pengaturan
tampilan.
3. Scene Graph Library (SGL) dan Open Graphics
Library (OpenGL) untuk kemampuan
menampilkan grafik dua dan tiga dimensi.
4. SQLite untuk dukungan dalam database.
39
5. SSL dan WebKit terintegrasi dengan web
browser dan security.
2.2.1.2.4 Android Runtime
Layer ini terdiri dari core libraries dan
Dalvik Virtual Machine (DVM) yang merupakan
sebuah engine untuk menjalankan bebagai aplikasi
pada Android. Core libraries menyediakan berbagai
fungsionalitas yang ada pada Java libraries.
Sedangkan DVM adalah sebuah virtual machine
berbasis register yang menjalankan fungsi threading
dan low-level memory untuk memastikan agar device
dapat menjalankan aplikasi secara efisien.
2.2.1.2.5 Linux Kernel
Android menggunakan Linux Kernel 2.6
yang berfungsi sebagai core system service seperti
keamanan, menejemen memori, manajeman proses,
network, dan driver model.
40
2.2.1.3 Fundamental Aplikasi
Terdapat empat jenis komponen pada aplikasi Android
(Safaat, 2012:9) yaitu:
1. Activities
Suatu activity akan menyajikan user interface kepada
pengguna sehingga pengguna dapat melakukan interaksi.
Sebuah aplikasi Android bisa jadi hanya memiliki satu
activity, tetapi umumnya aplikasi memiliki banyak activity
tergantung pada tujuan aplikasi dan design dari aplikasi
tersebut. Untuk pindah dari satu activity ke activity lain
dapat dilakukan dengan satu event, misalnya click tombol
atau memilih opsi. Secara hirarki sebuah windows activity
dinyatakan dengan method Activity.setContentView().
2. Service
Service tidak memiliki Graphical User Interface (GUI),
tetapi service berjalan secara background, sebagai contoh
saat media player sedang memainkan lagu dari list yang ada,
media player akan memiliki dua atau lebih activity yang
memungkinkan pengguna untuk memilih lagu atau menulis
sms saat dimana lagu tetap dimainkan. Untuk menjaga lagu
tetap dimainkan itu, activity player dapat menjalankan
service. Service dijalankan pada thread utama dari proses
aplikasi.
41
3. Broadcast Receiver
Broadcast receiver berfungsi menerima dan bereaksi untuk
menyampaikan notifikasi seperti low battery. Aplikasi juga
dapat menginisiasi broadcast misalnya memberikan
informasi pada aplikasi lain bahwa ada data yang telah
diunduh ke perangkat dan siap untuk digunakan.
4. Content Provider
Content Provider membuat kumpulan aplikasi data secara
spesifik sehingga bisa digunakan oleh aplikasi lain. Data
disimpan dalam file sistem seperti databse SQLite. Content
provider menyediakan cara untuk mengakses data yang
dibutuhkan oleh suatu activity.
2.2.2 Android Software Development Kit (SDK)
Android SDK adalah tools API, sample code, dan dokumentasi
yang diperlukan untuk memulai mengembangkan aplikasi pada platform
Android. Sebagai platform aplikasi-netral, Android memberi kesempatan
untuk membuat aplikasi yang dibutuhkan yang bukan merupakan aplikasi
bawaan smartphone. Beberapa fitur penting yang terdapat pada Android
(Safaat, 2012:5) adalah:
1. Application Framework untuk pergantian komponen dan reusable.
2. DVM dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open source WebKit.
42
4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D dan
3D berdasarkan spesifikasi OpenGL 1.0.
5. SQLite untuk menyimpan data.
6. Media Support yang mendukung audio, video, dan gambar (MPEG4,
H.254, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony.
7. Bluetooth, EDGE, 3G, dan WiFi.
8. Kamera, GPS, kompas, dan accelerometer.
9. Integrated development environment (IDE) yang lengkap dan kaya
termasuk perangkat emulator, tools untuk debugging, profil dan
kinerja memori, dan plugin.
2.2.3 Eclipse
Eclipse adalah sebuah komunitas bagi individu dan organisasi
yang ingin berkolaborasi secara commercially-friendly perangkat lunak
bersifat open source. Proyek perusahaan terfokus pada membangun
sebuah platform pengembangan terbuka terdiri dari extensible framework,
tools dan runtimes untuk membangun, menyebarkan dan mengelola
perangkat lunak (Eclipse, 2012).
Eclipse Foundation adalah perusahaan non profit independent,
perusahaan didukung anggota yang menjalankan proyek Eclipse dan
membantu mengolah open source community dan sebuah ekosistem yang
erat kaitannya dengan pemenuhan produk dan jasa.
Proyek Eclipse awalnya diciptakan oleh IBM pada bulan
November 2001 dan didukung oleh persatuan vendor perangkat lunak.
43
Eclipse merupakan aplikasi integrated development environment (IDE)
yang memperbolehkan pengembang aplikasi menambahkan
fungsionalitas dengan mudah dalam bentuk plugin.
Seperti yang telah diketahui Android dikembangkan
menggunakakn Java. Telah banyak beredar Java IDE seperti JBuilder dan
NetBeans. Namun Open Handset Alliance dan Google telah memilih
menggunakan Eclipse sebagai Java IDE dalam pengembangan Android.
Berikut ini dijelaskan mengapa Eclipse direkomendasikan sebagai Java
IDE untuk aplikasi Android (DiMarzio, 2008:11):
1. Sesuai dengan karakteristik Android yang terbuka bagi para
pengembang, Eclipse merupakan salah satu yang memiliki fitur
lengkap dan gratis dari semua Java IDE yang ada. Eclipse juga sangat
mudah digunakan dengan waktu pembelajaran yang minimal.
2. Open Handset Alliance telah merilis plugin Android untuk Eclipse
sehingga memungkinkan untuk membuat projek Android yang
spesifik, melakukan kompilasi, dan menggunakan Android Emulator
untuk melakukan debug.
2.2.4 Android Development Tools (ADT)
ADT adalah sebuah plugin yang dirancang untuk menyediakan
serangkaian tools yang terintegrasi dengan Eclipse IDE. ADT
menyediakan banyak fitur yang memudahkan pengembangan aplikasi
Android secara cepat. ADT juga menyediakan akses GUI untuk beberapa
44
command line pada SDK tools sehingga mempercepat prototyping,
designing, dan pembangunan user interface aplikasi.
Berikut ini dijelaskan fitur – fitur penting Eclipse dan ADT
(Android Developer Tools, 2012):
1. Pembuatan, pengembangan, packaging, instalasi, dan debbugging
projek Android yang terintegrasi.
ADT mengintegrasikan banyak development workflow tasks pada
Eclipse, sehingga memudahkan pengembangan yang cepat dan
pengujian untuk aplikasi Android yang dibuat.
2. Integrasi tools SDK
Banyak tools SDK yang terintegrasi pada menu – menu Eclipse atau
sebagai bagian dari proses background yang dijalankan ADT.
3. Bahasa pemrograman Java dan XML editors
Editor bahasa pemrograman Java mengandung fitur – fitur IDE
seperti syntax checking, auto-cmopletion, dan dokumentasi
framework API Android. XML editor berguna untuk mengubah file
XML Android dalam bentuk graphical layout sehingga hanya perlu
dilakukan drag dan drop.
4. Dokumentasi untuk Framework API Android
Mengakses dokumentasi dengan hovering di atas kelas, metode, atau
variabel.
45
2.2.5 Location Based Service
Yulianto (2010:64) mendefinisikan Location Based Service (LBS)
sebagai suatu layanan yang memberikan informasi mengenai posisi
geografis pengguna melalui peralatan mobile pada suatu waktu. Sehingga
teknologi LBS ini dapat digunakan untuk melakukan pencarian tempat –
tempat terdekat dari pengguna saat itu berada seperti hotel, SPBU, ATM,
alamat, dll. Penggunaan LBS sebenarnya sama dengan pencarian lokasi
menggunakan peta biasa, hanya saja LBS dapat memberikan informasi
tambahan mengenasi posisi pengguna yang bergerak.
2.2.5.1 Komponen Location Based Service
Magon and Shukla, komponen – komponen yang
dibutuhkan LBS adalah:
1. Lokasi atau Posisi
Lokasi atau posisi mencakup latitude (posisi utara atau
selatan), longitude (posisi timur atau barat), dan altitude
(ketinggian dari permukaan laut).
2. Data Geografi
Data geografi menyediakan data komponen lokasi seperti
jaringan jalan, alamat pengguna, bangunan, daerah seperti
pegunungan dan sungai, lokasi restoran, hotel, dll.
46
3. Pusat Kendali
Pusat kendali berperan sebagai pusat pengelolahan data dan
distribusi layanan lokasi.
4. Data Lokasi atau Data Peta
Data ini dikelola dan dimanipulasi untuk menyediakan
beberapa layanan yang berdasarkan pada lokasi pengguna.
5. Sistem Komunikasi
Sistem komunikasi digunakan untuk menyampaikan lokasi
ke pusat kendali dan menyediakan layanan yang diperlukan.
2.2.5.2 Global Positioning System (GPS)
GPS adalah suatu sistem navigasi yang berfungsi untuk
menentukan lokasi, kecepatan, dan arah melalui signal yang
diterima lebih dari 24-32 satelit yang berorbit 20000 km (11000
mil laut) di atas bumi. Prinsip dasar di balik GPS adalah
pengukuran jarak (distance/range) antara satelit dan receiver
dari transmisi signal radio. Sebuah GPS receiver memerlukan
empat atau lebih satelit untuk menghasilkan jarak dan
menggunakan informasi ini untuk menyimpulkan lokasi
(Yulianto, 2010:64).
47
2.2.5.2.1 Cara Kerja GPS
Satelit – satelit GPS mentransmisikan signal
radio ke bumi yang mengandung informasi tentang
satelit, contohnya lokasi dan waktu saat itu,
menginformasikan pengguna secara tepat di mana
satelit berada dalam orbit mereka sementara GPS
receivers secara pasif menerima signal satelit
tersebut. Semua satelit-satelit GPS mensinkronasi
operasi – operasi agar signal – signal yang berulang
ini ditransmisikan pada waktu yang bersamaan.
2.2.5.2.2 Perkembangan GPS
Chai (2004:102) menjelaskan saat ini
teknologi GPS dibedakan menjadi tiga, yaitu:
1. GPS-Phone
Teknologi ini menggabungkan Global System of
Mobile (GSM) dan GPS sebagai penyedia
jaringan komunikasi dan informasi posisi.
2. A-GPS
A-GPS dikembangkan untuk meminimalisasi
kekurangan pada teknologi GPS-Phone dengan
menanamkan very sensitive GPS receivers
sehingga signal GPS dapat diterima lebih kuat di
dalam ruangan.
48
3. Terrestrial Based Network Solutions
Dikembangkan dengan tujuan meningkatkan
akurasi GPS dengan menggunakan signal GPS,
TV, dan special ground based transmitter
sehingga didapat jarak penentuan lokasi.
2.2.6 JavaScript Object Notation (JSON)
JavaScript Object Notation (JSON) merupakan lightweight data-
interchange yang berbasis JavaScript Programming Language. JSON
berbasis teks/tulisan dengan format yang dapat dibaca dan dikenali oleh
manusia untuk merepresentasikan struktur data sederhana dan array
asosiatif. JSON merupakan bahasa independen yang lengkap dan
menggunakan konvensi yang familiar bagi para programmer bahasa C,
antara lain bahasa pemrograman C, C++, C#, Java, JavaScript, Perl,
Python, dan lainnya (Bo, 2010:4).
2.2.6.1 Struktur dasar JSON
JSON mempunyai dua struktur dasar yakni JSONObject
dan JSONArray. JSONObject merupakan kumpulan dari
pasangan nama/nilai yang diawali dengan kurung kurawal
pembuka ({) dan diakhiri dengan kurung kurawal penutup (}).
Setiap nama diikuti dengan titik dua (:) dan setiap nama atau
nilai yang berpasangan dipisahkan dengan koma (,). Struktur
JSONObject dapat dilihat pada Gambar 2.21.
49
Gambar 2.21 Objek pada JSON
JSONArray merupakan urutan dari kumpulan nilai yang
diawali dengan kurung siku pembuka ([) dan diakhiri dengan
kurung siku penutup (]). Nilainya dipisahkan dengan koma (,).
Struktur JSONArray dapat dilihat pada Gambar 2.22.
Gambar 2.22 Array pada JSON
Nilai (value) bisa berupa string dengan double quotes,
nilai angka, true , false , null, JSONObject, atau JSONArray.
Deskripsi dari value dapat dilihat pada Gambar 2.23.
Gambar 2.23 Value pada JSON
50
Semua struktur tersebut merupakan struktur data
universal. Hampir semua bahasa pemrograman modern
mendukung salah satu atau semua bentuk struktur tersebut.
Sehingga memungkinkan pertukaran format data menggunakan
bahasa pemrograman berdasarkan pada struktur – struktur
tersebut.
Saat ini penggunaan JSON objects direpresentasikan
dengan mempergunakan tipe data Amos II yang dipergunakan
untuk merepresentasikan konten dalam streams of JSON objects
yang dikirim melalui Internet (Bo, 2010:6).
2.2.7 SQLite
SQLite merupakan database Open Source yang dipergunakan
dalam Android. SQLite mendukung fitur standard relational database
seperti SQL syntax. SQLite hanya membutuhkan sedikit memori saat
melakukan runtime (sekitar 250 KByte). SQLite merupakan software
library yang mengimplementasikan self-contained, serverless, zero-
configuration, transactional SQL database engine. SQLite merupakan
deployed SQL database engine yang terbesar di dunia (Lee, 2012:103).
SQLite mendukung tipe data TEXT (seperti string pada Java),
INTEGER (seperti long pada Java) dan REAL (seperti double pada
Java). Semua jenis tipe lain harus dikonversikan menjadi satu dari salah
satu jenis tipe sebelum disimpan dalam database. SQLite tersedia pada
51
setiap perangkat Android. Dengan mempergunakan SQLite database di
Android tidak memerlukan pengaturan database ataupun administrasi.
Android menyediakan dukungan secara penuh untuk SQLite
database. Setiap database yang dibuat akan dapat diakses dengan nama
dari setiap kelas yang ada di dalam aplikasi. Cara yang direkomendasikan
untuk membuat SQLite database baru ialah dengan membuat subclass
dari SQLiteOpenHelper dan override pada onCreate() method. SQLite
queries dapat dijalankan mempergunakan SQLiteDatabase query()
methods yang menerima berbagai macam parameter, seperti table to
query, the projection, selection, columns, grouping, dan lainnya.
2.2.8 Jejaring Sosial
Jejaring sosial merupakan kumpulan individu – individu yang
membentuk sebuah kelompok, seperti masyarakat pedesaan atau
lingkungan sekitar tempat tinggal. Jejaring sosial juga mungkin terbentuk
dalam lingkungan kerja, universitas, sekolah, dan yang paling popular
adalah jejaring sosial online.
Jejaring sosial online saat ini sangat popular karena tidak seperti
lingkungan kerja, universitas, dan sekolah, Internet diisi oleh jutaan
individu dengan tujuan untuk mengumpulkan dan berbagi berbagai
informasi, seperti cara memasak, olahraga, pekerjaan, bisnis, marketing,
dan berbagai topik lainnya yang sangat bervariasi dan kaya sebagai
sebuah cerita dari seluruh dunia (Social Networking, 2013).