Upload
arif-budiman
View
47
Download
0
Embed Size (px)
DESCRIPTION
for skirpsi LTE
Citation preview
8
BAB 2
LANDASAN TEORI
2.1 Teori-Teori Dasar / Umum
Berikut merupakan teori teori dasar atau umum yang menjadi landasan
teori yang digunakan dalam pengembangan aplikasi:
2.1.1 Interaksi Manusia dan Komputer (IMK)
Beberapa teori teori tentang Interaksi Manusia dan Komputer yang
digunakan dalam pengembangan aplikasi:
2.1.1.1 Pengertian IMK
Berdasarkan Maheswari, Sharma, dan Khurana (2012),
Interaksi Manusia Komputer atau Human Computer Interaction
(HCI) adalah ilmu yang berkaitan dengan perancangan, evaluasi,
dan implementasi untuk sistem komputer interaktif yang digunakan
manusia.
2.1.1.2 Lima Faktor Manusia Terukur
Berdasarkan pendapat Shneiderman dan Plaisant (2010),
dalam merancang sistem sebelumnya harus memperhatikan 5 (lima)
faktor berikut:
1. Waktu belajar
Waktu yang dibutuhkan seorang pengguna aplikasi untuk
belajar menggunakan aplikasi tersebut.
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.
2.1.1.3 Eight Golden Rules (Delapan Aturan Emas)
Berdasarkan pendapat Shneiderman dan Plaisant (2010)
terdapat 8 (delapan) aturan yang digunakan untuk merancang user
interface:
1. Berusaha untuk konsistensi
Konsisten di berbagai situasi baik dalam istilah-istilah
yang digunakan pada setiap menu, pesan bantuan, dan dalam
penggunaan tampilan seperti jenis tulisan, warna, dan layout.
10
2. Memenuhi kegunaan yang universal
Mengetahui kebutuhan yang berbeda pada masing-masing
pengguna, seperti perbedaan umur pengguna, kondisi
pengguna, teknologi yang digunakan dan perbedaan
kemampuan pengguna. Berdasarkan kemampuan dari
pengguna terbagi menjadi 3 (tiga) jenis yaitu:
a. Novice atau First-Time-Users yang membutuhkan umpan
balik yang informatif.
b. Knowledgeable Intermittent Users yang membutuhkan
fasilitas bantuan yang jelas.
c. Expert Frequent Users yang membutuhkan umpan balik
yang singkat dan dapat menggunakan shortcut.
3. Memberikan umpan balik yang informatif
Setiap tindakan yang dilakukan oleh pengguna harus
mendapatkan umpan balik yang memudahkan pengguna dalam
mengetahui akibat dari tindakannya. Misalnya muncul suatu
suara ketika salah menekan tombol pada waktu input data atau
muncul pesan kesalahan.
4. Merancang dialog untuk menghasilkan suatu penutupan
Kegiatan yang dilakukan pengguna dipisahkan menjadi 3 (tiga)
bagian yaitu bagian awal, tengah, dan akhir. Pada bagian akhir
pengguna harus mendapatkan umpan balik yang informatif
11
yang memudahkan pengguna dalam mengetahui dampak dari
tindakan yang telah dilakukan.
5. Memberikan penanganan kesalahan
Sistem akan memberikan suatu intruksi yang sederhana dan
mudah dimengerti kepada pengguna jika terjadi kesalahan yang
dilakukan.
6. Mudah kembali ke tindakan sebelumnya
Pengguna tidak perlu khawatir bila melakukan kesalahan
karena sistem menyediakan fitur yang dapat mengembalikan
keadaan ke keadaan sebelum dilakukan kesalahan.
7. Mendukung tempat pengendalian internal
Pengguna menjadi pengendali sistem dan bukan sebaliknya.
Jadi peran pengguna dalam sistem adalah sebagai inisiator
bukan responden.
8. Mengurangi beban ingatan jangka pendek
Sistem yang dikembangkan berbentuk sederhana dan mudah
diingat karena ingatan manusia yang terbatas. Penyederhanaan
sistem misalnya menggabungkan tampilan-tampilan sejenis
dan memberikan pelatihan dengan jangka waktu yang cukup.
2.1.1.4 Desain Interface Mobile
Smartphone dan komputer desktop sangat berbeda.
Smartphone memiliki layar yang kecil, konektivitas intermittent,
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)
pengembangan aplikasi pada mobile terdapat 10 (sepuluh) prinsip
desain untuk interface mobile:
1. Mobile Mindset
Dengan adanya perbedaan antara mobile dan desktop, ada
beberapa pola pikir untuk mobile:
a. Be focused
Aplikasi sebaiknya fokus pada suatu fitur karena dengan
lebih banyak fitur, tidak membuat aplikasi tersebut menjadi
lebih baik.
b. Be unique
Aplikasi yang dikembangkan memiliki suatu keunikan dan
kekuatan yang membedakan aplikasi tersebut dengan
aplikasi lainnya.
c. Be charming
Aplikasi yang dapat diandalkan, dan menyenangkan saat
digunakan, sehingga aplikasi tersebut banyak diminati dan
digunakan.
13
d. Be considerate
Aplikasi yang dikembangkan sebaiknya tidak hanya
menyenangkan pengguna saat menggunakannya, tetapi juga
sesuai dengan keinginan pengguna.
2. Mobile Contexts
Terdapat 3 (tiga) konteks utama pada mobile yang perlu
dipertimbangkan untuk mengetahui aplikasi yang pengguna
inginkan:
a. Bored : aplikasi yang berkonteks hiburan.
b. Busy : aplikasi untuk menyelesaikan tugas dengan cepat.
c. Lost : aplikasi yang berkonteks informasi tempat.
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
diperhatikan dalam pengembangan aplikasi, yaitu:
a. Responsiveness
Jika pengguna melakukan sesuatu pada aplikasi, aplikasi
perlu menunjukkan jika aplikasi sedang beroperasi.
b. Polish
Pengembang harus memperhatikan detil desain aplikasi.
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
penempatan tombol yang baik sehingga memudahkan
pengguna dalam pengetikan.
e. Content
Sebaiknya pengembang menempatkan content aplikasi pada
tengah layar untuk memudahkan pengguna berinteraksi
dengan aplikasi.
f. Controls
Ketika harus menambahkan suatu kontrol pada aplikasi,
sebaiknya diletakkan pada bagian bawah layar agar
memudahkan pengguna berinteraksi dengan aplikasi.
g. Scrolling
Sebaiknya pengembang mengurangi pemakaian scrolling
untuk memudahkan pengguna dalam penggunaan aplikasi.
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
keberadaan gestures tersebut kepada pengguna.
b. Two Hands
Multi-touch gestures membutuhkan operasi dua tangan.
Contohnya pengguna dapat dengan mudah memperbesar
atau memperkecil tampilan aplikasi dengan dua jari.
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 belum terlalu berkembang dan
pengembangan aplikasi dianjurkan tidak menghilangkan
fungsi single-finger.
7. Orientation
a. Potrait
Orientasi yang paling sering digunakan untuk
mengoptimalkan desain antar muka aplikasi.
b. Landscape
Orientasi ini digunakan untuk mendukung pengguna yang
sering mengetik yaitu dengan mengoptimalkan penggunaan
keyboard yang lebih besar.
c. Orientasi berubah tiba tiba
Pengembangan aplikasi yang akan digunakan dalam jangka
panjang perlu dipertimbangkan untuk menambahkan suatu
orientasi yang tepat di aplikasi tersebut.
8. Communications
Aplikasi harus dapat berinteraksi dengan pengguna.
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.
2.1.2 Unified Modelling Language (UML)
Menurut Whitten dan Bentley (2007), Unified Modelling Language
(UML) adalah sekumpulan aturan pemodelan yang digunakan untuk
menentukan dan menggambarkan suatu sistem software yang berkaitan
dengan objek.
UML telah menjadi standar dalam bahasa pemodelan di bidang
perancangan software. Standarisasi UML diatur dan dibuat oleh Object
Management Group (OMG).
Untuk menjalankan fungsinya dalam menentukan dan
menggambarkan rancangan software, UML versi 2.0 menggunakan diagram-
diagram sebagai berikut:
1. Use Case Diagram
2. Activity Diagram
3. Class Diagram
4. Object Diagram
5. State Machine Diagram
6. Sequence Diagram
7. Communication Diagram
8. Interaction Overview Diagram
19
9. Timing Diagram
10. Component Diagram
11. Deployment Diagram
12. Package Diagram
13. Composite Structure Diagram
Meskipun UML memiliki begitu banyak diagram, tidak semuanya
diperlukan dan harus digunakan dalam perancangan. Apabila sistem telah
digambarkan dan dapat dipahami dengan baik menggunakan diagram yang
ditentukan, maka tujuan dari UML telah tercapai.
2.1.2.1 Use Case Diagram
Use Case Diagram adalah diagram yang mendeskripsikan
interaksi antara sistem dengan pengguna dan menggambarkan siapa
yang akan menggunakan sistem serta bagaimana pengguna
berinteraksi dengan sistem (Whitten dan Bentley, 2007).
Komponen notasi dasar yang dimiliki oleh use case diagram
adalah aktor dan use case. Berikut adalah notasi yang terdapat pada
use case diagram:
Tabel 2.1 Tabel Notasi Use Case Diagram
Notasi Deskripsi
Aktor Aktor adalah pengguna sistem. Aktor tidak terbatas
hanya manusia saja, jika sebuah sistem berkomunikasi
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.
Gambar 2.1 Contoh Use Case Diagram
Dalam use case diagram terdapat hubungan yang digunakan
(Whitten dan Bentley, 2007), antara lain:
1. Asosiasi
Asosiasi mendeskripsikan suatu hubungan antara aktor dan use
case. Asosiasi dapat digambarkan dengan suatu garis yang
menghubungkan aktor dan use case. Sebuah asosiasi yang
digambarkan 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.
Gambar 2.2 Contoh Asosiasi Pada Use Case Diagram
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
mempermudah dalam pemahaman terhadap suatu use case. Use
case hasil dari extends disebut dengan extention use case yang
hanya dapat diakses oleh use case yang menggunakan extends.
22
Gambar 2.3 Contoh Extends Pada Use Case Diagram
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.
Gambar 2.4 Contoh Includes Pada 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.
Gambar 2.5 Contoh Depends On Pada Use Case Diagram
5. Inheritance
Inheritance digunakan untuk mempermudah penggambaran
hubungan antara dua atau lebih aktor yang memiliki langkah
yang sama dalam sistem dengan membuat aktor abstrak.
Gambar 2.6 Contoh Inheritance Pada Use Case Diagram
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
pekerjaannya pada sistem tersebut (Whitten dan Bentley, 2007).
2.1.2.3 Class Diagram
Class diagram merupakan gambaran grafis dari struktur
objek, yang menunjukkan kelas objek yang ada pada suatu sistem
dan hubungan antara kelas-kelas objek tersebut (Whitten dan
Bentley, 2007).
Gambar 2.7 Contoh Class Diagram
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.
Gambar 2.8 Struktur Kelas Objek
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):
>
- Atribut kelas
+ Operasi kelas
26
1. Public
2. Protected
3. Private
Tabel 2.2 Tabel Penjelasan Visibility
Visibility Simbol Deskripsi
Public + Dapat diakses oleh semua
kelas yang berhubungan
Protected # Hanya dapat diakses oleh kelas
yang mendefinisikan dan
turunannya
Private - Hanya dapat diakses oleh kelas
yang mendefinisikan
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 Nol atau satu
1 Hanya satu
0..* Nol atau lebih
1..* Satu atau lebih
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 subclass
(Whitten dan Bentley, 2007).
Gambar 2.9 Contoh Generalisasi
Person
Teacher Student
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
menggunakan anak panah. Seperti gambar 2.4 kelas
Order memiliki atribut bertipe sama dengan kelas
Customer, dan kelas Customer tidak dapat
memiliki atribut bertipe sama dengan kelas Order.
Gambar 2.10 Contoh Hubungan Uni-Directoral
29
2. Bi-directional
Hubungan bi-directional menghubungkan 2 (dua)
kelas yang saling terhubung dan keduanya memiliki
peran dalam hubungan tersebut. Hubungan bi-
directional 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.
Gambar 2.11 Contoh Hubungan Bi-directional
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
Gambar 2.12 Contoh Agregasi
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).
Gambar 2.13 Contoh Komposisi
2.1.2.4 Activity Diagram
Activity diagram adalah suatu diagram yang digunakan untuk
menggambarkan proses bisnis, langkah-langkah dari use case dan
logika perilaku dari objek. Dalam activity diagram lebih dari satu
use case dapat digambarkan dengan satu activity diagram, tetapi
Halaman Buku
1 1..*
Karyawan Perusahaan
1 0..*
31
satu activity diagram dapat digambarkan untuk setiap use case jika
use case tersebut memiliki logika yang kompleks (Whitten dan
Bentley, 2007).
Gambar 2.14 Activity Diagram
Beberapa elemen yang digunakan dalam activity diagram
adalah (Whitten dan Bentley, 2007):
Activity
Activity Activity
Activity
ActivityActivity
[True] [False]
32
Tabel 2.4 Tabel Elemen Activity Diagram
Initial node Simbol yang menggambarkan
dimulainya proses.
Action Simbol yang merepresentasikan suatu
aktivitas. Keseluruhan aktivitas dari
diagram mengikuti urutan actions.
Flow Simbol yang merepresentasikan
jalur dari satu aktivitas ke aktivitas
lainnya.
Decision /
Merge
Simbol yang merepresentasikan
keadaan kondisional, yaitu decision
dan merge.
1. Decision
Mengindikasi kondisi untuk
memilih salah satu alur
aktivitas.
2. Merge
Mengindikasi bergabungnya
alur aktivitas yang dipisahkan
oleh decision sebelumnya.
Fork / Join Simbol yang merepresentasikan
keadaan paralel, yaitu fork dan join.
1. Fork
Activity
33
Mengindikasikan adanya dua
atau lebih actions yang
berlangsung bersamaan.
2. Join
Mengindikasi berakhirnya
proses paralel.
Activity
Final
Simbol yang merepresentasikan
berakhirnya proses.
Pada activity diagram dapat ditentukan siapa yang melakukan
tindakan apa dengan membagi activity diagram ke dalam beberapa
partitions atau swimlane yang menunjukkan aktivitas yang
dilakukan oleh aktor tertentu. Suatu activity diagram dapat
memiliki tiga atau lebih swimlane yang menunjukkan aktor
penerima.
2.1.2.5 Sequence Diagram
Sequence diagram adalah salah satu UML diagram yang
menggambarkan model logika dari sebuah use case dengan
menggambarkan interaksi pesan antar objek dalam suatu urutan
waktu (Whitten dan Bentley, 2007).
34
Gambar 2.15 Contoh Sequence Diagram
Beberapa elemen yang digunakan dalam sequence diagram
adalah (Whitten dan Bentley, 2007):
1. Aktor
Aktor adalah suatu elemen yang dapat digunakan pada sequence
diagram dimana digambarkan dengan aktor simbol yang
mewakili pengguna dalam berinteraksi dengan interface.
Gambar 2.16 Aktor Simbol
Aktor
:Pemesanan :Barang
Memesan barang
Status pemesanan
Status barang
Mengecek barang ()
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.
Gambar 2.17 Objek
3. Pesan
Pesan digunakan untuk menggambarkan interaksi antar objek
yang ada pada sequence diagram.
Contoh 2.18 Pesan
4. Aktivasi
Aktivasi digambarkan dengan sebuah persegi panjang pada
lifeline dan berfungsi untuk menunjukkan lamanya objek yang
digunakan.
:Objek
Pesan
36
Gambar 2.19 Aktivasi
5. Pesan kembali
Pesan kembali digambarkan dengan simbol seperti pesan tetapi
dengan garis putus-putus dan berfungsi untuk menanggapi
pesan yang sebelumnya telah disampaikan.
Gambar 2.20 Pesan Kembali
6. Self-call
Suatu objek pada sequence diagram dapat mengirimkan pesan
atau berinteraksi ke objek itu sendiri.
Gambar 2.21 Self-call
:Objek1
Pesan Kembali
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).
Gambar 2.22 Frame
(Sumber: Whitten dan Bentley, 2007)
2.1.3 Rekayasa Perangkat Lunak
Menurut Pressman (2010), pengertian rekayasa perangkat lunak adalah
pengimplementasian prinsip-prinsip perancangan untuk menghasilkan
Sys Admin User :MemberServicesSystem
opt
opt
numTries 3
submitLogin(username, password)
failedAttempt
(datetime, ip)
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
perakitan hardware. Pada dasarnya kedua kegiatan tersebut berbeda,
kualitas tinggi dapat diperoleh melalui rancangan yang baik, tetapi
perakitan hardware dapat memberikan permasalahan pada kualitas
software.
2. Software tidak akan habis
Software tidak akan habis oleh waktu karena tidak memiliki bentuk
fisik. Tidak seperti hardware yang memiliki bentuk fisik.
3. Sebagian besar software dibangun sesuai dengan keinginan
Sebuah komponen software harus dirancang dan diimplementasi,
sehingga dapat digunakan kembali dalam banyak program berbeda.
2.1.3.1 Agile Software Development
Agile Software Development adalah sebuah strategi
pengembangan sistem dimana pengembang diberikan fleksibilitas
untuk memilih alat yang sesuai dan teknik yang baik untuk
menyelesaikan tugas-tugasnya. Agile Software Development
memiliki keseimbangan yang optimal antara produktivitas dan
kualitas dalam pengembangan sistem (Whitten dan Bentley, 2007).
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.
Gambar 2.23 Extreme Programming
(Sumber: Roger S. Pressman, Software Enginnering: A
Practitioners Approach, 2010)
40
Mengacu pada pendapat Pressman (2010), dalam
pengembangan software dengan menggunakan XP terdapat 4
(empat) tahap yang digunakan. Empat tahap tersebut yaitu:
1. Planning
Pada tahap ini dimulai dengan perencanaan stories yang
menggambarkan fitur dan fungsionalitas yang diperlukan untuk
software yang akan dibangun. Setiap story ditulis oleh
pengguna dan ditempatkan pada kartu index. Kemudian
pengguna memberikan nilai untuk story yang akan dinilai oleh
pengembang dan menentukan biaya selama waktu
pengembangan software. Jika waktu yang diperlukan untuk
story lebih dari 3 (tiga) minggu, maka pengguna diminta untuk
membagi story tersebut menjadi beberapa story yang lebih
kecil.
2. Design
Pada tahap ini menggunakan prinsip Keep It Simple (KIS).
Perancangan yang sederhana lebih mudah dimengerti dari pada
tampilan yang kompleks. XP mendukung penggunaan Class
Responsibillity Collaborator (CRC) cards sebagai mekanisme
yang efektif untuk berpikir tentang software dalam konteks
berorientasi objek.
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.
2.1.5.2 Native Mobile Applications
Mengacu pada pendapat Upadhyay dan Tripathi (2012),
Native Mobile Applications adalah aplikasi yang diinstal pada
smartphone dan dikembangkan dengan bahasa pemrograman
khusus. Aplikasi mobile ini cepat, handal, dan kinerja yang
maksimal tetapi terikat pada mobile platform yang dikembangkan.
43
Native mobile applications selalu lebih responsif dan dapat
mengakses lebih fitur hardware pada device.
2.1.6 Instant Messaging (IM)
Instant Messaging (IM) adalah sebuah aplikasi berbasis Internet
Protokol (IP) yang memberikan kemudahan berkomunikasi antar orang
menggunakan bermacam macam device yang berbeda. Sekarang IM dapat
bekerja dengan mobile device, seperti digital cellular phones dan dapat
mendukung suara dan video (Rittinghouse dan Ransome, 2005).
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 Java-
compatible libraries berbasis pada Apache Harmony, yaitu sebuah
44
implementasi Java bersifat open source dikembangkan oleh Apache
Software Foundation yang terdiri dari Java Development Kit (JDK), virtual
machine dan class library.
2.1.8 Fitur Android
Android memiliki beberapa fitur yang mendukungnya, dimana fitur-
fitur tersebut terdapat pada perangkat mobile. Fitur-fitur yang mendukung
Android yaitu (Lee, 2011):
1. Storage
Menggunakan 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.
2.1.9 Arsitektur Android
Gambar 2.23 menunjukkan komponen-komponen yang terdapat pada
sistem operasi Android yang terbagi menjadi beberapa layer.
Gambar 2.24 Arsitektur Android
(Sumber: http://developer.android.com/about/versions/index.html, 2012)
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).
2.1.9.2 Application Framework
Dengan platform open development, Android menawarkan
kemampuan pengembang untuk membangun aplikasi yang sangat
kaya dan inovatif. Pengembang bebas untuk mengambil keuntungan
dari hardware devices, mengakses informasi lokasi, menjalankan
background services, mengatur alarm, menambahkan
pemberitahuan ke status bar, dan lain-lain (Anonim1, 2012).
Sekumpulan services dan sistem yang mendasari aplikasi
Android adalah (Anonim1, 2012):
1. Sekumpulan views yang dapat digunakan untuk membangun
aplikasi, termasuk list, grids, text boxes, buttons, dan
embeddable web browser.
2. Content 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
menampilkan grafik tiga dimensi.
7. SQLite untuk dukungan dalam database.
2.1.9.4 Android Runtime
Android yang mencakup sekumpulan core libraries yang
menyediakan sebagian besar fungsi pada bahasa pemrograman
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).
2.1.9.5 Linux Kernel
Android bergantung pada versi Linux 2.6 Kernel untuk
sistem inti seperti keamanan, manajemen memori, manajemen
proses, network stack, dan driver model. Kernel juga bertindak
sebagai abstraction layer antara hardware dan dari stack yang lain
(Anonim1, 2012).
2.1.10 Komponen Aplikasi Android
Android memiliki 4 (empat) komponen pemrograman. Setiap
komponen memiliki peran yang berbeda-beda. Masing-masing komponen
memiliki siklus hidup sendiri-sendiri yang mengatur kapan komponen
dibuat dan bagaimana komponen dihapus. Berikut ini adalah 4 (empat) jenis
komponen dalam aplikasi android (Anonim2, 2012):
1. Activities
Activities adalah suatu komponen yang menyediakan layar dimana
pengguna dapat berinteraksi untuk menjalankan fungsi tertentu.
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.
2.1.11 Google Cloud Messaging (GCM)
Google Cloud Messaging (GCM) adalah suatu layanan yang
digunakan untuk mengirimkan data pesan singkat dari server ke pengguna
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).
2.2 Teori-Teori Khusus yang Berhubungan dengan Topik Bahasan
Berikut merupakan teori teori khusus yang berhubungan dengan topik
bahasan pada pengembangan aplikasi:
2.2.1 PHP Hypertext Preprocessor (PHP)
PHP adalah suatu bahasa scripting yang sesuai digunakan untuk
pengembangan web dan tertanam ke dalam HTML. Terdapat perbedaan
antara PHP dengan yang lain seperti client server JavaScript yaitu code
dijalankan di server, menghasilkan HTML yang kemudian dikirim ke client.
Dari client akan menerima hasil dari script yang dijalankan, tetapi tidak
akan mengetahui apa code yang mendasarinya (Anonim4, 2012).
PHP memiliki beberapa kelebihan dibandingkan dengan beberapa
bahasa scripting yang lain. Beberapa kelebihan dari PHP adalah (Anonim5,
2012):
1. PHP dapat digunakan pada semua sistem operasi utama, termasuk Linux,
Microsoft Office, Mac OS, dan beberapa sistem operasi lainnya.
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 JavaScript Object Notation (JSON)
JSON merupakan suatu format teks yang tidak bergantung pada
bahasa pemrograman apapun karena menggunakan bahasa yang umum dan
dapat digunakan oleh programmer yang menggunakan C, C++, C#, Java,
JavaScript, Perl, Python dan lain lain (Anonim7, 2012).
Beberapa bentuk yang digunakan di dalam JSON adalah (Anonim7,
2012):
1. Object
Object adalah sepasang nama atau nilai yang tidak terurutkan. Object
dimulai dengan kurung kurawal buka ( { ) dan diakhiri dengan kurung
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.5 Global Positioning System (GPS)
Mengacu pada pendapat Meduri dan Brahmanandam (2012), Global
Positioning System (GPS) adalah satelit berbasis sistem navigasi radio untuk
memberikan informasi posisi yang akurat dengan waktu yang tepat.
Biasanya, akurasi GPS dibatasi oleh beberapa faktor seperti lingkungan,
penerima, dan kesalahan berbasis satelit.
2.2.6 Java
Berdasarkan pendapat Schildt (2005), java adalah bahasa
pemrograman yang mendukung Object Oriented Programming (OOP).
Aplikasi Java biasanya dapat dikompilasi menjadi bytecode (file kelas) yang
dapat berjalan di Java Virtual Machine (JVM) manapun walaupun berbeda
dalam arsitektur komputer.
Bahasa pemrograman Java memiliki beberapa kelebihan dibandingkan
beberapa bahasa pemrograman lain. Beberapa kelebihan dari Java adalah:
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.
2.2.8 Android Software Development Kit (SDK)
Android SDK berisi debugger, libraries, emulator, dokumentasi,
sample code, dan tutorial. SDK ini merupakan add-on Java Development
Kit (JDK) dan memiliki plug-in terintegrasi untuk Eclipse IDE (Lee, 2011).
Beberapa fitur yang terdapat pada Android SDK (Meier, 2010):
1. Tidak ada proses perizinan , distribusi, atau pengembangan biaya atau
persetujuan proses rilis.
2. Wi-Fi akses hardware.
3. GSM, EDGE, dan 3G untuk telepon atau mengirim data, memungkinkan
untuk membuat atau menerima panggilan atau pesan SMS, atau mengirim
dan mengambil data di jaringan mobile.
4. Komprehensif API untuk layanan berbasis lokasi seperti GPS.
5. Pengaturan multimedia hardware, termasuk pemutaran dan merekam
dengan kamera dan microphone.
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.