bab 2 tinjauan referensi - library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/bab 2...

32
7 BAB 2 TINJAUAN REFERENSI 2.1 Metode Penelitian Menurut Pressman (2010:39), model Waterfall atau yang sering disebut juga dengan classic life cycle (siklus klasik), mengusulkan pendekatan sekuensial dan sistematis untuk pengembangan software yang dimulai dengan spesifikasi user requirement (communication) lalu berlanjut ke planning, modeling, construction, dan deployment, yang berpuncak pada dukungan berkelanjutan dari software yang telah selesai dibuat. Fase dalam model Waterfall: Gambar 2.1. Waterfall Pressman 1. Communication Tahap pertama pada pendekatan Waterfall adalah communication. Tahapan ini terdiri dari project initiation dan requirements gathering. Project initiation adalah tahapan dimana peneliti menentukan latar belakang, tujuan, dan manfaat yang ingin dicapai dari sebuah penelitian. Requirements gathering adalah tahap pengumpulan data yang berhubungan dengan penelitian yang dilakukan. 2. Planning Tahap kedua pada pendekatan Waterfall adalah planning. Tahapan ini terdiri dari estimating, scheduling dan tracking. Estimating adalah tahapan dimana peneliti melakukan estimasi waktu dan biaya penelitian yang akan

Upload: ngokhue

Post on 24-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

7

BAB 2

TINJAUAN REFERENSI

2.1 Metode Penelitian

Menurut Pressman (2010:39), model Waterfall atau yang sering disebut juga

dengan classic life cycle (siklus klasik), mengusulkan pendekatan sekuensial dan

sistematis untuk pengembangan software yang dimulai dengan spesifikasi user

requirement (communication) lalu berlanjut ke planning, modeling, construction, dan

deployment, yang berpuncak pada dukungan berkelanjutan dari software yang telah

selesai dibuat.

Fase dalam model Waterfall:

Gambar 2.1. Waterfall Pressman

1. Communication

Tahap pertama pada pendekatan Waterfall adalah communication.

Tahapan ini terdiri dari project initiation dan requirements gathering. Project

initiation adalah tahapan dimana peneliti menentukan latar belakang, tujuan, dan

manfaat yang ingin dicapai dari sebuah penelitian. Requirements gathering

adalah tahap pengumpulan data yang berhubungan dengan penelitian yang

dilakukan.

2. Planning

Tahap kedua pada pendekatan Waterfall adalah planning. Tahapan ini

terdiri dari estimating, scheduling dan tracking. Estimating adalah tahapan

dimana peneliti melakukan estimasi waktu dan biaya penelitian yang akan

8

dilakukan. Scheduling adalah tahapan dimana peneliti melakukan penjadwalan

rangkaian kegiatan yang akan dilakukan. Tracking adalah tahapan menelusuri

proses pengerjaan sistem.

3. Modeling

Tahap ketiga pada pendekatan Waterfall adalah modeling. Tahapan ini

terdiri dari analysis dan design. Analysis yaitu tahapan dimana peneliti

melakukan analisa terhadap sistem yang akan dikembangkan. Design yaitu

tahapan dimana peneliti melakukan perancangan dan pemodelan arsitektur sistem

yang akan dikembangkan seperti perancangan struktur data, arsitektur software

dan tampilan interface.

4. Construction

Tahap keempat pada pendekatan Waterfall adalah construction. Tahapan

ini terdiri dari code dan test. Code adalah tahapan develop program dan setelah

program selesai di develop maka akan dilakukan tahapan Test yaitu melakukan

pengujian terhadap program yang telah dibuat.

5. Deployment

Tahap kelima pada pendekatan Waterfall adalah deployment. Tahapan

deployment ini merupakan tahapan implementasi software / aplikasi yang telah

dibuat ke customer, evaluasi dan pengembangan dari software / aplikasi yang

telah dibuat.

2.2 UML (Unified Modeling Language)

UML (Unified Modeling Language) menurut Whitten dan Bentley (2007:371)

adalah suatu kumpulan konvensi pemodelan untuk menentukan atau menggambarkan

suatu sistem perangkat lunak yang berhubungan dengan objek.

UML Diagram bisa diibaratkan seperti cetakan biru untuk membangun sebuah

rumah. Dimana sebuah cetakan biru biasanya membantu pembangunnya untuk

memberikan gambaran yang jelas mengenai saluran air, listrik, pemanas, dan

sejenisnya, setiap UML diagram membantu tim developer program memberikan

gambaran yang jelas untuk sistem tersebut.

9

a. Use Case Diagram

Menurut Whitten dan Bentley (2007:382), use case menggambarkan

interaksi antara sistem, eksternal sistem dan user. Use case menjelaskan fungsi

sistem dari perspektif user eksternal. Use case direpresentasikan secara grafik

dalam bentuk elips dengan nama dari use case berada di atas, bawah atau di

dalam elips.

Gambar 2.2. Simbol Use Case

Use case merepresentasikan tujuan tunggal dari sistem dan menjelaskan

urutan aktivitas dan interaksi user untuk mencapai tujuan. Pembuatan use case

telah terbukti menjadi teknik yang baik untuk lebih memahami dan

mendokumentasikan kebutuhan sistem.

Gambar 2.3. Contoh Use Case Diagram

10

1. Actor

Use case diawali atau dipicu oleh user eksternal yang disebut aktor.

Aktor mengawali aktivitas sistem dan use case yang bertujuan untuk

menyelesaikan beberapa tugas bisnis yang menghasilkan sesuatu yang

bernilai.

Gambar 2.4. Simbol Actor

2. Relationship

Hubungan digambarkan sebagai garis antara 2 simbol pada use case

diagram. Arti dari setiap hubungan berbeda tergantung pada bagaimana garis di

gambarkan dan apa jenis simbol yang menghubungkannya.

1. Associations

Asosiasi merupakan hubungan antara aktor dan use case dimana

terdapat interaksi antara kedua hal tersebut. Asosiasi dimodelkan dengan

garis utuh yang menghubungkan aktor dengan use case.

Asosiasi yang memiliki tanda panah mengarah pada sebuah use case

menunjukkan bahwa interaksi ditiru oleh aktor. Asosiasi yang tidak

memiliki tanda panah menunjukkan adanya interaksi antara use case

dengan external server atau receiver actors. Asosiasi dapat bersifat dua

arah atau satu arah.

11

Gambar 2.5. Contoh Hubungan Asosiasi

2. Extends

Use case mungkin mengandung fungsionalitas kompleks yang terdiri

dari beberapa tahapan yang membuat logika use case sulit dipahami.

Untuk membuatnya lebih simple, use case yang kompleks tersebut bisa di

ekstrak menjadi use case tersendiri yang disebut dengan extension use case

dan menghubungkannya dengan extends.

Gambar 2.6. Contoh Hubungan Extends

3. Uses / includes

Dalam pembuatan use case sering ditemukan use case yang memiliki

fungsi identik. Hal tersebut bisa di sederhanakan dengan membuat use

case terpisah yang disebut abstract use case dan menghubungkannya

dengan uses atau includes.

12

Gambar 2.7. Contoh Hubungan Uses/Includes

4. Depends on

Hubungan antara use case yang menunjukan bahwa satu use case

tidak dapat dilakukan sampai use case yang lain tersebut selesai dilakukan.

Gambar 2.8. Contoh Hubungan Depends On

13

5. Inheritance

Inheritance dalam use case adalah hubungan antara aktor yang

dibuat untuk menyederhanakan penggambaran use case ketika ada abstract

actor yang menurunkan perannya pada beberapa aktor.

Gambar 2.9. Contoh Hubungan Inheritance

b. Class Diagram

Menurut Whitten dan Bentley (2007:400), class diagram adalah suatu

gambaran grafis dari struktur statis sistem, yang menunjukan kelas objek yang

ada pada sistem beserta hubungan antara kelas-kelas objek tersebut. Kelas

objek adalah instance yang berbagi atribut dan perilaku yang sama, sering

disebut kelas. Class diagram digunakan secara grafis yang menggambarkan

kelas dan asosiasinya, dilengkapi dengan multiplicity,

generalization/specialization, dan aggregation.

1. Association

Asosiasi adalah hubungan kelas-kelas di dalam class diagram.

Asosiasi di dalam class diagram digambarkan dengan garis lurus yang

14

menghubungkan kelas tersebut. Frase kata kerja menggambarkan asosiasi.

Semua hubungan di dalam class diagram secara implisit bidirectional,

yang berarti bahwa dapat di interprestasikan di kedua arah. Di dalam setiap

asosiasi terdapat multiplicity.

2. Multiplicity

Multiplicity adalah jumlah minimum dan maximum kejadian dari

satu kelas objek untuk kejadian tunggal dari kelas objek terkait. Karena

semua asosiasi secara default bidirectional, yang berarti suatu kelas

mengetahui mengenai kelas lainnya, multiplicity harus didefinisikan di

kedua arah untuk setiap asosiasi.

Tabel 2.1. Jenis- Jenis Multiplicity

Multiplicity Deskripsi

1 Hanya satu.

0..1 Nol atau satu.

0..* Lebih dari sama dengan nol.

1..* Lebih dari sama dengan 1.

* Banyak atau Many.

n..m

Lebih dari sama dengan N dan kurang dari sama dengan

M. Dimana M dan N lebih dari 1.

Gambar 2.10. Contoh asosiasi antara kelas dengan multiplicity

15

3. Aggregation and Composition

Agregasi adalah hubungan dimana kelas yang lebih besar “whole”

mengandung satu atau beberapa kelas yang lebih kecil “part”. Komposisi

adalah hubungan agregasi dimana “whole” bertanggung jawab pada

pembentukan dan penghancuran dari “part” nya. Jika “whole” hancur,

maka “part” dari “whole” pun akan hancur.

Gambar 2.11. Contoh Agregasi

Gambar 2.12. Contoh Komposisi

4. Generalization/Specialization

Generalisasi/spesialisasi adalah sebuah teknik di mana atribut dan

perilaku yang umum untuk beberapa jenis kelas objek di kelompokkan

(atau diabstrakan) ke dalam kelas objek itu sendiri, yang disebut supertype.

Atribut dan metode kelas objek supertype kemudian diwariskan oleh kelas

objek subtipe.

16

Gambar 2.13. Contoh Generalisasi/Spesialisasi

c. Activity Diagram

Menurut Whitten dan Bentley (2007:390), activity diagram

menggambarkan rangkaian alur dari aktifitas pada sistem. Activity diagram

digunakan untuk memodelkan berbagai aksi yang akan dilakukan pada saat

sebuah operasi di esekusi dan memodelkan hasil dari esekusi tersebut. Pada

activity diagram juga dapat melihat bagaimana aktivitas dari suatu sistem

dijalankan pertama kali hingga pada saat sistem berakhir.

17

Tabel 2.2. Simbol-simbol class diagram dan keterangannya

Simbol Keterangan

Flow

Menunjukkan arah dari tahap 1 ke tahap yang

lain.

Action

Membuat urutan aksi yang digambarkan dalam

bentuk diagram

Initial Node

Titik mulai dari suatu proses

Activity Final Node

Titik yang menunjukkan suatu proses selesai

dijalankan

Fork

Satu aliran dimana pada tahap tertentu

mengalami perubahan menjadi beberapa aliran

dan aksi di bawah percabangan tidak

tergantung pada urutan atau bahkan bisa

dilakukan secara bersama-sama

Decision

Menunjukkan sebuah kondiisi dimana terdapat

1 input dan 2 output

Merge

Terdapat 2 atau lebih input dan 1 output untuk

menggabungkan aktifitas menjadi 1 sebelum

adanya decision

Join

Menyatukan alur aksi karena sebelumnya

terjadi percabangan aksi

18

Activity diagram dapat dibagi per partisi atau sering disebut dengan swim

lanes karena menyerupai jalur yang digunakan oleh perenang kompetisi.

Sebuah activity diagram mungkin mempunyai tiga atau lebih swim lanes yang

menunjukkan aktor penerima.

d. Sequence Diagram

Sequence diagram menurut Whitten dan Bentley (2007:394) adalah

diagram yang menggambarkan interaksi antara aktor dengan sistem untuk

sebuah use case skenario. Sequence diagram menggambarkan bagaimana

objek-objek saling berinteraksi satu sama lain melalui pesan-pesan yang ada

dalam sebuah use case skenario atau operasi.

Terdapat beberapa notasi dalam sequence diagram yaitu :

a. Actor

Aktor digambarkan dengan sebuah simbol aktor dalam use case.

b. System

Sebuah kotak digunakan untuk menggambarkan sistem yang

bersangkutan.

c. Lifelines

Garis vertikal putus-putus yang mengindikasikan masa hidup sistem

atau aktor.

d. Activation bars

Balok panjang yang diletakkan di atas lifelines untuk

menggambarkan masa waktu terjadinya interaksi aktif.

e. Input messages

Garis horizontal dengan panah ke kanan yang mengindikasikan pesan

masuk.

f. Output messages

Garis horizontal dengan panah ke kiri yang mengindikasikan pesan

keluar.

g. Receiver Actor

Aktor lain atau sistem eksternal yang menerima pesan dari sistem

yang disertakan.

19

h. Frame

Sebuah box yang dapat dilampirkan satu atau lebih pesan untuk dibagi ke

dalam sebuah fragment dalam sequence. Frame dapat berupa loops, alternate

fragment (alt), atau optional (opt). Untuk sebuah optional fragment, kondisi

yang ditunjukkan dalam tanda kurung siku menunjukkan kondisi dimana

langkah-langkah akan dilakukan.

Gambar 2.14. Sequence Diagram

20

Gambar 2.15. Sequence Diagram dengan optional fragment

2.3 Delapan Aturan Emas (Eight Golden Rules)

Menurut Shneiderman dan Plaisant (2010:88-89), Interaksi manusia dan

komputer merupakan ilmu yang berkaitan pada perancangan, evaluasi dan

implementasi yang menjelaskan cara komunikasi antara komputer dan manusia atau

user.

Menurut Shneiderman dan Plaisant (2010:88-89), ada delapan aturan yang

dapat digunakan sebagai petunjuk dasar dalam merancang suatu user interface atau

disebut dengan Eight Golden Rules, antara lain:

1. Berusaha untuk konsisten (Strive for consistency)

Bentuk konsisten dalam perancangan user interface diantaranya warna,

tata letak, huruf, dan lain-lain.

2. Menyediakan kemudahan penggunaan yang bersifat universal (Cater to universal

usability)

Mengenali kebutuhan dari pengguna yang beragam seperti novice user

dan expert user. Menyediakan petunjuk penggunaan aplikasi untuk novice user

dan memberikan fitur shortcut untuk expert user.

21

3. Memberikan umpan balik (feedback) yang informatif (Offer informative

feedback)

Setiap tindakan user, harus ada umpan balik dari sistem. Untuk tindakan

yang sering dan kecil, umpan balik yang sederhana, sedangkan untuk tindakan

jarang dan besar, umpan balik diberikan lebih substansial.

4. Merancang umpan balik sebagai penanda tindakan sudah berakhir (Design dialog

to yield closure)

Urutan tindakan harus diatur ke dalam kelompok dengan awal, tengah,

dan akhir. Umpan balik informatif akan memberikan tanda bahwa sebuah

tindakan sudah selesai dilakukan dan dapat dilanjutkan ke tindakan selanjutnya.

5. Mencegah kesalahan(Prevent errors)

Jika pengguna melakukan kesalahan, sistem harus mampu mendeteksi

kesalahan dan menawarkan penanganan sederhana, mekanisme yang mudah

dipahami untuk penanganan kesalahan.

6. Memberikan kemudahan kembali ke tindakan sebelumnya(Permit easy reversal

of actions)

Selama pengguna melakukan kesalahan dan pengguna mengetahui dapat

melakukan pembatalah maka fitur tersebut dapat mengurangi kecemasan dari

pengguna.

7. Mendukung tempat pengendali internal (Support internal locus of control)

Pengguna yang berpengalaman memiliki kendali untuk mengontrol

system dan system akan memberikan respon hasil dari tindakan pengguna.

8. Mengurangi beban ingatan jangka pendek (Reduce short-term memory load)

Keterbatasan pemrosesan informasi manusia dalam memori jangka

pendek mengharuskan tampilan dibuat sederhana, mengurangi frekuensi window-

motion sehingga pengguna tidak perlu menghafal terlalu banyak.

2.4 Pariwisata

Pariwisata merupakan salah satu industri yang mampu menyediakan

pertumbuhan ekonomi yang cepat dalam hal penyediaan lapangan kerja, pendapatan,

tarif hidup, dan dalam mengaktifkan sektor produksi lain di dalam negara penerima

wisatawan.

22

Menurut UU RI No. 10 Tahun 2009 tentang Kepariwisataan, yang

dimaksud dengan :

1. Wisata adalah kegiatan perjalanan yang dilakukan oleh seseorang atau

sekelompok orang dengan mengunjungi tempat tertentu untuk tujuan

rekreasi, pengembangan pribadi, atau mempelajari keunikan daya tarik

wisata yang dikunjungi dalam jangka waktu sementara.

2. Wisatawan adalah orang yang melakukan wisata.

3. Pariwisata adalah berbagai macam kegiatan wisata dan didukung berbagai

fasilitas serta layanan yang disediakan oleh masyarakat, pengusaha,

Pemerintah, dan Pemerintah Daerah.

4. Kepariwisataan adalah keseluruhan kegiatan yang terkait dengan pariwisata

dan bersifat multidimensi serta multidisiplin yang muncul sebagai wujud

kebutuhan setiap orang dan negara serta interaksi antara wisatawan dan

masyarakat setempat, sesama wisatawan, Pemerintah, Pemerintah Daerah,

dan pengusaha.

Pariwisata merupakan salah satu sektor ekonomi yang penting dalam suatu

negara. Menurut Sinclair dan Stabler pada tahun 1997 permintaan pariwisata

berpengaruh terhadap semua sektor perekonomian yaitu perorangan (individu), usaha

kecil menengah, perusahaan swasta, dan sektor pemerintah. Dengan adanya

pariwisata, maka pemerintah daerah tempat obyek wisata itu berada akan

mendapatkan pemasukan dari setiap obyek wisata tersebut. Berkembangnya sektor

pariwisata di suatu negara akan menarik sektor lain untuk berkembang pula karena

produk-produknya diperlukan untuk menunjang industri pariwisata tersebut.

23

2.5 Pengenalan Gambar (Image Recognition)

Pengenalan gambar adalah proses untuk mengidentifikasi dan mendeteksi

objek atau fitur dalam gambar digital atau video. Konsep ini digunakan dalam

banyak aplikasi seperti sistem otomasi pabrik, pemantauan toll booth, dan

pengawasan keamanan. (MathWorks, 2017)

Algoritma pengenalan citra yang khas meliputi:

Optical character recognition

Pattern and gradient matching

Face recognition

License plate matching

Scene change detection

2.6 Google Cloud Vision API

Google Cloud Vision API memungkinkan developer untuk memahami konten

dari suatu gambar dengan enkapsulasi model machine learning menggunakan REST

API. Google Cloud Vision API ini akan mengklasifikasikan gambar ke dalam

kategori-kategori, mendeteksi objek individu, dan membaca kata-kata tercetak yang

terkandung dalam gambar. Google Cloud Vision API akan menganalisa gambar yang

di upload atau mengintegrasikan dengan penyimpanan gambar yang ada di Google

Cloud Storage. (Google Cloud Platform, 2017).

Di dalam Google Cloud Vision API ini terdapat beberapa fitur, yaitu :

1. Label Detection

Mendeteksi set luas kategori dalam sebuah gambar dengan

menampilkan value-value kategori yang mendekati gambar tersebut.

2. Logo Detection

Mendeteksi logo produk populer dalam sebuah gambar.

3. Landmark Detection

Mendeteksi struktur alam dan buatan manusia (landmark) yang

populer dalam sebuah gambar.

4. Optical Character Recognition

Mendeteksi dan mengambil teks dalam gambar, dengan dukungan

untuk berbagi bahasa dan identifikasi bahasa secara otomatis.

5. Face Detection

24

Mendeteksi beberapa wajah dalam gambar, dengan menggunakan

atribut key facial seperti tingkat emosi.

6. Image Attributes

Mendeteksi atribut umur dari sebuah gambar, seperti warna domain.

7. Integrated REST API

Akses melalui REST API untuk meminta satu atau lebih jenis anotasi per

gambar. Gambar dapat di upload atau di integrasikan dengan Google Cloud Storage.

2.7 Landmark

Menurut Lynch dalam bukunya Image Of The City (1975:6-8) landmark

(tengeran) merupakan titik referensi seperti elemen node, tetapi orang tidak masuk ke

dalamnya karena bisa dilihat dari luar letaknya. Landmark adalah elemen eksternal

dan merupakan bentuk visual yang menonjol dari kota, misalnya gunung atau bukit,

gedung tinggi, menara, tanda tinggi, tempat ibadah, pohon tinggi, dan sebagainya.

Beberapa landmark letaknya dekat, sedangkan yang lain jauh sampai di luar kota.

Beberapa landmark hanya mempunyai arti di daerah kecil dan dapat dilihat hanya di

daerah itu, sedangkan landmark lain mempunyai arti untuk keseluruhan kota dan bisa

dilihat dari mana-mana. Landmark adalah elemen penting dari bentuk kota karena

membantu orang untuk mengorientasikan diri di dalam kota dan membantu orang

mengenali suatu daerah. Landmark mempunyai identitas yang lebih baik jika

bentuknya jelas dan unik dalam lingkungannya, dan ada sekuens dari beberapa

landmark, serta ada perbedaan skala masing-masing.

2.8 Android

Android adalah sebuah sistem operasi berbasis Linux yang merupakan sistem

operasi mobile open source yang dikembangkan oleh Open Handset Alliance dengan

dukungan finansial dari Google (Garima Pandey & Diksha Dani, 2014). Awalnya

Google Inc. membeli Android Inc., pendatang baru yang membuat perangkat lunak

untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset

Alliance, konsorsium dari 34 perusahaan perangkat keras, perangkat lunak, dan

telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan

25

Nvidia. Pengembang aplikasi android diperbolehkan untuk mendistribusikan aplikasi

mereka dibawah skema lisensi apapun yang mereka inginkan.

Pada saat perilisan perdana Android, 5 November 2007, Android bersama

Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada

perangkat seluler. Di pihak lain, Google merilis kode-kode Android di bawah lisensi

Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.

26

Hingga tahun 2017 terdapat beberapa macam versi android sebagai berikut :

Gambar 2.16. Versi Android

2.9 Apache Cordova

Apache Cordova adalah sebuah framework open source untuk membuat

aplikasi mobile. Apache Cordova ini memungkinkan penggunaan teknologi web

standar seperti HTML5, CSS3, dan JavaScript untuk pengembangan aplikasi mobile

pada berbagai macam platform seperti Android, iOS, Blackberry, dan Windows

Phone. Aplikasi dieksekusi menggunakan standard API yang tersedia untuk

mengakses data, device sensor, ataupun status jaringan masing-masing perangkat.

(The Apache Software Foundation, 2015).

Terdapat beberapa kelebihan dari Apache Cordova, yaitu:

1. Dapat mengembangkan sebuah aplikasi yang multi platform dan dapat

didistribusikan pada berbagai portal app store.

27

2. Dapat mencampur komponen aplikasi asli menggunakan bahasa native dengan

Webview yang dapat mengakses API pada perangkat tersebut, atau dengan kata

lain dapat menggabungkan komponen native dan WebView.

a. Arsitektur Apache Cordova

Terdapat beberapa komponen untuk sebuah aplikasi cordova. Berikut

diagram yang menunjukkan tampilan tingkat tinggi dari sebuah aplikasi

cordova:

Gambar 2.17. Arsitektur Apache Cordova

b. Cara Kerja Apache Cordova

Apache Cordova menggunakan seperangkat API yang memungkinkan

pengembang aplikasi mobile dapat mengakses fungsi perangkat asli seperti

kamera, galeri, accelerometer, dll dengan menggunakan Javascript serta dapat

dikombinasikan dengan Framework seperti JQuery Mobile, Dojo Mobile atau

Sencha Touch sehingga memungkinkan aplikasi dibuat hanya menggunakan

HTML, CSS, dan JavaScript. Dengan menggunakan Cordova API sebuah

aplikasi dapat dibangun tanpa native code (Java, Objective C, dll) yang

28

digunakan pada perangkat tersebut dan di hosting di aplikasi itu sendiri secara

lokal.

Cordova menyediakan seperangkat library JavaScript dan tersedia untuk

beberapa platform sebagai berikut : IOS, Android, Blackberry, Windows

Phone, Palm WebOS, Bada, dan Symbian.

Gambar 2.18. Fitur dan Platform yang di support oleh Cordova API

2.10 HTML5

HTML 5 adalah revisi dari Hypertext Markup Language (HTML), bahasa

pemrograman standar untuk menggambarkan isi dan tampilan halaman Web

(TechTarget,2017).

HTML5 dikembangkan untuk memecahkan masalah kompatibilitas yang

mempengaruhi standar saat ini, HTML4. Salah satu perbedaan terbesar antara

HTML5 dan versi sebelumnya dari standar adalah bahwa versi HTML membutuhkan

plugin milik dan API. (Inilah sebabnya mengapa halaman Web yang dibangun dan

diuji dalam satu browser mungkin tidak memuat dengan benar di browser lain.)

HTML5 menyediakan satu antarmuka umum untuk membuat pemuatan elemen lebih

mudah. Misalnya, tidak perlu menginstal plugin Flash dalam HTML5 karena elemen

akan berjalan dengan sendirinya.

29

Salah satu tujuan desain untuk HTML5 adalah untuk mendukung untuk

multimedia pada perangkat mobile. Fitur sintaksis baru diperkenalkan untuk

mendukung ini, seperti tag video, audio dan kanvas. HTML5 juga memperkenalkan

fitur baru yang benar-benar dapat mengubah cara pengguna berinteraksi dengan

dokumen termasuk:

1. Aturan parsing baru untuk fleksibilitas ditingkatkan

2. Atribut baru

3. Penghapusan atribut ketinggalan zaman atau berlebihan

4. Drag dan drop kemampuan dari satu dokumen HTML5 ke yang lain

5. Editing offline

6. Perangkat tambahan messaging

7. Aturan rinci untuk parsing

8. MIME dan protokol penangan pendaftaran

9. Sebuah standar umum untuk menyimpan data dalam database SQL (SQL

Web).

HTML 5 diadopsi oleh kelompok kerja baru dari World Wide Web

Consortium (W3C) pada tahun 2007. Kelompok ini diterbitkan draft publik pertama

dari HTML 5 pada bulan Januari 2008. Sampai sekarang, HTML5 adalah di "Call for

ulasan" negara, dan W3C mengharapkan bahwa ia akan mencapai keadaan akhir

pada akhir 2014.

2.11 CSS3

CSS3 adalah versi terbaru dari spesifikasi CSS. Istilah “CSS3” bukan hanya

mengacu pada fitur baru di CSS, tetapi tingkat ketiga dalam kemajuan spesifikasi

CSS. CSS3 berisi hanya tentang segala sesuatu yang termasuk dalam CSS2.1 (versi

sebelumnya dari spesifikasi). Selain itu juga terdapat fitur baru untuk membantu

pengembang memecahkan sejumlah masalah tanpa perlu markup non-semantik,

scripting yang kompleks, atau gambar tambahan. Fitur yang disertakan dalam CSS3

termasuk dukungan untuk penyeleksi tambahan, bayangan, bulat sudut, beberapa

latar belakang, animasi, transparansi, dll (SitePoint, 2017).

30

2.12 Javascript

Javascript adalah bahasa yang dapat berjalan di banyak platform (cross-

platform), bahasa scripting berorientasi objek. Javascript adalah bahasa yang simple

dan ringan. Terdapat di lingkungan host (misalnya web browser), Javascript dapat

dihubungkan dengan objek di dalam lingkungannya untuk memberikan kontrol

program atas objek - objek tersebut (w3resource, 2017).

JavaScript berisi pustaka dasar (standard library) dari objek - objek, seperti

Array, Date, dan Math, juga set inti dari elemen bahasa seperti operator, control

structure, dan statement. Inti Javascript dapat diperluas untuk tujuan yang beragam

dengan melengkapinya dengan objek tambahan; misal: Client-side Javascript

memperluas inti bahasa dengan melengkapi objek untuk mengontrol browser beserta

Document Object Model (DOM). Misal, ekstensi pada sisi klien memungkinkan

sebuah aplikasi untuk menambahkan elemen pada sebuah form HTML dan merespon

event dari klien / user seperti mouse klik, input form, dan navigasi halaman.

Server-side Javascript memperluas inti bahasa dengan melengkapi objek -

objek terkait dengan menjalankan javascript pada sisi server. Misal, ekstensi pada

sisi server memungkinkan sebuah aplikasi untuk berkomunikasi dengan database,

menyediakan informasi yang kontinuitas dari setiap permintaan ke aplikasi lain, atau

melakukan manipulasi file di server.

2.13 JSON

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan,

mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat oleh

komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemrograman

JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan

format teks yang tidak bergantung pada bahasa pemprograman apapun karena

menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C

termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat

tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data. (JSON.org, 2017)

JSON terbuat dari dua struktur:

1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan

sebagai objek (object), rekaman (record), struktur (struct), kamus

31

(dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau

associative array.

2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa,

hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau

urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada

dasarnya, semua bahasa pemrograman modern mendukung struktur data ini dalam

bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format

data mudah dipertukarkan dengan bahasa-bahasa pemrograman yang juga

berdasarkan pada struktur data ini.

2.14 JQuery Mobile

JQuery Mobile adalah javascript framework yang membuat tampilan dengan

cepat dan mudah digunakan untuk membangun mobile web iOS, Android dan

perangkat smartphone yang lain (Elated Communications, 2017).

Semboyan yang mereka gunakan di website resminya yaitu jquerymobile.com,

adalah “write less do more”. Daripada kita harus menulis kode untuk setiap aplikasi

yang kita buat, dengan JQuery Mobile kita bisa fokus pada penulisan kode aplikasi

saja. Menurut web resminya, JQuery mobile telah mendukung berbagai device,

seperti Android, Iphone, dll (jQuery Foundation, 2017).

JQuery Mobile adalah sebuah library pengembangan aplikasi mobile berbasis

web yang dikembangkan oleh JQuery, tetapi spesifik untuk perangkat mobile.

Sehingga sebuah tampilan HTML akan memiliki sense mobile.

Terdapat beberapa manfaat dari penggunaan JQuery Mobile, yaitu :

1. Memudahkan pengembangan user interface untuk mobile web apps.

2. Bersifat markup-driven, sehingga dengan markup standar akan tetap bisa

menggunakan jquery mobile, tanpa membuat coding HTML sendiri.

3. Bisa mengakomodasi beberapa event untuk perangkat mobile, seperti bisa

mendeteksi event perangkat touchscreen seperti tap, tap-and-hold, swipe,

dan adanya perubahan orientasi (misalnya rotate screen).

4. Dapat memastikan bahwa user interface dapat bekerja melalui web browser.

5. Memiliki beberapa theme yang memudahkan pengubahan tampilan aplikasi.

32

2.15 AJAX (Asynchronous Javascript and XML)

Ajax (Asynchronous JavaScript dan XML) adalah metode membangun

aplikasi interaktif untuk Web yang memproses permintaan pengguna segera. Ajax

menggabungkan beberapa alat pemrograman termasuk JavaScript, HTML dinamis

(DHTML), Extensible Markup Language (XML), Cascading Style Sheet (CSS),

Document Object Model (DOM), dan objek Microsoft, XMLHttpRequest

(TechTarget, 2017).

Ajax memungkinkan konten pada halaman Web untuk memperbarui segera

ketika pengguna melakukan suatu tindakan, tidak seperti permintaan HTTP, di mana

pengguna harus menunggu halaman baru untuk memuat. Sebagai contoh, sebuah

situs perkiraan cuaca bisa menampilkan kondisi lokal di satu sisi halaman tanpa

penundaan setelah jenis pengguna dalam kode pos. Google Maps adalah salah satu

aplikasi terkenal yang menggunakan Ajax. Antarmuka memungkinkan pengguna

untuk mengubah pandangan dan memanipulasi peta secara real time. aplikasi Ajax

tidak memerlukan instalasi plug-in, tetapi bekerja secara langsung dengan browser

Web. Karena ketergantungan teknik pada XMLHttpRequest, aplikasi awal bekerja

hanya dengan browser Internet Explorer Microsoft, tetapi kebanyakan browser lain

sekarang mendukung Ajax.

Aplikasi yang dibuat dengan Ajax menggunakan mesin yang bertindak sebagai

perantara antara browser pengguna dan server dari mana ia meminta informasi.

Dengan menggunakan ajax, mesin terus berjalan di latar belakang, menggunakan

JavaScript untuk berkomunikasi dengan browser Web. Pengguna memasukkan atau

mengklik pada halaman untuk mengirimkan panggilan JavaScript pada mesin Ajax,

yang dapat merespon langsung dalam banyak kasus. Jika mesin membutuhkan data

tambahan, itu permintaan dari server, biasanya menggunakan XML, sementara itu

secara bersamaan memperbarui halaman. Ajax bukanlah teknologi eksklusif atau

produk yang dikemas. pengembang web telah menggunakan kombinasi JavaScript

dan XML selama beberapa tahun. Jesse James Garrett dari konsultasi Jalan Adaptive

perusahaan dikreditkan dengan coining nama "Ajax" sebagai cara singkat untuk

merujuk pada teknologi tertentu yang terlibat dalam pendekatan saat ini.

33

2.16 PHP5

PHP5 adalah perkembangan dari PHP 4. Menurut PHP adalah bahasa

pemrograman script server-side yang didesain untuk pengembangan web. Selain itu,

PHP juga bisa digunakan sebagai bahasa pemrograman umum. PHP dikembangkan

pada tahun 1995 oleh Rusmus Lerdorf, dan sekarang dikelola oleh The PHP Group.

PHP disebut bahasa pemrograman server side karena PHP diproses pada

komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-

side seperti JavaScript yang diproses pada web browser (client).

Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai

dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa

tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang

powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi

juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress,

joomla, dll.

Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah

kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari

singkatan itu sendiri: PHP: Hypertext Preprocessor.

PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP

dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General

Public License (GPL) yang biasa digunakan untuk proyek Open Source

(Duniailkom, 2017).

2.17 Base 64 Encoding

Base 64 encoding didesain untuk merepresentasikan urutan acak dari oktet

dalam bentuk yang memungkinkan penggunaan baik huruf besar maupun huruf kecil

tapi tidak perlu dapat dibaca manusia. (Josefsson, 2006)

Subset 65 karakter dari US-ASCII digunakan, memungkinkan 6 bit untuk

diwakili per karakter. (Karakter ekstra ke-65, "=", digunakan untuk menandakan

fungsi pemrosesan khusus)

Proses encoding merepresentasikan kelompok 24 bit dari input bit sebagai

output string dari 4 karakter yang di-encoding. Pemrosesan dari kiri ke kanan,

34

kelompok input 24 bit dibentuk dengan menggabungkan 3 kelompok input 8 bit,

yang masing-masing diterjemahkan ke dalam satu karakter dalam alfabet base 64.

Setiap kelompok 6-bit digunakan sebagai indeks ke dalam array dari 64

karakter yang dapat dicetak. Karakter yang direferensikan oleh indeks ditempatkan

pada output string.

Gambar 2.19. Tabel Base 64 Alphabet

2.18 Database

Menurut Connolly dan Begg (2015:63), Database adalah kumpulan data logikal

terkait dan deskripsinya, dirancang untuk memenuhi kebutuhan informasi sebuah

organisasi. Database merepresentasikan entitas, atribut dan hubungan logikal antara

entitas. Entitas adalah objek yang berbeda dalam organisasi yang direpresentasikan

dalam database. Atribut adalah property yang menggambarkan aspek aspek dari

objek yang ingin direkam. Relationship adalah hubungan antara entitas.

2.18.1 Database Mangement System (DBMS)

Menurut Connolly dan Begg (2015:64), DBMS adalah system software

yang memungkinan pengguna untuk mendefinisikan, membuat, memantain,

dan mengkontrol akses ke database. DBMS adalah software yang berinteraksi

dengan program aplikasi dan database pengguna.

35

Fitur yang disediakan DBMS antara lain sebagai berikut :

1. DDL (Data Definition Language)

DDL memungkinkan pengguna untuk menentukan tipe dan struktur

data dan batasan pada data yang akan disimpan dalam database

2. DML (Data ManipulationLanguage)

DML memungkinkan pengguna untuk menambah, megupdate,

menghapus dan mengambil data dari database.

3. Akses kontrol ke database

a. Security system, mencegah pengguna yang tidak memiliki hak

akses mengakses database.

b. Integrity system, memaintain konsistensi data yang disimpan.

c. Concurrency control system, memungkinkan berbagi akses

database.

d. Recovery control system, mengembalikan database ke keadaan

konsisten sebelumnya setelah kegagalan hardware atau software.

e. User-accessible catalog, berisi deskripsi dari data yang ada

dalam database.

2.18.2 MySQL

MySQL adalah database management system Open Source SQL yang

paling populer. MySQL dikembangkan, didistribusikan, dan didukung oleh

Oracle Corporation. Database MySQL bersifat relasional. Database relasional

menyimpan data dalam tabel terpisah dibandingkan memasukkan semua data

ke dalam satu ruang penyimpanan yang besar. Logical models, seperti

database, table, view, row, dan column, menawarkan lingkungan

pemrograman yang fleksibel.

Server MySQL dapat berjalan dengan baik di desktop atau laptop.

Server MySQL menawarkan seperangkat fungsi yang kaya dan berguna.

Konektivitas, kecepatan, dan keamanannya membuat server MySQL sangat

cocok untuk mengakses database di internet.

Software database MySQL menggunakan sistem client/server yang

terdiri dari multi-threaded SQL server yang mendukung back-end berbeda,

beberapa client programs dan libraries yang berbeda, administrative tools,

36

dan berbagai application programming interfaces (APIs) (Oracle Corporation,

2017).

2.18.3 SQLite

SQLite adalah embedded database engine SQL. Tidak seperti

kebanyakan database SQL lainnya, SQLite tidak memiliki proses server yang

terpisah. SQLite membaca dan menulis langsung ke file disk. Database SQL

lengkap dengan banyak table, index, trigger, dan view, terdapat dalam satu file

disk. Format file database adalah cross-platform yang memungkinkan

pengguna menyalin database antara sistem 32-bit dan 64-bit atau antara

arsitektur big-endian dan little-endian. Fitur-fitur ini membuat SQLite

menjadi pilihan populer sebagai Application File Format. SQLite bukan

ditujukan sebagai pengganti Oracle tapi sebagai pengganti fopen ().

SQLite adalah library yang ringkas. Dengan semua fitur yang

diaktifkan, ukuran library bisa kurang dari 500KiB, tergantung pada platform

target dan pengaturan optimasi compiler. Jika fitur opsional dihilangkan,

ukuran library SQLite dapat dikurangi di bawah 300KiB. SQLite juga dapat

dibuat berjalan di minimal stack space (4KiB) dan heap yang sangat kecil

(100KiB), menjadikan SQLite sebagai pilihan database engine populer pada

gadget yang dibatasi memori seperti ponsel, PDA, dan MP3 player. Ada

tradeoff antara penggunaan memori dan kecepatan. SQLite umumnya berjalan

lebih cepat sesuai dengan memori. Walaupun, biasanya performa SQLite

cukup bagus meski berada di low memory environment. (SQLite.org, 2017)

2.18.4 Structured Query Languange (SQL)

Menurut Connolly dan Begg (2015:192-193) SQL merupakan contoh

dari transform-oriented language, atau Bahasa yang dirancang untuk

menggunakan relasi untuk mentransformasi input menjadi output yang

dibutuhkan. Sebagai sebuah Bahasa, standar ISO SQL memiliki 2 komponen

utama :

1. Data Definition Language (DDL) untuk mendefinisikan struktur database

dan mengkontrol akses ke data.

37

2. Data Manipulation Language (DML) untuk menambah, megupdate,

menghapus dan mengambil data.

2.19 Google Maps API

Google Maps merupakan layanan peta online yang disediakan oleh Google

dimana teknologi pemetaan didapat dari satelit yang berada di luar angkasa yang

dapat digunakan di seluruh dunia. Google Maps Android API dapat menambahkan

peta ke aplikasi berdasarkan data di Google Maps. API secara otomatis menangani

akses ke server Google Maps, mengunduh data, menampilkan peta, dan merespons

isyarat peta. Selain itu, juga dapat menggunakan panggilan API untuk menambahkan

marker, poligon, dan overlay ke peta dasar, serta mengubah tampilan area peta

tertentu ke pengguna (Google Developers 2017).

Semua objek ini memberikan informasi tambahan tentang lokasi peta, dan

memungkinkan interaksi pengguna dengan peta. API memungkinkan developer

menambahkan semua gambar ini ke peta:

Ikon yang dikaitkan dengan posisi tertentu pada peta (Marker).

Rangkaian segmen garis (Polyline).

Segmen yang disertakan (Polygon).

Gambar bitmap yang dikaitkan dengan posisi tertentu pada peta (Overlay Bumi).

Rangkaian gambar yang ditampilkan di bagian atas petak peta dasar (Overlay

Petak).

2.20 Black-Box Testing

Menurut Pressman (2010:450), testing adalah sekumpulan aktivitas yang dapat

direncanakan selanjutnya dan dilakukan secara sistematis.

Black-Box testing disebut juga behavioural testing, berfokus pada kebutuhan

functional software. Black-box testing memungkinkan penguji untuk menurunkan

sekumpulan kondisi input yang akan secara penuh menguji semua kebutuhan

fungsional program. Black-box testing bukan merupakan alternative dari white-box

testing. Sebaliknya, black-box testing adalah pendekatan pelengkap yang cenderung

menemukan tingkat kesalahan yang berbeda dari white-box testing.

Pengujian kotak hitam mencoba menemukan kesalahan dalam kategori berikut:

a. Fungsi yang salah atau hilang.

38

b. Kesalahan interface.

c. Kesalahan dalam struktur data atau akses database eksternal.

d. Kesalahan perilaku atau kinerja.

e. Kesalahan inisialisasi dan terminasi.

Uji ini dirancang untuk menjawab beberapa pertanyaan-pertanyaan berikut ini:

a. Bagaimana validitas fungsional diuji?

b. Bagaimana perilaku dan kinerja sistem diuji?

c. Kelas input apa yang akan membuat kasus uji yang baik?

d. Apakah sistem sangat sensitif terhadap nilai input tertentu?

e. Bagaimana batas-batas kelas data yang terisolasi?

f. Kecepatan dan volume data seperti apa yang dapat ditolerir sistem?

g. Efek apakah yang akan menspesifikasikan kombinasi data dalam sistem

operasi?