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?
Top Related