8
BAB 2
TINJAUAN PUSTAKA
2.1 Teori yang berkaitan dengan Software Engineering
2.1.1 Software Engineering
Menurut Roger S. Pressman (2001:6) software (perangkat lunak)
dapat didefinisikan sebagai berikut :
1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi
dan unjuk kerja yang diinginkan.
2. Struktur data yang memungkinkan program memanipulasi informasi
secara proporsional.
3. Dokumen yang menggambarkan informasi dan kegunaan program.
Untuk mengetahui pengertian dari software engineering, sangat
penting untuk memahami karakteristik dari software. Karakteristik dari
perangkat lunak adalah sebagai berikut.
1. Software/ perangkat lunak dikembangkan atau direkayasa, tidak
diproduksi dalam bentuk konvensional.
2. Software tidak usang/harus dapat dipakai kembali.
3. Software atau perangkat lunak akan terus dibangun, dibuat dan
dipakai.
Sedangkan untuk pengertian software Ian Sommerville
menjelaskannya berdasarkan karakteristik software yaitu:
1. Maintenance ability, Perangkat Lunak harus dapat memenuhi
perubahan kebutuhan.
2. Dependability, Perangkat Lunak harus dapat dipercaya.
3. Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource.
9
4. Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang
direncanakan.
Software engineering menurut Ian Sommerville (2007:4) adalah
disiplin ilmu yang membahas semua aspek produksi perangkat lunak,
mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem
setelah digunakan, dimana ada dua kata kunci yaitu:
1. Disiplin Rekayasa, dimana perekayasa membuat suatu alat bekerja
dengan menerapkan teori, metode dan alat bantu yang sesuai serta
penggunaan secara selektif dan selalu mencoba mencari solusi
terhadap permasalahan walaupun tidak ada teori atau metode yang
mendukung.
2. Semua aspek produksi perangkat lunak, rekayasa perangkat lunak
tidak hanya berhubungan dengan proses teknis dari pengembangan
perangkat lunak tetapi juga dengan kegiatan seperti manajemen
proyek perangkat lunak dan pengembangan alat bantu, metode, dan
teori untuk mendukung produksi perangkat lunak.
Menurut kesimpulan kami, software/ perangkat lunak merupakan
kumpulan instruksi yang akan dibaca oleh perangkat keras atau hardware
komputer untuk melakukan pekerjaannya. Software Engineering adalah
penerapan disiplin-disiplin ilmu engineering yang baik untuk membangun
ataupun mengembangkan suatu perangkat lunak.
2.1.2 Interaksi Manusia dan Komputer
2.1.2.1 Pengertian Interaksi Manusia dan Komputer
Karrayet 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.
10
2.1.2.2 Lima Faktor Manusia Terukur
Ada lima faktor manusia terukur yang harus
diperhatikan dalam perancangan antarmuka menurut
Shneiderman dan Plaisant (2010:32), yaitu:
1. Waktu Belajar
Merancang antarmuka dengan memperhatikan
kemudahan tampilan. Sehingga pengguna dapat
beradaptasi dengan cepat dalam menggunakan aplikasi.
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.2.3 Kategori Pengguna
Menurut Shneiderman dan Plaisant (2010:81) ada tiga
kategori pengguna yang perlu dipertimbangkan dalam
perancangan antarmuka, yaitu:
11
1. Novice
Merupakan pengguna pemula sehingga antarmuka
sebaiknya dirancang sesederhana mungkin sehingga
mudah digunakan dan juga memberikan umpan balik
yang informatif.
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 para pengguna smartphone biasanya merupakan
pengguna yang sudah terlatih dalam menggunakan suatu
apllikasi.
2.1.2.4 Delapan Aturan Emas
Menurut Shneiderman dan Plaisant (2010:88) terdapat
delapan aturan emas yang harus dipertimbangkan dalam
perancangan antarmuka, yaitu:
1. Berusaha untuk konsisten
Konsisten dalam berbagai aspek yang terdapat dalam
aplikasi, seperti warna yang digunakan, jenis font yang
dipakai, dan tampilan menu.
12
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.
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.
13
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.3 Unified Modeling Language (UML)
Menurut Whitten dan 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.
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 UML telah tercapai sehingga tidak perlu membuat ketiga belas
diagram tersebut. Berikut merupakan diagram-diagram yang akan
dipakai pada perancangan aplikasi kali ini.
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 dan Bentley, 2007:246).
Ada tiga elemen penting dalam Use Case diagram,
yaitu aktor, use cases, dan relationship.
14
Gambar 2.1 Contoh Use CaseDiagram
Ada beberapa macam dari relationship yang digunakan
dalam use case (Whitten dan Bentley, 2007:248):
1. Associations
Associations menggambarkan interaksi antara use cases
dengan aktor. Associations digambarkan dengan simbol
garis dengan atau tanpa panah.
Gambar 2.2 Contoh Associations Relationship
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.
15
Gambar 2.3 Contoh Extends Relationship
3. Uses/Includes
Uses/Includes digunakan ketika terdapat dua atau lebih
use cases yang melakukan langkah yang sama.
Gambar 2.4 Contoh Uses/Includes Relationship
4. Depends On
Depends On digunakan ketika terdapat hubungan
ketergantungan antara satu use cases dengan use cases
lainnya, dimana suatu use cases tidak dapat dilakukan
sebelum use cases lain dilakukan.
Gambar 2.5 Contoh Depends On Relationship
16
5. Inheritance
Inheritance digunakan ketika terdapat dua atau lebih
aktor yang melakukan use cases yang sama.
Gambar 2.6 Contoh Inheritance Relationship
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 dan 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 dan Bentley, 2007:390).
17
Gambar 2.7 Contoh Activity Diagram
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 dan Bentley, 2007:400).
Gambar 2.8 Contoh Class Diagram
18
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.1 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
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.
19
Gambar 2.9 Contoh Asosiasi
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..*).
Gambar 2.10 Contoh Multiplicity
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.
Gambar 2.11 Contoh Generalisasi
20
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.12 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.13 Contoh Komposisi
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 dan Bentley,
2007:394).
21
Gambar 2.14 Contoh Sequence Diagram
2.2 Teori yang terkait tema penelitian (tematik)
2.2.1 Android
Android merupakan sebuah sistem operasi mobile yang open
source.. Tujuan dari Android Open Source Project adalah untuk
membangun produk real-world yang dapat meningkatkan pengalaman
para pengguna perangkat mobile (Android Open Source Project,
2013). Berikut ini merupakan karakteristik utama yang dimiliki oleh
Android:
1. Terbuka
Android dibuat untuk dipakai siapa saja dan bersifat open source.
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.
22
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 .
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, 2013).
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 untuk
menaruh aplikasi yang telah mereka buat dan mengunduh bagi para
pengguna.
2.2.1.1 Versi Android
Android memiliki banyak versi semenjak dirilis
pertama kali. 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
23
versi ini didasarkan pada Linux Kernel 2.6.27. Pada versi
ini terdapat pembaharuan antarmuka dan penambahan
fitur–fitur. Permbaharuan yang dilakukan adalah sebagai
berikut:
a. Widget dan folder baru yang dapat ditambahkan ke
layar utama.
b. Merekam dan menonton video dengan modus kamera.
c. Menggunggah video langsung ke Youtube melalaui
handset.
d. Keyboard pada layar yang dapat disesuaikan dengan
sistem.
e. 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:
a. Improvisasi pada Android Market.
b. Kamera, camcorder, dan antarmuka galeri yang
terintegrasi.
c. Multi select pada galeri.
d. Dukungan resolusi layar Wide Video Graphics Array.
e. CDMA/EVDO, VPN.
f. Gesture dan Text-to-Speech engine.
g. 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:
a. Optimalisasi kecepatan perangkat keras.
b. Dukungan HTML 5.
c. Peningkatan Google Maps 3.1.2
d. Microsoft Exchange Support.
24
e. Live Wallpaper.
f. Dukungan flash untuk kamera 3,2MP dan digital zoom.
g. 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:
a. Optimasi sistem operasi Android, memori, dan
performa.
b. Memungkinkan shortcut untuk aplikasi yang
diinginkan.
c. Adanya fasilitas tethering.
d. 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:
a. Perubahan user interface.
b. Mendukung resolusi yang lebih besar.
c. Peningkatan fungsi copy-paste.
d. Terdapat Gyroscope dan sensor.
e. Mendukung mixable audio effects.
f. Tersedia download manager.
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:
a. User interface khusus untuk tablet.
b. Mendukung multi prosesor.
25
8. Android versi 4.0 (Ice Cream Sandwich)
Pada tanggal 19 Oktober 2011 Android versi 4.1 dirilis.
Pembaharuan yang dilakukan adalah sebagai berikut:
a. Lockscreen dengan face recognition.
b. Berbagi informasi dengan NFC (Near Field
Communication).
c. Pencarian email secara offline.
9. Android versi 4.1/4.2/4.3 (Jelly Bean)
Android versi 4.1 merupakan versi Android yang paling
cepat dan halus. Pembaharuan yang dilakukan adalah
sebagai berikut:
a. Peningkatan kebebasan pengguna dalam mengatur
home screen.
b. Peningkatan kualitas text-to-speech dan voice typing.
c. Peningkatan kualitas pencarian pada Google.
d. Dukungan Google Now.
10. Android versi 4.4 (Kitkat)
Android versi 4.4 merupakan versi Android yang paling
baru. Pembaharuan yang dilakukan adalah sebagai
berikut:
a. Immersive mode
b. Akses kontak langsung dari aplikasi telepon
c. Desain baru
d. Tampilan album art pada lockscreen
e. Multitasking lebih mulus, baterai lebih hemat
f. Emoji dan wireless printing
g. Integrasi lebih mendalam dengan Google Drive
26
2.2.1.2 Arsitektur Android
Android memiliki 4 lapisan (layer) dalam arsitektur
pembangunannya. Setiap lapisan tersebut menghimpun
beberapa program yang mendukung fungsi-fungsi spesifik
dari sistem operasi. Diagram berikut menunjukkan
komponen-komponen utama dari sistem operasi Android.
(Safaat, 2012:6):
Gambar 2.15 Arsitektur Android
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.
27
2) Application Framework
Application Framework menyediakan
semua kelas yang digunakan dalam pembuatan
aplikasi Android.
3) Libraries
Android menggunakan beberapa paket
pustaka yang terdapat pada C/C++ dengan
standar Berkeley Software Distribution (BSD)
hanya setengah dari yang aslinya untuk tertanam
pada kernel Linux. Beberapa pustaka
diantaranya:
1. Media Library untuk memutar dan merekam
berbagai macam format audio dan video.
2. Surface manager untuk untuk mengatur hak
akses layer dari berbagai aplikasi.
3. Scene Graph Library (SGL) dan Open
Graphics Library (OpenGL) untuk
kemampuan menampilkan grafik dua dan tiga
dimensi.
4. SQLite untuk mengatur relasi database yang
digunakan pada aplikasi.
5. SSL dan WebKit untuk browser dan
keamanan internet.
4) Android Runtime
Layer ini terdiri dari corelibraries 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
28
memory untuk memastikan agar device dapat
menjalankan aplikasi secara efisien.
5) Linux Kernel
Tumpukan paling bawah pada arsitektur
Android ini adalah kernel. Google menggunakan
kernel Linux versi 2.6 untuk membangun sistem
Android, yang mencakup memory management,
security setting, power management, dan
beberapa driver hardware. Kernel berperan
sebagai abstraction layer antara hardware dan
keseluruhan software.
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 windowsactivity dinyatakan dengan
methodActivity.setContentView().
2. Service
Service tidak memiliki Graphical User Interface
(GUI), melainkan berjalan di background untuk waktu
29
yang tidak terbatas. Komponen service diproses tidak
terlihat, memperbarui sumber data dan menampilkan
notifikasi. Service digunakan untuk melakukan
pengolahan data yang perlu terus diproses, bahkan ketika
Activity tidak aktif atau tidak tampak.
3. Broadcast Receiver
Broadcast receiver berfungsi menerima dan
bereaksi untuk menyampaikan notifikasi seperti
lowbattery. 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. Contentprovider 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.
30
2. DVM dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open source WebKit.
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 opensource. 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).
Android dikembangkan menggunakan 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.
31
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 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.
32
4. Dokumentasi untuk Framework API Android
Mengakses dokumentasi dengan hovering di atas kelas, metode,
atau variabel.
2.2.5 JavaScript Object Notation (JSON)
JavaScript Object Notation (JSON) merupakan light weight
data-interchange yang berbasis JavaScript Programming Language.
JSON merupakan format untuk pertukaran data seperti halnya XML.
Namun JSON sangat mudah dimengerti oleh manusia, karena
formatnya yang sederhana. Formatnya berbasis teks dan terbaca-
manusia serta digunakan untuk merepresentasikan struktur
data sederhana dan larik asosiatif (disebut objek). Format JSON sering
digunakan untuk mentransmisikan data terstruktur melalui suatu
koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi
utamanya adalah pada pemrogramanaplikasi web AJAX dengan
berperan sebagai alternatif terhadap penggunaan tradisional
format XML. Walaupun JSON didasarkan pada subset bahasa
pemrograman JavaScript dan umumnya digunakan dengan bahasa
tersebut, JSON dianggap sebagai format data yang tak tergantung
pada suatu bahasa. Format JSON dispesifikasikan di RFC
4627 oleh Douglas Crockford.
Contoh JSON :
({
"namadepan" : "Timotius",
"namabelakang" : "Victory"
});
2.2.6 XML
XML (eXtensible Markup Language) merupakan suatu bahasa
Markup. Markup yaitu bahasa yang berisikan kode-kode berupa
tanda-tanda tertentu dengan aturan tertentu untuk memformat
dokumen teks dengan tag sendiri agar dapat dimengerti.
33
XML dapat memungkinkan pertukaran informasi atau data
antar device (server, PCs, smart device, aplikasi, dan situs web). Data
ini akan menjadi independent sehingga memudahkannya untuk
diorganisir, diprogram, dirubah, dan ditukar antar situs web atau
aplikasi apa saja. Karena kebutuhan ini, maka makin banyak teknologi
berbasis XML.
Contoh XML:
<note>
<to>.......................</to>
<from>..................</from>
<heading>..............</heading>
<body>...................</body>
</note>
2.2.7 PHP
PHP merupakan singkatan dari “Hypertext Preprocessor”,
yang merupakan sebuah bahasa scripting tingkat tinggi yang dipasang
pada dokumen HTML. PHP pertama kali dibuat oleh Rasmus
Lerdroft, seorang programmer C. Pada waktu itu PHP masih bernama
FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang
digunakan untuk mengolah data form dari web.
PHP yang paling banyak dipakai sekarang ini adalah PHP 5.0
yang dikeluarkan oleh Zend pada Juni 2004. PHP merupakan bahasa
pemrograman yang paling banyak dipakai oleh website di seluruh
dunia
2.2.8 Hypertext Markup Language (HTML)
Menurut Shelly, Woods, dan Dorin (2008, p. 8), HTML
merupakan bahasa penulisan yang digunakan untuk membuat
dokumen pada halaman web. HTML menggunakan sekumpulan
instruksi khusus, yang dikenal dengan tags atau markup, untuk
mendefinisikan struktur dan susunan dari dokumen web dan
34
menetapkan apa yang akan ditampilkan pada browser.
2.2.9 jQueryjQuery adalah sebuah pustaka JavaScript yang open
source, digunakan untuk menyederhanakan interaksi antara
HTML dan JavaScript (Resig, n.d.). Jquery dipakai untuk
menyelesaikan masalah kedinamisan tampilan web pada lintas
browser.
2.3 Hasil Penelitian atau Produk Sebelumnya
Berikut adalah aplikasi-aplikasi yang telah dikembangkan sebelumnya
yang akan memberikan gambaran singkat dan perbandingan mengenai
aplikasi-aplikasi sejenis dengan aplikasi yang dikembangkan. Aplikasi-
aplikasi ini memiliki konsep yang sama, yaitu penunjuk tempat wisata.
Aplikasi tersebut memiliki fitur yang sama seperti informasi tentang
tempat tujuan, terdapat juga aplikasi yang menambahkan fitur khusus lain
sebagai nilai tambah. Melihat cukup banyaknya aplikasi sejenis yang ada,
maka dipilih beberapa aplikasi untuk dijadikan pembanding dengan
aplikasi yang akan dikembangkan. Keunggulan dan kelemahan aplikasi
diidentifikasi berdasarkan user experience dan user reviews pada Google
Play, dan keterangan penggunaan. Aplikasi-aplikasi yang dimaksud
adalah sebagai berikut:
1. Wisata Indonesia (Pengembang: FrontineLabs )
Gambar 2.16 Screenshot aplikasi Wisata Indonesia
35
Wisata Indonesia merupakan aplikasi panduan wisata yang ada
pada sistem operasi Android. Wisata Indonesia memberikan fitur yang
cukup lengkap untuk membuat rencana perjalanan.
Keunggulan-keunggulan yang terdapat pada aplikasi Wisata Indonesia
adalah:
1. Menggunakan GPS dalam aplikasi nya.
2. Tempat wisata dibagi berdasarkan kategori.
3. Adanya fitur wisata favorite.
Kelemahan-kelemahan yang terdapat pada aplikasi Wisata Indonesia
adalah:
1. Pengguna tidak bisa saling berinteraksi.
2. Hanya untuk wilayah jogja.
3. Pengguna tidak dapat melihat review tempat wisata tersebut.
2. Indonesia Travel Guide Triposo
Gambar 2.17 ScreenShoot aplikasi Triposo
36
Indonesia Travel Guide Triposo merupakan aplikasi panduan
wisata yang ada pada sistem operasi Android. Indonesia Travel Guide
Triposo memberikan fitur yang cukup lengkap untuk dijadikan
pemandu wisata.
Keunggulan-keunggulan yang terdapat pada aplikasi Wisata Indonesia
adalah:
1. Menggunakan GPS dalam aplikasi nya.
2. Ada nya fitur yang memberitahukan angkutan untuk sampai ke
tujuan.
3. Adanya fitur Top Destination.
Kelemahan-kelemahan yang terdapat pada aplikasi Wisata Indonesia
adalah:
1. Pengguna tidak dapat saling bisa berinteraksi.
2. Tempat wisata cuma bisa ditambahkan oleh admin.
3. Aplikasi ini membutuhkan memori yang cukup besar.