Top Banner
10 BAB 2 LANDASAN TEORI 1.1 Teori Umum Teori-teori yang bersifat umum yang digunakan dalam merancang aplikasi. Teori-teori yang digunakan meliputi teori Interaksi Manusia dan Komputer (IMK), Rekayasa Piranti Lunak (RPL), Unified Modeling Language (UML), web server, PHP Hypertext Preprocessor (PHP), dan database. 1.1.1 Interaksi Manusia dan Komputer (IMK) Interaksi Manusia dan Komputer (IMK) atau yang biasa juga dikenal sebagai Human Computer Interaction (HCI) adalah sebuah disiplin ilmu yang berfokus pada desain, evaluasi, dan implementasi dari sistem komputer interaktif untuk digunakan oleh manusia dengan studi terhadap fenomena- fenomena besar mengenai HCI tersebut (Anonim1, 2012). 1.1.1.1 Lima Faktor Manusia Terukur Mengacu pada pendapat Shneiderman dan Plaisant (2010), terdapat 5 (lima) faktor manusia terukur yang digunakan sebagai indikator evaluasi mengenai tingkat kualitas dari sebuah desain yaitu: 1. Waktu belajar Menyatakan berapa lama waktu yang dibutuhkan oleh user untuk mempelajari bagaimana menggunakan berbagai aksi yang relevan dalam melakukan suatu tugas.
49

BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

Apr 28, 2019

Download

Documents

duongthuy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

10

BAB 2

LANDASAN TEORI

1.1 Teori Umum

Teori-teori yang bersifat umum yang digunakan dalam merancang aplikasi.

Teori-teori yang digunakan meliputi teori Interaksi Manusia dan Komputer (IMK),

Rekayasa Piranti Lunak (RPL), Unified Modeling Language (UML), web server,

PHP Hypertext Preprocessor (PHP), dan database.

1.1.1 Interaksi Manusia dan Komputer (IMK)

Interaksi Manusia dan Komputer (IMK) atau yang biasa juga dikenal

sebagai Human Computer Interaction (HCI) adalah sebuah disiplin ilmu

yang berfokus pada desain, evaluasi, dan implementasi dari sistem komputer

interaktif untuk digunakan oleh manusia dengan studi terhadap fenomena-

fenomena besar mengenai HCI tersebut (Anonim1, 2012).

1.1.1.1 Lima Faktor Manusia Terukur

Mengacu pada pendapat Shneiderman dan Plaisant (2010),

terdapat 5 (lima) faktor manusia terukur yang digunakan sebagai

indikator evaluasi mengenai tingkat kualitas dari sebuah desain

yaitu:

1. Waktu belajar

Menyatakan berapa lama waktu yang dibutuhkan oleh

user untuk mempelajari bagaimana menggunakan berbagai aksi

yang relevan dalam melakukan suatu tugas.

Page 2: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

11

2. Kecepatan performa

Menyatakan berapa lama waktu yang diperlukan untuk

mengerjakan suatu tugas.

3. Tingkat kesalahan oleh user

Mengukur berapa banyak dan jenis kesalahan apa yang

dilakukan oleh user ketika mengerjakan tugas. Sistem tersebut

harus memiliki tingkat kesalahan yang rendah bila sedang

digunakan oleh user.

4. Daya ingat

Seberapa baik user dapat memelihara ingatan mereka

dalam jangka waktu tertentu. Daya ingat berkaitan dengan waktu

belajar dan frekuensi user dalam menggunakan sistem, semakin

sering user menggunakan sistem maka semakin mudah user

mengingat sistem tersebut.

5. Kepuasan subjektif

Menyatakan tingkat kepuasan user dalam melihat

keseluruhan aspek pada antarmuka (interface). Hal tersebut dapat

dilakukan dengan melakukan interview atau kuesioner.

1.1.1.2 Delapan Aturan Emas

Berdasarkan Shneiderman dan Plaisant (2010), terdapat

Delapan Aturan Emas (Eight Golden Rules) yang digunakan sebagai

pedoman dalam merancang suatu antarmuka pengguna (user

interface) yang baik, yaitu:

Page 3: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

12

1. Mempertahankan konsistensi

Bentuk konsistensi dalam perancangan antarmuka

pengguna (user interface) meliputi penggunaan warna, layout,

kapitalisasi, pemilihan jenis huruf, dan hal lainnya yang harus

konsisten diterapkan secara keseluruhan.

2. Memenuhi kegunaan yang umum

Mengenali kebutuhan user yang beragam dan

memudahkan dalam melakukan perubahan konten. Mencari

perbedaan user pemula dan user ahli, rentang usia, keterbatasan

kemampuan fisik, perbedaan teknologi merupakan panduan

dalam merancang interface. Menambahkan fitur-fitur untuk user

pemula seperti menambahkan penjelasan, dan memberi fitur-fitur

seperti shortcut untuk intermediate user dan untuk user ahli

membuat tampilan yang kompleks dapat meningkatkan kualitas

dari desain interface.

3. Memberikan umpan balik yang informatif

Pada setiap aksi yang dilakukan oleh user harus

disediakan umpan balik. Umpan balik tersebut harus dapat

memberikan visualisasi hasil dari aksi yang telah dilakukan oleh

user.

4. Merancang dialog penutupan

Urutan dalam setiap aksi haruslah terorganisasi ke dalam

suatu kelompok dengan urutan awal, tengah, dan akhir sehingga

mudah dimengerti oleh user.

Page 4: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

13

Adanya umpan balik dapat memberikan pilihan untuk

menyiapkan ke kelompok aksi yang selanjutnya.

5. Memberikan penanganan kesalahan yang sederhana

Suatu sistem yang baik harus dapat menghindarkan user

dari kesalahan sebelum kesalahan itu terjadi. Jika user membuat

suatu kesalahan, antarmuka (interface) harus dapat mendeteksi

kesalahan dan memberikan informasi yang spesifik kepada user

untuk menangani kesalahan.

6. Memberikan kemudahan untuk kembali ke tindakan

sebelumnya

Sistem harus dapat memungkinkan untuk melakukan

pembalikan aksi. Hal ini dapat mengurangi kegelisahan user

karena user mengetahui bahwa kesalahan dapat diperbaiki.

Dengan demikian user akan semakin termotivasi untuk

melakukan penjelajahan yang tidak biasa dipakai dan user tidak

bingung jika mendapatkan pesan kesalahan.

7. Mendukung pusat kendali internal (internal locus of control)

User yang sudah berpengalaman menginginkan bahwa

mereka bertanggungjawab atas sebuah sistem maka sistem dapat

memberikan respons terhadap setiap aksi yang dilakukan oleh

user karena manusia yang memegang kontrol sistem.

Page 5: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

14

8. Mengurangi beban ingatan jangka pendek

Keterbatasan manusia dalam mengolah informasi dalam

memori jangka pendek membutuhkan antarmuka (interface) yang

sederhana dan mengurangi pergerakan window. Yang dimaksud

pergerakan window seperti ketika user harus mengingat suatu

informasi pada satu layar dan informasi tersebut digunakan pada

layar yang lain.

1.1.2 Rekayasa Piranti Lunak

Rekayasa piranti lunak merupakan sebuah layered technology dalam

pembentukan suatu sistem atau aplikasi. Rekayasa piranti lunak meliputi

sebuah proses, metode untuk mengelola rekayasa dari sebuah software, dan

tools. Berikut merupakan lapisan atau layer dari sebuah rekayasa piranti

lunak.

Gambar 2.1 Layer dari Rekayasa Piranti Lunak

(Sumber: Pressman, Roger S., Software Engineering: A Practitioner’s

Approach 7th edition, 2010)

Page 6: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

15

Dasar dari rekayasa piranti lunak ada pada layer proses. Proses

menentukan framework apakah yang harus digunakan sehingga

pembentukan teknologi rekayasa piranti lunak dapat berjalan secara efektif.

Proses dari sebuah software telah membentuk manajemen kontrol dasar dari

proyek software dan menentukan konteks metode teknis yang mana yang

akan digunakan, produk kerja (model, dokumen, data, laporan, formulir)

yang dihasilkan, hal-hal penting apa saja yang harus diperhatikan, mengecek

kembali kualitas yang akan dihasilkan, dan mengelola perubahan-perubahan

apa saja yang akan dilakukan.

Metode dari rekayasa piranti lunak menyediakan secara teknis

bagaimana membangun sebuah software. Metode meliputi sebuah daftar dari

tugas yang akan dikerjakan, termasuk komunikasi, analisis kebutuhan,

perancangan antarmuka, pembuatan program, percobaan program, dan

dukungan.

Tools dari rekayasa piranti lunak menyediakan dukungan otomatis

atau semi otomatis bagi proses dan metode yang digunakan. Ketika tools

telah terintegrasi satu sama lainnya, maka informasi yang dihasilkan oleh

sebuah tools dapat digunakan oleh tools yang lainnya (Pressman, 2010).

1.1.2.1 Agile Development

Agile development merupakan proses software modern yang

saat ini banyak digunakan karena proses ini didesain dengan cara

yang memungkinkan bagi development team untuk beradaptasi

secara cepat dengan perubahan-perubahan yang ada.

Page 7: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

16

Perubahan-perubahan tersebut meliputi kebutuhan user,

kemajuan teknologi, perubahan budget serta perubahan lain yang

berdampak pada pengembangan software. Agile development

mengutamakan komunikasi yang efektif dengan user terutama

dengan sesama development team (Pressman, 2010).

1.1.2.2 Extreme Programming (XP)

Berdasarkan Pressman (2010), XP merupakan salah satu

pendekatan dalam agile development. Semua sifat-sifat dan

karakteristik yang ada pada agile development juga terdapat dalam

XP.

Dalam XP, terdapat 5 (lima) nilai yang menjadi dasar dalam

semua kegiatan XP, yaitu:

a. Komunikasi (communication)

Untuk mencapai komunikasi yang baik antara software

engineers dan para stakeholder, seperti fitur apa yang dibutuhkan

dan kegunaan software, XP menekankan adanya kolaborasi yang

baik, komunikasi yang efektif mengenai konsep software serta

adanya umpan balik terus menerus.

b. Kesederhanaan (simplicity)

Dalam mencapai kesederhanaan, XP membatasi

developer untuk merancang kebutuhan yang mendesak dibanding

kebutuhan yang akan datang.

Page 8: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

17

Hal ini bertujuan agar mudah diimplementasikan pada

pemrograman. Jika perancangan ingin diubah atau ditingkatkan,

dapat dilakukan refactoring. Refactoring yang dimaksud adalah

mengubah struktur internal desain atau source code tetapi tidak

mengubah fungsi eksternal serta perilakunya.

c. Umpan balik (feedback)

Umpan balik berasal dari 3 (tiga) sumber yaitu

implementasi software itu sendiri, user, dan anggota development

team yang lain. Umpan balik diberikan setelah software

dilakukan pengujian (testing) apakah setiap operasi berjalan

sesuai fungsi yang ditetapkan. Umpan balik dilihat dari

implementasi output, fungsi, dan karakteristik use case.

d. Keberanian (courage)

Setiap tindakan yang dilakukan dalam praktek XP

menuntut keberanian atau kata yang tepat adalah disiplin.

Developer team dalam XP harus mempunyai kedisiplinan

(keberanian) dalam merancang kebutuhan sekarang, mengenali

kebutuhan di masa yang akan datang yang mungkin akan

berubah secara drastis, sehingga menuntut untuk merubah

perancangan bahkan source code.

Page 9: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

18

e. Menghargai (respect)

Setiap anggota developer team memiliki nilai yang harus

dihargai oleh sesama anggota dan juga user dalam

pengembangan software tersebut. Ketika telah mencapai

keberhasilan dalam mengembangkan software, maka team akan

menghargai pula proses XP itu sendiri.

Terdapat 4 (empat) tahapan utama dalam perancangan

menggunakan XP berdasarkan Pressman (2010), yaitu:

1. Planning

Pada tahapan ini, developer team dimulai dengan

mengumpulkan persyaratan (requirement) yang memungkinkan

team mengerti tentang teknikal yang diperlukan dalam

pengembangan software. Kemudian team mulai melakukan

penyusunan user stories untuk menggambarkan output apa yang

diperlukan, fitur, dan kegunaan software yang akan dibuat.

Setiap story diberikan nilai dan diurutkan oleh user.

Developer kemudian menentukan waktu yang dikerjakan pada

setiap story ketika terdapat story yang membutuhkan waktu lebih

dari tiga minggu, user diminta untuk membagi story ke beberapa

bagian yang lebih sederhana.

Saat developer mengerjakan, user dapat menambahkan

story baru, mengubah nilai story bahkan menghapusnya. XP

team kemudian mempertimbangkan kembali dan melakukan

modifikasi sesuai rencananya.

Page 10: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

19

2. Design

XP menerapkan prinsip KIS (Keep It Simple) dalam

desain atau perancangan. Desain yang digunakan menerapkan

implementasi dari story yang telah dibuat tanpa ditambahkan

atau dikurangi.

3. Coding

Pada tahapan ini, XP mendukung adanya proses

refactoring. Refactoring merupakan proses untuk mengubah

software system dimana struktur code berubah dan menjadi

sederhana namun hasil akhir yang ditampilkan tetap sama.

Setelah story selesai disusun dan tahap awal perancangan telah

selesai, developer team sebaiknya tidak langsung coding

melainkan melakukan testing dan evaluasi pada setiap story.

Setelah melewati testing, developer mulai melakukan coding.

4. Testing

Pada tahap ini, program yang telah selesai akan dilakukan

pengujian code dengan menggunakan unit test yang telah tersedia

dan dilakukan pengujian dengan menggunakan acceptance test

yang berasal dari user.

Page 11: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

20

Gambar 2.2 Extreme Programming

(Sumber: Pressman, Roger S., Software Engineering: A

Practitioner’s Approach 7th edition, 2010)

1.1.3 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah satu kumpulan aturan atau

konvensi pemodelan yang digunakan untuk menentukan atau

menggambarkan sebuah sistem software yang berhubungan dengan objek.

Pada umumnya UML digunakan untuk menentukan, menggambarkan,

merancang dan mendokumentasikan model, deskripsi dari software atau

sistem perangkat lunak (Whitten dan Bentley, 2007).

1.1.3.1 Class Diagram

Class Diagram merupakan suatu gambaran objek-objek yang

menyusun sebuah sistem dan hubungan antar class tersebut (Whitten

dan Bentley, 2007).

Page 12: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

21

Suatu class diagram terdapat 3 (tiga) bagian, yaitu:

1. Class Name

Merupakan nama dari suatu class yang digunakan sebagai

pembeda dari suatu objek.

2. Class Attributes

Merupakan atribut-atribut atau data yang ada pada class

tersebut.

3. Class Behaviors

Merupakan fungsi atau operasi yang dimiliki oleh class

tersebut.

Gambar 2.3 Struktur Class

Dalam suatu sistem, satu class dapat memiliki hubungan

dengan class lain. Hubungan yang terjadi antar class tersebut, yaitu:

1. Asosiasi

Asosiasi merupakan hubungan antara class yang satu dengan

class yang lain. Hubungan antar class tersebut dapat dibedakan

menjadi 2 (dua) jenis, yaitu:

Page 13: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

22

a. Bi-directional

Pada hubungan bi-directional, masing-masing class memiliki

peran dalam hubungan tersebut.

Gambar 2.4 Contoh Bi-directional

b. Uni-directional

Pada hubungan uni-directional, hanya satu class yang

memiliki peran dalam hubungan tersebut.

Gambar 2.5 Contoh Uni-directional

2. Agregasi

Agregasi merupakan hubungan antar 2 (dua) class dimana satu

class merupakan bagian dari class lain. Pada hubungan agregasi

ini, jika suatu class yang menjadi bagian dari class yang lain

tidak akan dihapus meskipun class yang memilikinya dihapus.

Gambar 2.6 Contoh Agregasi

Page 14: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

23

User

Order

3. Komposisi

Komposisi merupakan hubungan yang lebih erat antar 2 (dua)

class dibandingkan dengan agregasi. Pada hubungan ini, suatu

class yang menjadi bagian class yang lain akan terhapus ketika

class yang memilikinya dihapus.

Gambar 2.7 Contoh Komposisi

4. Generalisasi

Generalisasi atau sering disebut sebagai inheritance. Generalisasi

merupakan hubungan antara super class dan sub class. Semua

sub class akan memiliki apa yang dimiliki super class, tetapi

super class tidak memiliki apa yang hanya dimiliki oleh sub

class.

Gambar 2.8 Contoh Generalisasi

Page 15: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

24

5. Visibility

Visibility digunakan untuk menentukan bagaimana suatu class

lain menggunakan attributes atau operation dari suatu class.

Tabel 2.1 Tabel Penjelasan Visibility

Visibility Simbol Deskripsi

Public + Visible pada semua class yang

berhubungan

Protected # Visible pada super class dan sub class

Private - Visible pada terhadap super class

Package ~ Visible pada semua class dalam satu paket

6. Multiplicity

Multiplicity mengindikasikan berapa banyak objek dari suatu

class yang terhubung dengan class lain.

Tabel 2.2 Tabel Penjelasan Multiplicity

Multiplicity Deskripsi

0 Nol

1 Satu (bisa tidak ditulis)

* Banyak

0..* Nol atau lebih

1..* Satu atau lebih

0..1 Nol atau satu

Page 16: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

25

1.1.3.2 Use Case Diagram

Berdasarkan Whitten dan Bentley (2007), use case diagram

merupakan diagram yang menjelaskan interaksi antara sistem, sistem

eksternal dan user. Use case menggambarkan siapa yang

menggunakan sistem dan dengan cara apa user berinteraksi dengan

sistem.

1. Use Case

Menjelaskan atau mengidentifikasi suatu fungsi sistem

yang akan dikerjakan oleh user. Use case biasanya digambarkan

dalam bentuk elips dan nama dari use case bisa ditulis di atas,

bawah maupun di dalam elips (Whitten dan Bentley, 2007).

Gambar 2.9 Contoh Use case

2. Aktor

Segala sesuatu yang berinteraksi dengan sistem seperti

user, organisasi maupun sistem eksternal (Whitten dan Bentley,

2007).

Gambar 2.10 Contoh Aktor

Page 17: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

26

user

transfer*

*

System

3. System Boundary

System boundary merupakan suatu batas pemisah antara

suatu sistem dengan daerah di luar sistem. System boundary

menentukan konfigurasi, ruang lingkup dan fungsi sistem

(Whitten dan Bentley, 2007).

Gambar 2.11 Contoh system boundary

4. Relationship

Berdasarkan Whitten dan Bentley (2007), terdapat

beberapa hubungan antar dua simbol di dalam use case diagram,

yaitu:

a. Associations

Menggambarkan adanya hubungan antara aktor dan

use case. Hubungan yang terjadi dapat digambarkan dengan

simbol garis dengan atau tanpa anak panah.

Page 18: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

27

Simbol garis dengan anak panah menunjukan aktor

mengindikasikan use case. Simbol garis tanpa anak panah

menunjukan hubungan antara use case dengan aktor

penerima.

Gambar 2.12 Contoh Association Relationship

b. Extends

Menggambarkan bahwa suatu use case merupakan

hasil extends dari suatu use case awal dan memiliki fungsi

tertentu dari use case awal.

Gambar 2.13 Contoh Extends Relationship

Page 19: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

28

c. Uses (Includes)

Menggambarkan bahwa terdapat dua atau lebih use

case menjalankan fungsi atau langkah yang sama. Langkah-

langkah yang sama tersebut akan membentuk suatu use case

baru yang disebut juga use case abstrak. Use case abstrak

digunakan untuk mengurangi redundansi dalam use case

diagram.

Mengatur Playlist

Play

Pause

Volume

«uses»

«uses»

«uses»

Gambar 2.14 Contoh Uses Relationship

d. Depends On

Menggambarkan bahwa suatu use case yang saling

berhubungan tidak bisa dilakukan jika use case tertentu

belum dilakukan.

Gambar 2.15 Contoh Depends On Relationship

Page 20: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

29

e. Inheritance

Menggambarkan bahwa terdapat suatu aktor abstrak

yang berhubungan dengan dua atau lebih aktor dalam sistem.

Aktor yang berhubungan memiliki langkah yang dimiliki

aktor abstrak. Aktor abstrak digunakan untuk

menyederhanakan suatu rancangan diagram.

Gambar 2.16 Contoh Inheritance Relationship

1.1.3.3 Use Case Narrative

Use case narrative merupakan suatu penjelasan berupa teks

tentang use case dan menjelaskan bagaimana aktor berinteraksi

dengan sistem dalam menjalankan tugas (Whitten dan Bentley,

2007).

Tabel 2.3 Contoh Use Case Narrative

Use Case Melakukan Log In

Actor User

User

Admin Casier

Melihat data

Mengubah data

mencatat transaksi

<<inherits>><<inherits>>

**

*

*

* *

Page 21: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

30

Description Use case ini mendeskripsikan proses melakukan

log in pada aplikasi

Precondition User telah melakukan proses instalasi aplikasi

pada smartphone kemudian menjalankan

aplikasi tersebut

Flow of Events User memilih tombol log in pada menu utama

pada aplikasi kemudian mengisi data-data yang

diperlukan seperti username dan password

Postcondition User berhasil log in pada aplikasi

2.1.3.4 Sequence Diagram

Berdasarkan Whitten dan Bentley (2007), sequence diagram

merupakan suatu model logika dari use case dengan menggambarkan

interaksi antara aktor dan sistem. Terdapat beberapa elemen yang

ada pada sequence diagram, yaitu:

a. Aktor (Actor)

Simbol yang digunakan untuk mewakili user dalam berinteraksi

dengan suatu objek.

Gambar 2.17 Aktor

Page 22: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

31

b. Object

Simbol yang digunakan untuk mewakili kelas-kelas dalam class

diagram.

Gambar 2.18 Object

c. Lifelines

Simbol yang digunakan untuk menunjukkan suatu life dari suatu

objek.

Gambar 2.19 Lifelines

d. Activation bars

Simbol yang digunakan untuk menggambarkan lamanya suatu

objek digunakan.

Page 23: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

32

Gambar 2.20 Activation bars

e. Input messages

Simbol yang digunakan untuk menyampaikan method dari suatu

objek.

Gambar 2.21 Input messages

f. Output messages

Simbol yang digunakan untuk menyampaikan jawaban dari

method yang disampaikan dari suatu objek.

Gambar 2.22 Output messages

g. Self-call

Simbol yang digunakan untuk menyampaikan method ke objek

itu sendiri.

Page 24: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

33

Gambar 2.23 Self-call

h. Frame

Simbol yang digunakan untuk menandakan area pada diagram

yang mengalami perulangan (loop), mengalami seleksi

(alternate) dan memiliki suatu ketentuan (optional).

Gambar 2.24 Frame

2.1.3.5 Activity Diagram

Berdasarkan Whitten dan Bentley (2007), activity diagram

merupakan suatu gambaran alur dari sebuah proses bisnis, langkah

pada suatu use case dan logika dari suatu objek. Terdapat beberapa

elemen yang digunakan pada activity diagram, yaitu:

1. Initial node

Simbol yang digunakan untuk menandakan dimulainya suatu

proses.

Gambar 2.25 Initial node

Loop

Page 25: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

34

2. Actions

Simbol yang digunakan untuk menunjukkan suatu aktivitas.

Gambar 2.26 Actions

3. Flow

Simbol yang digunakan untuk menunjukkan jalur dari suatu

aktivitas ke aktivitas lain.

Gambar 2.27 Flow

4. Decision dan Merge

Simbol yang digunakan untuk menunjukkan suatu keadaan

kondisional.

a. Decision

Kondisi untuk memilih salah satu jalur aktivitas.

b. Merge

Kondisi bergabungnya jalur aktivitas yang dipisahkan oleh

decision.

Gambar 2.28 Decision dan Merge

Page 26: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

35

5. Fork dan Join

Simbol yang digunakan untuk menunjukkan adanya keadaan

paralel.

a. Fork

Menunjukkan adanya dua atau lebih actions yang

berlangsung secara bersamaan.

b. Join

Menunjukkan proses paralel yang sudah berakhir.

Gambar 2.29 Fork dan Join

6. Activity final

Simbol yang digunakan untuk menandakan berakhirnya suatu

proses.

Gambar 2.30 Activity final

2.1.4 Web Server

Web server merupakan sebuah web yang menyediakan fasilitas untuk

menyimpan dan mengakses informasi dan layanan. User dapat mengaksesnya

melalui browser.

Page 27: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

36

Web server juga merupakan sebuah perangkat lunak dalam server

yang berfungsi menerima permintaan(request) berupa halaman web melalui

HTTP atau HTTPS dari client yang dikenal dengan browser web dan

mengirimkan kembali (response) hasilnya dalam bentuk halaman-halaman

web yang umumnya berbentuk dokumen HTML (Eaglestone dan Ridley,

2001).

2.1.5 PHP Hypertext Preprocessor (PHP)

PHP merupakan sebuah bahasa pemrograman untuk membangun

website yang dinamis dan interaktif. Secara umum, program PHP banyak

digunakan pada web server dan menampilkan halaman web sesuai

permintaan user.

Salah satu kelebihan PHP adalah PHP dapat diimplementasikan

(embed) dengan HTML. PHP banyak digunakan pada Internet Service

Providers (ISPs) serta perusahaan web hosting sehingga banyak developer

menggunakannya saat ini (Doyle, 2010).

Page 28: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

37

2.1.6 Database

Database merupakan kumpulan data yang berelasi secara logika

beserta deskripsinya, dirancang untuk memberikan informasi yang

dibutuhkan oleh suatu organisasi. Itu berarti bahwa database merupakan

tempat penyimpanan data yang besar dimana data tersebut dapat digunakan

oleh banyak pengguna secara bersamaan. Seluruh item database tidak hanya

dimiliki oleh satu departemen melainkan dapat digunakan sebagai sumber

daya bersama dalam suatu perusahaan (Connolly dan Begg, 2010).

2.1.7 Teknologi Mobile Phone

Mobile phone merupakan sebuah portable device yang

memungkinkan user untuk dapat melakukan serta menerima panggilan

telepon melalui gelombang radio atau transmisi satelit. Menurut Fling (2009),

mobile phone berkembang dengan pesat di pasar mobile global.

Mobile phone pada awalnya memiliki ukuran yang besar dan antena

yang panjang, namun seiring dengan berkembangnya teknologi, mobile

phone saat ini memiliki ukuran yang lebih kecil dibanding pendahulunya

(seperti pada gambar 2.31 dilihat dari kiri ke kanan).

Page 29: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

38

Gambar 2.31 Perkembangan Mobile Phone

(Sumber : http://www.mobilephonemuseum.ie/phones.html)

Saat ini mobile phone yang sudah berkembang sangat pesat disebut

dengan smartphone yang menambahkan kemampuan kepada user selain

melakukan dan menerima panggilan, user dapat melakukan browsing. Selain

itu, user dapat menambahkan aplikasi yang diinginkan pada smartphone

seperti aplikasi untuk memutar musik, permainan dan lain-lain.

2.1.7.1 Aplikasi Mobile

Aplikasi mobile adalah aplikasi yang berjalan pada perangkat

mobile seperti smartphone. Aplikasi mobile mempunyai tugas atau

fungsi tertentu pada mobile phone. Aplikasi mobile seperti Short

Message Service (SMS), Multimedia Message Services (MMS),

browser, dan music player biasanya telah terinstal pada mobile

phone.

Page 30: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

39

User dapat menambahkan aplikasi tambahan seperti video,

permainan dan social media dengan melakukan proses mengunduh

dan melakukan instalasi pada mobile phone user (Mobile

Application Association, 2008).

2.1.7.2 Desain Interface Mobile

Menurut Stark (2012), terdapat 10 (sepuluh) prinsip dalam

merancang interface pada mobile yang serupa dengan interface pada

desktop dan memperlihatkan sisi unik pada mobile, yaitu :

1. Mobile mindset

Karena perbedaan antara mobile dan desktop, sebelum

mulai merancang interface sebaiknya developer terlebih dahulu

mengubah mindset atau pola pikir ke arah mobile.

a. Fokus

Fokus pada fitur aplikasi yang akan dibuat dan disiplin diri

untuk dapat membuat fitur yang terbaik.

b. Unik

Mengetahui apa yang membuat aplikasi yang dibuat berbeda

dengan aplikasi yang telah ada.

c. Menawan

Mobile merupakan perangkat yang pribadi. Aplikasi yang

ramah, dapat diandalkan, dan menyenangkan membuat user

tertarik untuk menggunakannya pada perangkat mobile.

Page 31: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

40

d. Perhatian

Menciptakan sebuah aplikasi yang terbaik yaitu aplikasi

berdasarkan kebutuhan user. Perhatian terhadap kebutuhan

user, akan memberikan pengalaman yang berharga bagi

developer.

2. Mobile contexts

Pada mobile contexts, developer harus menempatkan

posisi dalam kondisi user. Terdapat 3 (tiga) kondisi user yang

harus diperhatikan yaitu:

a. Bosan (bored)

Saat user menggunakan smartphone di saat bersantai dan

berbaring di sofa diperlukan suatu aplikasi yang

menyenangkan dan tidak membuat user bosan walaupun

digunakan dalam waktu yang cukup lama.

b. Sibuk (busy)

Kecepatan aplikasi dalam mengerjakan tugas yang sederhana

dan dapat diandalkan serta dapat dilakukan dengan satu

tangan sangat diperlukan ketika seseorang sedang dalam

keadaan sibuk.

Page 32: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

41

c. Hilang (lost)

Kategori ini digolongkan kepada user yang sedang

melakukan perjalanan jauh dengan lingkungan yang tidak

diketahui atau user yang tinggal dalam lingkungan yang

familiar tetapi lebih tertarik pada suatu hal yang tidak

diketahui. Dalam hal ini berarti daya tahan baterai merupakan

hal yang penting. Oleh karena itu, aplikasi harus dapat

menghemat baterai dengan adanya offline support.

3. Global guidelines

Setiap aplikasi yang berbeda memiliki tampilan, teknik,

dan desainnya masing-masing. Namun perangkat mobile

terutama yang berukuran saku memiliki beberapa panduan global

untuk mengatasinya, yaitu :

a. Responsiveness

Respons merupakan suatu hal yang penting dalam suatu

aplikasi. Suatu aplikasi harus memberikan respons pada

tindakan yang dilakukan user. Jika operasi suatu aplikasi

memakan waktu yang lebih lama, pastikan user mengetahui

bahwa aplikasi sedang bekerja.

b. Polish

Pada tahapan ini developer perlu memberi banyak perhatian

pada desain antarmuka sehingga mendapatkan detail atau

rincian kecil yang sempurna dan dapat dihargai.

Page 33: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

42

c. Thumbs

Jari tangan merupakan hal yang diutamakan pada layar

sentuh suatu mobile phone karena jari biasa digunakan untuk

berinteraksi dengan layar. User terbiasa memakai kedua

tangan untuk memegang smartphone dan ibu jari merupakan

jari yang biasa digunakan user untuk mengetik. Oleh karena

itu, bagi developer ibu jari merupakan suatu default dalam

mendesain aplikasi pada layar sentuh.

d. Targets

Perhatikan ibu jari user yang berperan sebagai perantara

untuk berinteraksi dengan layar mobile. Target suatu aplikasi

harus memperhatikan ukuran dari setiap content.

Developer harus memperhatikan penempatan antar content

beserta hubungannya. Merupakan suatu ide yang buruk

ketika penempatan tombol backspace bersebelahan dengan

tombol send pada fitur aplikasi Short Message Service

(SMS).

e. Content

Revolusi dalam layar sentuh membiarkan user berinteraksi

langsung dengan content pada layar mobile. Dalam

mengoptimalisasi content pada layar sentuh, letakkan content

pada bagian tengah layar dan minimalisasi penggunaan tabs,

tombol, checkboxes, dan lain-lainnya.

Page 34: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

43

f. Controls

Ketika diperlukan sebuah menu untuk melakukan

pengaturan, cobalah untuk menaruh menu tersebut dibawah

content atau di bagian bawah display. Jika tidak, user tidak

dapat melihat perubahan yang terjadi pada content atau

display saat menekan menu tersebut.

g. Scrolling

Hindari penggunaan scrolling karena penggunaan layar yang

solid membuat user merasa dapat diandalkan dan dapat

diprediksi. Namun scrolling juga dapat digunakan ketika

ingin memberi lebih banyak konten.

4. Navigation models

Saat ini terdapat banyak model navigasi pada aplikasi

mobile, pilihlah model navigasi yang terbaik untuk aplikasi yang

akan dibuat.

a. None

Aplikasi hanya menggunakan satu layar atau layar tunggal,

misalnya laporan cuaca.

b. Tab bar

Berupa 3 (tiga) sampai 6 (enam) konten area yang berbeda,

misalnya Twitter.

c. Drill down

Berupa daftar (list) dan konten detail hierarki, contohnya

aplikasi setting pada iPhone.

Page 35: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

44

5. User input

Terlalu banyak mengetik akan membuat user bosan,

bahkan pada device yang bagus sekalipun. Oleh karena itu,

berikut beberapa hal yang harus diperhatikan mengenai user

input.

a. Terdapat sekitar 1 (satu) lusin variasi keyboard dalam

smartphones (text, number, email, URL, dan lain-lain).

Pertimbangkan jenis input fields yang akan digunakan

sehingga tepat guna dan tahap pemasukkan data dapat

berjalan lebih cepat.

b. Auto-correct diperlukan namun pergunakan sesuai dengan

tipe input fields dan auto entry yang digunakan (seperti auto-

correct, auto-capitalisation dan auto-complete).

c. Jika aplikasi yang dikembangkan memerlukan banyak

ketikan, pastikan bahwa aplikasi tersebut mendukung

landscape orientation.

6. Gestures

Aspek terpenting dalam permukaan atau layar sentuh

adalah mendukung adanya interaksi menggunakan gestures.

Keberadaan gestures tidaklah terlihat. Oleh karena itu,

penggunaan gestures harus diinformasikan kepada user.

Page 36: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

45

Penggunaan gestures juga harus disesuaikan dengan

kondisi user misalnya pada multi-touch gestures membutuhkan

dua tangan untuk beroperasi yang biasanya digunakan untuk

melakukan zoom pada peta di iOS namun tidaklah efektif jika

user sedang memegang kopi pada satu tangan. Android

mengatasi masalah ini dengan menyediakan tombol zoom yang

dapat ditekan menggunakan satu tangan.

7. Orientation

Beberapa hal yang harus diperhatikan mengenai

orientation pada aplikasi yang dikembangkan, yaitu :

a. Potrait orientation merupakan yang paling baik dan optimal

sampai saat ini.

b. Jika aplikasi yang dibuat membuat user lebih banyak

mengetik (typing), maka aplikasi harus mendukung

landscape orientation sehingga user dapat mengetik

menggunakan keyboard yang lebih besar.

c. Pertimbangkan untuk mengunci orientation pada aplikasi,

pilih orientasi yang terbaik untuk aplikasi yang

dikembangkan.

Page 37: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

46

8. Communications

Desain interface merupakan suatu bagian yang sangat

penting pada sebuah aplikasi untuk dapat melakukan komunikasi

dengan user. Bentuk-bentuk komunikasi yang dapat dilakukan

melalui desain interface yaitu feedback, modal alerts, dan

confirmation.

a. Pemberian umpan balik (feedback)

User memerlukan umpan balik ketika melakukan

aksi sehingga user tidak menganggap bahwa aplikasi yang

digunakan tidak berfungsi dengan baik atau merasa bahwa

user salah menekan tombol.

Umpan balik dapat berupa getaran atau visual

(memberi warna pada pilihan yang ditekan oleh user). Jika

user melakukan request yang mengambil waktu cukup lama,

pergunakan spinner ataupun progress bar sehingga

menunjukkan bahwa aplikasi tetap bekerja.

b. Modal alerts

Modal alerts bersifat mendesak dan mengganggu

sehingga alerts digunakan ketika ada sesuatu yang benar-

benar salah. Penggunaan alerts harus diperhatikan dalam hal

frekuensi intensitasnya dan pemakaian bahasa yang

meyakinkan dan ramah. Alerts sebaiknya tidak digunakan

hanya untuk memberikan informasi.

Page 38: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

47

c. Konfirmasi (confirmation)

Konfirmasi sifatnya tidak mengganggu seperti alerts.

Pergunakan kalimat yang singkat dan langsung kepada

intinya ketika ingin mendapatkan konfirmasi dari user seperti

“Anda yakin akan menghapus dokumen ini?”. Serta pakailah

pilihan yang tepat dalam dialog untuk menghindari user

melakukan tindakan destruktif secara tidak sengaja.

9. Launching

Ketika user menggunakan aplikasi yang sebelumnya

pernah digunakannya, kembalikan operasi di activity mana user

terakhir menutup aplikasi. Hal ini bertujuan agar memberikan

ilusi kecepatan dalam memberikan respons terhadap aplikasi

10. First impressions

Kesan pertama saat sebuah aplikasi dijalankan

mempunyai peran yang sangat penting dalam penilaian oleh user.

Apabila user mengalami kesulitan dalam mencoba aplikasi yang

diinstal maka user mungkin segera menghapus aplikasi tersebut.

Jika suatu aplikasi mempunyai fungsi yang kompleks maka dapat

ditambahkan bantuan (help) pada menu info agar user dapat lebih

mudah dalam menggunakan dan memahami aplikasi.

Page 39: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

48

Penggunaan icon dalam sebuah aplikasi juga memberikan

kesan pertama bagi user. Penggunaan icon pada aplikasi yang

dikembangkan harus menarik dan kontras dibandingkan dengan

icon lainnya yang terdapat pada smartphone user. Icon tersebut

harus dapat menggambarkan fungsi dari aplikasi.

2.2 Teori Khusus

Teori-teori yang bersifat khusus yang digunakan dalam merancang aplikasi.

Teori-teori yang digunakan meliputi teori Android, eclipse, Android Development

Tools (ADT), Android Software Development Kit (SDK), SQLite, socket

programming, pattern recognition, Location Based Services (LBS), dan Wireless

Fidelity (Wi-Fi).

2.2.1 Android

Berdasarkan pernyataan Lee (2012), Android merupakan sebuah

sistem operasi berbasis Linux yang telah yang telah mengalami perubahan.

Android pertama kali dibuat dan dikembangkan oleh sebuah perusahaan

bernama Android Inc. Kemudian pada tahun 2005, Google membeli Android

dan mengambil alih pengembangan sistem operasi Android tersebut.

Berdasarkan pernyataan Murphy (2010), Android memiliki beberapa

fitur yang dapat membantu untuk mengembangkan aplikasi, yaitu:

Page 40: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

49

1. Activities

Susunan utama pada tampilan user adalah aktivitas. Suatu activity akan

menyajikan user interface (UI) kepada pengguna sehingga pengguna

dapat melakukan interaksi. Tujuan dan desain aplikasi mempengaruhi

banyaknya activity pada aplikasi Android.

2. Content Providers

Menyediakan sebuah tingkatan abstraksi untuk data-data yang disimpan

pada device yang dapat diakses berbagai aplikasi.

3. Services

Services merupakan suatu bagian proses yang dapat tetap berjalan pada

background jika diinginkan dan bersifat independent dengan activity

lainnya.

4. Intents

Intents merupakan pesan sistem yang beroperasi di dalam device,

memberi informasi pada aplikasi mengenai bermacam-macam kejadian,

mulai dari perubahan kondisi hardware (sebuah memory card

dimasukkan ke device), sebuah data baru masuk (ada pesan singkat

masuk), hingga ke respons suatu aplikasi (sebuah activity dijalankan dari

menu utama).

Page 41: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

50

2.2.2 Eclipse

Eclipse merupakan suatu aplikasi software terbuka atau open source

yang berfokus pada pembangunan sebuah platform pengembangan terbuka,

yang terdiri dari frameworks yang telah dikembangkan, tools dan runtimes

untuk membangun, menyebarkan dan mengelola dalam siklus software.

Eclipse adalah sebuah Integrated Development Enviroment (IDE)

untuk mengembangkan suatu software. IDE adalah suatu software yang

memiliki fitur atau utilitas yang diperlukan dalam membangun suatu

software. Eclipse dapat dijalankan di semua platform dan mendukung

berbagai macam bahasa pemrograman (Anonim2, 2012).

2.2.3 Android Development Tools

Android Development Tools (ADT) adalah suatu plugin yang

digunakan IDE Eclipse untuk memberikan kemudahan user dalam

mengembangan suatu aplikasi Android. Dengan menggunakan ADT, user

dapat membuat aplikasi project Android, membuat Graphic User Interface

(GUI) aplikasi, membuat penambahan package Android (.apk) yang

digunakan untuk mendistribusikan aplikasi Android (Anonim3, 2012).

2.2.4 Android Software Development Kit (SDK)

Android SDK merupakan tools Application Programming Interface

(API) yang diperlukan ketika memulai mengembangkan aplikasi Android

menggunakan bahasa pemrograman Java.

Page 42: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

51

Terdapat beberapa jenis paket berbeda yang telah tersedia pada

Android SDK (Anonim4, 2012), yaitu:

a. SDK Tools

Merupakan tools untuk debugging dan testing, ditambah dengan proses

lain yang diperlukan untuk mengembangkan sebuah aplikasi.

b. SDK Platform-tools

Tools ini mendukung fitur terbaru dari Android platform.

c. Documentation

Merupakan dokumentasi offline yang terbaru untuk Android platform

API.

d. SDK Platform

Pada setiap versi Android terdapat satu SDK platform yang tersedia yaitu

Android.jar yang sepenuhnya kompatibel dengan Android library.

Developer harus menentukan SDK platform yang digunakan untuk

membuat sebuah aplikasi.

e. System Images

Emulator android memerlukan gambar sistem untuk beroperasi.

Developer harus selalu menguji aplikasi pada versi terbaru dari android

serta menggunakan emulator dengan gambar sistem terbaru untuk

mendapatkan hasil yang terbaik.

f. Source for Android SDK

Sebuah salinan (copy) source code dari Android platform yang berguna

untuk membantu developer saat membuat aplikasi.

Page 43: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

52

g. Samples for SDK

Merupakan kumpulan contoh aplikasi yang menunjukkan berbagai

macam API platform. Hal ini merupakan sumber daya yang luar biasa

untuk menelurusi application code.

h. Google APIs

SDK add-on yang menyediakan sebuah platform yang dapat digunakan

untuk mengembangkan sebuah aplikasi khusus menggunakan Google

API dan gambar sistem untuk emulator sehingga dapat menguji aplikasi

yang dibuat.

i. Android Support

Menyediakan static libraries yang termasuk dalam sumber-sumber

aplikasi developer untuk menggunakan API yang tidak tersedia dalam

standard platform.

j. Google Play Billing

Menyediakan static libraries dan contoh yang mengizinkan user untuk

mengintegrasikan layanan penagihan (billing) pada aplikasi yang dibuat

ketika dilakukan distribusi melalui Google Play.

k. Google Play Licensing

Menyediakan static libraries dan contoh yang mengizinkan user untuk

menampilkan license verification pada aplikasi yang dibuat ketika

dilakukan distribusi melalui Google Play.

Page 44: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

53

2.2.5 SQLite

SQLite merupakan salah satu software yang embedded dengan SQL

database. Namun tidak seperti SQL database lainnya, SQLite tidak

melakukan prosesnya pada server melainkan SQLite membaca dan menulis

database files pada disk secara langsung. Penggunaan external library pada

SQLite sangat minimal sehingga SQLite sangat sesuai untuk digunakan

secara embedded dengan device. SQL merupakan library yang rapi dan

memiliki size yang dapat lebih kecil dari 350 Kb (disesuaikan dengan target

platform yang digunakan) (Anonim5, 2012).

2.2.6 Socket Programming

Berdasarkan Calvert dan Donahoo (2008), socket merupakan sebuah

abstraksi dimana aplikasi dapat menerima dan mengirim data. Socket

memungkinkan aplikasi masuk dalam suatu jaringan dan berkomunikasi

dengan aplikasi lainnya dalam jaringan yang sama. Informasi yang tertulis

pada socket melalui aplikasi sebuah device dapat dibaca oleh aplikasi pada

device yang berbeda dan sebaliknya.

Page 45: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

54

Protokol yang biasa digunakan yaitu TCP/IP. Terdapat 2 (dua) tipe

utama pada TCP/IP socket yaitu stream sockets dan datagram sockets.

Stream sockets menggunakan Transmission Control Protocol (TCP) sebagai

end-to-end protocol dengan demikian stream sockets dapat memberikan

layanan byte-stream handal karena TCP dirancang untuk mendeteksi serta

melakukan recovery terhadap kehilangan (losses), duplikasi, serta kesalahan

lainnya yang dapat terjadi dalam proses pengiriman. Datagram sockets

menggunakan User Datagram Protocol (UDP) yang dapat memberikan

usaha terbaik dalam pelayanan datagram sehingga aplikasi dapat digunakan

untuk mengirim pesan individual mencapai 65.500 bytes.

2.2.7 Pattern Recognition

Berdasarkan pernyataan Theodoridis dan Koutroumbas (2009),

pattern recognition merupakan sebuah disiplin ilmu yang bertujuan untuk

mengelompokkan objek-objek dalam beberapa kategori atau classes. Objek

tersebut dapat berupa gambar, gelombang sinyal atau tipe lainnya yang perlu

diklasifikasi tergantung dari aplikasinya.

Character recognition merupakan salah satu bagian dari pattern

recognition dengan tujuan utama mengotomatisasi dan mengendalikan

informasi.

Page 46: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

55

Saat ini Optical Character Recognition (OCR) merupakan salah satu

teknologi pattern recognition yang paling dikenal. Sistem dari sebuah OCR

terdiri dari sebuah sumber cahaya, lensa pengamatan, pengirim data, dan

sebuah detektor cahaya. Detektor cahaya menganalisis variasi dari intensitas

cahaya yang diterima dan menerjemahkannya sebagai angka yang kemudian

membentuk susunan gambar. Setelah itu digunakan teknik-teknik

pemrosesan gambar untuk membaca garis dan pola-pola dari karakter.

Aplikasi pattern recognition kemudian menganalisis garis dan pola-pola

karakter itu apakah sesuai dengan suatu huruf, angka, atau tanda khusus dan

apabila sesuai, aplikasi pattern recognition akan memberikan respons dari

pattern tersebut.

2.2.8 Location Based Services

Menurut Lee (2012), Location Based Services (LBS) merupakan

sebuah teknologi yang dapat melacak dimana posisi user dan juga dapat

dimanfaatkan untuk layanan-layanan lainnya, seperti mencari fasilitas-

fasilitas umum yang berada di sekitar user, mencari rute jalan tercepat

menuju suatu lokasi, dan juga melacak posisi device lainnya.

2.2.8.1 Komponen-Komponen Location Based Services (LBS)

Menurut Kuswaha yang mengutip pernyataan Schwinger,

Grin, Prll1, dan Retschitzegger (2011), untuk dapat menggunakan

LBS dibutuhkan beberapa elemen infrastruktur termasuk smartphone,

aplikasi, jaringan komunikasi, komponen posisi, dan layanan server.

Page 47: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

56

Smartphone merupakan sebuah alat yang digunakan oleh user

untuk mengakses layanan LBS, mengirimkan request dan menerima

respond.

Aplikasi merupakan interface atau tampilan untuk user

mengoperasikan LBS. Aplikasi ini biasanya dibuat oleh penyedia-

penyedia aplikasi dan dapat diunduh secara langsung melalui

smartphone.

Jaringan komunikasi menunjuk pada jaringan mobile yang

mana mengirimkan request layanan ke penyedia layanan, dan

mengirimkan kembali respond layanan yang telah diminta kepada

user. Saat ini Global System for Mobile (GSM) merupakan standar

umum yang paling banyak digunakan oleh berbagai smartphone di

seluruh dunia.

Komponen posisi dibutuhkan oleh aplikasi LBS untuk

menentukan posisi smartphone user. Sebagian besar aplikasi-aplikasi

LBS yang ada saat ini tidak memerlukan user untuk memasukkan

secara manual posisi user berada seperti memasukkan kode pos atau

nama jalan.

Penyedia layanan mengelola layanan server dengan

memproses request dari user yang masuk dan juga memberi respond

atas request dari user tersebut. Server menghitung dan

memperkirakan posisi, mencari rute, atau mencari informasi yang

spesifik berdasarkan posisi user.

Page 48: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

57

2.2.8.2 Proses Location Based Services (LBS)

Dalam proses yang terjadi pada LBS terdapat beberapa

tahapan. Pertama, user mengirimkan sebuah permintaan layanan

melalui aplikasi yang beroperasi pada smartphone (step 1).

Permintaan layanan, dengan informasi lokasi user saat ini yang

didapat dari komponen posisi (koordinat posisi) dikirim ke layanan

server melalui jaringan komunikasi mobile (step 2). Layanan server

kemudian meminta database geografis dan database lain yang

berhubungan untuk mendapatkan informasi yang diperlukan (step 3,

4). Terakhir, informasi yang diminta lalu dikirimkan ke smartphone

milik user melalui jaringan komunikasi mobile (step 5, 6) (Kuswaha,

2011).

Gambar 2.32 Proses dari LBS

(Sumber: Kushwaha, Amit., & Kushwaha, Vineet, Location Based

Services using Android Mobile, 2011)

Page 49: BAB 2 LANDASAN TEORI Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00158-IF Bab2001.pdf · Berikut merupakan lapisan atau layer dari sebuah rekayasa

58

2.2.9 Wireless Fidelity

Menurut Varma (2012), Wireless Fidelity (Wi-Fi) merupakan semua

tipe dari Institute Electrical and Electronics Engineers (IEEE) 802.11

Wireless Local Area Network (WLAN).

WLAN memperluas jangkauan jaringan Local Area Network (LAN)

dengan menyediakan koneksi wireless. Pada awalnya dirancang sebagai

pengganti kabel pada lingkungan perusahaan.

Terdapat 2 (dua) standar dominan dari WLAN, yaitu IEEE 802.11

dan High Performance Radio LAN (HiperLAN). IEEE 802.11 merupakan

bagian dari standar IEEE 802 yang termasuk standar dari LAN dan standar

Metropolitan Area Network (MAN). Standar IEEE 802.11 menentukan

protokol yang dibutuhkan secara over the air untuk mendukung jaringan

dalam sebuah local area. Standar IEEE 802.11 mendukung 2 (dua)

konfigurasi, yaitu ad hoc dan mode infrastruktur.