2012-1-00346-IF Bab2001
2012-1-00346-IF Bab2001
LANDASAN TEORI
9
2. Kecepatan kinerja
Waktu yang dibutuhkan oleh pengguna aplikasi untuk
melakukan suatu tugas.
3. Tingkat kesalahan pengguna
Seberapa banyaknya dan apa jenis kesalahan yang dilakukan
oleh pengguna aplikasi.
4. Daya ingat
Pengguna aplikasi dapat mengingat pengetahuan yang dimiliki
tentang aplikasi tersebut dalam jangka waktu tertentu.
5. Kepuasan subjektif
Seberapa besar ketertarikan pengguna aplikasi terhadap aspek
aspek interface aplikasi tersebut.
10
2.
seperti
pengguna,
teknologi
kemampuan
perbedaan
pengguna.
yang
umur
pengguna,
digunakan
Berdasarkan
dan
kondisi
perbedaan
kemampuan
dari
11
yang memudahkan pengguna dalam mengetahui dampak dari
tindakan yang telah dilakukan.
5.
6.
7.
8.
dan
komputer
desktop
sangat
berbeda.
12
bandwidth rendah dan bertenaga baterai. Sedangkan komputer
desktop memiliki layar yang besar, konektivitas handal, bandwidth
tinggi dan plugged in. Dengan banyaknya perbedaan antara
smartphone dan desktop, desain untuk smartphone sangat berbeda
dengan desain pada desktop.
Mengacu
pada
pendapat
dari
Jonathan
Stark
(2012)
13
d. Be considerate
Aplikasi
b. Busy
c. Lost
3. Global Guidelines
Setiap aplikasi memiliki teknik pendekatan dan desain yang
berbeda-beda. Sifat yang merekat pada sebuah perangkat
touchscreen
berukuran
saku
memiliki
hal
yang
harus
14
c. Thumbs
Dengan touchscreen interfaces, desain interfaces harus
disesuaikan karena banyak pengguna menggunakan ibu jari
untuk mengetik.
d. Targets
Dalam mendesain aplikasi yang akan menggunakan banyak
fungsi
keyboard,
pengembang
sebaiknya
mendesain
15
4. Navigation Models
Ada beberapa model navigasi umum untuk aplikasi mobile yang
dapat digunakan sesuai dengan aplikasi, seperti none, tab bar,
dan drill down.
5. User Input
Pada pengembangan suatu aplikasi memungkinkan pengguna
dalam memberikan input seperti pengetikan. Terdapat banyak
variasi keyboard pada smartphone, pertimbangkan untuk
menampilkan keyboard yang akan sangat berguna. Pilihan auto
entry yang harus diaktifkan juga harus dipertimbangkan. Jika
aplikasi perlu banyak input seperti pengetikan, pastikan
mendukung orientasi landscape.
6. Gestures
Touchscreen interfaces saat ini mendukung gesture-based untuk
interaksi pengguna. Hal - hal yang harus diingat adalah:
a. Invisible
Gestures tidak terlihat, tetapi pengembang aplikasi harus
mempertimbangkan
bagaimana
untuk
mengungkapkan
16
c. Nice to have
Menggunakan semacam keyboard shortcuts pada suatu
aplikasi yang dikembangkan jika diperlukan agar pengguna
lebih mudah dalam menggunakan aplikasi.
d. No replacement
Teknologi Two-Hands
yang
paling
sering
digunakan
untuk
17
a. Provide feedback
Memberikan umpan balik instan untuk setiap interaksi. Jika
pengguna telah meminta suatu tindakan yang akan memakan
waktu lama, maka aplikasi menampilkan progress bar.
b. Modal alert
Modal alert sangat mengganggu sehingga harus digunakan
ketika ada sesuatu yang benar-benar salah.
c. Confirmation
Ketika harus meminta pengguna untuk mengkonfirmasi
tindakan, dapat ditampilkan dialog konfirmasi modal.
Seperti: Apakah Anda yakin ingin menghapus data ini?.
9. Launching
Ketika pengguna kembali ke aplikasi, maka aplikasi harus
kembali
beroperasi
tepat
dimana
pengguna
terakhir
mengoperasikan aplikasi.
10. First Impressions
Pada saat pengguna pertama kali menggunakan aplikasi,
terdapat 2 (dua) faktor yang menjadi kesan pertama pengguna,
yaitu:
a. Your icon
Icon merupakan suatu hal yang sangat penting, karena icon
merupakan salah satu yang menjadi daya tarik bagi
pengguna dalam menggunakan aplikasi yang dikembangkan.
18
b. First launch
Peluncuran pertama kali harusnya tidak menimbulkan
kebingungan bagi pengguna yang menggunakannya.
menjalankan
fungsinya
dalam
menentukan
dan
menggambarkan rancangan software, UML versi 2.0 menggunakan diagramdiagram sebagai berikut:
1.
2.
Activity Diagram
3.
Class Diagram
4.
Object Diagram
5.
6.
Sequence Diagram
7.
Communication Diagram
8.
19
9.
Timing Diagram
10.
Component Diagram
11.
Deployment Diagram
12.
Package Diagram
13.
Deskripsi
Aktor
20
dengan aplikasi lain dan membutuhkan input atau
memberikan output, maka aplikasi tersebut juga bisa
dianggap sebagai aktor.
Use Case Use case digambarkan sebagai elips dengan nama
use case dituliskan didalam elips tersebut.
dengan
suatu
garis
dengan
anak
panah
21
menunjukkan interaksi antara use case dengan aktor sebagai
inisiator. Sedangkan asosiasi yang digambarkan tanpa anak
panah menggambarkan interaksi antara use case dengan aktor
penerima.
2. Extends
Pada suatu use case dapat terdiri dari fungsi-fungsi yang
kompleks dan menyebabkan use case sulit dimengerti. Oleh
karena itu digunakan extends dengan cara use case tersebut
menghasilkan
use
case
baru
yang
berfungsi
untuk
22
3. Uses / Includes
Pada suatu use case diagram sering ditemukan dua atau lebih
use case yang melakukan fungsi yang sama tersebut. Fungsi
tersebut digabungkan menjadi use case baru yang disebut use
case abstrak, yang berfungsi untuk mengurangi redundansi
dalam suatu use case diagram.
23
4. Depends On
Depends On merupakan suatu hubungan ketergantungan antara
satu use case dengan use case lainnya, dimana suatu use case
tidak dapat berjalan jika use case lain belum dilakukan.
5. Inheritance
Inheritance digunakan untuk mempermudah penggambaran
hubungan antara dua atau lebih aktor yang memiliki langkah
yang sama dalam sistem dengan membuat aktor abstrak.
24
2.1.2.2 Use Case Narrative
Use Case Narrative adalah sebuah teks yang mendeskripsikan
suatu langkah yang ada pada use case dan bagaimana cara
pengguna
berinteraksi
dengan
sistem
untuk
menyelesaikan
25
Setiap kelas objek dibagi menjadi 3 (tiga) bagian, yaitu:
1.
Nama kelas
Nama kelas harus unik atau dapat dibedakan antara kelas yang
satu dengan kelas yang lain karena nama kelas merupakan
identitas yang dimiliki oleh setiap kelas.
2.
Atribut kelas
Atribut menunjukkan informasi yang dimiliki oleh suatu kelas
atau informasi yang berhubungan dengan suatu kelas.
3.
Operasi kelas
Operasi digunakan untuk menunjukkan fungsi yang dapat
dilakukan oleh suatu kelas.
<< Nama kelas >>
- Atribut kelas
+ Operasi kelas
2.1.2.3.1 Visibility
Pada class diagram terdapat visibility yang
digunakan untuk menentukan suatu kelas dapat diakses
oleh kelas lainnya atau tidak. Dalam visibility memiliki 3
(tiga) tingkatan, yaitu (Whitten dan Bentley, 2007):
26
1. Public
2. Protected
3. Private
Simbol
+
Deskripsi
Dapat
diakses
oleh
semua
mendefinisikan
dan
turunannya
Private
2.1.2.3.2 Multiplicity
Multiplicity merupakan jumlah banyaknya objek
sebuah kelas yang berelasi dengan sebuah objek lain pada
kelas lain yang berasosiasi dengan kelas tersebut (Whitten
dan Bentley, 2007).
27
Tabel 2.3 Tabel Penjelasan Multiplicity
Multiplicity
Deskripsi
0..1
Hanya satu
0..*
1..*
2.1.2.3.3 Generalisasi
Generalisasi merupakan suatu teknik dimana
sebuah kelas (subclass) dapat mewarisi atribut-atribut dan
operasi-operasi dari kelas lainnya (superclass) dimana
superclass
bersifat
lebih
umum
daripada
Student
Teacher
subclass
28
2.1.2.3.4 Asosiasi
Asosiasi merupakan hubungan antara satu kelas
dengan kelas yang lain. Asosiasi antara dua kelas biasanya
dinotasikan dengan sebuah garis yang menghubungkan
kedua kelas tersebut dan biasanya disertakan keterangan
mengenai detil relasi antar kelas dan multiplicity (Whitten
dan Bentley, 2007).
Hubungan yang digambarkan dibedakan menjadi 2
(dua) jenis, yaitu:
1. Uni-directional
Hubungan uni-directional menghubungkan 2 (dua)
kelas yang saling terhubung, tetapi hanya satu yang
memiliki peran dalam hubungan tersebut. Hubungan
uni-directional
dapat
direpresentasikan
dengan
29
2. Bi-directional
Hubungan bi-directional menghubungkan 2 (dua)
kelas yang saling terhubung dan keduanya memiliki
peran dalam hubungan tersebut. Hubungan bidirectional tidak perlu menggunakan anak panah.
Seperti gambar 2.5 kelas Flight memiliki atribut
bertipe sama dengan kelas Plane, dan kelas Plane
memiliki atribut bertipe sama dengan kelas Flight.
2.1.2.3.5 Agregasi
Agregasi menggambarkan hubungan dimana satu
kelas merupakan bagian dari kelas lain. Seperti pada
gambar 2.5, dimana kelas Karyawan adalah bagian dari
kelas Perusahaan, tetapi kelas Perusahaan bukan
merupakan bagian dari kelas Karyawan (Whitten dan
Bentley, 2007).
30
Perusahaan
Karyawan
0..*
2.1.2.3.6 Komposisi
Komposisi merupakan bentuk lain dari agregasi,
tetapi sebuah kelas tidak dapat berdiri sendiri dan harus
merupakan bagian dari kelas yang lain. Seperti pada
gambar 2.6, dimana kelas Halaman merupakan bagian
dari kelas Buku dan kelas Halaman tidak akan ada
jika kelas Buku tidak dibuat (Whitten dan Bentley,
2007).
Buku
Halaman
1
1..*
31
satu activity diagram dapat digambarkan untuk setiap use case jika
use case tersebut memiliki logika yang kompleks (Whitten dan
Bentley, 2007).
Activity
Activity
Activity
[True]
[False]
Activity
Activity
Activity
32
Tabel 2.4 Tabel Elemen Activity Diagram
Initial node Simbol
yang
menggambarkan
dimulainya proses.
Action
Simbol
yang
merepresentasikan
suatu
Activity
aktivitas.
Keseluruhan
aktivitas
Simbol
yang
merepresentasikan
yang
merepresentasikan
salah
satu
alur
aktivitas.
2. Merge
Mengindikasi
bergabungnya
Simbol
yang
merepresentasikan
dari
33
Mengindikasikan adanya dua
atau
lebih
actions
yang
berlangsung bersamaan.
2. Join
Mengindikasi
berakhirnya
proses paralel.
Activity
Simbol
yang
merepresentasikan
Final
berakhirnya proses.
34
:Pemesanan
Aktor
:Barang
Memesan barang
Mengecek barang ()
Status barang
Status pemesanan
35
2. Objek
Objek digunakan untuk mewakili kelas-kelas pada class
diagram dan digambarkan dengan simbol persegi panjang yang
didalamnya terdapat nama objek tersebut. Pada objek terdapat
garis putus-putus yang disebut lifeline.
:Objek
3. Pesan
Pesan digunakan untuk menggambarkan interaksi antar objek
yang ada pada sequence diagram.
Pesan
4. Aktivasi
Aktivasi digambarkan dengan sebuah persegi panjang pada
lifeline dan berfungsi untuk menunjukkan lamanya objek yang
digunakan.
36
:Objek1
5. Pesan kembali
Pesan kembali digambarkan dengan simbol seperti pesan tetapi
dengan garis putus-putus dan berfungsi untuk menanggapi
pesan yang sebelumnya telah disampaikan.
Pesan Kembali
6. Self-call
Suatu objek pada sequence diagram dapat mengirimkan pesan
atau berinteraksi ke objek itu sendiri.
37
7. Frame
Penggunaan frame pada sequence diagram menunjukkan
adanya perulangan (looping) pada daerah yang dibatasi oleh
frame tersebut. Frame juga digunakan jika pada sequence
diagram terdapat pilihan yang boleh dipilih atau tidak dipilih
(optional) atau menggambarkan pilihan yang setidaknya ada
sebuah proses yang dilakukan (alternate).
:MemberServicesSystem
User
opt
Sys Admin
numTries <= 3
submitLogin(username, password)
Invalid
opt
numTries >3
failedAttempt
submitLogin(username, password)
(datetime, ip)
2.1.3
38
software yang ekonomis, handal dan mampu bekerja efisien pada mesin
yang sesungguhnya.
Karakteristik dari software adalah sebagai berikut (Pressman, 2010):
1. Software dikembangkan atau dibuat, bukan dirakit
Terdapat beberapa kesamaan antara pengembangan software
dan
Software
Development
adalah
sebuah
strategi
tugas-tugasnya.
Agile
Software
Development
39
2.1.3.2 Extreme Programming
Extreme Programming (XP) merupakan salah satu metodologi
dalam rekayasa perangkat lunak dan merupakan salah satu metode
dari beberapa agile software development yang berfokus pada
coding sebagai aktivitas utama dan menekankan pada kerjasama
tim. XP digunakan untuk menghadapi kebutuhan yang kurang
dimengerti oleh pengembang dan berubahnya kebutuhan dari
pengguna. Pada XP antara pengguna dan pengembang selalu
melakukan komunikasi jika terjadi perubahan pada software yang
dikembangkan.
40
Mengacu
pada
pendapat
Pressman
(2010),
dalam
dan
menentukan
biaya
selama
waktu
41
3. Coding
Tahap ini dilakukan setelah story dikembangkan dan rancangan
pendahuluan selesai. Kemudian dilakukan perancangan unit
test terlebih dahulu sebelum penulisan kode dilakukan. Unit
test merupakan serangkaian test yang mengevaluasi setiap
story. Setelah unit test selesai dibuat, pemikiran pengembang
berfokus pada pengimplementasian untuk melewati unit test
berikutnya. Setelah pembuatan kode selesai dapat langsung
dilakukan pengujian. Pada tahap coding juga dilakukan
refactoring yang merupakan suatu teknik konstruksi dan
metode untuk mengoptimalkan rancangan yaitu dengan
penyederhanaan kode untuk memudahkan orang lain atau
pengembang dalam memahami kode tersebut. Setelah tahap
pembuatan kode dilakukan selanjutnya dapat dilakukan
perancangan baik sebelum ataupun sesudah tahap tersebut, hal
ini dikarenakan adanya refactoring.
4. Testing
Pada bagian ini dilakukan pengujian kode dengan unit test yang
telah dihasilkan pada tahap sebelumnya. Setelah itu dilakukan
acceptance test yang disebut juga customer test yang berfungsi
untuk memastikan aplikasi yang telah memenuhi kebutuhan
pengguna.
42
2.1.4
Database
Berdasarkan pendapat dari Connolly (2005), database adalah
sekumpulan data yang secara logis saling terkait yang dirancang untuk
memenuhi kebutuhan informasi suatu organisasi.
2.1.5
Teknologi Mobile
Berikut merupakan penjelasan mengenai teknologi teknologi mobile
yang sedang berkembang:
2.1.5.1 Smartphone
Mengacu pada pendapat dari Ramteke, Choudhary (2012),
smartphone menyediakan fasilitas internet dan akses ke layanan
data yang beragam. Teknologi smartphone telah pindah ke
perangkat yang sangat visual dan menarik banyak pengguna serta
memberikan banyak fasilitas untuk berkomunikasi. Beberapa sistem
operasi yang sedang berkembang saat ini adalah Blackberry, iOs,
dan Android.
43
Native mobile applications selalu lebih responsif dan dapat
mengakses lebih fitur hardware pada device.
2.1.6
2.1.7
Android
Mengacu pada pendapat Nimodia dan Deshmukh (2012), Android
adalah sebuah software stack untuk perangkat mobile yang mencakup sistem
operasi, middleware dan key applications. Android memiliki platform yang
bersifat open source dan sistem operasi untuk perangkat mobile berbasis
pada sistem operasi Linux dan dikembangkan oleh Google dan Open
Handset Alliance.
Sistem operasi pada android ini berbasis bahasa pemrograman Java
menggunakan Android Software Development Kit (Android SDK) dan
berjalan pada Linux Kernel, dengan middleware, library, Application
Programming Interface (API) yang ditulis dalam bahasa C, dan software
yang berjalan pada suatu kerangka aplikasi dengan menyertakan Javacompatible libraries berbasis pada Apache Harmony, yaitu sebuah
44
implementasi Java bersifat open source
Software Foundation yang terdiri dari Java Development Kit (JDK), virtual
machine dan class library.
SQLite,
mesin
database
SQL
embedded,
untuk
menyimpan data.
2. Connectivity
Mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth,
WiFi, LTE, dan WiMAX.
3. Messaging
Mendukung SMS dan MMS.
4. Web browser
Berbasis open-source WebKit, dengan Chromes V8 JavaScript engine.
5. Media support
Mendukung media: MP3, MIDI, WAV, JPEG, PNG, dan lain-lain.
6. Hardware support
Mendukung hardware: Accelerometer Sensor, Camera, Digital Compass,
Proximity Sensor, GPS.
45
7. Multi-touch
Mendukung multi-touch screens.
8. Multi-tasking
Mendukung multi-tasking applications.
9. Flash support
Android 2.3 mendukung Flash 10.1.
10. Tethering
Mendukung sharing koneksi internet seperti wireless hotspot.
46
2.1.9.1 Applications
Dalam applications layer, Android akan dikirim dengan satu
set aplikasi termasuk email client, program SMS, kalender, peta,
browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan
bahasa pemrograman Java (Anonim1, 2012).
services,
mengatur
alarm,
menambahkan
providers
yang
memungkinkan
aplikasi
untuk
mengambil data dari aplikasi lain atau untuk berbagi data dari
aplikasi itu sendiri.
3. Resource manager menyediakan akses ke non-code resources
seperti localized strings, graphics, dan layout files.
47
4. Notification manager yang memungkinkan semua aplikasi
untuk menampilkan pemberitahuan pada status bar.
5. Activity manager yang mengatur siklus dari aplikasi dan
menyediakan common navigation backstack.
2.1.9.3 Libraries
Android mencakup sekumpulan library C/C++ yang
digunakan oleh berbagai komponen dari sistem Android. Beberapa
library yang digunakan adalah (Anonim1, 2012):
1. System C library digunakan untuk embedded Linux-based
devices.
2. Media Libraries untuk memutar audio dan video.
3. Surface Manager untuk menyediakan pengaturan tampilan.
4. LibWebCore sebuah mesin web browser modern.
5. Scene Graph Library (SGL) untuk kemampuan menampilkan
grafik dua dimensi.
6. 3D
libraries
termasuk
OpenGL
untuk
kemampuan
48
Java. Android Runtime juga termasuk Dalvik virtual machine, yang
memungkinkan setiap aplikasi Android untuk berjalan dalam proses
sendirinya. Dalvik adalah mesin virtual khusus dirancang khusus
untuk android dan dioptimalkan untuk battery-powered device
mobile dengan memori yang terbatas dan CPU (Anonim1, 2012).
49
2. Services
Services adalah komponen aplikasi yang berjalan di background untuk
menjalankan proses yang memerlukan waktu cukup lama. Services tidak
memiliki tampilan.
3. Content Providers
Content Providers bertugas untuk mengelola sekumpulan data aplikasi
yang terbagi (shared). Datanya dapat disimpan dalam file sistem,
database SQLite atau lokasi penyimpanan lainnya. Dengan adanya
Content Providers ini, aplikasi lain dapat mengakses data yang
diperlukan tanpa perlu mengetahui bagaimana data tersebut disimpan.
Content provider juga dapat digunakan untuk menulis dan membaca data
pribadi yang tidak dibagikan (tidak shared).
4. Broadcast Receivers
Broadcast receivers adalah suatu komponen aplikasi yang menanggapi
broadcast. Contoh broadcast yang dikirim oleh sistem operasi Android
adalah pemberitahuan ada aplikasi baru yang terinstal atau ter-update,
layar mati, ada SMS atau telepon masuk, dan lain-lain. Broadcast
receiver juga tidak memiliki tampilan, tetapi dapat menjalankan suatu
activity atau menampilkan pemberitahuan.
50
pada perangkat Android. GCM dapat mengirimkan pesan singkat untuk
memberitahu aplikasi bahwa terdapat data baru yang akan diambil dari
server, seperti file film yang diunggah oleh seorang teman atau pesan yang
berisi data sampai dengan 4 KB. Layanan GCM menangani semua aspek
antrian pesan dan pengiriman ke aplikasi pengguna Android pada perangkat
pengguna. GCM tidak peduli seberapa besar pesan yang dibutuhkan oleh
pengguna dan tidak ada kuota (Anonim3, 2012).
51
2. PHP mendukung untuk sebagian web server, seperti Apache, IIS, dan
beberapa web server lainnya.
3. PHP dapat menggunakan pemrograman prosedural atau pemrograman
berorientasi objek (OOP).
4. PHP juga didukung berbagai database, seperti MySQL, ODBC.
2.2.2
MySQL
MySQL adalah suatu open source database yang sering digunakan di
dunia karena memiliki kinerja yang tinggi, kehandalan yang tinggi, dan
kemudahan dalam penggunaan. MySQL berjalan pada lebih dari 20
platform termasuk Linux, Windows, Mac OS, Solaris, IBM, AIX (Anonim6,
2012).
2.2.3
52
kurawal tutup ( } ). Pada setiap nama diikuti dengan titik dua ( : ) dan
setiap pasangan nama atau nilai dipisahkan oleh koma ( , ).
2. Array
Array adalah kumpulan nilai yang terurutkan dan memiliki komponen
komponen yang mempunyai tipe data sama. Array dimulai dengan
kurung kotak buka ( [ ) dan diakhiri dengan kurung kotak tutup ( ] ). Pada
setiap nilai dipisahkan oleh koma ( , ).
3. Value
Value dapat berupa string, angka, object, array, true, false, atau null.
Struktur struktur tersebut dapat disusun dengan bertingkat.
4. String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan
dapat digunakan backslash escapes ( \ ) untuk membentuk karakter
khusus. Sebuah karakter mewakili karakter tunggal pada string. String
sangat mirip dengan string C atau Java.
5. Number
Number sangat mirip dengan number di C atau Java, kecuali format oktal
dan heksadesimal tidak digunakan.
2.2.4
SQLite
SQLite adalah sebuah library yang mengimplementasi self-contained,
serverless, zero-configuration, transactional SQL database. SQLite
53
merupakan SQL database engine yang paling banyak digunakan karena
kode untuk SQLite berada dalam public domain dan dengan demikian bebas
untuk digunakan (Anonim8, 2012).
Beberapa fitur yang terdapat pada SQLite adalah (Anonim9, 2012):
1. Transaksi bersifat atomic, konsisten, terisolasi, dan tahan lama (ACID),
bahkan jika terjadi kegagalan sistem atau power.
2. Zero configuration, yang berarti tidak membutuhkan setup atau
administration.
3. Penerapan SQL92.
4. Database yang lengkap disimpan di dalam single cross-platform disk
file.
5. Mendukung database dengan ukuran terabyte dan gigabyte, strings,
dan blobs.
6. Footprint yang berukuran kecil: kurang dari 350 KB jika terkonfigurasi
penuh atau kurang dari 200 KB jika fitur fitur tambahan tidak
digunakan.
7. Lebih cepat dari database client atau server yang sering digunakan
pada umumnya untuk operasi operasi yang bersifat umum.
8. API yang sederhana dan mudah untuk digunakan.
9. Ditulis dalam ANSI-C dan TCL binding terdapat didalamnya. Binding
untuk bahasa lainnya tersedia secara terpisah.
10. Tersedia sebagai single ANSI-C source-code file yang dapat
ditambahkan dengan mudah.
54
11. Mandiri, tidak bergantung kepada faktor eksternal.
12. Cross platform: UNIX (Linux dan Mac OS X), OS/2, dan Windows
(Win32 dan WinCE).
13. Kode SQLite berada di public domain dan dapat digunakan untuk
tujuan apapun.
14. Memiliki command line interface (CLI) client yang mandiri dan dapat
digunakan untuk mengatur database dari SQLite.
2.2.6 Java
Berdasarkan
pendapat
Schildt
(2005),
java
adalah
bahasa
55
1. Multiplatform
Java dapat dijalankan dibeberapa platform atau sistem operasi komputer,
yang tidak terikat pada arsitektur tertentu. Sesuai dengan prinsip write
once, run anywhere.
2. Object Oriented Programming (OOP)
Bahasa Java merupakan bahasa pemrograman yang mendukung
pemodelan berorientasi objek karena pada Java mengutamakan dalam
pembuatan objek, manipulasi objek, dan membuat objek bekerja sama.
3. Library yang lengkap
Java memiliki library yang lengkap dan mempermudah dalam
penggunaan oleh para pembangun untuk membangun aplikasinya.
4. Berdasar C++
Memiliki sintaks seperti bahasa pemrograman C++.
2.2.7 Eclipse
Eclipse adalah suatu software yang bersifat terbuka dan multi-bahasa.
Eclipse terdiri dari Integrated Development Environment (IDE) dan sistem
extensible plug-in. Dapat digunakan untuk mengembangkan berbagai jenis
aplikasi, menggunakan bahasa seperti Java, Ada, C, C++, COBOL, Python
dan lain-lain (Lee, 2011).
Eclipse mengijinkan ekstensi tambahan dari pihak third-party dan
merupakan sebuah IDE karena menyediakan tools untuk mengatur
56
workspace; dapat membangun, menjalankan dan debug aplikasi; dan
melakukan penyesuaian terhadap pemrograman.
Mengacu pada pendapat Harika, Pravin, dan Sivaram (2012) dalam
mengembangkan aplikasi mobile platform Android diperlukan Software
Development Kit (SDK) untuk membantu dalam pengembangan aplikasi
dan yang paling penting adalah Emulator Android dan Android
Development Tool (ADT) plug-in untuk Eclipse.
57
6. API untuk menggunakan sensor hardware, termasuk accelerometer dan
kompas.
7. Libraries menggunakan Bluetooth untuk mengirim data peer-to-peer.
8. IPC message passing.
9. Shared data stores
10. Latar belakang dari aplikasi dan proses.
11. Home-screen Widgets, Live Folders, dan Live Wallpaper.
12. Kemampuan untuk mengintegrasikan hasil pencarian aplikasi ke dalam
pencarian sistem.
13. Terintegrasi open-source HTML5 WebKit-based browser.
14. Mendukung untuk aplikasi yang mengintegrasikan map controls
sebagai bagian dari user interface.
15. Mobile-optimized hardware-accelerated graphic, termasuk library
path-based grafik 2D dan mendukung untuk grafik 3D menggunakan
OpenGL ES 2.0.
16. Media libraries untuk bermain dan merekam berbagai audio atau video
atau format gambar.
17. Lokalisasi melalui dynamic resource framework.
18. Suatu framework aplikasi yang mendorong penggunaan kembali
komponen aplikasi dan penggantian aplikasi asli.
58
2.2.9 Android Development Tools (ADT)
ADT adalah plug-in untuk Eclipse yang memudahkan dalam
pengembangan Android dengan menghubungkan developer tools, termasuk
emulator dan .class-to-.dex converter, langsung di dalam IDE (Meier, 2011).
Dengan menggunakan ADT sebagai plug-in untuk Eclipse dapat
melakukan (Meier, 2010):
1. Android Project Wizard menyederhanakan dalam pembuatan proyek baru
dan termasuk template aplikasi dasar
2. Forms-based manifest, layout, dan resource editors untuk membantu
membuat, mengubah, dan validasi sumber XML.
3. Membangun secara langsung Android Projects, konversi untuk Android
executables (.dex), pengemasan untuk package files (.apk), dan instalasi
package pada Dalvik virtual machine.
4. Android Virtual Device manager, dapat membuat dan mengatur virtual
devices hosting emulator yang menjalankan keluaran tertentu dalam
sistem operasi Android dan mengatur memory constraint.
5. Emulator Android, termasuk untuk mengendalikan tampilan emulator dan
pengaturan koneksi jaringan, dan kemampuan untuk menyimulasikan
telepon masuk dan pesan SMS.
6. Dalvik Debug Monitoring Service (DDMS), yang termasuk port
forwarding, stack, heap, dan thread viewing, detil proses, dan fasilitas
screen-capture.
59
7. Akses ke perangkat atau file sistem emulator, memungkinkan untuk
menavigasi folder tree dan transfer files.
8. Runtime debugging, dapat mengatur breakpoints dan view call stacks.
9. Semua Android atau Dalvik log dan console outputs.