2013-1-01113-IF Bab2001 dga

41
8 BAB 2 TINJAUAN PUSTAKA 2.1 Teori yang berkaitan dengan Software Engineering 2.1.1 Software Engineering Menurut Roger S. Pressman (2001:6) software (perangkat lunak) dapat didefinisikan sebagai berikut : 1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja yang diinginkan. 2. Struktur data yang memungkinkan program memanipulasi informasi secara proporsional. 3. Dokumen yang menggambarkan informasi dan kegunaan program. Untuk mengetahui pengertian dari software engineering, sangat penting untuk memahami karakteristik dari software. Karakteristik dari perangkat lunak adalah sebagai berikut. 1. Software/ perangkat lunak dikembangkan atau direkayasa, tidak diproduksi dalam bentuk konvensional.

description

raegrfgear

Transcript of 2013-1-01113-IF Bab2001 dga

Page 1: 2013-1-01113-IF Bab2001 dga

8

BAB 2

TINJAUAN PUSTAKA

2.1 Teori yang berkaitan dengan Software Engineering

2.1.1 Software Engineering

Menurut Roger S. Pressman (2001:6) software (perangkat lunak)

dapat didefinisikan sebagai berikut :

1. Perintah (program komputer) yang bila dieksekusi memberikan fungsi

dan unjuk kerja yang diinginkan.

2. Struktur data yang memungkinkan program memanipulasi informasi

secara proporsional.

3. Dokumen yang menggambarkan informasi dan kegunaan program.

Untuk mengetahui pengertian dari software engineering, sangat

penting untuk memahami karakteristik dari software. Karakteristik dari

perangkat lunak adalah sebagai berikut.

1. Software/ perangkat lunak dikembangkan atau direkayasa, tidak

diproduksi dalam bentuk konvensional.

2. Software tidak usang/harus dapat dipakai kembali.

3. Software atau perangkat lunak akan terus dibangun, dibuat dan

dipakai.

Sedangkan untuk pengertian software Ian Sommerville

menjelaskannya berdasarkan karakteristik software yaitu:

1. Maintenance ability, Perangkat Lunak harus dapat memenuhi

perubahan kebutuhan.

2. Dependability, Perangkat Lunak harus dapat dipercaya.

3. Efisiensi, Perangkat Lunak harus efisien dalam penggunaan resource.

Page 2: 2013-1-01113-IF Bab2001 dga

9

4. Usability, Perangkat Lunak harus dapat digunakan sesuai dengan yang

direncanakan.

Software engineering menurut Ian Sommerville (2007:4) adalah

disiplin ilmu yang membahas semua aspek produksi perangkat lunak,

mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem

setelah digunakan, dimana ada dua kata kunci yaitu:

1. Disiplin Rekayasa, dimana perekayasa membuat suatu alat bekerja

dengan menerapkan teori, metode dan alat bantu yang sesuai serta

penggunaan secara selektif dan selalu mencoba mencari solusi

terhadap permasalahan walaupun tidak ada teori atau metode yang

mendukung.

2. Semua aspek produksi perangkat lunak, rekayasa perangkat lunak

tidak hanya berhubungan dengan proses teknis dari pengembangan

perangkat lunak tetapi juga dengan kegiatan seperti manajemen

proyek perangkat lunak dan pengembangan alat bantu, metode, dan

teori untuk mendukung produksi perangkat lunak.

Menurut kesimpulan kami, software/ perangkat lunak merupakan

kumpulan instruksi yang akan dibaca oleh perangkat keras atau hardware

komputer untuk melakukan pekerjaannya. Software Engineering adalah

penerapan disiplin-disiplin ilmu engineering yang baik untuk membangun

ataupun mengembangkan suatu perangkat lunak.

2.1.2 Interaksi Manusia dan Komputer

2.1.2.1 Pengertian Interaksi Manusia dan Komputer

Karrayet al. (2008:138) mendefinisikan interaksi

manusia dan komputer sebagai sebuah desain yang harus

dihasilkan sesuai pengguna, mesin dan layanan yang

dibutuhkan untuk mencapai suatu kinerja tertentu baik dalam

kualitas dan optimalitas layanan.

Page 3: 2013-1-01113-IF Bab2001 dga

10

2.1.2.2 Lima Faktor Manusia Terukur

Ada lima faktor manusia terukur yang harus

diperhatikan dalam perancangan antarmuka menurut

Shneiderman dan Plaisant (2010:32), yaitu:

1. Waktu Belajar

Merancang antarmuka dengan memperhatikan

kemudahan tampilan. Sehingga pengguna dapat

beradaptasi dengan cepat dalam menggunakan aplikasi.

2. Kecepatan Kinerja

Memperhatikan berapa lama waktu yang diperlukan oleh

aplikasi untuk menyelesaikan suatu proses.

3. Tingkat Kesalahan

Mengurangi kemungkinan kesalahan yang dilakukan

oleh pengguna aplikasi.

4. Daya Ingat

Merancang tampilan yang mudah diingat oleh pengguna

sehingga tidak memerlukan waktu yang panjang untuk

mempelajarinya lagi.

5. Kepuasan Subjektif

Dapat memenuhi kepuasan pengguna akan aspek–aspek

yang terdapat pada aplikasi.

2.1.2.3 Kategori Pengguna

Menurut Shneiderman dan Plaisant (2010:81) ada tiga

kategori pengguna yang perlu dipertimbangkan dalam

perancangan antarmuka, yaitu:

Page 4: 2013-1-01113-IF Bab2001 dga

11

1. Novice

Merupakan pengguna pemula sehingga antarmuka

sebaiknya dirancang sesederhana mungkin sehingga

mudah digunakan dan juga memberikan umpan balik

yang informatif.

2. Knowledgable Intermittent Users

Merupakan pengguna yang sudah memiliki pengetahuan

mengenai sistem dan antarmuka namun masih diperlukan

konsistensi dalam perancangan antarmukanya.

3. Expert Frequent Users

Merupakan pengguna yang telah benar–benar mengerti

sistem dan antarmuka. Sehinnga untuk mempercepat

kerja pengguna ini dapat dibuatkan macro, shortcut, dan

command-line.

Aplikasi mobile yang akan dirancang adalah aplikasi

yang ditujukan kepada “Knowledgable Intermittent Users”

karena para pengguna smartphone biasanya merupakan

pengguna yang sudah terlatih dalam menggunakan suatu

apllikasi.

2.1.2.4 Delapan Aturan Emas

Menurut Shneiderman dan Plaisant (2010:88) terdapat

delapan aturan emas yang harus dipertimbangkan dalam

perancangan antarmuka, yaitu:

1. Berusaha untuk konsisten

Konsisten dalam berbagai aspek yang terdapat dalam

aplikasi, seperti warna yang digunakan, jenis font yang

dipakai, dan tampilan menu.

Page 5: 2013-1-01113-IF Bab2001 dga

12

2. Menyediakan kegunaan universal

Perancangan dilakukan dengan mengetahui perbedaan

dari pengguna sehingga dapat dipakai oleh semua

kategori pengguna baik yang sudah ahli maupun pemula.

3. Memberikan umpan balik yang informatif

Setiap tindakan yang dilakukan oleh pengguna harus

memiliki umpan balik sehingga pengguna mengetahui

apa yang terjadi akibat tindakannya.

4. Merancang dialog yang menghasilkan keadaan akhir

Memberikan gambaran hasil yang akan didapat oleh

pengguna jika melakukan suatu tindakan sehingga

pengguna tidak salah dalam memilih tindakan dan

melanjutkan ke tahap selanjutnya.

5. Memberikan pencegahan dan penanganan kesalahan

Sistem seharusnya dirancang agar pengguna tidak

melakukan kesalahan serius. Jika terjadi kesalahan pun

sistem dapat memberikan peringatan yang sederhana

untuk pemulihan kesalahan yang terjadi.

6. Kemudahan untuk kembali ke tindakan sebelumnya

Sistem dirancang agar dapat kembali ke tindakan

sebelumnya sehingga pengguna tidak perlu khawatir jika

terjadi kesalahan.

7. Mendukung pusat kendali internal

Pengguna memiliki kontrol penuh atas sistem sehingga

sistem akan merespon apapun yang dilakukan oleh

pengguna, bukan sebaliknya.

Page 6: 2013-1-01113-IF Bab2001 dga

13

8. Mengurangi beban ingatan jangka pendek

Dengan keterbatasan ingatan yang dimiliki oleh manusia,

sistem harus dirancang sesederhana mungkin dengan

tujuan pengguna tidak memerlukan waktu yang lama

untuk beradaptasi menggunakan sistem.

2.1.3 Unified Modeling Language (UML)

Menurut Whitten dan Bentley (2007:371), Unified Modelling

Language (UML) adalah sekumpulan ketentuan pemodelan yang

digunakan untuk menentukan dan menggambarkan sebuah sistem

piranti lunak yang berhubungan dengan objek.

Terdapat tiga belas diagram yang termasuk dalam UML versi

2.0. Tetapi jika sistem telah digambarkan dan dapat dipahami dengan

baik menggunakan diagram–diagram yang telah dibuat maka tujuan

dari UML telah tercapai sehingga tidak perlu membuat ketiga belas

diagram tersebut. Berikut merupakan diagram-diagram yang akan

dipakai pada perancangan aplikasi kali ini.

2.1.3.1 Use Case

Use Case diagram menggambarkan interaksi antara

sistem dengan sistem eksternal dan pengguna, siapa yang

akan menggunakan sistem dan bagaimana cara pengguna

berinteraksi dengan sistem (Whitten dan Bentley, 2007:246).

Ada tiga elemen penting dalam Use Case diagram,

yaitu aktor, use cases, dan relationship.

Page 7: 2013-1-01113-IF Bab2001 dga

14

Gambar 2.1 Contoh Use CaseDiagram

Ada beberapa macam dari relationship yang digunakan

dalam use case (Whitten dan Bentley, 2007:248):

1. Associations

Associations menggambarkan interaksi antara use cases

dengan aktor. Associations digambarkan dengan simbol

garis dengan atau tanpa panah.

Gambar 2.2 Contoh Associations Relationship

2. Extends

Extends digunakan ketika fungsi dari sebuah use cases

terdiri dari beberapa tahap. Dengan extends, use cases

tersebut akan menghasilkan use cases baru yang

mewakili fungsi tertentu. Use cases hasil dari extends

disebut extension use case.

Page 8: 2013-1-01113-IF Bab2001 dga

15

Gambar 2.3 Contoh Extends Relationship

3. Uses/Includes

Uses/Includes digunakan ketika terdapat dua atau lebih

use cases yang melakukan langkah yang sama.

Gambar 2.4 Contoh Uses/Includes Relationship

4. Depends On

Depends On digunakan ketika terdapat hubungan

ketergantungan antara satu use cases dengan use cases

lainnya, dimana suatu use cases tidak dapat dilakukan

sebelum use cases lain dilakukan.

Gambar 2.5 Contoh Depends On Relationship

Page 9: 2013-1-01113-IF Bab2001 dga

16

5. Inheritance

Inheritance digunakan ketika terdapat dua atau lebih

aktor yang melakukan use cases yang sama.

Gambar 2.6 Contoh Inheritance Relationship

2.1.3.2 Use Case Narrative

Use case narrative merupakan gambaran berupa

kalimat mengenai suatu langkah dan mendeskripsikan

bagaimana pengguna berinteraksi dengan sistem untuk

menyelesaikan pekerjaannya (Whitten dan Bentley,

2007:246).

2.1.3.3 Activity Diagram

Activity diagram digunakan untuk memberikan

gambaran mengenai alur dari sebuah proses bisnis, langkah

dalam sebuah use cases, dan metode dari sebuah objek

(Whitten dan Bentley, 2007:390).

Page 10: 2013-1-01113-IF Bab2001 dga

17

Gambar 2.7 Contoh Activity Diagram

2.1.3.4 Class Diagram

Class diagram digunakan untuk menggambarkan

struktur objek–objek bernama kelas yang menyusun suatu

sistem dan juga hubungan antara kelas–kelas tersebut

(Whitten dan Bentley, 2007:400).

Gambar 2.8 Contoh Class Diagram

Page 11: 2013-1-01113-IF Bab2001 dga

18

Notasi–notasi yang terdapat di dalam class diagram adalah

sebagai berikut:

1. Kelas

Setiap kelas digambarkan deangan sebuah kotak yang

terbagi menjadi tiga bagian, yaitu nama kelas, atribut

kelas, dan operasi kelas.

2. Visibility

Visibility berfungsi untuk menentukan apakah atribut

atau operasi dari suatu kelas dapat digunakan oleh kelas

lainnya atau tidak. Terdapat tiga visibility dalam class

diagram yang dapat dilihat pada tabel berikut:

Tabel 2.1 Tabel Visibility pada Class Diagram

Visibility Simbol Keterangan

Private -

Atribut dan operasi hanya

dapat digunakan oleh kelas itu

sendiri.

Protected #

Atribut dan operasi hanya

dapat digunakan oleh kelas itu

sendiri dan kelas turunannya.

Public +

Atribut dan operasi dapat

digunakan oleh semua kelas

yang berhubungan.

3. Asosiasi

Asosiasi digunakan untuk menggambarkan adanya

hubungan antara kelas dengan kelas lainnya sehingga

membuat kelas–kelas yang terhubung dapat saling

mengirimkan pesan.

Page 12: 2013-1-01113-IF Bab2001 dga

19

Gambar 2.9 Contoh Asosiasi

4. Multiplicity

Multiplicity merupakan istilah yang digunakan untuk

menentukan kardinalitas banyaknya kelas yang

berhubungan dengan kelas yang dimaksud. Terdapat

empat jenis multiplicity, yaitu exactly one (1), zero or

one (0..1), zero or more (0..*), one or more (1..*).

Gambar 2.10 Contoh Multiplicity

5. Generalisasi

Generalisasi menggambarkan hubungan antara

superclass dan subclass, dimana superclass merupakan

bentuk umum dari subclass dan subclass adalah bentuk

spesifik dari superclass. Sehingga superclass memiliki

semua properti yang dimiliki oleh subclass.

Gambar 2.11 Contoh Generalisasi

Page 13: 2013-1-01113-IF Bab2001 dga

20

6. Agregasi

Agregasi adalah tipe hubungan yang unik dimana satu

objek merupakan bagian dari objek lain. Dalam agregasi

dikenal istilah whole/part relationship. Sifat agregasi

adalah asimetris jadi Kelas A merupakan bagian dari

Kelas B, tetapi Kelas B bukan bagian dari A.

Gambar 2.12 Contoh Agregasi

7. Komposisi

Komposisi bisa disebut strong aggregation sehingga

dalam hubungan antar kelas lebih terikat kuat

dibandingkan agregasi. Dimana Kelas A merupakan

bagian dari Kelas B, tetapi Kelas B tidak akan ada jika

Kelas A tidak ada.

Gambar 2.13 Contoh Komposisi

2.1.3.5 Sequence Diagram

Sequence diagram digunakan untuk menggambarkan

model logika dari sebuah use case yang menunjukan

interaksi antara aktor dengan sistem dalam pengiriman pesan

dalam suatu urutan waktu tertentu (Whitten dan Bentley,

2007:394).

Page 14: 2013-1-01113-IF Bab2001 dga

21

Gambar 2.14 Contoh Sequence Diagram

2.2 Teori yang terkait tema penelitian (tematik)

2.2.1 Android

Android merupakan sebuah sistem operasi mobile yang open

source.. Tujuan dari Android Open Source Project adalah untuk

membangun produk real-world yang dapat meningkatkan pengalaman

para pengguna perangkat mobile (Android Open Source Project,

2013). Berikut ini merupakan karakteristik utama yang dimiliki oleh

Android:

1. Terbuka

Android dibuat untuk dipakai siapa saja dan bersifat open source.

2. Semua aplikasi dibuat sama

Android tidak membedakan antara aplikasi inti dengan aplikasi

third-party. Semuanya memiliki akses yang sama terhadap

kemampuan ponsel dalam menyediakan layanan dan aplikasi yang

luas pada para pengguna.

Page 15: 2013-1-01113-IF Bab2001 dga

22

3. Memecahkan batasan aplikasi

Android memecahkan batasan untuk membangun aplikasi baru

dan inovatif. Pengembang dapat menggabungkan informasi dari

web dengan data yang ada pada ponsel individu .

4. Pengembangan aplikasi yang cepat dan mudah

Android menyediakan akses ke berbagai libraries dan tools yang

dapat digunakan untuk membangun aplikasi yang lebih kaya.

Contohnya perangkat Android dapat berkomunikasi satu sama lain

sehingga memungkinkan peer-to-peer aplikasi sosial (Open

Handset Alliance, 2013).

Aplikasi yang berjalan di Android ditulis dengan bahasa

pemrograman Java menggunakan Android Software Development Kit

(Android SDK). Aplikasi–aplikasi yang telah dibuat oleh berbagai

pengembang dapat diunduh dari situs third-party seperti Google Play.

Google Play merupakan website yang dikembangkan oleh Google

untuk digunakan sebagai tempat bagi para pengembang untuk

menaruh aplikasi yang telah mereka buat dan mengunduh bagi para

pengguna.

2.2.1.1 Versi Android

Android memiliki banyak versi semenjak dirilis

pertama kali. Berikut ini merupakan versi–versi yang

dimiliki Android (Safaat, 2012:10):

1. Android versi 1.1

Pada tanggal 9 Maret 2009, Google merilis Android versi

1.1 yang dilengkapi dengan pembaharuan estetis pada

aplikasi, jam alarm, pencarian suara, pengiriman pesan

dengan Gmail, dan pemberitahuan email.

2. Android versi 1.5 (Cupcake)

Berselang sekitar 2 bulan dari versi 1.1 tepatnya pada

tanggal 30 April 2009 Android versi 1.5 dirilis. Android

Page 16: 2013-1-01113-IF Bab2001 dga

23

versi ini didasarkan pada Linux Kernel 2.6.27. Pada versi

ini terdapat pembaharuan antarmuka dan penambahan

fitur–fitur. Permbaharuan yang dilakukan adalah sebagai

berikut:

a. Widget dan folder baru yang dapat ditambahkan ke

layar utama.

b. Merekam dan menonton video dengan modus kamera.

c. Menggunggah video langsung ke Youtube melalaui

handset.

d. Keyboard pada layar yang dapat disesuaikan dengan

sistem.

e. Dukungan Bluetooth A2DP (Advanced Audio

Distribution Profile)

3. Android versi 1.6 (Donut)

Pada tanggal 15 September 2009 Android versi 1.6 dirilis.

Pembaharuan yang dilakukan adalah sebagai berikut:

a. Improvisasi pada Android Market.

b. Kamera, camcorder, dan antarmuka galeri yang

terintegrasi.

c. Multi select pada galeri.

d. Dukungan resolusi layar Wide Video Graphics Array.

e. CDMA/EVDO, VPN.

f. Gesture dan Text-to-Speech engine.

g. Teknologi text to change speech.

4. Android versi 2.0/2.1 (Eclair)

Pada tanggal 26 Oktober 2009 Android versi 2.0 dirilis.

Pembaharuan yang dilakukan adalah sebagai berikut:

a. Optimalisasi kecepatan perangkat keras.

b. Dukungan HTML 5.

c. Peningkatan Google Maps 3.1.2

d. Microsoft Exchange Support.

Page 17: 2013-1-01113-IF Bab2001 dga

24

e. Live Wallpaper.

f. Dukungan flash untuk kamera 3,2MP dan digital zoom.

g. Bluetooth 2.1.

5. Android versi 2.2 (Froyo)

Pada tanggal 20 Mei 2010 Android versi 2.2 dirilis.

Android versi ini didasarkan pada Linux Kernel 2.6.32.

Pembaharuan yang dilakukan adalah sebagai berikut:

a. Optimasi sistem operasi Android, memori, dan

performa.

b. Memungkinkan shortcut untuk aplikasi yang

diinginkan.

c. Adanya fasilitas tethering.

d. Dukungan password numeric dan alpha numeric.

6. Android versi 2.3 (Gingerbread)

Pada tanggal 6 Desember 2010 Android versi 2.3 dirilis.

Pembaharuan yang dilakukan adalah sebagai berikut:

a. Perubahan user interface.

b. Mendukung resolusi yang lebih besar.

c. Peningkatan fungsi copy-paste.

d. Terdapat Gyroscope dan sensor.

e. Mendukung mixable audio effects.

f. Tersedia download manager.

7. Android versi 3.0/3.1/3.2 (Honeycomb)

Android versi ini lebih ditujukan untuk tablet yang

memiliki prosesor dan layar yang lebih besar.

Pembaharuan yang dilakukan adalah sebagai berikut:

a. User interface khusus untuk tablet.

b. Mendukung multi prosesor.

Page 18: 2013-1-01113-IF Bab2001 dga

25

8. Android versi 4.0 (Ice Cream Sandwich)

Pada tanggal 19 Oktober 2011 Android versi 4.1 dirilis.

Pembaharuan yang dilakukan adalah sebagai berikut:

a. Lockscreen dengan face recognition.

b. Berbagi informasi dengan NFC (Near Field

Communication).

c. Pencarian email secara offline.

9. Android versi 4.1/4.2/4.3 (Jelly Bean)

Android versi 4.1 merupakan versi Android yang paling

cepat dan halus. Pembaharuan yang dilakukan adalah

sebagai berikut:

a. Peningkatan kebebasan pengguna dalam mengatur

home screen.

b. Peningkatan kualitas text-to-speech dan voice typing.

c. Peningkatan kualitas pencarian pada Google.

d. Dukungan Google Now.

10. Android versi 4.4 (Kitkat)

Android versi 4.4 merupakan versi Android yang paling

baru. Pembaharuan yang dilakukan adalah sebagai

berikut:

a. Immersive mode

b. Akses kontak langsung dari aplikasi telepon

c. Desain baru

d. Tampilan album art pada lockscreen

e. Multitasking lebih mulus, baterai lebih hemat

f. Emoji dan wireless printing

g. Integrasi lebih mendalam dengan Google Drive

Page 19: 2013-1-01113-IF Bab2001 dga

26

2.2.1.2 Arsitektur Android

Android memiliki 4 lapisan (layer) dalam arsitektur

pembangunannya. Setiap lapisan tersebut menghimpun

beberapa program yang mendukung fungsi-fungsi spesifik

dari sistem operasi. Diagram berikut menunjukkan

komponen-komponen utama dari sistem operasi Android.

(Safaat, 2012:6):

Gambar 2.15 Arsitektur Android

1) Applications

Pada layer ini terdapat beberapa aplikasi

awal yang berasal dari setiap pabrikasn seperti

email client, program SMS, browser, dll. Semua

aplikasi tersebut dibuat dengan bahasa

Application Programming Interface (API)

libraries yang sama.

Page 20: 2013-1-01113-IF Bab2001 dga

27

2) Application Framework

Application Framework menyediakan

semua kelas yang digunakan dalam pembuatan

aplikasi Android.

3) Libraries

Android menggunakan beberapa paket

pustaka yang terdapat pada C/C++ dengan

standar Berkeley Software Distribution (BSD)

hanya setengah dari yang aslinya untuk tertanam

pada kernel Linux. Beberapa pustaka

diantaranya:

1. Media Library untuk memutar dan merekam

berbagai macam format audio dan video.

2. Surface manager untuk untuk mengatur hak

akses layer dari berbagai aplikasi.

3. Scene Graph Library (SGL) dan Open

Graphics Library (OpenGL) untuk

kemampuan menampilkan grafik dua dan tiga

dimensi.

4. SQLite untuk mengatur relasi database yang

digunakan pada aplikasi.

5. SSL dan WebKit untuk browser dan

keamanan internet.

4) Android Runtime

Layer ini terdiri dari corelibraries dan

Dalvik Virtual Machine (DVM) yang merupakan

sebuah engine untuk menjalankan bebagai

aplikasi pada Android. Core libraries

menyediakan berbagai fungsionalitas yang ada

pada Java libraries. Sedangkan DVM adalah

sebuah virtual machine berbasis register yang

menjalankan fungsi threading dan low-level

Page 21: 2013-1-01113-IF Bab2001 dga

28

memory untuk memastikan agar device dapat

menjalankan aplikasi secara efisien.

5) Linux Kernel

Tumpukan paling bawah pada arsitektur

Android ini adalah kernel. Google menggunakan

kernel Linux versi 2.6 untuk membangun sistem

Android, yang mencakup memory management,

security setting, power management, dan

beberapa driver hardware. Kernel berperan

sebagai abstraction layer antara hardware dan

keseluruhan software.

2.2.1.3 Fundamental Aplikasi

Terdapat empat jenis komponen pada aplikasi

Android (Safaat, 2012:9) yaitu:

1. Activities

Suatu activity akan menyajikan user interface

kepada pengguna sehingga pengguna dapat melakukan

interaksi. Sebuah aplikasi Android bisa jadi hanya

memiliki satu activity, tetapi umumnya aplikasi memiliki

banyak activity tergantung pada tujuan aplikasi dan

design dari aplikasi tersebut. Untuk pindah dari satu

activity ke activity lain dapat dilakukan dengan satu

event, misalnya click tombol atau memilih opsi. Secara

hirarki sebuah windowsactivity dinyatakan dengan

methodActivity.setContentView().

2. Service

Service tidak memiliki Graphical User Interface

(GUI), melainkan berjalan di background untuk waktu

Page 22: 2013-1-01113-IF Bab2001 dga

29

yang tidak terbatas. Komponen service diproses tidak

terlihat, memperbarui sumber data dan menampilkan

notifikasi. Service digunakan untuk melakukan

pengolahan data yang perlu terus diproses, bahkan ketika

Activity tidak aktif atau tidak tampak.

3. Broadcast Receiver

Broadcast receiver berfungsi menerima dan

bereaksi untuk menyampaikan notifikasi seperti

lowbattery. Aplikasi juga dapat menginisiasi broadcast

misalnya memberikan informasi pada aplikasi lain

bahwa ada data yang telah diunduh ke perangkat dan

siap untuk digunakan.

4. Content Provider

Content Provider membuat kumpulan aplikasi data

secara spesifik sehingga bisa digunakan oleh aplikasi

lain. Data disimpan dalam file sistem seperti databse

SQLite. Contentprovider menyediakan cara untuk

mengakses data yang dibutuhkan oleh suatu activity.

2.2.2 Android Software Development Kit (SDK)

Android SDK adalah tools API, sample code, dan

dokumentasi yang diperlukan untuk memulai mengembangkan

aplikasi pada platform Android. Sebagai platform aplikasi-netral,

Android memberi kesempatan untuk membuat aplikasi yang

dibutuhkan yang bukan merupakan aplikasi bawaan smartphone.

Beberapa fitur penting yang terdapat pada Android (Safaat, 2012:5)

adalah:

1. Application Framework untuk pergantian komponen dan reusable.

Page 23: 2013-1-01113-IF Bab2001 dga

30

2. DVM dioptimalkan untuk perangkat mobile.

3. Integrated browser berdasarkan engine open source WebKit.

4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D

dan 3D berdasarkan spesifikasi OpenGL 1.0.

5. SQLite untuk menyimpan data.

6. Media Support yang mendukung audio, video, dan gambar

(MPEG4, H.254, MP3, AAC, AMR, JPG, PNG, GIF), GSM

Telephony.

7. Bluetooth, EDGE, 3G, dan WiFi.

8. Kamera, GPS, kompas, dan accelerometer.

9. Integrated development environment (IDE) yang lengkap dan kaya

termasuk perangkat emulator, tools untuk debugging, profil dan

kinerja memori, dan plugin.

2.2.3 Eclipse

Eclipse adalah sebuah komunitas bagi individu dan organisasi

yang ingin berkolaborasi secara commercially-friendly perangkat

lunak bersifat opensource. Proyek perusahaan terfokus pada

membangun sebuah platform pengembangan terbuka terdiri dari

extensible framework, tools dan runtimes untuk membangun,

menyebarkan dan mengelola perangkat lunak (Eclipse, 2012).

Android dikembangkan menggunakan Java. Telah banyak

beredar Java IDE seperti JBuilder dan NetBeans. Namun Open

Handset Alliance dan Google telah memilih menggunakan Eclipse

sebagai Java IDE dalam pengembangan Android. Berikut ini

dijelaskan mengapa Eclipse direkomendasikan sebagai Java IDE

untuk aplikasi Android (DiMarzio, 2008:11):

1. Sesuai dengan karakteristik Android yang terbuka bagi para

pengembang, Eclipse merupakan salah satu yang memiliki fitur

lengkap dan gratis dari semua Java IDE yang ada. Eclipse juga

sangat mudah digunakan dengan waktu pembelajaran yang

minimal.

Page 24: 2013-1-01113-IF Bab2001 dga

31

2. Open Handset Alliance telah merilis plugin Android untuk Eclipse

sehingga memungkinkan untuk membuat projek Android yang

spesifik, melakukan kompilasi, dan menggunakan Android

Emulator untuk melakukan debug.

2.2.4 Android Development Tools (ADT)

ADT adalah sebuah plugin yang dirancang untuk menyediakan

serangkaian tools yang terintegrasi dengan Eclipse IDE. ADT

menyediakan banyak fitur yang memudahkan pengembangan aplikasi

Android secara cepat. ADT juga menyediakan akses GUI untuk

beberapa command line pada SDK tools sehingga mempercepat

prototyping, designing, dan pembangunan user interface aplikasi.

Berikut ini dijelaskan fitur–fitur penting Eclipse dan ADT

(Android Developer Tools, 2012):

1. Pembuatan, pengembangan, packaging, instalasi, dan

debbugging projek Android yang terintegrasi.

ADT mengintegrasikan banyak development workflow tasks pada

Eclipse, sehingga memudahkan pengembangan yang cepat dan

pengujian untuk aplikasi Android yang dibuat.

2. Integrasi tools SDK

Banyak tools SDK yang terintegrasi pada menu–menu Eclipse

atau sebagai bagian dari proses background yang dijalankan ADT.

3. Bahasa pemrograman Java dan XML editors

Editor bahasa pemrograman Java mengandung fitur–fitur IDE

seperti syntax checking, auto-cmopletion, dan dokumentasi

framework API Android. XML editor berguna untuk mengubah

file XML Android dalam bentuk graphical layout sehingga hanya

perlu dilakukan drag dan drop.

Page 25: 2013-1-01113-IF Bab2001 dga

32

4. Dokumentasi untuk Framework API Android

Mengakses dokumentasi dengan hovering di atas kelas, metode,

atau variabel.

2.2.5 JavaScript Object Notation (JSON)

JavaScript Object Notation (JSON) merupakan light weight

data-interchange yang berbasis JavaScript Programming Language.

JSON  merupakan format untuk pertukaran data seperti halnya XML.

Namun JSON sangat mudah dimengerti oleh manusia, karena

formatnya yang sederhana. Formatnya berbasis teks dan terbaca-

manusia serta digunakan untuk merepresentasikan struktur

data sederhana dan larik asosiatif (disebut objek). Format JSON sering

digunakan untuk mentransmisikan data terstruktur melalui suatu

koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi

utamanya adalah pada pemrogramanaplikasi web AJAX dengan

berperan sebagai alternatif terhadap penggunaan tradisional

format XML. Walaupun JSON didasarkan pada subset bahasa

pemrograman JavaScript dan umumnya digunakan dengan bahasa

tersebut, JSON dianggap sebagai format data yang tak tergantung

pada suatu bahasa. Format JSON dispesifikasikan di RFC

4627 oleh Douglas Crockford.

Contoh JSON :

({

  "namadepan" : "Timotius",

  "namabelakang" : "Victory"

});

2.2.6 XML

XML (eXtensible Markup Language) merupakan suatu bahasa

Markup. Markup yaitu bahasa yang berisikan kode-kode berupa

tanda-tanda tertentu dengan aturan tertentu untuk memformat

dokumen teks dengan tag sendiri agar dapat dimengerti.

Page 26: 2013-1-01113-IF Bab2001 dga

33

XML dapat memungkinkan pertukaran informasi atau data

antar device (server, PCs, smart device, aplikasi, dan situs web). Data

ini akan menjadi independent sehingga memudahkannya untuk

diorganisir, diprogram, dirubah, dan ditukar antar situs web atau

aplikasi apa saja. Karena kebutuhan ini, maka makin banyak teknologi

berbasis XML.

Contoh XML:

<note>

<to>.......................</to>

<from>..................</from>

<heading>..............</heading>

<body>...................</body>

</note>

2.2.7 PHP

PHP merupakan singkatan dari “Hypertext Preprocessor”,

yang merupakan sebuah bahasa scripting tingkat tinggi yang dipasang

pada dokumen HTML. PHP pertama kali dibuat oleh Rasmus

Lerdroft, seorang programmer C. Pada waktu itu PHP masih bernama

FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang

digunakan untuk mengolah data form dari web.

PHP yang paling banyak dipakai sekarang ini adalah PHP 5.0

yang dikeluarkan oleh Zend pada Juni 2004. PHP merupakan bahasa

pemrograman yang paling banyak dipakai oleh website di seluruh

dunia

2.2.8 Hypertext Markup Language (HTML)

Menurut Shelly, Woods, dan Dorin (2008, p. 8), HTML

merupakan bahasa penulisan yang digunakan untuk membuat

dokumen pada halaman web. HTML menggunakan sekumpulan

instruksi khusus, yang dikenal dengan tags atau markup, untuk

mendefinisikan struktur dan susunan dari dokumen web dan

Page 27: 2013-1-01113-IF Bab2001 dga

34

menetapkan apa yang akan ditampilkan pada browser.

2.2.9 jQueryjQuery adalah sebuah pustaka JavaScript yang open

source, digunakan untuk menyederhanakan interaksi antara

HTML dan JavaScript (Resig, n.d.). Jquery dipakai untuk

menyelesaikan masalah kedinamisan tampilan web pada lintas

browser.

2.3 Hasil Penelitian atau Produk Sebelumnya

Berikut adalah aplikasi-aplikasi yang telah dikembangkan sebelumnya

yang akan memberikan gambaran singkat dan perbandingan mengenai

aplikasi-aplikasi sejenis dengan aplikasi yang dikembangkan. Aplikasi-

aplikasi ini memiliki konsep yang sama, yaitu penunjuk tempat wisata.

Aplikasi tersebut memiliki fitur yang sama seperti informasi tentang

tempat tujuan, terdapat juga aplikasi yang menambahkan fitur khusus lain

sebagai nilai tambah. Melihat cukup banyaknya aplikasi sejenis yang ada,

maka dipilih beberapa aplikasi untuk dijadikan pembanding dengan

aplikasi yang akan dikembangkan. Keunggulan dan kelemahan aplikasi

diidentifikasi berdasarkan user experience dan user reviews pada Google

Play, dan keterangan penggunaan. Aplikasi-aplikasi yang dimaksud

adalah sebagai berikut:

1. Wisata Indonesia (Pengembang: FrontineLabs )

Gambar 2.16 Screenshot aplikasi Wisata Indonesia

Page 28: 2013-1-01113-IF Bab2001 dga

35

Wisata Indonesia merupakan aplikasi panduan wisata yang ada

pada sistem operasi Android. Wisata Indonesia memberikan fitur yang

cukup lengkap untuk membuat rencana perjalanan.

Keunggulan-keunggulan yang terdapat pada aplikasi Wisata Indonesia

adalah:

1. Menggunakan GPS dalam aplikasi nya.

2. Tempat wisata dibagi berdasarkan kategori.

3. Adanya fitur wisata favorite.

Kelemahan-kelemahan yang terdapat pada aplikasi Wisata Indonesia

adalah:

1. Pengguna tidak bisa saling berinteraksi.

2. Hanya untuk wilayah jogja.

3. Pengguna tidak dapat melihat review tempat wisata tersebut.

2. Indonesia Travel Guide Triposo

Gambar 2.17 ScreenShoot aplikasi Triposo

Page 29: 2013-1-01113-IF Bab2001 dga

36

Indonesia Travel Guide Triposo merupakan aplikasi panduan

wisata yang ada pada sistem operasi Android. Indonesia Travel Guide

Triposo memberikan fitur yang cukup lengkap untuk dijadikan

pemandu wisata.

Keunggulan-keunggulan yang terdapat pada aplikasi Wisata Indonesia

adalah:

1. Menggunakan GPS dalam aplikasi nya.

2. Ada nya fitur yang memberitahukan angkutan untuk sampai ke

tujuan.

3. Adanya fitur Top Destination.

Kelemahan-kelemahan yang terdapat pada aplikasi Wisata Indonesia

adalah:

1. Pengguna tidak dapat saling bisa berinteraksi.

2. Tempat wisata cuma bisa ditambahkan oleh admin.

3. Aplikasi ini membutuhkan memori yang cukup besar.