Anda di halaman 1dari 52

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

pengguna,

teknologi

kemampuan

perbedaan

pengguna.

yang

umur

pengguna,

digunakan

Berdasarkan

dan

kondisi

perbedaan

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 diagramdiagram 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.
<< Nama kelas >>
- Atribut kelas

+ Operasi 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):

26
1. Public
2. Protected
3. Private

Tabel 2.2 Tabel Penjelasan Visibility


Visibility
Public

Simbol
+

Deskripsi
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

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

(Whitten dan Bentley, 2007).


Person

Student

Teacher

Gambar 2.9 Contoh Generalisasi

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

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 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.

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
Perusahaan

Karyawan
0..*

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).
Buku

Halaman
1

1..*

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

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

Gambar 2.14 Activity Diagram

Beberapa elemen yang digunakan dalam activity diagram


adalah (Whitten dan Bentley, 2007):

32
Tabel 2.4 Tabel Elemen Activity Diagram
Initial node Simbol

yang

menggambarkan

dimulainya proses.
Action

Simbol

yang

merepresentasikan

suatu

Activity

aktivitas.

Keseluruhan

aktivitas

diagram mengikuti urutan actions.


Flow

Simbol

yang

merepresentasikan

jalur dari satu aktivitas ke aktivitas


lainnya.
Decision / Simbol
Merge

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

dari

33
Mengindikasikan adanya dua
atau

lebih

actions

yang

berlangsung bersamaan.
2. Join
Mengindikasi

berakhirnya

proses paralel.
Activity

Simbol

yang

merepresentasikan

Final

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

:Pemesanan
Aktor

:Barang

Memesan barang
Mengecek barang ()

Status barang
Status pemesanan

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

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

Gambar 2.17 Objek

3. Pesan
Pesan digunakan untuk menggambarkan interaksi antar objek
yang ada pada sequence diagram.

Pesan

Contoh 2.18 Pesan

4. Aktivasi
Aktivasi digambarkan dengan sebuah persegi panjang pada
lifeline dan berfungsi untuk menunjukkan lamanya objek yang
digunakan.

36
:Objek1

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.
Pesan Kembali

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

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)

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

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 Javacompatible 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 fiturfitur 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.

Anda mungkin juga menyukai