BAB 2 LANDASAN TEORI 2.1.1.1 Pengertian Interaksi Manusia ... · Menyediakan kegunaan universal ......

43
9 BAB 2 LANDASAN TEORI 2.1 Teori Dasar/Umum 2.1.1 Interaksi Manusia dan Komputer 2.1.1.1 Pengertian Interaksi Manusia dan Komputer Karray et 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. 2.1.1.2 Lima Faktor Manusia Terukur Ada lima faktor manusia terukur yang harus diperhatikan dalam perancangan antarmuka menurut Shneiderman and Plaisant (2010:32), yaitu: 1. Waktu Belajar Merancang antarmuka dengan memperhatikan kemudahan tampilan. Sehingga pengguna dapat beradaptasi dengan cepat dalam menggunakan aplikasi.

Transcript of BAB 2 LANDASAN TEORI 2.1.1.1 Pengertian Interaksi Manusia ... · Menyediakan kegunaan universal ......

9

BAB 2

LANDASAN TEORI

2.1 Teori Dasar/Umum

2.1.1 Interaksi Manusia dan Komputer

2.1.1.1 Pengertian Interaksi Manusia dan Komputer

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

2.1.1.2 Lima Faktor Manusia Terukur

Ada lima faktor manusia terukur yang harus

diperhatikan dalam perancangan antarmuka menurut

Shneiderman and Plaisant (2010:32), yaitu:

1. Waktu Belajar

Merancang antarmuka dengan memperhatikan kemudahan

tampilan. Sehingga pengguna dapat beradaptasi dengan

cepat dalam menggunakan aplikasi.

10

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.1.3 Kategori Pengguna

Menurut Shneiderman and Plaisant (2010:81) ada tiga

kategori pengguna yang perlu dipertimbangkan dalam

perancangan antarmuka, yaitu:

1. Novice

Merupakan pengguna pemula sehingga antarmuka

sebaiknya dirancang sesederhana mungkin sehingga mudah

digunakan dan juga memberikan umpan balik yang

informatif.

11

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

belakangan ini peredaran perangkat mobile dengan berbagai

aplikasi yang tertanam di dalamnya sudah tidak dapat terelakan

lagi sehingga banyak orang kurang lebih telah mengerti

bagaimana pengoperasian sistem dan antarmuka dari suatu

aplikasi.

2.1.1.4 Delapan Aturan Emas

Menurut Shneiderman and Plaisant (2010:88) terdapat

delapan aturan emas yang harus dipertimbangkan dalam

perancangan antarmuka, yaitu:

12

1. Berusaha untuk konsisten

Konsisten dalam berbagai aspek yang terdapat dalam

aplikasi, seperti warna yang digunakan, jenis font yang

dipakai, dan tampilan menu.

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.

13

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.

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.2 Perangkat Lunak

2.1.2.1 Definisi Perangkat Lunak

Menurut Pressman (2010:4), perangkat lunak

didefinisikan sebagai berikut:

1. Instruksi – instruksi (program komputer) yang jika

dieksekusi akan menghasilkan fungsi dan performa yang

diinginkan.

2. Struktur data yang memungkinkan program untuk

memanipulasi informasi.

14

3. Pendokumentasian yang menjelaskan operasi dan kegunaan

dari sebuah program.

2.1.2.2 Scrum

Scrum adalah metode pengembangan perangkat lunak

cepat yang dianut oleh Jeff Sutherland dan tim pengembangnya

pada awal tahun 1990. Beberapa tahun belakangan,

pengembangan menggunakan metode Scrum dilakukan oleh

Schwaber dan Beedle (Pressman, 2010:82).

Prinsip Scrum digunakan untuk membimbing kegiatan

pengembangan dalam proses yang menggabungkan framework

berikut: activities, requirements, analisis, perancangan, evolusi,

dan pengiriman.

Gambar 2.1 Alur Kerja Scrum (Pressman, 2012)

15

Scrum menekankan penggunaan sekumpulan proses

perangkat lunak yang telah terbukti efektif dalam penyelesaian

projek dalam waktu yang singkat, perubahan requirements, dan

kebutuhan bisnis. Setiap proses yang terdapat pada gambar 2.1

memiliki aksinya masing – masing:

1. Backlog: daftar kebutuhan projek atau fitur – fitur yang

memiliki nilai bisnis pada customer. Penambahan kebutuhan

atau fitur dapat dilakukan kapanpun.

2. Sprints: susunan kegiatan yang diperlukan untuk mencapai

kebutuhan dan fitur – fitur yang telah ditentukan pada

backlog dalam jangka waktu yang telah ditentukan

(biasanya 30 hari). Perubahan tidak diperbolehkan saat

sprint sedang berlangsung.

3. Scrum meetings: pertemuan tim Scrum biasanya hanya

dilakukan dalam waktu singkat yaitu sekitar lima belas

menit setiap harinya. Tiga pertanyaan kunci yang diajukan:

• Apa saja yang telah anda lakukan sejak pertemuan

terakhir?

• Hambatan apa yang anda temui?

• Apa yang anda rencanakan untuk menyelesaikan

pekerjaan anda pada pertemuan selanjutnya?

16

4. Demos: pengiriman perangkat lunak pada customer

sehingga dapat diimplementasikan untuk dilakukan

demonstrasi dan evaluasi oleh customer.

Dalam perancangan dan implementasi aplikasi ini

dinggunakan metode perancangan Scrum karena metode –

metode yang terdapat pada Scrum menerapkan pekerjaan dalam

batas waktu dan tuntutan tugas dalam periode iterasi yang

sempit sehingga penerapan Scrum sesuai dengan kondisi dan

waktu dalam pembuatan skripsi yang terbatas.

2.1.3 Unified Modeling Language (UML)

Menurut Whitten and 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.

Dalam bidang perancangan piranti lunak penggunaan UML telah

menjadi standar dalam bahasa pemodelan. Object Management Group

(OMG) merupakan industri yang menstandarisasi UML pada November

1997 dan secara terus – menerus memperbaikinya berdasarkan kebutuhan

industri.

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

17

UML telah tercapai sehingga tidak perlu membuat ketiga belas diagram

tersebut.

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 and Bentley, 2007:246).

Ada tiga elemen penting dalam Use Case diagram, yaitu

aktor, use cases, dan relationship. Aktor dapat diartikan sebagai

siapapun atau apapun yang melakukan interaksi dengan sistem

untuk pertukaran informasi. Use cases merupakan urutan

perilaku yang terkait, baik otomatis ataupun manual, yang

bertujuan untuk menyelesaikan sebuah tugas bisnis. Sedangkan

relationship menggambarkan hubungan antara dua simbol

dalam sebuah use case diagram.

Gambar 2.2 Contoh Use Case Diagram

18

Ada beberapa macam dari relationship yang digunakan

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

1. Associations

Associations menggambarkan interaksi antara use cases

dengan aktor. Associations digambarkan dengan simbol

garis dengan atau tanpa panah.

Gambar 2.3 Contoh Associations Relationship

Associations dengan anak panah yang berasal dari aktor

menunjuk ke use cases menandakan bahwa use cases dipicu

oleh tindakan aktor. Sedangkan associations tanpa panah

menandakan interaksi antara use cases dengan aktor

penerima.

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.

19

Gambar 2.4 Contoh Extends Relationship

3. Uses/Includes

Uses/Includes digunakan ketika terdapat dua atau lebih use

cases yang melakukan langkah yang sama. Langkah yang

sama tersebut baiknya dipisahkan menjadi use cases berbeda

yang disebut abstract use case untuk mengurangi

redundancy pada use cases. Hubungan antara abstract use

case dengan use cases disebut uses/includes relationship.

Memesan Barang

Mengubah Data

Pribadi

Melakukan Login

«uses»

«uses»

Gambar 2.5 Contoh Uses/Includes Relationship

4. Depends On

Depends On digunakan ketika terdapat hubungan

ketergantungan antara satu use cases dengan use cases

20

lainnya, dimana suatu use cases tidak dapat dilakukan

sebelum use cases lain dilakukan.

Gambar 2.6 Contoh Depends On Relationship

5. Inheritance

Inheritance digunakan ketika terdapat dua atau lebih aktor

yang melakukan use cases yang sama. Untuk

menyederhanakan rancangan diagram diperlukan aktor

abstrak. Aktor abstrak ini memiliki langkah yang dimiliki

aktor lain.

Gambar 2.7 Contoh Inheritance Relationship

21

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

and Bentley, 2007:390).

Gambar 2.8 Contoh Activity Diagram

22

Elemen – elemen yang terdapat dalam activity diagram:

Tabel 2.1 Tabel Elemen pada Activity Diagram

Initial State

Simbol yang digunakan untuk

menandakan dimulainya proses.

Action State

Simbol yang digunakan untuk

menandakan suatu aktivitas. Semua

aktivitas pada diagram berdasarkan

urutan action state.

Control Flow

Simbol yang digunakan untuk

menandakan jalur dari sebuah

aktivitas ke aktivitas selanjutnya.

Decision/Merge

1. Decision

Menandakan kondisi untuk

memilih salah satu alur

aktivitas.

2. Merge

Menandakan penggabungan

alur aktivitas yang dipisahkan

oleh decision.

23

Fork/Join

1. Fork

Menandakan adanya dua atau

lebih action state yang jalan

bersamaan.

2. Join

Menandakan berakhirnya proses

parallel.

Final State

Simbol yang digunakan untuk

menandakan berakhirnya proses.

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

and Bentley, 2007:400).

Gambar 2.9 Contoh Class Diagram

24

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

25

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.

Gambar 2.10 Contoh Asosiasi

Gambar 2.9 menjelaskan bahwa Lecturer mengajar Class

atau Class diajar oleh Lecturer.

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

26

Gambar 2.11 Contoh Multiplicity

Gambar 2.10 menjelaskan bahwa Lecturer dapat mengajar

satu atau banyak Class dan Class hanya dapat diajar oleh

satu Lecturer.

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

adanya inheritance pada class diagram.

Gambar 2.12 Contoh Generalisasi

27

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.13 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.14 Contoh Komposisi

28

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 and Bentley, 2007:394).

Elemen – elemen yang terdapat dalam sequence diagram

adalah sebagai berikut:

1. Aktor

Aktor pada sequence diagram memiliki simbol yang sama

seperti yang digunakan pada use case diagram. Di sini aktor

juga berperan sebagai pengguna yang berinteraksi dengan

sistem.

2. Sistem

Sistem disimbolkan dengan sebuah persegi panjang yang

mewakili kelas – kelas pada class diagram.

:Sistem

Gambar 2.15 Sistem

29

3. Lifeline

Lifeline disimbolkan dengan garis putus – putus yang berada

di bawah simbol aktor dan sistem, menandakan mulainya

sebuah rangkaian proses.

4. Activation Bars

Activation bar disimbolkan dengan persegi panjang pada

lifeline yang menandakan periode waktu dimana sistem aktif

berinteraksi.

Gambar 2.16 Activation Bars

5. Input Messages

Input messages disimbolkan dengan tanda panah horizontal

yang berasal dari aktor menuju sistem berisi method dari

setiap sistem.

Gambar 2.17 Input Messages

30

6. Output Messages

Output messages disimbolkan dengan tanda panah

horizontal putus – putus yang berasal dari sistem menuju

aktor berisi jawaban dari sistem atas input messages yang

dikirim.

Gambar 2.18 Output Messages

7. Frame

Frame merupakan sebuah kotak yang digunakan untuk

menyatukan satu atau lebih message dalam pecahan

rangkaian proses. Frame dapat menunjukan adanya

perulangan (loop), seleksi (alternative), dan pilihan

(optional).

Gambar 2.19 Frame

opt

31

2.2 Teori Khusus

2.2.1 Android

Android merupakan sebuah sistem operasi mobile yang open

source. Android sendiri mencakup sistem operasi, middleware, dan

aplikasi mobile yang berbasis Linux Kernel yang dikembangkan oleh

Google dan Open Handset Alliance. Tujuan dari Android Open Source

Project adalah untuk membangun produk real-world yang dapat

meningkatkan pengalaman para pengguna perangkat mobile (Android

Open Source Project, 2012). Berikut ini merupakan karakteristik utama

yang dimiliki oleh Android:

1. Terbuka

Android dibuat benar – benar terbuka sehingga memungkinkan

pengembang dapat membuat aplikasi mobile yang menarik pada

semua handset berbasis Android. Dengan sifat yang terbuka tersebut

memungkinkan sebuah aplikasi dapat memanggil salah satu fungsi

inti ponsel seperti membuat panggilan, mengirim pesan, atau

menggunakan kamera sehingga menciptakan pengalaman yang lebih

kaya bagi pengguna.

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.

32

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 seperti kontak, kalender,

lokasi geografi untuk memberikan pengalaman yang lebih relevan

pada pengguna.

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, 2012).

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 menaruh/mnggunggah

aplikasi yang telah mereka kembangkan dan bagi para pengguna

digunakan sebagai tempat mencari aplikasi sesuai dengan kriteria yang

diinginkan.

33

2.2.1.1 Versi Android

Android memiliki banyak versi semenjak dirilis pertama

kali. Setiap versi terbaru yang dirillis memiliki pembaharuan

seperti perbaikan terhadap bug ataupun pemambahan fitur –

fitur baru. 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 versi ini

didasarkan apda Linux Kernel 2.6.27. Pada versi ini terdapat

pembaharuan antarmuka dan penambahan fitur – fitur.

Permbaharuan yang dilakukan adalah sebagai berikut:

� Widget dan folder baru yang dapat ditambahkan ke layar

utama.

� Merekam dan menonton video dengan modus kamera.

� Menggunggah video langsung ke Youtube melalaui

handset.

34

� Keyboard pada layar yang dapat disesuaikan dengan

sistem.

� 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:

� Improvisasi pada Android Market.

� Kamera, camcorder, dan antarmuka galeri yang

terintegrasi.

� Multi select pada galeri.

� Dukungan resolusi layar Wide Video Graphics Array.

� CDMA/EVDO, VPN.

� Gesture dan Text-to-Speech engine.

� 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:

� Optimalisasi kecepatan perangkat keras.

� Dukungan HTML 5.

� Peningkatan Google Maps 3.1.2

� Microsoft Exchange Support.

� Live Wallpaper.

35

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

� 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:

� Optimasi sistem operasi Android, memori, dan performa.

� Memungkinkan shortcut untuk aplikasi yang diinginkan.

� Adanya fasilitas tethering.

� 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:

� Perubahan user interface.

� Mendukung resolusi yang lebih besar.

� Peningkatan fungsi copy-paste.

� Terdapat Gyroscope dan sensor.

� Mendukung mixable audio effects.

� Tersedia download manager.

36

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:

� User interface khusus untuk tablet.

� Mendukung multi prosesor.

8. Android versi 4.0 (Ice Cream Sandwich)

Pada tanggal 19 Oktober 2011 Android versi 4.1 dirilis.

Pembaharuan yang dilakukan adalah sebagai berikut:

� Lockscreen dengan face recognition.

� Berbagi informasi dengan NFC (Near Field

Communication).

� Pencarian email secara offline.

9. Android versi 4.1 (Jelly Bean)

Android versi 4.1 merupakan versi Android yang paling

cepat dan halus. Pembaharuan yang dilakukan adalah sebagai

berikut:

� Peningkatan kebebasan pengguna dalam mengatur home

screen.

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

� Peningkatan kualitas pencarian pada Google.

� Dukungan Google Now.

37

2.2.1.2 Arsitektur Android

Android memiliki banyak komponen dalam arsitektur

pembangunannya, berikut ini merupakan gambaran arsitektur

Android yang tebagi menjadi beberapa layer (Safaat, 2012:6):

Gambar 2.20 Arsitektur Android

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

38

2.2.1.2.2 Application Framework

Application Framework menyediakan semua

kelas yang digunakan dalam pembuatan aplikasi

Android. Dan juga merupakan sebuah gambaran

umum untuk akses perangkat keras serta manajemen

user interface dan application resource. Arsitektur

aplikasi dirancang supaya kita dengan mudah dapat

menggunakan kembali komponen yang sudah

digunakan (reuse).

2.2.1.2.3 Libraries

Pada layer ini Android menyertakan

kumpulan core library C/C++ seperti libc dan

Secure Sockets Layer (SSL) yang digunakan oleh

berbagai komponen Android. Penjelasan library

lainnya adalah sebagai berikut:

1. Media Library untuk memainkan audio dan

video.

2. Surface manager untuk menyediakan pengaturan

tampilan.

3. Scene Graph Library (SGL) dan Open Graphics

Library (OpenGL) untuk kemampuan

menampilkan grafik dua dan tiga dimensi.

4. SQLite untuk dukungan dalam database.

39

5. SSL dan WebKit terintegrasi dengan web

browser dan security.

2.2.1.2.4 Android Runtime

Layer ini terdiri dari core libraries 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 memory untuk memastikan agar device

dapat menjalankan aplikasi secara efisien.

2.2.1.2.5 Linux Kernel

Android menggunakan Linux Kernel 2.6

yang berfungsi sebagai core system service seperti

keamanan, menejemen memori, manajeman proses,

network, dan driver model.

40

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 windows activity

dinyatakan dengan method Activity.setContentView().

2. Service

Service tidak memiliki Graphical User Interface (GUI),

tetapi service berjalan secara background, sebagai contoh

saat media player sedang memainkan lagu dari list yang ada,

media player akan memiliki dua atau lebih activity yang

memungkinkan pengguna untuk memilih lagu atau menulis

sms saat dimana lagu tetap dimainkan. Untuk menjaga lagu

tetap dimainkan itu, activity player dapat menjalankan

service. Service dijalankan pada thread utama dari proses

aplikasi.

41

3. Broadcast Receiver

Broadcast receiver berfungsi menerima dan bereaksi untuk

menyampaikan notifikasi seperti low battery. 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. Content

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

2. DVM dioptimalkan untuk perangkat mobile.

3. Integrated browser berdasarkan engine open source WebKit.

42

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 open source. 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).

Eclipse Foundation adalah perusahaan non profit independent,

perusahaan didukung anggota yang menjalankan proyek Eclipse dan

membantu mengolah open source community dan sebuah ekosistem yang

erat kaitannya dengan pemenuhan produk dan jasa.

Proyek Eclipse awalnya diciptakan oleh IBM pada bulan

November 2001 dan didukung oleh persatuan vendor perangkat lunak.

43

Eclipse merupakan aplikasi integrated development environment (IDE)

yang memperbolehkan pengembang aplikasi menambahkan

fungsionalitas dengan mudah dalam bentuk plugin.

Seperti yang telah diketahui Android dikembangkan

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

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

44

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.

4. Dokumentasi untuk Framework API Android

Mengakses dokumentasi dengan hovering di atas kelas, metode, atau

variabel.

45

2.2.5 Location Based Service

Yulianto (2010:64) mendefinisikan Location Based Service (LBS)

sebagai suatu layanan yang memberikan informasi mengenai posisi

geografis pengguna melalui peralatan mobile pada suatu waktu. Sehingga

teknologi LBS ini dapat digunakan untuk melakukan pencarian tempat –

tempat terdekat dari pengguna saat itu berada seperti hotel, SPBU, ATM,

alamat, dll. Penggunaan LBS sebenarnya sama dengan pencarian lokasi

menggunakan peta biasa, hanya saja LBS dapat memberikan informasi

tambahan mengenasi posisi pengguna yang bergerak.

2.2.5.1 Komponen Location Based Service

Magon and Shukla, komponen – komponen yang

dibutuhkan LBS adalah:

1. Lokasi atau Posisi

Lokasi atau posisi mencakup latitude (posisi utara atau

selatan), longitude (posisi timur atau barat), dan altitude

(ketinggian dari permukaan laut).

2. Data Geografi

Data geografi menyediakan data komponen lokasi seperti

jaringan jalan, alamat pengguna, bangunan, daerah seperti

pegunungan dan sungai, lokasi restoran, hotel, dll.

46

3. Pusat Kendali

Pusat kendali berperan sebagai pusat pengelolahan data dan

distribusi layanan lokasi.

4. Data Lokasi atau Data Peta

Data ini dikelola dan dimanipulasi untuk menyediakan

beberapa layanan yang berdasarkan pada lokasi pengguna.

5. Sistem Komunikasi

Sistem komunikasi digunakan untuk menyampaikan lokasi

ke pusat kendali dan menyediakan layanan yang diperlukan.

2.2.5.2 Global Positioning System (GPS)

GPS adalah suatu sistem navigasi yang berfungsi untuk

menentukan lokasi, kecepatan, dan arah melalui signal yang

diterima lebih dari 24-32 satelit yang berorbit 20000 km (11000

mil laut) di atas bumi. Prinsip dasar di balik GPS adalah

pengukuran jarak (distance/range) antara satelit dan receiver

dari transmisi signal radio. Sebuah GPS receiver memerlukan

empat atau lebih satelit untuk menghasilkan jarak dan

menggunakan informasi ini untuk menyimpulkan lokasi

(Yulianto, 2010:64).

47

2.2.5.2.1 Cara Kerja GPS

Satelit – satelit GPS mentransmisikan signal

radio ke bumi yang mengandung informasi tentang

satelit, contohnya lokasi dan waktu saat itu,

menginformasikan pengguna secara tepat di mana

satelit berada dalam orbit mereka sementara GPS

receivers secara pasif menerima signal satelit

tersebut. Semua satelit-satelit GPS mensinkronasi

operasi – operasi agar signal – signal yang berulang

ini ditransmisikan pada waktu yang bersamaan.

2.2.5.2.2 Perkembangan GPS

Chai (2004:102) menjelaskan saat ini

teknologi GPS dibedakan menjadi tiga, yaitu:

1. GPS-Phone

Teknologi ini menggabungkan Global System of

Mobile (GSM) dan GPS sebagai penyedia

jaringan komunikasi dan informasi posisi.

2. A-GPS

A-GPS dikembangkan untuk meminimalisasi

kekurangan pada teknologi GPS-Phone dengan

menanamkan very sensitive GPS receivers

sehingga signal GPS dapat diterima lebih kuat di

dalam ruangan.

48

3. Terrestrial Based Network Solutions

Dikembangkan dengan tujuan meningkatkan

akurasi GPS dengan menggunakan signal GPS,

TV, dan special ground based transmitter

sehingga didapat jarak penentuan lokasi.

2.2.6 JavaScript Object Notation (JSON)

JavaScript Object Notation (JSON) merupakan lightweight data-

interchange yang berbasis JavaScript Programming Language. JSON

berbasis teks/tulisan dengan format yang dapat dibaca dan dikenali oleh

manusia untuk merepresentasikan struktur data sederhana dan array

asosiatif. JSON merupakan bahasa independen yang lengkap dan

menggunakan konvensi yang familiar bagi para programmer bahasa C,

antara lain bahasa pemrograman C, C++, C#, Java, JavaScript, Perl,

Python, dan lainnya (Bo, 2010:4).

2.2.6.1 Struktur dasar JSON

JSON mempunyai dua struktur dasar yakni JSONObject

dan JSONArray. JSONObject merupakan kumpulan dari

pasangan nama/nilai yang diawali dengan kurung kurawal

pembuka ({) dan diakhiri dengan kurung kurawal penutup (}).

Setiap nama diikuti dengan titik dua (:) dan setiap nama atau

nilai yang berpasangan dipisahkan dengan koma (,). Struktur

JSONObject dapat dilihat pada Gambar 2.21.

49

Gambar 2.21 Objek pada JSON

JSONArray merupakan urutan dari kumpulan nilai yang

diawali dengan kurung siku pembuka ([) dan diakhiri dengan

kurung siku penutup (]). Nilainya dipisahkan dengan koma (,).

Struktur JSONArray dapat dilihat pada Gambar 2.22.

Gambar 2.22 Array pada JSON

Nilai (value) bisa berupa string dengan double quotes,

nilai angka, true , false , null, JSONObject, atau JSONArray.

Deskripsi dari value dapat dilihat pada Gambar 2.23.

Gambar 2.23 Value pada JSON

50

Semua struktur tersebut merupakan struktur data

universal. Hampir semua bahasa pemrograman modern

mendukung salah satu atau semua bentuk struktur tersebut.

Sehingga memungkinkan pertukaran format data menggunakan

bahasa pemrograman berdasarkan pada struktur – struktur

tersebut.

Saat ini penggunaan JSON objects direpresentasikan

dengan mempergunakan tipe data Amos II yang dipergunakan

untuk merepresentasikan konten dalam streams of JSON objects

yang dikirim melalui Internet (Bo, 2010:6).

2.2.7 SQLite

SQLite merupakan database Open Source yang dipergunakan

dalam Android. SQLite mendukung fitur standard relational database

seperti SQL syntax. SQLite hanya membutuhkan sedikit memori saat

melakukan runtime (sekitar 250 KByte). SQLite merupakan software

library yang mengimplementasikan self-contained, serverless, zero-

configuration, transactional SQL database engine. SQLite merupakan

deployed SQL database engine yang terbesar di dunia (Lee, 2012:103).

SQLite mendukung tipe data TEXT (seperti string pada Java),

INTEGER (seperti long pada Java) dan REAL (seperti double pada

Java). Semua jenis tipe lain harus dikonversikan menjadi satu dari salah

satu jenis tipe sebelum disimpan dalam database. SQLite tersedia pada

51

setiap perangkat Android. Dengan mempergunakan SQLite database di

Android tidak memerlukan pengaturan database ataupun administrasi.

Android menyediakan dukungan secara penuh untuk SQLite

database. Setiap database yang dibuat akan dapat diakses dengan nama

dari setiap kelas yang ada di dalam aplikasi. Cara yang direkomendasikan

untuk membuat SQLite database baru ialah dengan membuat subclass

dari SQLiteOpenHelper dan override pada onCreate() method. SQLite

queries dapat dijalankan mempergunakan SQLiteDatabase query()

methods yang menerima berbagai macam parameter, seperti table to

query, the projection, selection, columns, grouping, dan lainnya.

2.2.8 Jejaring Sosial

Jejaring sosial merupakan kumpulan individu – individu yang

membentuk sebuah kelompok, seperti masyarakat pedesaan atau

lingkungan sekitar tempat tinggal. Jejaring sosial juga mungkin terbentuk

dalam lingkungan kerja, universitas, sekolah, dan yang paling popular

adalah jejaring sosial online.

Jejaring sosial online saat ini sangat popular karena tidak seperti

lingkungan kerja, universitas, dan sekolah, Internet diisi oleh jutaan

individu dengan tujuan untuk mengumpulkan dan berbagi berbagai

informasi, seperti cara memasak, olahraga, pekerjaan, bisnis, marketing,

dan berbagai topik lainnya yang sangat bervariasi dan kaya sebagai

sebuah cerita dari seluruh dunia (Social Networking, 2013).