bab 2 tinjauan pustaka - binus librarylibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2013-1-00642-if...

66
11 BAB 2 TINJAUAN PUSTAKA Pada bab ini menjelaskan beberapa teori yang menjadi landasan teori yang digunakan dalam penyusunan skripsi dan pengembangan aplikasi. 2.1 Interaksi Manusia dan Komputer (IMK) Berikut penjelasan beberapa teori Interaksi Manusia dan Komputer yang digunakan dalam pengembangan aplikasi: 2.1.1 Pengertian Interaksi Manusia dan Komputer Menurut Shneiderman dan Plaisant (2010: 22) Human Computer Interaction (HCI) atau Interaksi Manusia dan Komputer (IMK) adalah disiplin ilmu yang mengimplementasikan pengalaman secara psikologi dengan sistem komputer interaktif untuk digunakan oleh manusia serta studi yang mempelajari fenomena besar yang berhubungan dengannya. 2.1.2 Perancangan User Interface Berdasarkan pendapat Shneiderman dan Plaisant (2010: 88-89) terdapat 8 (delapan) aturan yang digunakan untuk merancang user interface, yaitu: 1. Berusaha untuk konsistensi Konsisten di berbagai situasi baik dalam istilah-istilah yang digunakan pada setiap menu, pesan bantuan, dan dalam penggunaan tampilan seperti jenis tulisan, warna, dan layout. 2. Memenuhi kegunaan universal Mengenali dan mendesain tampilan berdasarkan kebutuhan user. Dengan menambahkan keterangan untuk novice user, memungkinkan expert user menggunakan shortcut dapat memperkaya tampilan layar dan meningkatkan kualitas sistem. 3. Memberikan umpan balik yang informatif Setiap tindakan yang dilakukan oleh pengguna harus mendapatkan umpan balik yang memudahkan pengguna dalam mengetahui akibat dari tindakannya. Misalnya muncul suatu pesan kesalahan ketika salah input.

Upload: others

Post on 29-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

11

BAB 2

TINJAUAN PUSTAKA

Pada bab ini menjelaskan beberapa teori yang menjadi landasan teori yang

digunakan dalam penyusunan skripsi dan pengembangan aplikasi.

2.1 Interaksi Manusia dan Komputer (IMK)

Berikut penjelasan beberapa teori Interaksi Manusia dan Komputer yang

digunakan dalam pengembangan aplikasi:

2.1.1 Pengertian Interaksi Manusia dan Komputer

Menurut Shneiderman dan Plaisant (2010: 22) Human Computer

Interaction (HCI) atau Interaksi Manusia dan Komputer (IMK) adalah

disiplin ilmu yang mengimplementasikan pengalaman secara

psikologi dengan sistem komputer interaktif untuk digunakan oleh

manusia serta studi yang mempelajari fenomena besar yang

berhubungan dengannya.

2.1.2 Perancangan User Interface

Berdasarkan pendapat Shneiderman dan Plaisant (2010: 88-89)

terdapat 8 (delapan) aturan yang digunakan untuk merancang user

interface, yaitu:

1. Berusaha untuk konsistensi

Konsisten di berbagai situasi baik dalam istilah-istilah yang

digunakan pada setiap menu, pesan bantuan, dan dalam

penggunaan tampilan seperti jenis tulisan, warna, dan layout.

2. Memenuhi kegunaan universal

Mengenali dan mendesain tampilan berdasarkan kebutuhan user.

Dengan menambahkan keterangan untuk novice user,

memungkinkan expert user menggunakan shortcut dapat

memperkaya tampilan layar dan meningkatkan kualitas sistem.

3. Memberikan umpan balik yang informatif

Setiap tindakan yang dilakukan oleh pengguna harus

mendapatkan umpan balik yang memudahkan pengguna dalam

mengetahui akibat dari tindakannya. Misalnya muncul suatu

pesan kesalahan ketika salah input.

Page 2: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Page 3: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Page 4: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Page 5: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

4. Merancang dialog untuk menghasilkan suatu penutupan

Kegiatan yang dilakukan pengguna dipisahkan menjadi 3 (tiga)

bagian yaitu bagian awal, tengah, dan akhir. Pada bagian akhir

pengguna harus mendapatkan umpan balik yang informatif yang

memudahkan pengguna dalam mengetahui dampak dari

tindakan yang telah dilakukan.

5. Memberikan penanganan kesalahan

Sistem akan memberikan suatu intruksi yang sederhana dan

mudah dimengerti kepada pengguna jika terjadi kesalahan yang

dilakukan.

6. Mudah kembali ke tindakan sebelumnya

Sistem menyediakan fungsi yang dapat mengembalikan keadaan

ke keadaan sebelum dilakukan kesalahan.

7. Mendukung tempat pengendalian internal

Pengguna menjadi pengendali sistem dan bukan sebaliknya. Jadi

peran pengguna dalam sistem adalah sebagai inisiator bukan

responden.

8. Mengurangi beban ingatan jangka pendek

Sistem yang dikembangkan berbentuk sederhana dan mudah

diingat karena ingatan manusia yang terbatas. Penyederhanaan

sistem misalnya menggabungkan tampilan-tampilan sejenis dan

memberikan pelatihan dengan jangka waktu yang cukup.

Selain itu menurut Shneiderman dan Plaisant (2010: 32),

terdapat juga 5 (Lima) faktor manusia terukur yang digunakan sebagai

pedoman dalam merancang antarmuka sistem, yaitu:

1. Waktu belajar

Waktu yang dibutuhkan seorang pengguna untuk mempelajari

menggunakan aplikasi dalam menyelesaikan tugas.

2. Kecepatan kinerja

Waktu yang dibutuhkan oleh pengguna aplikasi untuk

melakukan suatu tugas. Untuk mendapatkan kecepatan yang

baik dapat dilakukan dengan cara mengurangi kompleksitas

proses dalam aplikasi.

Page 6: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

3. Tingkat kesalahan pengguna

Seberapa banyaknya dan apa jenis kesalahan yang terjadi dalam

menggunakan aplikasi. Serta bagaimana penanganan sistem

untuk mengurangi kesalahan pengguna.

4. Daya ingat

Seberapa lama pengguna dapat mengingat akan sesuatu yang

telah dipelajari dalam menggunakan aplikasi dalam jangka

waktu tertentu.

5. Kepuasan subjektif

Seberapa besar ketertarikan pengguna aplikasi terhadap aspek –

aspek interface aplikasi tersebut. Hal ini dapat diukur dengan

melakukan wawancara kepada beberapa pengguna untuk

mengetahui tingkat kepuasan subjektif.

2.2 Desain Interface Mobile

Smartphone dan komputer desktop sangat berbeda. Smartphone memiliki

layar yang kecil, konektivitas intermittent, bandwidth rendah dan bertenaga

baterai. Sedangkan komputer desktop memiliki layar yang besar, konektivitas

handal, bandwidth tinggi dan plugged in. Dengan banyaknya perbedaan antara

smartphone dan desktop, desain untuk smartphone sangat berbeda dengan

desain pada desktop.

Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada

mobile terdapat 10 (sepuluh) prinsip desain untuk interface mobile:

1. Mobile Mindset

Dengan adanya perbedaan antara mobile dan desktop, ada

beberapa pola pikir untuk mobile:

a. Be focused

Aplikasi sebaiknya fokus pada suatu fitur karena dengan lebih

banyak fitur, tidak membuat aplikasi tersebut menjadi lebih

baik.

b. Be unique

Page 7: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Aplikasi yang dikembangkan memiliki suatu keunikan dan

kekuatan yang membedakan aplikasi tersebut dengan aplikasi

lainnya.

c. Be charming

Aplikasi yang dapat diandalkan, dan menyenangkan saat

digunakan, sehingga aplikasi tersebut banyak diminati dan

digunakan.

d. Be considerate

Aplikasi yang dikembangkan sebaiknya tidak hanya

menyenangkan pengguna saat menggunakannya, tetapi juga

sesuai dengan keinginan pengguna.

2. Mobile Contexts

Terdapat 3 (tiga) konteks utama pada mobile yang perlu

dipertimbangkan untuk mengetahui aplikasi yang pengguna inginkan:

a. Bored: aplikasi yang berkonteks hiburan.

b. Busy: aplikasi untuk menyelesaikan tugas dengan cepat.

c. Lost: aplikasi yang berkonteks informasi tempat.

3. Global Guidelines

Setiap aplikasi memiliki teknik pendekatan dan desain yang

berbeda-beda. Sifat yang merekat pada sebuah perangkat touchscreen

berukuran saku memiliki hal yang harus diperhatikan dalam

pengembangan aplikasi, yaitu:

a. Responsiveness

Jika pengguna melakukan sesuatu pada aplikasi, aplikasi perlu

menunjukkan jika aplikasi sedang beroperasi.

b. Polish

Pengembang harus memperhatikan detail desain aplikasi.

c. Thumbs

Page 8: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Dengan touchscreen interfaces, desain interfaces harus

disesuaikan karena banyak pengguna menggunakan ibu jari

untuk mengetik.

d. Targets

Dalam mendesain aplikasi yang akan menggunakan banyak

fungsi keyboard, pengembang sebaiknya mendesain penempatan

tombol yang baik sehingga memudahkan pengguna dalam

pengetikan.

e. Content

Sebaiknya pengembang menempatkan content aplikasi pada

tengah layar untuk memudahkan pengguna berinteraksi dengan

aplikasi.

f. Controls

Ketika harus menambahkan suatu kontrol pada aplikasi,

sebaiknya diletakkan pada bagian bawah layar agar

memudahkan pengguna berinteraksi dengan aplikasi.

g. Scrolling

Sebaiknya pengembang mengurangi pemakaian scrolling untuk

memudahkan pengguna dalam penggunaan aplikasi.

4. Navigation Models

Ada beberapa model navigasi umum untuk aplikasi mobile yang

dapat digunakan sesuai dengan aplikasi, seperti none, tab bar, drill

down dan drawer navigation.

5. User Input

Pada pengembangan suatu aplikasi memungkinkan pengguna

dalam memberikan input seperti pengetikan. Terdapat banyak variasi

keyboard pada smartphone, pertimbangkan untuk menampilkan

keyboard yang akan sangat berguna. Pilihan auto entry yang harus

diaktifkan juga harus dipertimbangkan. Jika aplikasi perlu banyak

input seperti pengetikan, pastikan mendukung orientasi landscape.

Page 9: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

6. Gestures

Touchscreen interfaces saat ini mendukung gesture-based untuk

interaksi pengguna. Hal - hal yang harus diingat adalah:

a. Invisible

Gestures tidak terlihat, tetapi pengembang aplikasi harus

mempertimbangkan bagaimana untuk mengungkapkan

keberadaan gestures tersebut kepada pengguna.

b. Two Hands

Multi-touch gestures membutuhkan operasi dua tangan.

Contohnya pengguna dapat dengan mudah memperbesar atau

memperkecil tampilan aplikasi dengan dua jari.

c. Nice to have

Menggunakan semacam keyboard shortcuts pada suatu aplikasi

yang dikembangkan jika diperlukan agar pengguna lebih mudah

dalam menggunakan aplikasi.

d. No replacement

Teknologi two-hands belum terlalu berkembang dan

pengembangan aplikasi dianjurkan tidak menghilangkan fungsi

single-finger.

7. Orientation

a. Potrait

Orientasi yang paling sering digunakan untuk mengoptimalkan

desain antar muka aplikasi.

b. Landscape

Orientasi ini digunakan untuk mendukung pengguna yang sering

mengetik yaitu dengan mengoptimalkan penggunaan keyboard

yang lebih besar.

c. Orientasi berubah tiba–tiba

Pengembangan aplikasi yang akan digunakan dalam jangka

panjang perlu dipertimbangkan untuk menambahkan suatu

orientasi yang tepat di aplikasi tersebut.

8. Communications

Page 10: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Aplikasi harus dapat berinteraksi dengan pengguna.

a. Provide feedback

Memberikan umpan balik instan untuk setiap interaksi. Jika

pengguna telah meminta suatu tindakan yang akan memakan

waktu lama, maka aplikasi menampilkan progress bar.

b. Modal alert

Modal alert sangat mengganggu sehingga harus digunakan

ketika ada sesuatu yang benar-benar salah.

c. Confirmation

Ketika harus meminta pengguna untuk mengkonfirmasi

tindakan, dapat ditampilkan dialog konfirmasi modal. Seperti:

“Apakah Anda yakin ingin menghapus data ini?”.

9. Launching

Ketika pengguna kembali ke aplikasi, maka aplikasi harus

kembali beroperasi tepat dimana pengguna terakhir mengoperasikan

aplikasi.

10. First Impressions

Pada saat pengguna pertama kali menggunakan aplikasi,

terdapat 2 (dua) faktor yang menjadi kesan pertama pengguna, yaitu:

a. Your icon

Icon merupakan suatu hal yang sangat penting, karena icon

merupakan salah satu yang menjadi daya tarik bagi pengguna

dalam menggunakan aplikasi yang dikembangkan.

b. First launch

Peluncuran pertama kali harusnya tidak menimbulkan

kebingungan bagi pengguna yang menggunakannya.

2.3 Unified Modelling Language (UML)

Page 11: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

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

(UML) adalah sekumpulan aturan pemodelan yang digunakan untuk

menspesifikasi dan menggambarkan suatu sistem software yang berkaitan

dengan objek.

Diagram UML merupakan notasi pemodelan yang telah menjadi standar

dalam bidang perancangan software. Diagram UML sama halnya seperti

blueprint pada pembangunan rumah, dimana sekumpulan blueprint tersebut

menyediakan sudut pandang gambaran yang berbeda-beda sesuai dengan

kebutuhan pengelolahnya. Diagram UML juga menyediakan gambaran dari

masing-masing sudut pandang yang berbeda sesuai dengan tim

pengembangnya. Standarisasi diagram UML telah diatur dan dibuat oleh

Object Management Group (OMG).

Menurut Whitten dan Bently (2007: 381-382) versi diagram UML 2.0.

memiliki 13 diagram, antara lain:

1. Use Case Diagram

Diagram yang menggambarkan interaksi antara sistem dengan sistem

eksternal dan users.

2. Activity Diagram

Diagram yang menggambarkan urutan aliran aktivitas dari use case atau

proses bisnis.

3. Class Diagram

Diagram yang menggambarkan objek-objek yang terdapat pada sistem

dalam bentuk struktur.

4. Object Diagram

Diagram objek mirip dengan diagram class tetapi lebih menggambarkan

objek yang terdapat dalam class.

5. State Machine Diagram

Diagram yang menggambarkan bagaimana suatu kejadian dapat

mengubah status objek selama waktu hidupnya.

6. Sequence Diagram

Diagram yang menggambarkan bagaimana suatu objek berinteraksi

melalui pesan dalam pelaksanaan use case atau operasi.

7. Communication Diagram

Page 12: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Dalam diagram UML versi 1.0. disebut diagram collaboration,

menggambarkan interaksi dari objek melalui pesan.

8. Interaction Overview Diagram

Diagram yang mengkombinasikan fitur dari diagram activity dan diagram

diagram sequence untuk menunjukan bagaimana objek berinteraksi pada

setiap aktivitas dari use case.

9. Timing Diagram

Diagram interaksi lainnya yang berfokus pada kendala waktu dalam

perubahan status dari single objek atau sekumpulan objek.

10. Component Diagram

Diagram yang menggambarkan pengaturan dari kode pemrograman yang

dibagi menjadi komponen-komponen, dan bagaimana komponen tersebut

berinteraksi.

11. Deployment Diagram

Diagram yang menggambarkan konfigurasi dari komponen software

dengan arsitektur fisikal dari sistem hardware.

12. Package Diagram

Diagram yang menggambarkan bagaimana class atau diagram UML

lainnya membangun sebuah package yang terorganisir.

13. Composite Structure Diagram: Diagram yang menguraikan struktur

internal dari class, component, atau use case.

Meskipun UML memiliki begitu banyak diagram, tidak semuanya

diperlukan dan harus digunakan dalam perancangan. Apabila sistem telah

digambarkan dan dapat dipahami dengan baik menggunakan diagram yang

ditentukan, maka tujuan dari UML telah tercapai.

Page 13: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

2.3.1 Use Case Diagram

Use case diagram adalah diagram yang menggambarkan

interaksi antara sistem dengan pengguna dan menggambarkan siapa

yang akan menggunakan sistem serta bagaimana pengguna

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

Gambar 2.1 Contoh Use Case Diagram

(Sumber: System Analysis for the Global Enterprise - Whitten and

Bentley, 2007: 246)

Use case diagram memiliki komponen dasar yaitu use case,

actors dan relationships. Use case merupakan urutan prilaku terkait

langkah-langkah untuk menyelesaikan tugas bisnis tunggal. Use case

menggambarkan fungsi sistem dengan cara dan terminologi yang

dipahami oleh pengguna eksternal. Use case digambarkan dengan

bentuk elipse dengan nama use case yang dituliskan di atas, di bawah

atau di dalam elipse.

Actors yaitu pengguna eksternal yang berinteraksi dengan sistem

untuk mencapai tujuan dari use case. Terdapat 4 (empat) tipe actors,

yaitu:

1. Primary business actor: stakeholder yang paling diuntungkan

dari terlaksananya use case dengan menerima sesuatu yang

dapat diukur.

Page 14: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

2. Primary system actor: stakeholder yang secara langsung

berinteraksi dengan sistem untuk memulai kegiatan bisnis atau

kegiatan sistem.

3. External server actor: stakeholder yang merespon permintaan

dari use case.

4. External receiver actor: stakeholder yang bukan merupakan

actor utama tetapi menerima sesuatu yang dapat bernilai dari

use case.

Selain itu dalam use case diagram terdapat relationship yang

digambarkan dengan garis yang menghubungkan antar use case. Arti

dari relationship bergantung pada bagaimana relationship tersebut

digambarkan. Terdapat beberapa relationship yang digunakan, antara

lain:

1. Asosiasi

Asosiasi mendeskripsikan suatu hubungan antara aktor

dan use case. Asosiasi dapat digambarkan dengan suatu garis

yang menghubungkan aktor dan use case. Sebuah asosiasi yang

digambarkan dengan suatu garis dengan anak panah

menunjukkan interaksi antara use case dengan aktor sebagai

inisiator. Sedangkan asosiasi yang digambarkan tanpa anak

panah menggambarkan interaksi antara use case dengan aktor

penerima.

Gambar 2.2 Contoh Penggunaan Association Use Case

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 248)

Page 15: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

2. Extends

Suatu use case dapat terdiri dari fungsi-fungsi yang

kompleks dan menyebabkan use case sulit dimengerti. Dengan

mengekstrak fungsi-fungsi yang kompleks menjadi use case

terpisah maka akan membuat use case tersebut lebih sederhana

dan mudah dipahami. Hasil ekstraksi dari use case tersebut di

beri nama extention use case. Hubungan antara extention use

case dengan use case yang diekstraksi diberi nama extends

relationship.

Gambar 2.3 Contoh Penggunaan Extends pada Use Case

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 249)

3. Uses / Includes

Pada suatu use case diagram sering ditemukan dua atau

lebih use case yang melakukan fungsi yang sama. Fungsi

tersebut digabungkan menjadi use case baru yang disebut

abstract use case, yang berfungsi untuk mengurangi redundansi

dalam suatu use case diagram.

Page 16: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Gambar 2.4 Contoh Penggunaan Include pada Use Case

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 249)

4. Depends On

Depends On merupakan suatu hubungan ketergantungan

antara satu use case dengan use case lainnya, dimana suatu use

case tidak dapat berjalan jika use case lain belum dilakukan.

Dengan mengetahui ketergantungan use case dengan use case

lainnya maka akan mempermudah pengembang untuk

mengembangkan sistem.

Gambar 2.5 Contoh Penggunaan Depends On pada Use Case

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 250)

Page 17: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

5. Inheritance

Inheritance digunakan untuk mempermudah

penggambaran hubungan antara dua atau lebih actor yang

memiliki langkah yang sama dalam sistem dengan membuat

abstract actor.

Gambar 2.6 Contoh Penggunaan Inheritance pada Use Case

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 250)

Page 18: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

2.3.2 Use Case Narrative

Use Case Narrative adalah sebuah teks yang mendeskripsikan

langkah-langkah yang ada pada use case diagram dan bagaimana cara

pengguna berinteraksi dengan sistem untuk menyelesaikan

pekerjaannya pada sistem tersebut (Whitten dan Bentley, 2007: 246).

Gambar 2.7 Contoh High-Level Use Case Narrative

(Sumber: System Analysis and Design Method - Whitten and Bentley,

2007: 257)

Berikut adalah penjelasan dari gambar diatas:

1. Author: diisi dengan nama seseorang yang menulis use case dan

bersedia untuk dihubungi untuk semua yang informasi dari use

case yang dibuat.

2. Date: tanggal terakhir use case tersebut dimodifikasi.

3. Version: versi use case yang digunakan

4. Use-case name: nama dari sebuah use case, harus

menggambarkan tujuan yang ingin dicapai dari use case

tersebut. Sebaiknya nama use case menggunakan kata kerja.

5. Use-case type: merupakan penggambaran keinginan dari

perilaku sistem

6. Use-case ID: identitas yang unik dari use case.

7. Priority: tingkat prioritas dari use case terdapat high, medium

atau low.

8. Source: mendefinisikan entitas yang memicu pembuatan use

case.

Page 19: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

9. Primary business actor: stakeholder yang paling diuntungkan

dari terlaksananya use case dengan menerima sesuatu yang

dapat diukur.

10. Other participating actor: aktor lain yang terlibat dalam use

case tersebut, aktor inisitor, aktor fasilitator, aktor sampingan

ataupun aktor penerima.

11. Intersted stakeholder: pemangku kepentingan yang bertanggung

jawab dalam proses pengembangan dan pengolahan sistem

software.

12. Description: ringkasan singkat yang terdiri dari beberapa

kalimat yang menggambarkan tujuan dari use case beserta

aktivitasnya.

Page 20: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

High-level use case narrative bisa dikembangkan menjadi lebih

luas. Pembahasannya menjadi lebih detail pertahap. Terdapat

beberapa tambahan, antara lain:

Gambar 2.8 Contoh Expanded High-Level Use Case Narrative

(Sumber: System Analysis and Design Method - Whitten and Bentley,

2007: 259)

1. Precondition: merupakan keadaan sistem sebelum

pengeksekusian use case. Biasanya mengacu pada use case lain

yang harus dieksekusi terlebih dahulu.

2. Trigger: merupakan kejadian yang menjadi pemicu untuk

pengeksekusian use case.

Page 21: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

3. Typical course of event: merupakan urutan aktivitas antara aktor

dan sistem untuk memenuhi tujuan use case.

4. Alternate course: merupakan alternatif perilaku lain dari use

case bila terdapat pengecualian atau pemilihan dari kejadian

yang ada.

5. Conclusion: menspesifikasikan ketika use case selesai

dijalankan. Dengan kata lain ketika primary business actor

menerima sesuatu yang dapat diukur.

6. Postcondition: merupakan keadaan dari sistem setelah

pengeksekusian use case selesai.

7. Business rules: spesifikasi kebijakan dan prosedur dari proses

bisnis yang harus ada di sistem yang baru.

8. Implementation constraints and spesification: menspesifikasikan

non functional requirement yang mempengaruhi realisasi dari

use case tersebut, dan mungkin membantu dalam perencanaan

arsitektural dan pembatasan ruang lingkup.

9. Assumptions: semua asumsi yang dibuat oleh penyusun ketika

mendokumentasikan use case.

10. Open issues: semua pertanyaan atau permasalahan yang butuh

penyelesaian atau investigasi sebelum use case dapat diakhiri.

2.3.3 Class Responsibilities Collaborator (CRC) Card

Whitten and Bentley (2007: 657) menyatakan CRC card

merupakan salah satu alat untuk mengidentifikasi hubungan suatu

prilaku dengan class lainnya dan untuk mengidentifikasi kolaborasi

antara class. Berdasarkan fungsinya class dibagi menjadi tiga, yaitu:

1. Interface Classes

Class yang berfungsi menghubungkan pengguna dengan sistem

berupa tampilan.

2. Controller Classes

Class yang berisi logika pengoperasian aplikasi atau aturan

bisnis.

3. Entity Classes

Page 22: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Class yang berfungsi menyimpan atribut-atribut yang diperlukan

pada sistem.

2.3.4 Class Diagram

Class diagram merupakan gambaran grafis dari struktur objek,

yang menunjukkan kelas objek yang ada pada suatu sistem dan

hubungan antara kelas-kelas objek tersebut (Whitten dan Bentley,

2007: 400).

Gambar 2.9 Contoh Class Diagram

(Sumber: System Analysis and Design Method - Whitten and Bentley,

2007:406)

Page 23: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Setiap kelas objek dibagi menjadi 3 (tiga) bagian, yaitu:

1. Nama kelas

Nama kelas harus unik atau dapat dibedakan antara kelas yang

satu dengan kelas yang lain karena nama kelas merupakan

identitas yang dimiliki oleh setiap kelas.

2. Atribut kelas

Atribut menunjukkan informasi yang dimiliki oleh suatu kelas

atau informasi yang berhubungan dengan suatu kelas.

3. Operasi kelas

Operasi digunakan untuk menunjukkan fungsi yang dapat

dilakukan oleh suatu kelas.

Gambar 2.10 Struktur Kelas Objek

2.3.4.1 Visibility

Pada class diagram terdapat visibility yang digunakan

untuk menentukan suatu kelas dapat diakses oleh kelas lainnya

atau tidak. Dalam visibility memiliki 3 (tiga) tingkatan, yaitu

(Whitten dan Bentley, 2007: 650):

1. Public – yang dilambangkan dengan “+”

2. Protected – yang dilambangkan dengan “#”

3. Private – yang dilambangkan dengan “-”

Tabel 2.1 Tabel Penjelasan Visibility

<< Nama kelas >>

- Atribut kelas

+ Operasi kelas ()

Page 24: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Visibility Simbol Deskripsi

Public +

Atribut public dan operasi

public dapat diakses oleh

semua operasi lain di semua

kelas.

Protected #

Atribut protected dan operasi

protected dapat diakses oleh

operasi lain dalam class yang

mendefinisikannya, atau di

subclasses dari class tersebut.

Private -

Atribut private dan operasi

private hanya dapat diakses

oleh semua operasi lain di

class yang mendefinisikan.

2.3.4.2 Multiplicity

Multiplicity merupakan jumlah minimum dan maksimum

kemunculan suatu objek atau class untuk kejadian tunggal dari

objek atau class terkait (Whitten dan Bentley, 2007: 378).

Berikut adalah gambar notasi multiplicity dan hubungan

association antara objek atau class.

Page 25: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Gambar 2.11 Figur Object / Class Associations and Multiplicity

Notations

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 377)

Tabel 2.2 Tabel Penjelasan Multiplicity

Multiplicity Deskripsi

0..1 Nol atau satu

1 Hanya satu

0..* atau * Nol atau lebih

1..* Satu atau lebih

7...9 Memiliki nilai tertentu yang

spesifik

Page 26: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

2.3.4.3 Generalisasi

Generalisasi merupakan suatu teknik dimana sebuah kelas

(subclass) dapat mewarisi atribut-atribut dan operasi-operasi

dari kelas lainnya (superclass) dimana superclass bersifat lebih

umum daripada subclass (Whitten dan Bentley, 2007: 373).

Gambar 2.12 Contoh Generalisasi / Specialization

Relationship

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 376)

2.3.4.4 Asosiasi

Asosiasi merupakan hubungan antara satu kelas dengan

kelas yang lain. Asosiasi antara dua kelas biasanya dinotasikan

dengan sebuah garis yang menghubungkan kedua kelas tersebut

dan biasanya disertakan keterangan mengenai detail relasi antar

kelas dan multiplicity (Whitten dan Bentley, 2007: 378).

Hubungan yang digambarkan dibedakan menjadi 2 (dua)

jenis, yaitu:

1. Uni-directional

Hubungan uni-directional menghubungkan 2 (dua) kelas

yang saling terhubung, tetapi hanya satu yang memiliki

Page 27: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

peran dalam hubungan tersebut. Hubungan uni-directional

dapat direpresentasikan dengan menggunakan anak panah.

2. Bi-directional

Hubungan bi-directional menghubungkan 2 (dua) kelas

yang saling terhubung dan keduanya memiliki peran

dalam hubungan tersebut. Hubungan bi-directional tidak

perlu menggunakan anak panah.

Gambar 2.13 Contoh Hubungan Association Bi-

directional

(Sumber: System Analysis and Design Method - Whitten

and Bentley, 2007: 377)

2.3.4.5 Agregasi

Agregasi menggambarkan hubungan dimana satu class

yang lebih besar disebut “whole” class mengandung satu atau

beberapa class yang lebih kecil disebut “part”. Sebaliknya class

yang lebih kecil merupakan bagian dari class yang lebih besar.

(Whitten dan Bentley, 2007: 378).

Gambar 2.14 Contoh Relationship Aggregation

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 379)

Page 28: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Dalam UML versi 2.0 notasi hubungan agregasi sudah

tidak ada lagi, dikarenakan hubungan komposisi lebih memiliki

perbedaan yang jelas dalam penyusunan program, sedangkan

agregasi memiliki perbedaan yang tidak jelas.

2.3.4.6 Komposisi

Komposisi merupakan bentuk lain dari agregasi, dimana

“whole” class bertanggung jawab atas pembentukan dan

penghancuran “part” class. Jika “whole” class hilang maka

“part” class juga akan hilang.

Gambar 2.15 Contoh Relationship Composition

(Sumber: System Analysis and Design Method - Whitten and

Bentley, 2007: 379)

2.3.5 Activity Diagram

Activity diagram adalah suatu diagram yang digunakan untuk

menggambarkan proses bisnis, langkah-langkah dari use case atau

logika perilaku dari objek. Dalam activity diagram, lebih dari satu use

case dapat digambarkan dengan satu activity diagram, tetapi satu

activity diagram dapat digambarkan untuk setiap use case jika use

case tersebut memiliki logika yang kompleks (Whitten dan Bentley,

2007: 390).

Page 29: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Gambar 2.16 Contoh Activity Diagram

(Sumber: System Analysis and Design Method - Whitten and Bentley,

2007: 392)

Berikut adalah penjelasan notasi-notasi yang digunakan dalam activity

diagram:

1. Initial node: berupa lingkaran padat yang menggambarkan

dimulainya proses.

2. Actions: berupa persegi panjang bulat yang menggambarkan

langkah individu. Langkah-langkah yang terurut akan membuat

aktivitas terlihat pada diagram.

3. Flow: berupa anak panah dalam diagram yang mengindikasikan

sederet aktivitas. Kebanyakan flows tidak memerlukan

keterangan kata kecuali sebuah keputusan.

Page 30: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

4. Decision: bentuk wajik dengan satu anak panah masuk dan dua

atau lebih anak panah keluar. Anak panah yang keluar

mengindikasikan kondisi.

5. Merge: bentuk wajik dengan dua atau lebih anak panah masuk

dan satu anak panah keluar. Menggabungkan anak panah yang

terpisah oleh keputusan.

6. Fork: persegi panjang hitam dengan satu anak panah masuk dan

dua atau lebih anak panah keluar. Menggambarkan aktivitas

yang berjalan paralel.

7. Join: persegi panjang hitam dengan dua atau lebih anak panah

masuk dan satu anak panah keluar. Menggambarkan

berakhirnya proses paralel.

8. Activity final: lingkaran padat yang dilingkari dengan garis tipis

merepresentasikan berakhirnya proses.

Pada gambar 2.16 mengilustrasikan langkah-langkah dari use

case, tetapi gambar tersebut tidak spesifik siapa yang mengerjakan

langkah tersebut. Pada gambar 2.17 akan memperlihatkan lebih jelas

karena menggunakan swimlanes atau partitions yang menunjukkan

aktivitas yang dilakukan oleh aktor tertentu. Suatu activity diagram

dapat memiliki tiga atau lebih swimlane yang menunjukkan aktor

penerima.

Page 31: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Gambar 2.17 Contoh Activity Diagram 2

(Sumber: System Analysis and Design Method - Whitten and Bentley,

2007: 393)

9. Subactivity indicator: simbol untuk mengumpulkan tindakan

yang menunjukan tindakan ini dipecah dalam activity diagram

lain. Ini dapat menghindari activity diagram yang terlalu

kompleks.

10. Connector: lingkaran dengan huruf di dalamnya yang dapat

membantu dalam mengatur tingkat kompleksitas. Anak panah

yang masuk ke dalam connector akan melompat ke aktivitas

selanjutnya dengan lingkaran dengan huruf yang sama dengan

anak panah keluar.

Page 32: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

2.3.6 Sequence Diagram

Sequence diagram adalah salah satu diagram UML yang

menggambarkan model logika dari sebuah use case dengan

menggambarkan interaksi pesan antar objek dalam suatu urutan waktu

(Whitten dan Bentley, 2007: 659).

Gambar 2.18 Contoh Sequence Diagram

(Sumber: System Analysis and Design Method - Whitten and Bentley,

2007: 659)

Berikut adalah penjelasan beberapa elemen yang digunakan dalam

sequence diagram adalah (Whitten dan Bentley, 2007):

1. Actor

Actor adalah suatu elemen yang digunakan pada sequence

diagram dimana digambarkan dengan aktor simbol yang

mewakili pengguna dalam berinteraksi dengan interface.

2. Interface Class

Segi empat yang mengindikasikan kelas kode dari user interface.

Untuk membedakan kelas interface dengan kelas lainnya maka

terdapat tulisan <<interface>>, dan notasi standart sequence

diagram yang melambangkan kelas yaitu titik dua (:).

3. Controller Class

Setiap use case akan memiliki satu atau lebih kelas controller,

digambarkan dengan notasi yang sama seperti interface class,

tetapi dengan catatan <<controller>>.

Page 33: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

4. Entity Classes

Gambaran entitas yang diperlukan untuk berkolaborasi dalam

langkah-langkah yang terurut. Notasi yang digunakan adalah

titik dua (:).

5. Messages

Garis horisontal yang mengindikasikan pesan masuk yang

dikirim ke kelas. Setiap pesan disebut behavioral atau method

dari kelas yang menunjuk. Penulisan pesan diawali dengan huruf

kecil, dan kata selanjutnya diawali dengan huruf besar.

6. Activation Bars

Berbentuk bar yang menunjukan masa hidup dari objek yang

ada.

7. Return Messages

Anak panah dengan garis putus-putus yang menunjukan pesan

pengembalian. Setiap perilaku atau operasi harus

mengembalikan sesuatu yang menyatakan perilaku atau operasi

sukses dijalankan.

8. Self-call

Objek dapat memanggil method milik sendiri.

9. Frame

Bingkai kotak yang mengindikasikan satu atau lebih pesan dapat

menjadi pilihan langkah. Seperti perulangan dan alternatif

pilihan langkah.

2.4 Rekayasa Perangkat Lunak

Menurut Pressman (2010: 13), pengertian rekayasa perangkat lunak

adalah pengimplementasian prinsip-prinsip perancangan untuk menghasilkan

software yang ekonomis, handal dan mampu bekerja efisien pada mesin yang

sesungguhnya.

Karakteristik dari software adalah sebagai berikut (Pressman, 2010: 4):

Page 34: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

1. Software dikembangkan atau direkayasa, bukan dipabrikasi.

Terdapat beberapa kesamaan antara pengembangan software dan

perakitan hardware. Pada dasarnya kedua kegiatan tersebut berbeda,

kualitas tinggi dapat diperoleh melalui rancangan yang baik, tetapi

perakitan hardware dapat memberikan permasalahan pada kualitas

software.

2. Software tidak akan “habis”.

Software tidak akan “habis” oleh waktu karena tidak memiliki

bentuk fisik. Tidak seperti hardware yang memiliki bentuk fisik. Tetapi

software dapat usang atau penurunan kualitas.

3. Sebagian besar software dibangun sesuai dengan keinginan.

Sebuah komponen software harus dirancang dan diimplementasi,

sehingga dapat digunakan kembali dalam banyak program berbeda.

2.5 Agile Software Development

Agile Software Development adalah sebuah strategi pengembangan

sistem dimana pengembang diberikan fleksibilitas untuk memilih alat yang

sesuai dan teknik yang baik untuk menyelesaikan tugas-tugasnya. Agile

Software Development memiliki keseimbangan yang optimal antara

produktivitas dan kualitas dalam pengembangan sistem (Whitten dan Bentley,

2007: 25).

2.5.1 Extreme Programming

Extreme Programming (XP) merupakan salah satu metodologi

dalam rekayasa perangkat lunak dan merupakan salah satu metode

dari agile software development yang berfokus pada coding sebagai

aktivitas utama dan menekankan pada kerjasama tim. XP merupakan

metodologi yang adaptif karena digunakan untuk menghadapi

berubahnya struktur internal seperti design dan source code tanpa

harus mengubah kegunaan eksternal. Pada XP antara pengguna dan

pengembang selalu melakukan komunikasi jika terjadi perubahan

pada software yang dikembangkan.

Page 35: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Gambar 2.19 Extreme Programming

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

Approach, 2010: 74)

Mengacu pada pendapat Pressman (2010: 73), dalam

pengembangan software dengan menggunakan XP terdapat 4 (empat)

tahap yang digunakan. Empat tahap tersebut yaitu:

1. Planning

Pada tahap ini dimulai dengan perencanaan stories biasa

juga disebut user stories yang menggambarkan luaran, fitur dan

fungsionalitas yang diharapkan untuk software yang akan

dibangun. Setiap story ditulis oleh pengguna dan ditempatkan

pada kartu index. Kemudian pengguna memberikan nilai untuk

story yang akan dinilai oleh pengembang dan menentukan biaya

selama waktu pengembangan software. Jika waktu yang

diperlukan untuk story lebih dari 3 (tiga) minggu, maka

pengguna diminta untuk membagi story tersebut menjadi

beberapa story yang lebih kecil.

2. Design

Pada tahap ini menggunakan prinsip Keep It Simple (KIS).

Perancangan yang sederhana dan berfokus pada pengembangan

untuk saat ini lebih dianjurkan dari pada pengembangan yang

kompleks dan rancangan untuk di masa depan. XP mendukung

penggunaan Class Responsibillity Collaborator (CRC) cards

Page 36: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

sebagai mekanisme yang efektif untuk berpikir tentang software

dalam konteks berorientasi objek.

3. Coding

Tahap ini dilakukan setelah story dikembangkan dan

rancangan pendahuluan selesai. Kemudian dilakukan

perancangan unit test terlebih dahulu sebelum penyusunan kode

dilakukan. Unit test merupakan serangkaian test yang

mengevaluasi setiap story. Setelah unit test selesai dibuat,

pemikiran pengembang berfokus pada pengimplementasian

untuk melewati unit test berikutnya. Setelah pembuatan kode

selesai dapat langsung dilakukan pengujian. Pada tahap coding

juga dilakukan refactoring yang merupakan suatu teknik

konstruksi dan metode untuk mengoptimalkan rancangan yaitu

dengan penyederhanaan kode untuk memudahkan orang lain

atau pengembang dalam memahami kode tersebut. Setelah tahap

pembuatan kode dilakukan selanjutnya dapat dilakukan

perancangan baik sebelum ataupun sesudah tahap tersebut, hal

ini dikarenakan adanya refactoring.

4. Testing

Pada bagian ini dilakukan pengujian kode dengan unit test

yang telah dihasilkan pada tahap sebelumnya. Setelah itu

dilakukan acceptance test yang disebut juga customer test yang

berfungsi untuk memastikan aplikasi yang telah memenuhi

kebutuhan pengguna.

2.6 Database

Menurut pendapat dari Connolly & Begg (2010: 65), database adalah

sekumpulan data yang secara logis saling terkait yang dirancang untuk

memenuhi kebutuhan informasi suatu organisasi yang diatur dan dikontrol

pengaksesannya oleh database management system (DBMS)

Page 37: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

2.6.1 Data Dictionary (Kamus Data)

Data dictionary atau metadata merupakan penjelasan mengenai

data itu sendiri yang mendukung program dengan data yang

independen.

Tabel 2.3 Contoh Data Dictionary

Entity

Name

Attributes Description Data

Type &

Length

Nulls Multi-

valued

Staff staffNo Uniquely

identify a

member of

staff

5 variabel

characters

No No

fName First name

of staff

15

variabel

characters

No No

lName Last name

of staff

15

variabel

characters

No No

position Job title of

member of

staff

10

variabel

characters

No No

sex Gender of

member

staff

1

character

(M or F)

Yes No

DOB Date of

birth of

member of

staff

Date Yes No

2.7 Teknologi Mobile

Berikut merupakan penjelasan mengenai teknologi–teknologi mobile

yang sedang berkembang:

Page 38: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

2.7.1 Smartphone

Mengacu pada pendapat dari Ramteke dan Choudhary (2012: 1),

smartphone menyediakan fasilitas internet dan akses ke layanan data

yang beragam. Teknologi smartphone telah pindah ke perangkat yang

sangat visual dan menarik banyak pengguna serta memberikan banyak

fasilitas untuk berkomunikasi. Beberapa sistem operasi yang sedang

berkembang saat ini adalah Blackberry, iOS, dan Android.

2.7.2 Native Mobile Applications

Mengacu pada pendapat Upadhyay dan Tripathi (2012: 28),

Native Mobile Applications adalah aplikasi yang diinstal pada

smartphone dan dikembangkan dengan bahasa pemrograman khusus.

Aplikasi mobile ini cepat, handal, dan kinerja yang maksimal tetapi

terikat pada mobile platform yang dikembangkan. Native mobile

applications selalu lebih responsif dan dapat mengakses lebih fitur

hardware pada device.

2.7.3 Instant Messaging (IM)

Instant Messaging (IM) adalah sebuah aplikasi berbasis Internet

Protokol (IP) yang memberikan kemudahan berkomunikasi antar

orang menggunakan bermacam – macam device yang berbeda. IM

dapat bekerja dengan mobile device, seperti digital cellular phones

dan dapat mendukung suara dan video (Rittinghouse dan Ransome,

2005: 2).

2.8 Android

Mengacu pada pendapat Nimodia dan Deshmukh (2012: 1), Android

adalah sebuah software stack untuk perangkat mobile yang mencakup sistem

operasi, middleware dan key applications. Android memiliki platform yang

bersifat open source dan sistem operasi untuk perangkat mobile berbasis

pada sistem operasi Linux dan dikembangkan oleh Google dan Open

Handset Alliance.

Page 39: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Sistem operasi pada android ini berbasis bahasa pemrograman Java

menggunakan Android Software Development Kit (Android SDK) dan

berjalan pada Linux Kernel, dengan middleware, library, Application

Programming Interface (API) yang ditulis dalam bahasa C, dan software

yang berjalan pada suatu kerangka aplikasi dengan menyertakan Java-

compatible libraries berbasis pada Apache Harmony, yaitu sebuah

implementasi Java bersifat open source dikembangkan oleh Apache

Software Foundation yang terdiri dari Java Development Kit (JDK), virtual

machine dan class library.

2.8.1 Fitur Android

Android memiliki beberapa fitur yang mendukungnya, dimana

fitur-fitur tersebut terdapat pada perangkat mobile. Fitur-fitur yang

mendukung Android yaitu (Lee, 2011: 3):

1. Storage

Menggunakan SQLite, mesin database SQL embedded, untuk

menyimpan data.

2. Connectivity

Mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,

Bluetooth, WiFi, LTE, dan WiMAX.

3. Messaging

Mendukung SMS dan MMS.

4. Web browser

Berbasis open-source WebKit, dengan Chrome’s V8 JavaScript

engine.

5. Media support

Mendukung media: MP3, MIDI, WAV, JPEG, PNG, dan lain-

lain.

6. Hardware support

Mendukung hardware: Accelerometer Sensor, Camera, Digital

Compass, Proximity Sensor, GPS.

7. Multi-touch

Mendukung multi-touch screens.

8. Multi-tasking

Page 40: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Mendukung multi-tasking applications.

9. Flash support

Android 2.3 mendukung Flash 10.1.

10. Tethering

Mendukung sharing koneksi internet seperti wireless hotspot.

2.8.2 Arsitektur Android

Gambar 2.20 menunjukkan komponen-komponen yang terdapat

pada sistem operasi Android yang terbagi menjadi beberapa layer.

Gambar 2.20 Arsitektur Android

(Sumber: http://developer.android.com/about/versions/index.html,

2012)

1. Applications

Dalam applications layer, Android akan dikirim dengan satu set

aplikasi termasuk email client, program SMS, kalender, peta,

browser, kontak, dan lain-lain. Semua aplikasi ditulis

menggunakan bahasa pemrograman Java.

2. Application Framework

Dengan platform open development, Android menawarkan

kemampuan pengembang untuk membangun aplikasi yang

sangat kaya dan inovatif. Pengembang bebas untuk mengambil

Page 41: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

keuntungan dari hardware devices, mengakses informasi lokasi,

menjalankan background services, mengatur alarm,

menambahkan pemberitahuan ke status bar, dan lain-lain.

Sekumpulan services dan sistem yang mendasari aplikasi

Android adalah:

1. Sekumpulan views yang dapat digunakan untuk

membangun aplikasi, termasuk list, grids, text boxes,

buttons, dan embeddable web browser.

2. Content providers yang memungkinkan aplikasi untuk

mengambil data dari aplikasi lain atau untuk berbagi data

dari aplikasi itu sendiri.

3. Resource manager menyediakan akses ke non-code

resources seperti localized strings, graphics, dan layout

files.

4. Notification manager yang memungkinkan semua aplikasi

untuk menampilkan pemberitahuan pada status bar.

5. Activity manager yang mengatur siklus dari aplikasi dan

menyediakan common navigation backstack.

3. Libraries

Android mencakup sekumpulan library C/C++ yang digunakan

oleh berbagai komponen dari sistem Android. Beberapa library

yang digunakan adalah:

1. System C library digunakan untuk embedded Linux-based

devices.

2. Media Libraries untuk memutar audio dan video.

3. Surface Manager untuk menyediakan pengaturan

tampilan.

4. LibWebCore sebuah mesin web browser modern.

5. Scene Graph Library (SGL) untuk kemampuan

menampilkan grafik dua dimensi.

6. 3D libraries termasuk OpenGL untuk kemampuan

menampilkan grafik tiga dimensi.

7. SQLite untuk dukungan dalam database.

Page 42: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

4. Android Runtime

Android yang mencakup sekumpulan core libraries yang

menyediakan sebagian besar fungsi pada bahasa pemrograman

Java. Android Runtime juga termasuk Dalvik virtual machine,

yang memungkinkan setiap aplikasi Android untuk berjalan

dalam proses sendirinya. Dalvik adalah mesin virtual khusus

dirancang khusus untuk android dan dioptimalkan untuk battery-

powered device mobile dengan memori yang terbatas dan CPU.

5. Linux Kernel

Android bergantung pada versi Linux 2.6 Kernel untuk sistem

inti seperti keamanan, manajemen memori, manajemen proses,

network stack, dan driver model. Kernel juga bertindak sebagai

abstraction layer antara hardware dan dari stack yang lain.

2.8.3 Komponen Aplikasi Android

Android memiliki 4 (empat) komponen pemrograman. Setiap

komponen memiliki peran yang berbeda-beda. Masing-masing

komponen memiliki siklus hidup sendiri-sendiri yang mengatur kapan

komponen dibuat dan bagaimana komponen dihapus. Berikut ini

adalah 4 (empat) jenis komponen dalam aplikasi android:

1. Activities

Activities adalah suatu komponen yang menyediakan layar

dimana pengguna dapat berinteraksi untuk menjalankan fungsi

tertentu.

2. Services

Services adalah komponen aplikasi yang berjalan di background

untuk menjalankan proses yang memerlukan waktu cukup lama.

Services tidak memiliki tampilan.

3. Content Providers

Page 43: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Content Providers bertugas untuk mengelola sekumpulan data

aplikasi yang terbagi (shared). Datanya dapat disimpan dalam

file sistem, database SQLite atau lokasi penyimpanan lainnya.

Dengan adanya Content Providers ini, aplikasi lain dapat

mengakses data yang diperlukan tanpa perlu mengetahui

bagaimana data tersebut disimpan. Content provider juga dapat

digunakan untuk menulis dan membaca data pribadi yang tidak

dibagikan (tidak shared).

4. Broadcast Receivers

Broadcast receivers adalah suatu komponen aplikasi yang

menanggapi broadcast. Contoh broadcast yang dikirim oleh

sistem operasi Android adalah pemberitahuan ada aplikasi baru

yang terinstal atau ter-update, layar mati, ada SMS atau telepon

masuk, dan lain-lain. Broadcast receiver juga tidak memiliki

tampilan, tetapi dapat menjalankan suatu activity atau

menampilkan pemberitahuan.

2.8.4 Versi Android

Sejak pertama kali muncul sampai sekarang, Android telah

memiliki sejumlah pembaharuan. Pembaharuan ini dilakukan untuk

memperbaiki bug dan menambah fitur-fitur yang baru. Versi-versi

yang ada pada android yaitu:

1. Android Beta

Pada tanggal 5 November 2007, Google merilis Android

pertama kali yang diberi nama Android Beta, tetapi versi ini

tidak digunakan secara komersil pada alat tertentu.

2. Android versi 1.0

Pada tanggal 21 November 2008, Goggle merilis kembali

Android versi 1.0. Android versi ini dilengkapi dengan fitur

Gmail Google Talk, Instant Messaging, Media Player, dan lain-

lain.

3. Android versi 1.1

Page 44: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Pada tanggal 9 Maret 2009, Google merilis Android versi

1.1. Android ini dilengkapi dengan pembaruan estetis pada

aplikasi, jam alarm, voice search, pengiriman pesan dengan

Gmail, dan pemberitahuan e-mail.

4. Android versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali merilis

telepon seluler dengan menggunakan Android dan SDK

(Software Development Kit). Terdapat beberapa pembaruan

termasuk juga penambahan beberapa fitur dalam seluler versi

ini, yaitu kemampuan merekam dan menonton video dengan

kamera, mengunggah video ke youtube dan gambar ke Picasa

langsung dari telepon, dukungan Bluetooth A2DP, kemampuan

terhubung secara otomatis ke headset Bluetooth, animasi layar,

dan keyboard pada layar yang dapat disesuaikan sistem.

5. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September 2009 dengan

menampilkan proses pencarian yang lebih baik dibanding

sebelumnya, penggunaan baterai indikator dan kontrol applet

VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna

untuk memilih foto yang akan dihapus; kamera, camcorder dan

galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN,

Gestures, dan Text-to-speech engine; kemampuan dial kontak;

teknologi text to change speech (tidak tersedia pada semua

ponsel; pengadaan resolusi VWGA.

6. Android versi 2.0/2.1 (Eclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel

Android dengan versi 2.0/2.1 (Eclair), perubahan yang

dilakukan adalah pengoptimalan hardware, peningkatan Google

Maps 3.1.2, perubahan UI dengan browser baru dan dukungan

HTML5, daftar kontak yang baru, dukungan flash untuk kamera

3,2 MP, digital Zoom, dan Bluetooth 2.1.

Page 45: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

7. Android versi 2.2 (Froyo: Frozen Yoghurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan.

Perubahan-perubahan umumnya terhadap versi-versi

sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan

kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8

JavaScript engine yang dipakai Google Chrome yang

mempercepat kemampuan rendering pada browser, pemasangan

aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel,

dan kemampuan pembaruan secara otomatis dalam aplikasi

Android Market.

8. Android versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread)

diluncurkan. Perubahan-perubahan umum yang didapat dari

Android versi ini antara lain peningkatan kemampuan

permainan (gaming), peningkatan fungsi copy paste, desain

ulang layar antar muka (User Interface), dukungan format video

VP8 dan WebM, efek audio baru (reverb, equalization,

headphone virtualization, dan bass boost), dukungan

kemampuan Near Field Communication (NFC), dan dukungan

jumlah kamera yang lebih dari satu.

9. Android versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet.

Android versi ini mendukung ukuran layar yang lebih besar.

User Interface pada Honeycomb juga berbeda karena sudah

didesain untuk tablet. Honeycomb juga mendukung multi-

processor dan juga akselerasi perangkat keras (hardware) untuk

grafis. Tablet pertama yang dibuat dengan menjalankan

Honeycomb adalah Motorola Xoom. Perangkat tablet dengan

platform Android 3.0 telah banyak hadir di Indonesia. Perangkat

yang pertama muncul bernama Eee Pad Transformer produksi

dari Asus yang masuk pasar Indonesia pada Mei 2011.

10. Android versi 4.0 (ICS: Ice Cream Sandwich)

Page 46: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Diumumkan pada tanggal 19 Oktober 2011, membawa

fitur Ice Cream Sandwich untuk smartphone dan menambahkan

fitur baru termasuk membuka kunci dengan pengenalan wajah,

jaringan data pemantauan penggunaan dan kontrol, terpadu

kontak jaringan sosial, perangkat tambahan fotografi, mencari e-

mail secara offline, dan berbagi informasi dengan menggunakan

NFC. Ponsel pertama yang menggunakan sistem operasi ini

adalah Samsung Galaxy Nexus.

11. Android versi 4.1 (Jelly Bean)

Android Jelly Bean yang diluncurkan pada acara Google

I/O lalu membawa sejumlah keunggulan dan fitur baru.

Penambahan baru diantaranya meningkatkan input keyboard,

desain baru fitur pencarian, user interface yang baru dan

pencarian melalui voice search yang lebih cepat.

12. Android versi 4.4 (KitKat)

Android KitKat merupakan sistem operasi android terbaru,

Google resmi telah meluncurkan sistem operasi ini pada tanggal

31 Oktober 2013. Sistem operasi ini memiliki keunggulan yaitu

dapat berjalan dengan nyaman pada perangkat yang memiliki

RAM sebesar 512MB, sementara rata-rata smartphone telah

memiliki RAM diatas 2GB. Selain itu versi terbaru dari sistem

operasi Android ini memiliki desain tampilan yang berbeda dari

sebelumnya.

2.8.5 Android Software Development Kit (SDK)

Android SDK berisi debugger, libraries, emulator,

dokumentasi, sample code, dan tutorial. SDK ini merupakan add-on

Java Development Kit (JDK) dan memiliki plug-in terintegrasi untuk

Eclipse IDE (Lee, 2011: 10). Beberapa fitur yang terdapat pada

Android SDK (Meier, 2010: 6):

1. Tidak ada proses perizinan , distribusi, atau pengembangan

biaya atau persetujuan proses rilis.

Page 47: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

2. Wi-Fi akses hardware.

3. GSM, EDGE, dan 3G untuk telepon atau mengirim data,

memungkinkan untuk membuat atau menerima panggilan atau

pesan SMS, atau mengirim dan mengambil data di jaringan

mobile.

4. Komprehensif API untuk layanan berbasis lokasi seperti GPS.

5. Pengaturan multimedia hardware, termasuk pemutaran dan

merekam dengan kamera dan microphone.

6. API untuk menggunakan sensor hardware, termasuk

accelerometer dan kompas.

7. Libraries menggunakan Bluetooth untuk mengirim data peer-to-

peer.

8. IPC message passing.

9. Shared data stores

10. Latar belakang dari aplikasi dan proses.

11. Home-screen Widgets, Live Folders, dan Live Wallpaper.

12. Kemampuan untuk mengintegrasikan hasil pencarian aplikasi ke

dalam pencarian sistem.

13. Terintegrasi open-source HTML5 WebKit-based browser.

14. Mendukung untuk aplikasi yang mengintegrasikan map controls

sebagai bagian dari user interface.

15. Mobile-optimized hardware-accelerated graphic, termasuk

library path-based grafik 2D dan mendukung untuk grafik 3D

menggunakan OpenGL ES 2.0.

16. Media libraries untuk bermain dan merekam berbagai audio

atau video atau format gambar.

17. Lokalisasi melalui dynamic resource framework.

18. Suatu framework aplikasi yang mendorong penggunaan kembali

komponen aplikasi dan penggantian aplikasi asli.

2.8.6 Android Development Tools (ADT)

ADT adalah plug-in untuk Eclipse yang memudahkan dalam

pengembangan Android dengan menghubungkan developer tools,

Page 48: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

termasuk emulator dan .class-to-.dex converter, langsung di dalam

IDE (Meier, 2010: 20).

Dengan menggunakan ADT sebagai plug-in untuk Eclipse dapat

melakukan (Meier, 2010: 20):

1. Android Project Wizard menyederhanakan dalam pembuatan

proyek baru dan termasuk template aplikasi dasar

2. Forms-based manifest, layout, dan resource editors untuk

membantu membuat, mengubah, dan validasi sumber XML.

3. Membangun secara langsung Android Projects, konversi untuk

Android executables (.dex), pengemasan untuk package files

(.apk), dan instalasi package pada Dalvik virtual machine.

4. Android Virtual Device manager, dapat membuat dan mengatur

virtual devices hosting emulator yang menjalankan keluaran

tertentu dalam sistem operasi Android dan mengatur memory

constraint.

5. Emulator Android, termasuk untuk mengendalikan tampilan

emulator dan pengaturan koneksi jaringan, dan kemampuan

untuk menyimulasikan telepon masuk dan pesan SMS.

6. Dalvik Debug Monitoring Service (DDMS), yang termasuk port

forwarding, stack, heap, dan thread viewing, detil proses, dan

fasilitas screen-capture.

7. Akses ke perangkat atau file sistem emulator, memungkinkan

untuk menavigasi folder tree dan transfer files.

8. Runtime debugging, dapat mengatur breakpoints dan view call

stacks.

9. Semua Android atau Dalvik log dan console outputs.

2.9 Social Media

2.9.1 Pengertian

Dalam jurnalnya Exploring Social Responsibilty Through Social

Media menurut Sourav Gupta adalah sebuah media untuk melakukan

interaksi sosial yang menggunakan teknik komunikasi yang terukur

dan “highly accessible” atau mudah diakses. Social media

Page 49: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

menggunakan teknologi berbasis web dan mobile untuk mengubah

komunikasi ke dalam dialog interaktif (2011).

Menurut Andreas Kaplan dan Michael Haenlain (2010: 20),

mendefinisikan bahwa social media sebagai “sebuah kelompok

aplikasi berbasis internet yang terbangun di atas dasar ideologi dan

teknologi Web 2.0 dan yang memungkinkan pembuatan dan

pertukaran user-generated content”.

Menurut Carolyn Elefant menyebutkan bahwa sebagai bagian

dari generasi baru aplikasi Web 2.0, social media menggambarkan

sebuah teknologi yang memfasilitasi informasi interaktif dan sebuah

konten yang dapat dibuat dan dikolaborasi oleh seorang pengguna satu

sama lain dan memungkinkan pengguna untuk berinteraksi tanpa

dibatasi oleh ruang dan waktu (2011).

2.9.2 Ciri-ciri Dasar Social Media

Menurut Gamble (2002), dalam sebuah buku yang berjudul

Communication Works, 7th Edition disebutkan bahwa social media

mempunyai 4 ciri-ciri dasar sebagai berikut:

1. Pesan yang disampaikan tidak hanya untuk satu orang saja

namun bisa ke berbagai orang.

2. Pesan yang disampaikan bebas tanpa melalui Gatekeeper.

3. Pesan yang disampaikan cenderung lebih cepat dibandingkan

media lain.

4. Waktu interaksi ditentukan oleh penerima pesan.

2.9.3 Jenis-jenis Social Media

Kaplan dan Haenlain kemudian mengklasifikasikan berbagai

jenis social media menjadi 6 (enam) jenis, yaitu:

a. Proyek kolaborasi

Dimana user dapat mengubah, menambah, dan menghapus

konten-konten yang ada pada website tersebut. Contohnya

Wikipedia.

b. Blog dan microblog

Page 50: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Memungkinkan user dapat menyampaikan pendapat, pemikiran,

gagasan, mengkritik dan memberi saran. Contohnya melalui

Twitter, Plurk, yahoo Koprol.

c. Konten

Untuk saling berbagi konten-konten media, seperti video, ebook,

gambar, dokumen. Contohnya Youtube, Flick, 4shared,

Slideshare.

d. Situs jejaring sosial

Memungkinkan pengguna saling terhubung satu sama lain

dengan cara saling terhubung dengan informasi pribadi .

Contohnya Facebook, Friendster, Fufei.

e. Virtual Game World

Game virtual yang mereplikasikan lingkungan ke dalam bentuk

3D, sehingga user dapat saling berinteraksi seperti di dunia

nyata. Misalnya game online seperti Point Blank, Digimon,

Lineage.

f. Virtual Social World

Hampir sama dengan virtual game world, bedanya aplikasi ini

lebih bebas dan mengarah ke kehidupan social. Contohnya

Second Life, The Sims.

2.9.4 Fungsi Social Media

Menurut H.Keitzmann, Hermkens, McCarthy, & S.Silvestre

(2011: 243) dalam artikelnya berjudul: “Social media? Get serious!

Understanding the functional building blocks of social media”, Ada

tujuh macam fungsi dari social media:

1. Identity

Menggambarkan sejauh mana pengguna mengungkapkan

identitas mereka dalam pengaturan media sosial. Hal ini

mencakup informasi seperti nama, usia, jenis kelamin, profesi,

lokasi, dan juga informasi yang mendeskripsikan pengguna

dengan cara tertentu.

Page 51: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

2. Conversations

Menggambarkan sejauh mana pengguna berkomunikasi dengan

pengguna lain dalam pengaturan media sosial. Banyak situs

media sosial yang dirancang terutama untuk memfasilitasi

percakapan antara individu-individu dan kelompok.

3. Sharing

Menggambarkan sejauh mana pengguna melakukan pertukaran,

pendistribusian, dan menerima konten. Istilah “sharing” sering

menyiratkan bahwa pertukaran konten antar pengguna sangat

penting.

4. Presence

Menggambarkan sejauh mana pengguna dapat mengetahui

apakah pengguna lainnya dapat diakses/online. Ini termasuk

mengetahui di mana lokasi pengguna yang lain di dunia maya

atau dunia nyata.

5. Relationship

Menggambarkan sejauh mana pengguna dapat berhubungan

dengan pengguna lain.

6. Reputation

Menggambarkan sejauh mana pengguna dapat mengidentifikasi

orang lain, termasuk diri mereka sendiri.

7. Groups

Menggambarkan sejauh mana pengguna dapat membentuk

communities dan subcommunities.

2.10 Java Script Object Notation (JSON)

JSON merupakan suatu format teks yang tidak bergantung pada bahasa

pemrograman apapun karena menggunakan bahasa yang umum dan dapat

digunakan oleh programmer yang menggunakan C, C++, C#, Java, JavaScript,

Perl, Python dan lain–lain. Beberapa bentuk yang digunakan di dalam JSON

adalah:

1. Object

Page 52: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Object adalah sepasang nama atau nilai yang tidak terurutkan. Object

dimulai dengan kurung kurawal buka ( { ) dan diakhiri dengan kurung

kurawal tutup ( } ). Pada setiap nama diikuti dengan titik dua (: ) dan

setiap pasangan nama atau nilai dipisahkan oleh koma ( , ).

2. Array

Array adalah kumpulan nilai yang terurutkan dan memiliki

komponen–komponen yang mempunyai tipe data sama. Array dimulai

dengan kurung kotak buka ( [ ) dan diakhiri dengan kurung kotak

tutup ( ] ). Pada setiap nilai dipisahkan oleh koma ( , ).

3. Value

Value dapat berupa string, angka, object, array, true, false, atau null.

Struktur–struktur tersebut dapat disusun dengan bertingkat.

4. String

String adalah kumpulan dari nol atau lebih karakter Unicode, yang

dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan

dapat digunakan backslash escapes ( \ ) untuk membentuk karakter

khusus. Sebuah karakter mewakili karakter tunggal pada string. String

sangat mirip dengan string C atau Java.

5. Number

Number sangat mirip dengan number di C atau Java, kecuali format

oktal dan heksadesimal tidak digunakan.

2.11 MongoDB

Menurut Plugge, Membrey, dan Hawkins (2010: 3), Mongo (berasal dari

kata humongous) merupakan bentuk database baru yang tidak memiliki konsep

tabel, skema, SQL, atau kolom. Secara singkat, MongoDB berbeda dengan

RDBMS (Relational Database Management System) yang biasanya dipakai

sebagai database. Pada umumnya database (MySQL, PostgressSQL,

ORACLE, SQLite, MS SQL SERVER, dan lain-lain) didesain untuk dapat

digunakan untuk menampung semua tipe data. Untuk membuat sebuah data

kompleks yang berukuran kecil, diperlukan 5 (lima) tabel dan pada akhirnya

menarik dan mengelompokkan mereka lagi.

Page 53: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Sedangkan MongoDB merupakan database yang didesain untuk tugas

pada dokumen dibanding pada kolom, bekerja dengan cepat, massively

scalable, dan mudah digunakan. Untuk mencapai kelebihan-kelebihan tersebut,

maka MongoDB tidak cocok digunakan pada situasi tertentu, misalnya

kurangnya transaction support dimana berarti tidak akan digunakan pada

aplikasi akuntansi. MongoDB menyediakan database berorientasi dokumen

yang kaya dapat mengoptimalkan kecepatan dan skalabilitas data.

MongoDB dan JSON memiliki kesamaan yaitu menyimpan semua data

pada satu dokumen, tidak seperti RDBMS yang sangat terstrukturisasi dengan

menggunakan beberapa tabel untuk menyimpan data secara individual. JSON

sangat efektif bagi database yang tidak memiliki skema karena dokumen dapat

diperbaharui secara individual atau diubah secara independen. Selain itu, JSON

juga menyediakan fitur yang sangat membantu yaitu mampu mengelompokkan

data yang sama pada satu tempat. Sebenarnya MongoDB tidak menggunakan

JSON, melainkan BSON (Binary JSON). Penggunaaan BSON tidak mengubah

bagaimana cara menjalankan data, tetapi BSON mempercepat pemrosesan dan

pencarian data. Kelebihan BSON dibanding JSON salah satunya yaitu

kemampuan untuk menambahkan tipe-tipe untuk menangani data binari.

Alasan untuk menggunakan BSON yaitu MongoDB didesain untuk cepat,

bukan untuk efisiensi dalam penggunaan space (tetapi tidak boros space juga).

Secara singkat, BSON lebih mudah untuk traverse (contoh: look through) dan

pengindeksan secara cepat. Walaupun BSON menggunakan sedikit lebih

banyak disk space dibanding JSON, tetapi hal tersebut tidak dipermasalahkan

karena harga disk tidak terlalu mahal dan MongoDB dapat scale across

machines.

Alasan kedua mengapa harus memakai BSON yaitu begitu mudah dan

cepat dalam mengkonversi BSON ke dalam format data murni dari bahasa

pemrograman. Apabila menggunakan JSON, maka diperlukan konversi tingkat

tinggi (high-level conversion) untuk mengkonversi ke dalam beberapa bahasa

pemrograman yang disediakan oleh MongoDB (contohnya C, C++, C#,

Phyton, Ruby, PHP) dan berbeda satu sama yang lain. Dengan menggunakan

format binari, struktur data murni dapat dibuat dengan cepat untuk setiap

bahasa pemrograman.

Page 54: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Kelebihan MongoDB yang lain yaitu memiliki database yang lebih dari

satu. Apabila satu database mengalami kegagalan atau kerusakan, maka masih

ada database duplikat yang lain yang bisa dikembalikan. MongoDB juga

menyediakan fitur identifier yang berbeda-beda pada dokumen. Identifier ini

disebut dengan _id. MongoDB akan generate sebuah nilai unik pada setiap

data atau bisa juga membuat nilai yang unik secara manual. Tetapi membuat

nilai unik secara manual menjadi tidak efektif apabila saat ada perubahan dari

10 digit menjadi 13 digit. Maka dari itu, MongoDB sangat membantu dalam

membuat identifier yang unik.

Di dalam MongoDB juga terdapat collections yang dikenal sebagai tables

di RDBMS. Tetapi collections berbeda dengan tables. Perbedaannya terletak

pada isinya. Misalnya terdapat sebuah collection yang bernama DVD. Dalam

collection tersebut tidak hanya berisi tentang DVD saja, tetapi dapat juga berisi

tentang CD, tapes, dan lain-lain. Dengan kata lain, tidak ada batasan dalam

memasukan data ke dalam collection tersebut. Sedangkan di RDBMS, tabel

hanya boleh dimasukkan data yang sudah didefinisikan. Di dalam MongoDB,

collection sangat sederhana, yaitu pengelompokkan data yang mirip. Misalnya

DVD, CD, tape collections memiliki kesamaan yaitu memiliki nama penyanyi,

album, dan isi album. Semuanya tergantung pada dokumen apa sajakah yang

akan disimpan pada collection yang sama tersebut. Database di dalam

MongoDB dapat disebut dengan collections of collections, yaitu kumpulan dari

beberapa collections.

Di dalam MongoDB terdapat master database dan slave database

dimana master database merupakan database utama dari semua data dan slave

database merupakan replika dari master database. Fungsi dari slave database

yaitu untuk memungkinkan akses database kapan dan dimana saja tanpa perlu

mengkhawatirkan adanya kegagalan dalam master database karena slave

database dapat menggantikannya. Salah satu kekuatan/keuntungan dari

MongoDB yaitu konsep replikasi pasangan, mirip dengn master-slave setup,

tetapi perbedaannya yaitu pada 2 buah server akan secara otomatis menentukan

yang mana yang akan menjadi master dan yang mana akan menjadi slave.

Apabila ada satu server mengalami kegagalan, maka kedua server akan secara

otomatis memperbaiki server yang gagal untuk normal kembali.

Page 55: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

Fitur yang lain yaitu sharding yang dapat dibedakan menjadi manual

sharding dan auto sharding. Cara kerja manual sharding adalah membuat 2

buah master database dan sebagian data akan disimpan pada salah satu master

database dan sebagiannya lagi akan disimpan di master database yang lain.

Manual sharding mewajibkan pengguna untuk mengetahui data apa saja yang

tersimpan pada kedua master database tersebut. Apabila menggunakan cara

tersebut, maka sudah kehilangan fitur yang disediakan oleh MongoDB, yaitu

simplicity.

Berbeda dengan manual sharding, pada auto sharding MongoDB akan

mengatur semua data yang tersimpan pada database termasuk pembagian dan

pengombinasian. MongoDB menyakinkan data tersimpan sesuai tempatnya dan

queries dijalankan dan digabung seefisiennya.

2.11.1 Desain Database MongoDB

Seperti yang sudah disebutkan sebelumnya bahwa MongoDB

merupakan database yang tidak memiliki relasi dan skema, yang

berarti tidak terikat pada kolom atau tipe data database tertentu seperti

pada RDBMS yang sudah sering ditemukan. Keuntungan yang paling

besar dari implementasi tersebut yaitu data yang sangat fleksibel

karena data tidak terikat pada struktur tertentu. Dengan kata lain,

sebuah collection dapat terdiri beberapa atau ribuan dokumen dengan

struktur yang berbeda-beda.

Berikut merupakan contoh bentuk dokumen dari database non-relasi:

"Type": "CD", "Artist": "Nirvana", "Title": "Nevermind", "Genre": "Grunge", "Releasedate": "1991.09.24", "Tracklist": [ {

"Track": "1", "Title": "Smells Like Teen Spirit", "Length": "5:02"},

{ "Track": "2", "Title": "In Bloom", "Length": "4:15"}]

Page 56: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Di dalam MongoDB, collection dapat diberi index secara

manual yang berfungsi agar meningkatkan kecepatan pada saat

pencarian data karena query tidak perlu untuk menjelajahi seluruh

database. Setelah disimpan, dapat menggunakan line berikut untuk

mencari data yang diinginkan:

db.systems.indexes.find()

2.11.2 Navigasi Database

Pada database SQL diperlukan pembentukan database terlebih

dahulu sebelum dilakukan input data-data. Berbeda dengan database

di MongoDB, ketika data dimasukkan, database akan secara otomatis

terbentuk. MongoDB juga bersifat case sensitive. Tabel 2.4

menjelaskan beberapa sintaks dasar yang digunakan dalam

MongoDB:

Tabel 2.4 Sintaks Dasar MongoDB

No Fungsi Sintaks

1

Untuk membuat database baru

atau mengubah database yang

akan dipakai.

>use nama_database

2

Untuk menampilkan seluruh

database yang sudah ada/dibuat.

>show dbs

Untuk menampilkan collections

yang ada di dalam database

>show collections

3

Untuk insert, data disimpan

dalam format BSON (Binary

JSON).

Ada beberapa cara untuk

memasukkan data ke dalam

collections, salah satunya yaitu

dengan mendefinisikan data

terlebih dahulu kemudian

disimpan ke dalam collections

>document =({

"Type":"Book",

"Title":"Definitive Guide

to MongoDB,the",

"ISBN":"987-1-4302-

3051-9",

"Publisher":"Apress",

"Author":

["Membrey,Peter",

Page 57: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

atau dengan mengetik dokumen

ketika menggunakan fungsi

insert.

"Plugge,Eelco","Hawkins,

Tim" ]} )

db.media.insert(document)

Cara yang lain yaitu secara

langsung memasukkan data

secara langsung tanpa

mendefinisikan data terlebih

dahulu.

>db.media.insert({

"Type":"CD",

"Artist":"Nirvana",

"Title": "Nevermind"

})

2.12 . Global Positioning System (GPS)

Mengacu pada pendapat Meduri dan Brahmanandam (2012: 445), Global

Positioning System (GPS) adalah satelit berbasis sistem navigasi radio untuk

memberikan informasi posisi yang akurat dengan waktu yang tepat. Biasanya,

akurasi GPS dibatasi oleh beberapa faktor seperti lingkungan, penerima, dan

kesalahan berbasis satelit.

2.13 Java

Berdasarkan pendapat Schildt (2005), Java adalah bahasa pemrograman

yang mendukung Object Oriented Programming (OOP). Aplikasi Java

biasanya dapat dikompilasi menjadi bytecode (file kelas) yang dapat berjalan di

Java Virtual Machine (JVM) manapun walaupun berbeda dalam arsitektur

komputer.

Bahasa pemrograman Java memiliki beberapa kelebihan dibandingkan

beberapa bahasa pemrograman lain. Beberapa kelebihan dari Java adalah:

1. Multiplatform

Java dapat dijalankan dibeberapa platform atau sistem operasi komputer,

yang tidak terikat pada arsitektur tertentu. Sesuai dengan prinsip write

once, run anywhere.

2. Object Oriented Programming (OOP)

Bahasa Java merupakan bahasa pemrograman yang mendukung

pemodelan berorientasi objek karena pada Java mengutamakan dalam

pembuatan objek, manipulasi objek, dan membuat objek bekerja sama.

Page 58: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

3. Library yang lengkap

Java memiliki library yang lengkap dan mempermudah dalam

penggunaan oleh para pembangun untuk membangun aplikasinya.

4. Berdasar C++

Memiliki sintaks seperti bahasa pemrograman C++.

2.14 Eclipse

Eclipse adalah sebuah software yang bersifat terbuka dan multi-bahasa.

Eclipse meliputi Integrated Development Environment (IDE) dan sistem

extensible plug-in. Dapat digunakan untuk mengembangkan berbagai jenis

aplikasi, dengan menggunakan bahasa seperti Java, Ada, C, C++, COBOL,

Python dan lain-lain (Lee, 2011: 7).

Eclipse mengijinkan ekstensi tambahan dari pihak third-party dan

merupakan suatu IDE karena menyediakan tools untuk mengatur workspace;

dapat membangun, menjalankan dan debug aplikasi; dan juga melakukan

penyesuaian terhadap pemrograman.

Menurut Steinberg et. al. (2008), Eclipse adalah sebuah open source

software yang berguna untuk menyediakan tool platform yang sangat

terintegrasi. Dalam penggunaannya Eclipse terdiri dari core project dimana

yang berisi generic framework untuk tool integration dan sebuah Java

development environment. Proyek pada Eclipse terimplementasikan pada Java

dan dapat dijalankan pada beberapa sistem operasi meliputi Windows, Mac

OSX dan Linux.

Sifat-sifat dari Eclipse:

a. Multi-platform

Target sistem operasi Eclipse adalah Microsoft Windows, Linux,

Solaris, AIX, HP-UX, dan Mac OS X.

b. Multi-language

Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi

Eclipse mendukung pengembangan aplikasi berbasis bahasa

pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP,

dan lain sebagainya.

Page 59: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

c. Multi-role

Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa

digunakan untuk aktivitas dalam siklus pengembangan perangkat

lunak, seperti dokumentasi, test perangkat lunak, pengembangan web,

dan lain sebagainya.

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan

gratis dan open source, yang berarti setiap orang boleh melihat kode

pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang

membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh

pengguna dengan komponen yang dinamakan plug-in.

2.15 Image Processing

Menurut Gonzalez dan Woods (2007: 23) dalam bukunya Digital Image

Processing 3rd Edition sebuah gambar (image) dapat didefinisikan berupa

fungsi dua dimensi, f (x, y), dimana x dan y merupakan koordinat spasial dan f

merupakan fungsi intensitas gambar dari titik tersebut. Ketika nilai x, y, f

terdefinisi maka disebut gambar digital (digital image). Pengolahan citra digital

(digital image processing) merupakan pengolahan gambar digital

menggunakan komputer digital.

Kusumanto dan Tompunu (2011: 1) mendefinisikan pengolahan citra

digital adalah sebuah disiplin ilmu yang mempelajari tentang teknik-teknik

mengolah citra. Citra yang dimaksud adalah gambar diam (foto) maupun

gambar bergerak. Sedangkan digital mempunyai maksud bahwa pengolahan

citra/gambar dilakukan menggunakan komputer. Kusumanto dan Tompunu

mengklasifikasikan citra digital menjadi 3 jenis yaitu color image atau RGB

(Red, Green, Blue), black and white dan binary image.

Gonzalez dan Woods (2007: 47) mendefinisikan langkah-langkah yang

mendasar pada pengolahan citra digital, yaitu:

1. Image acquisition: proses mendapatkan sebuah gambar. Proses ini akan

menjadi lebih mudah apabila gambar yang didapat sudah berupa gambar

digital.

2. Image enhancement: proses memperbaiki gambar agar hasilnya dapat

digunakan untuk aplikasi yang lebih spesifik. Image enhancement dibagi

menjadi dua metode yaitu:

Page 60: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

a. Spatial domain method, metode yang mengacu pada pendekatan

manipulasi secara langsung dari pixel pada gambar.

b. Frequency domain method, metode yang mengacu pada

modifikasi fourier transform.

3. Image restoration: proses memperbaiki tampilan dari sebuah gambar.

Berbeda dengan image enhancement, image restoration lebih objektif

karena berdasar pada model perhitungan matematika/ peluang dari

gambar.

4. Color image processing: proses, konsep dasar pewarnaan gambar dalam

area digital.

5. Wavelets and multiresolution processing: merupakan proses dasar dari

merepresentasikan gambar dalam beberapa derajat resolusi.

6. Compression: berhubungan dengan teknik mengurangi jumlah memori

yang dibutuhkan untuk menyimpan sebuah gambar ataupun bandwidth

yang dibutuhkan untuk mengirim data gambar.

7. Morphological processing: berhubungan dengan teknik untuk

mengekstrak komponen gambar yang berguna untuk representasi dan

deskripsi dari sebuah bentuk.

8. Segmentation: proses membagi-bagi gambar menjadi bagian atau objek.

9. Representation and description:

10. Recognition: proses mengidentifikasi label dari sebuah objek berdasarkan

deskriptor yang didapat.

2.16 Histogram Processing

2.16.1 Pengertian Histogram

Histogram merupakan representasi grafis dari distribusi intensitas

gambar, serta pertimbangan jumlah piksel dari setiap nilai intensitas gambar.

Metode seperti Histogram Comparison (Anonim2, 2013) adalah satu

contohnya.

2.16.2 Histogram Comparison

Metode Histogram Comparison memiliki 4 (empat) metriks

yang berbeda untuk menghitung persamaan dari dua gambar. Untuk

Page 61: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

membandingkan dua histogram (H1 dan H2), maka harus dilakukan

pemilihan salah satu metrik perhitungan (d (H1, H2)). Metriks Chi-

Square merupakan salah satu contoh dari metode tersebut.

Metrik ini mengukur kesamaan dari dua gambar dengan

parameter numerik histogram kedua gambar yang bersangkutan. Jika

d adalah nilai perbandingan dari histogram, h1 dan h2 adalah dua

gambar yang bersangkutan, I adalah saluran warna yang ada maka

perbandingan parameter numeric kedua histogram dengan

menggunakan Chi-Square adalah:

Gambar 2.21 Rumus Histogram

2.17 Augmented Reality

2.17.1 Pengertian Augmented Reality

Menurut Perey (2011), Visi kami di masa depan adalah bahwa

setiap materi yang dicetak, dimulai dari poster, paket yang dikirim,

halaman dari koran, majalah atau buku, dapat memberikan nilai bila

dikombinasikan dengan kamera, algoritma dapat mendeteksi isi

halaman dan platform yang mengambil data digital yang

berhubungan. Kombinasi dari sistem AR (Augmented Reality) dengan

media cetak akan memberikan nilai lebih dibandingkan dengan

sesuatu yang hanya dicetak saja atau konten digital saja.

Menurut Suryawinata (2010), Augmented Reality (AR) adalah

kombinasi antara dunia maya (virtual) dan dunia nyata (real) yang

dibuat oleh komputer. Obyek virtual dapat berupa teks, animasi,

model 3D atau video yang digabungkan dengan lingkungan

sebenarnya sehingga pengguna merasakan obyek virtual berada

dilingkungannya. AR adalah cara baru dan menyenangkan dimana

manusia berinteraksi dengan komputer, karena dapat membawa obyek

virtual ke lingkungan pengguna, memberikan pengalaman visualisasi

Page 62: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

yang alami dan menyenangkan. Sistem ini berbeda dengan Virtual

Reality (VR), yang sepenuhnya merupakan virtual environment.

Dengan bantuan teknologi augmented reality lingkungan nyata

disekitar kita akan dapat berinteraksi dalam bentuk digital (virtual).

Informasi informasi tentang obyek dan lingkungan disekitar kita dapat

ditambahkan kedalam sistem augmented reality yang kemudian

informasi tersebut ditampilkan diatas layer dunia nyata secara real-

time seolah-olah informasi tersebut adalah nyata.

Augmented Reality merupakan salah satu cabang di bidang

teknologi yang belum terlalu lama, namun memiliki perkembangan

yang sangat cepat. Perkembangan augmented reality pada industri

mobile phone juga mempunyai perkembangan yang paling cepat.

2.17.2 Augmented Reality Location Based Tracking

Augmented Reality ini berbasiskan metode tracking pada

informasi geo-location yang diterima dari sensor lokasi (longitude,

latitude, altitude, compass bearing, accelerometer untuk membaca

pitch dan roll ) yang ada pada perangkat. Istilah ini digunakan untuk

membuat perbedaan antara sistem yang hanya bergantung pada sensor

lokasi dengan sistem yang dapat melacak objek menggunakan teknik

optik (image recognition). Location based tracking biasanya kurang

akurat dibandingkan dengan metode optik dan hanya bekerja dengan

baik pada lingkungan terbuka. (Butchart, 2011).

2.17.3 Six Degrees of Freedom

Mengacu pada kemampuan dari sistem tracking untuk menjaga

keselarasan dari obyek dunia nyata dalam ruang tiga dimensi. Pada

aplikasi Augmented Reality untuk smartphones, six degrees of

freedom adalah mungkin. Sensor lokasi memungkinkan untuk

memberikan data kedepan/belakang dan kanan/kiri, atas/bawah (GPS)

dan yaw (kompas) dan accelerometer dapat menunjukkan pitch dan

roll dari sebuah perangkat. Mirip seperti teknik image recognition

Page 63: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

yang dapat menghitung sudut dari orientasi yang diketahui. (Butchart,

2011).

2.18 Penelitian Sebelumnya

Beberapa penelitian mengenai deteksi lokasi yang pernah dilakukan

sebelumnya antara lain, jurnal yang berjudul Penggunaan Microcontroller

Sebagai Pendeteksi Posisi dengan Menggunakan Sinyal GSM membahas

pengembangan aplikasi pendeteksi posisi menggunakan IC mikrokontroller

untuk mengirimkan perintah menggunakan sinyal GSM yang ada pada mobile

phone yang kemudian dibaca oleh penerima. Setelah dibaca dilakukan

pengiriman perintah. Perintah yang dikirim disini berupa lokasi dimana

penerima berada. Kode yang dikirimkan berupa lokasi dimana dia berada yang

ditunjukan dengan keberadaan BTS terdekat. Pada penelitian lain Fajaruddin

dan Tarmuji (2013) menghasilkan aplikasi pencarian lokasi berbasis mobile

web dengan memanfaatkan GPS dan geolocation.

Selain itu terdapat penelitian lain di bidang image processing untuk

pengenalan wajah menggunakan perbandingan histogram yang dilakukan oleh

Endah Sudarmilah pada tahun 2009. Adapun kelebihan dari penggunaan

metode histogram untuk pengenalan wajah antara lain pengenalan wajah

dengan menggunakan perbandingan histogram memiliki algoritma yang

sederhana dan komputasi yang mudah sehingga proses pengenalan lebih cepat

dilakukan dan pengenalan wajah sudah disesuaikan dengan histogram warna

kulit. Namun juga terdapat kelemahan pada penelitian ini yaitu sistem ini

sangat tergantung pada pencahayaan terutama pada proses pengenalan wajah

karena menggunakan algortima histogram yang murni menggunakan nilai

intensitas cahaya.

Dengan membaca dan mempelajari dari beberapa penelitian terdahulu

dapat membantu pengembangan aplikasi terkait, sehingga tujuan

dikembangkannya aplikasi ini dapat tercapai. Secara garis besar gambaran

penelitian terdahulu terkait aplikasi pendeteksi lokasi dan metode pengenalan

objek dapat dilihat pada Tabel 2.3:

Page 64: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

Tabel 2.5 Penelitian Sebelumnya

No Nama Judul Metode Keterangan 1 Anna Nur

Nazilah

Chamim

Penggunaan

Microcontroller

Sebagai

Pendeteksi

Posisi Dengan

Menggunakan

Sinyal GSM

(2010)

Pemanfaatan

sinyal GSM

sebagai media

komunikasi dan

microcontroller

sebagai alat untuk

membaca sinyal

yang dikirim

maupun diterima

oleh mobile

phone.

Kelemahan: Pendeteksi

lokasi pada aplikasi ini

masih menggunakan kode

BTS, belum merupakan

koordinat penerima.

2 Nur

Fajaruddin,

Ali Tarmuji

Pembangunan

Sistem Pencari

Lokasi dengan

Geolocation

Berdasarkan

GPS Berbasis

Mobile Web

(2013)

Memanfaatkan

fitur GPS dan

mobile browser

yang mendukung

geolocation pada

smartphone.

Penelitian ini menghasilkan

sebuah sistem pencarian

lokasi hotel berbasis mobile

web di Yogyakarta dengan

memanfaatkan geolocation

pada smartphone. Selain itu

aplikasi ini juga dapat

menampilkan rute jalan,

penunjuk arah jalan,

informasi singkat, informasi

kamar, foto dan fasilitas

umum disekitar lokasi hotel.

3 Endah

Sudarmilah

Pengenalan

Wajah dengan

Perbandingan

Histogram

Metode

pengenalan wajah

yang digunakan

pada penelitian

Pada penelitian ini

digunakan algoritma

perbandingan histogram

yang ditulis dengan

Page 65: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

146

(2009) tersebut adalah

perbandingan

histogram citra

wajah.

menggunakan library

OpenCV.

Page 66: BAB 2 TINJAUAN PUSTAKA - Binus Librarylibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00642-IF Bab2001… · Mengacu pada pendapat dari Stark (2012) pengembangan aplikasi pada mobile

145

No Nama Judul Metode Keterangan

4 Pudy Prima,

Ir.Windy

Gambetta

Penerapan

Augmented

Reality Berbasis

Lokasi dalam

Mobile Virtual

Tour (2012)

Pengembangan

aplikasi mobile

virtual guide

memanfaatkan

pendekatan

augmented reality

berbasis lokasi

yang merupakan

penggabungan

antara teknologi

location-based

service dan

augmented

reality.

Aplikasi ini memungkinkan

user generated content,

yaitu pengguna dapat

memasukan data untuk

memberikan informasi,

namun tidak ada jaminan

mengenai kebenaran

informasi yang diberikan,

karena sistem tidak

memeiliki mekanisme

khusus untuk melakukan

validasi.

5 Ashok

Saini, Mohit

Bansal,

Deepak

Sethi

Comparison of

Original Image

Enhancement

Using Multiple

Histogram

Techniques

(2013)

Menggunakan

teknik CLAHE

(Contrast Limited

Adaptive

Histogram

Equalization),

DSIHE (Dualistic

Sub Image

Histogram

Equalization) dan

DHE (Dynamic

Histogram

Equalization)

untuk

membandingkan

sebuah gambar.

Dari ketiga metode yang

digunakan DHE merupakan

teknik yang menghasilkan

gambar dengan kontras

terbaik.