Anda di halaman 1dari 31

PEMBUATAN MODUL PETUGAS APLIKASI SMART

BIKE SHARING PADA TMII BERBASIS ANDROID DAN


MAP BERBASIS WEB DENGAN METODE DJISKSTRA

SKRIPSI

Dibuat untuk melengkapi Syarat-Syarat yang Diperlukan


untuk Memperoleh Gelar Sarjana Terapan

ISYANDRA YUDAFRO
4714010027

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2018
DAFTAR ISI
DAFTAR ISI ........................................................................................................... 2
DAFTAR TABEL ................................................................................................... 4
DAFTAR GAMBAR .............................................................................................. 5
BAB I ...................................................................................................................... 6
PENDAHULUAN .................................................................................................. 6
1.1. Latar Belakang ......................................................................................... 6
1.2. Perumusan Masalah .................................................................................. 7
1.3. Batasan Masalah ....................................................................................... 7
1.4. Tujuan dan Manfaat .................................................................................. 8
1.4.1. Tujuan ............................................................................................... 8
1.4.2. Manfaat ............................................................................................. 8
1.5. Metode Penyelesaian Masalah ................................................................. 8
BAB II ................................................................................................................... 10
TINJAUAN PUSTAKA ....................................................................................... 10
2.1 Literatur Review ..................................................................................... 10
2.2 Aplikasi .................................................................................................. 10
2.1.1 Pengertian aplikasi .......................................................................... 10
2.1.2 Klasifikasi Aplikasi ......................................................................... 11
2.1.3 Aplikasi Mobile ............................................................................... 12
2.3 Sepeda .................................................................................................... 13
2.4 Android ................................................................................................... 13
2.5 Java Development Kit (JDK) ................................................................. 14
2.6 Software Development Kit (SDK) .......................................................... 14
2.7 EXtensible Markup Languange (XML).................................................. 15
2.8 Slim Framework ..................................................................................... 15
2.9 Web Service ........................................................................................... 16
2.10 Website ................................................................................................... 17
2.11 Algoritma Dijiskstra ............................................................................... 17
2.12 MySQL ................................................................................................... 20
2.13 JavaScript Object Natation (JSON) ....................................................... 21
2.14 Zxing ...................................................................................................... 21
2.15 Java ......................................................................................................... 22
2.16 UML ....................................................................................................... 22
2.17 Pengujian Aplikasi ................................................................................. 29
2.18 Black box testing .................................................................................... 29
DAFTAR TABEL

Tabel 2. 6 Tabel Simbol–simbol Usecase. ............................................................ 23


Tabel 2. 7 Table Simbol-simbol Activity Diagram............................................... 24
Tabel 2. 8 Tabel Simbol-simbol class diagram. .................................................... 26
Tabel 2. 9 Tabel Simbol-simbol Sequence Diagram. ........................................... 28
DAFTAR GAMBAR

Gambar 2. 1 Langkat 1 Metode Dijkstra ............................................................... 18


Gambar 2. 2 Langkat 2 Metode Dijkstra ............................................................... 18
Gambar 2. 3 Langkat 3 Metode Dijkstra ............................................................... 19
Gambar 2. 4 Langkat 4 Metode Dijkstra. .............................................................. 19
Gambar 2. 5 Langkat 5 Metode Dijkstra. .............................................................. 20
BAB I
PENDAHULUAN

1.1. Latar Belakang


Pada era gobalisasi saat ini, perkembangan ilmu pengetahuan dan teknologi
berkembang semakin pesat, terrmasuk dengan teknologi informasi. Teknologi
informasi mendorong perubahan pada aktivitas manusia diberbagai bidang, baik
secara langsung maupun tidak langsung. Contohnya pada pengunaan telepon
genggam. Dahulu penggunaan telepon genggam hanya dapat digunakan untuk
mengirim pesan singkat dan telepon. Namun pada saat ini telepon genggam, kita
bisa menonton, mengakses informasi, mengirim pesan elektronik, layanan
ecommerce dan bahkan bisa melakukan transaksi apapun.

Aktivitas di kehidupan pada era globalisasi ini yang tidak bisa terlepas dari
kebutuhan teknologi informasi membuat segalanya menjadi mudah diakses
dimanapun dan kapanpun, salah satunya sepeda, sepeda merupakan alat transportasi
untuk jarak dekat. Sekarang ini sepeda meruapakan alat untuk bersenang-senang,
melakukan petualangan dan menjaga kesehatan. Sepeda sebagai sarana trasportasi
bagi manusia untuk menghubungkan perpindahan dari satu tempat ke tempat yang
lain.

Taman Mini Indonesia Indah (TMII) adalah suatu kawasan taman wisata bertema
budaya Indonesia di Jakarta Timur dengan luas area kurang lebih 150 hektar. TMII
memfasilitasi pengunjung untuk berkeliling di TMII dengan berbagai transportasi
salah satunya sepeda. Penyewaan sepeda pada Taman Mini Indonesia Indah
megalami beberapa masalah sisi pelayanannya yaitu semua proses bisnis yang
terjadi masih dilakukan secara manual. Masalah tersebut diantarannya pendataan
transaksi penyewaan, pendataan tarif dari masing-masing pengguna tidak jelas
ataupun tidak tentu, sering terjadi kehilangan sepeda dan belum tersedianya laporan
transaksi dari masing-masing pos penyewaan sehingga memperlambat
pengambilan keputudan dan kinerja. dan pengguna sepeda dalam mencari sepeda
terdekat.
Berdasarkan penjelaskan di atas, diperlukan sebuah aplikasi portable yang
dipergunakan untuk petugas pos penyewaan sepeda pada taman mini indoneisa
indah dalam meningkatkan layanan dan mempermudah kinerja petugas pos
penyewaan taman mini indonesia indah dalam menjalankan proses bisnis yang ada.
Aplikasi tersebut bertujuan untuk mempermudah petugas dalam melakukan
penyewaan sepeda kepada pelanggan, pendatataan data pelanggan, mengelola data
tranksasi pemakaian, return sepeda dan laporan kerusakan.

1.2. Perumusan Masalah


Berdasarkan latar belakang yang telah dibuat maka dirumuskan masalah yaitu
bagaimana membuat aplikasi yang berfungsi untuk membantu petugas penyewaan
sepeda di TMII dalam pendataan pelanggan pemakaian, membuka kunci sepeda
dengan qr code, report, return sepeda dan membantu pengguna dalam mencari
sepeda sepeda terdekat?

1.3. Batasan Masalah


Berdasarkan latar belakang dan rumusan masalah yang telah diuraikan, maka
penulis membuat batasan:
a. Aplikasi ini dirancang berbasis android dan web.
b. Aplikasi ini dijalankan secara online.
c. Aplikasi ini dapat diakses oleh petugas dan pengguna sepeda.
d. Aplikasi berbasis android yang dapat di akses oleh petugas menampilkan form
data pengguna serta qr reader yang digunakan untuk membuka kunci sepeda
dan form entry nomor sepeda yang diguanakan untuk membuka kunci sepeda
ketika qr reader tidak berfungsi, melihat tarif dari sepeda dan waktu
penggunaan dan melihat profil.
e. Aplikasi berbasis web yang dapat diakses oleh pengguna berupa menampilkan
map lokasi sepeda.
1.4. Tujuan dan Manfaat
1.4.1. Tujuan
Tujuan dari pembuatan aplikasi ini adalah sebagai berikut:
a. Membuat aplikasi smart bike berbasis android untuk petugas.
b. Membuat aplikasi web berupa map untuk pengguna smart bike.

1.4.2. Manfaat
Manfaat dari pembuatan aplikasi ini adalah sebagai berikut:
a. Mempermudah petugas dalam menangani peminjaman atau pemakaian sepeda.
b. Memudahakan pengguna dalam mencari sepeda terdekat.

1.5. Metode Penyelesaian Masalah


Metode yang digunakan dan dipilih pada topik skripsi ini adalah metode GRAPPLE
(Guideliness for Rapid Application Engineering). Penulis memilih ini dengan
tujuan dapat menghasilkan Aplikasi berorientasi objek dalam waktu yang singkat
tanpa harus mengurangi kualitas sistem yang dibangun. GRAPLLE adalah sebuah
pemodelan proses dalam pengembangan software yang menekankan pada segmen-
segmen yang dilakukan pada sejumlah tahapan, setiap tahapan akan menghasilkan
produk kerja dengan bentuk yang berorientasi objek (Schmuller, 2004). Tahapan
yang terdapat dalam GRAPPLE tidak disusun dalam bentuk yang statis sehingga
setiap tahap dapat dikerjakan berulang kali denga urutan kerja yang tidak sesuai
dengan urutan yang ada. Tahap-tahap yang digunakan dalam GRAPPLE mencakup
analisis kebutuhan sistem, pengembangan model dan diagram, pembuatan kode
hingga tahap instalasi dan evaluasi yang dijelaskan dibawah ini:

1. Requirement Gathering
Dalam tahapan ini dilakukan analisis terhadap masalah, fungsi dan komponen
produk yang akan dibuat (system requirements). Tahap ini penting untuk tahap
yang lain, karena tahap lain tidak dapat dibuat sesuai dengan yang diinginkan
jika tidak memahami produk yang akan dibuat.
2. Analysis
Di tahap analisis yang dilakukan adalah menggali lebih dalam hasil yang
diperoleh dalam tahap sebelumnya. Tahap ini mengkaji permasalahan
pengguna dan menganalisis solusinya. Yang termasuk dalam tahap ini antara
lain: pengembangan data dan informasi dari requirement gathering, pembuatan
diagram dari hasil sebelumnya untuk mengetahui keinginan responden dari
tahap seblumnya.
3. Design
Merupakan segmen implementasi dan perancangan dari model serta diagram
yang telah dianalisis. Dalam segmen ini akan dikembangkan sejumlah objek
diagram dengan fungsi, interaksi dan operasi tertentu. Diagram-diagram
tersebut antara lain akan menunjukkan proses dan aktifitas pada sistem,
rancangan data dan penyimpanan data, serta rancangan antarmuka.
4. Development
Merupakan segmen penerapan model dan diagram yang telah terbentuk antara
lain dengan melakukan pengembangan source code, pengecekan dan test code,
serta pembuatan User interface.
5. Deployment
Merupakan segmen terakhir yang dilakukan setelah development. Sistem
yang terbentuk akan diintegrasikan dengan hardware maupun dengan
sistem operasi yang digunakan.
BAB II
TINJAUAN PUSTAKA

2.1 Literatur Review


Berdasarkan jurnal “Aplikasi Pgrouting Untuk Penentuan Jalur Optimum Pada
Pembuatan Rute Pemadam Kebakaran (Studi Kasus” Kota Semarang)”
Kesimpulan yang ditarik adalah untuk menentukan jalur optimum pada rute
pemadam kebakaran menggunakan metode dijikstra, djikstra adalah sebuah
algoritma yang paling sering digunakan dalam memecahkan permasalahan jarak
terpendek (shortest path problem) untuk sebuah graf berarah (directed graph)
dengan bobot-bobot sisi (edge weights) pada jaringan jalan. Dengan
mengimplementasikan metode dijkstra pencarian rute alternatif dapat
memperhatikan arah, waktu tempuh dan nilai kepadatan lalu lintas.

Jurnal “Rancang Bangun Smart Door Lock Menggunakan QR Code dan


Selenoid” memberikan penjelasan rancangan bangun smart lock menggunakan
selenoid dan android dapat meningkatkan keamanan rumah dengan mudah. Qr code
dan selenoid mampu bercolaborasi dengan baik dan sesuai dengan yag diharpakan.
Aplikasi dapat berjalan dengan baik dan dapat memenuhi fungsi-fungsi penting
dalam smart door lock yang di akses melalui android.

Jurnal “Rancang Bangun Aplikasi Penyewaan dan Pengelolaan Data Alat


Kemping Berbasis Desktop Pada Perusahaan Perorangan RZ Adventure”
memberikan penjelasan pembuatan aplikasi yang dapat membantu untuk
penyewaan serta pendataan alat dan diintegritasi dengan Basis Data yang handal.
Jurnal ini hanya membahas penyewaan dan pengelolaan data alat, masukan dara
pegawai, pengembalian dan penghapusan data barang secara afektif dengan
menggunakan bahasa pemogramman java NetBeans.

2.2 Aplikasi
2.1.1 Pengertian aplikasi
Beberapa pengertian aplikasi menurut para ahli adalah sebagai berikut:
1. Aplikasi merupakan program yang berisikan perintah-perintah untuk
melakukan pengolahan data. Aplikasi secara umum adalah suatu proses dari
cara manual yang ditransformasikan ke komputer dengan membuat sistem
atau program agar dapat diolah lebih berdaya guna secara optimal
(Simangunsong and Nasution, 2015).

2. Aplikasi adalah program siap pakai yang dibuat untuk melaksanakan suatu
fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh
sasaran yang dituju (Fatchur Rozy, Prasita Nugroho and Nurcholis, 2017).

3. Aplikasi adalah penggunaan dalam suatu komputer, instruksi (instruction)


atau pernyataan (statement) yang disusun sedemikian rupa sehingga
komputer dapat memproses input menjadi output. Aplikasi adalah suatu
program komputer yang dibuat untuk mengerjakan dan melaksanakan tugas
khusus dari pengguna (Santoso, 2017).

Dari penjelasan diatas dapat disimpulkan bahwa aplikasi adalah program yang
berisikan perintah siap pakai untuk melaksanakan suatu fungsi dari pengguna untuk
dieksekusi oleh komputer untuk mendapatkan hasil yang akurat sesuai dengan
sasaran yang dituju.

2.1.2 Klasifikasi Aplikasi


Aplikasi dapat digolongkan menjadi beberapa kelas, antara lain:
a. Perangkat lunak perusahaan (enterprise)
b. Perangkat lunak infrastruktur perusahaan
c. Perangkat lunak informasi kerja
d. Perangkat lunak media dan hiburan
e. Perangkat lunak pendidikan
f. Perangkat lunak pengembanagn media
g. Perangakt lunak rekayasa produk
Pada umumnya, aplikasi adalah alat terapan yang difungsikan secara khusus dan
terpadu sesuai kemampuan yang dimilikinya.

2.1.3 Aplikasi Mobile


Aplikasi mobile merupakan aplikasi yang dapat digunakan walaupun pengguna
berpindah dengan mudah dari suatu tempat ke tempat lain tanpa terputusnya
komunikasi (Sri Wahyuni and Nurdiana, 2016). Aplikasi mobile adalah sebutan
untuk aplikasi yang berjalan di mobile device. Dengan menggunakan aplikasi
mobile, dapat dengan mudah melakukan berbagai macam aktifitas mulai dari
hiburan, berjualan, belajar, mengerjakan pekerjaan, browsing dan sebagainya.

Berdasarkan jenisnya (Ramadhan and Utomo, 2014), aplikasi aplikasi mobile


menjadi beberapa kelompok yaitu:

1. Short Message Service (SMS)


Merupakan aplikasi mobile paling sederhana dirancang untuk berkirim pesan
dan berguna ketika terintegrasi dengan jenis aplikasi mobile, lainnya.

2. Mobile Websites (Situs Web Mobile)


Merupakan situs web yang dirancang khusus untuk perangkat mobile. Situs
web mobile sering memiliki desain yang sederhana dan biasanya bersifat
memberikan informasi.

3. Mobile Web Application (Aplikasi Web Mobile)


Merupakan aplikasi mobile yang tidak perlu diinstal atau dikompilasi pada
perangkat target. Menggunakan XHTML, CSS dan JavaScript, aplikasi ini
mampu memberikan pengguna pengalaman layaknya aplikasi native/asli.

4. Native Application (Aplikasi Asli)


Merupakan aplikasi mobile yang harus diinstal pada perangkat target. Aplikasi
ini dapat disebut aplikasi platform, karena aplikasi ini harus dikembangkan dan
disusun untuk setiap platform mobile secara khusus.
2.3 Sepeda

Sepeda adalah kendaraan beroda dua atau tiga, mempunyai setang, tempat duduk,
dan sepasang pengayuh yang digerakkan kaki untuk menjalankannya (Huda and
Khamami, 2017). Sepeda adalah salah satu alternatif sarana transportasi yang
mendayagunakan energi manusia serta bisa menjadi moda transportasi masa
depan yang ramah lingkungan sehingga dapat memberikan berbagai keuntungan
bagi manusia sendiri sebagai pengguna.

2.4 Android
Android adalah sistem operasi untuk telepon seluler berbasis Linux sebagai
kernelnya yang mencakup sistem operasi, middleware dan aplikasi. Android
menyediakan platform terbuka bagi para pengembangnya untuk menciptakan
aplikasi mereka. Tidak ada lisensi dalam mengembangkan aplikasi android.
Awalnya Google Inc. Membeli Android Inc. Yang merupakan pendatang baru yang
membuat piranti lunak ponsel atau smartphone (Makiolor, Sinsuw and Najoan,
2017).

Android adalah platform open source yang komprehensif dan dirancang untuk
mobile devices. Dikatakan komprehensif karena android menyediakan semua tools
dan frameworks yang lengkap untuk pengembangan aplikasi pada suatu mobile
device. Sistem android menggunakan database untuk menyimpan informasi penting
yang diperlukan agar teteap tersimpan meskipun device dimatikan. Untuk
melakukan penyimapanan data pada database, sistem android menggunakan
SQLite yang merupakan suatu open source database yang cukup stabil dan banyak
digunakan pada devices berukuran kecil (Silvia, Haritman and Muladi, 2014).

Beberapa fitur utama dari Android antara lain WiFi hotspot, Multi-touch,
Multitasking, GPS, support java, mendukung banyak jaringan (GSM/EDGE, IDEN,
CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX) dan juga
kemampuan dasar telepon seluler pada umumnya.
2.5 Java Development Kit (JDK)
Java Development Kit (JDK) adalah produk Sun Microsystems yang ditujukan
untuk pengembang Java. Pada tanggal 17 November 2006, Sun mengumumkan
bahwa mereka akan merilisnya di bawah GNU General Public License (GPL)
sehingga menjadikannya perangkat lunak bebas. Hal ini terjadi sebagian besar pada
tanggal 8 Mei 2007, pada saat Sun berkontribusi menyumbangkan kode sumber
untuk OpenJDK. JRL (Java Research License) ini dibuat khusus untuk universitas
dan peneliti yang ingin menggunakan teknologi Java sebagai subjek pembelajaran
dan penelitian (Haqi, 2017).

JDK adalah sebuah produk yang dikembangakn oleh Oracle yang ditujukan untuk
para developer Java. JDK juga berisi paket Java Runtime Environment (JRE) yang
komplit, disebut juga dengan private run time karena biasanya dipisah dari JRE
reguler dan dilengkapi dengan konten tambahan. Terdiri atas Java Virtual Machine
dan semua class library yang ada di environment produk dan library tambahan yang
berguna untuk developer (Chandra, Dwiyani and Huda, 2016).

2.6 Software Development Kit (SDK)


Android SDK adalah tools API (Application Programming Interface) yang
digunakan mengembangkan mobile yang berbasis sistem operasi android. Android
SDK dapat dijalankan pada sistem operasi linux dan sistem operasi windows (Putra,
2016).

Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu
dan API untuk mulai mengembangkan aplikasi pada platform Android
menggunakan bahasa pemrogrmana Java. Source SDK Android ini dapat dilihat
dan diunduh langsung situs resmi pengembang ADK Android di
http://www.developer.android.com (H Nazaruddin, 2015).
2.7 EXtensible Markup Languange (XML)
Extensible Markup Language (XML) adalah sebuah bahasa yang fungsi utamanya
adalah sebagai media penyimpanan data. XML di desain untuk mudah diatur. Kata
kunci utama XML adalah data. Tidak seperti HTML, XML tidak berfokus pada
cara menampilkan data. Fokus utama XML adalah sebagai format penyimpanan
data yang mudah dipindah-pindahkan melalui jaringan komputer atau internet. Ciri
khas XML adalah kemampuannya untuk menyimpan data tetapi tidak memiliki
kemampuan untuk menampilkan data tersebut, sehingga perlu suatu software untuk
membaca XML (Hidajat, Noertjahyana and Purba, 2017) .

XML merupakan meta-language seperti tag HTML yang digunakan untuk


mendeskripsikan data-data. Pada aplikasi mobile XML digunakan untuk mendesain
tampilan layar (Putra, 2016).

2.8 Slim Framework


Slim merupakan PHP micro framework yang membantu dalam menulis aplikasi
web dan API dengan sederhana namun canggih dan mudah. (Diterjemahkan bebas
dari https://www.slimframework.com/)

(“Slim is a PHP micro framework that helps you quickly write simple yet powerful
web applications and APIs.”)

Disebut micro framework karena Slim berfokus pada kebutuhan pokok yang
diperlukan sebuah aplikasi web seperti menerima sebuah HTTP request,
mengirimkan request tersebut ke code yang sesuai, dan mengembalikan HTTP
response. Micro framework biasanya digunakan untuk proyek skala kecil yang
memiliki tujuan khusus dan tingkat kompleksitas yang rendah, sebagai contoh jika
ingin membangun sebuah API, maka akan lebih cepat, ringan dan efisien.
2.9 Web Service
Web Service merupakan komponen perangkat lunak yang dirancang untuk
mendukung interaksi mesin ke mesin melalui sebuah jaringan melalui HTTP,
memungkinkan sebuah aplikasi untuk berkomunikasi jarak jauh melalui internet
atau intranet secara independen menggunakan sebuah platform dan dari sebuah
bahasa pemrograman menggunakan aturan pertukaran pesan berbasis XML
(Aditama, 2017).

Web service adalah aplikasi sekumpulan data (database), perangkat lunak


(software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh
berbagai piranti dengan sebuah perantara tertentu. Secara umum, web service dapat
diidentifikasikan dengan menggunakan URL seperti halnya web pada umumnya.
Namun yang membedakan web service dengan web pada umunya adalah interaksi
yang diberikan oleh web service. Berbeda dengan URL web pada umumnya, URL
web service hanya mengandung kumpulan informasi, perintah, konfigurasi atau
sintaks yang berguna membangun sebuah fungsi-fungsi tertentu dari aplikasi
(Utomo, Yuwono and Amarrohman, 2017).

Web service secara teknis memiliki mekanisme interaksi antar sistem sebagai
penunjang interoperabilitas, baik berupa agregasi (pengumpulan) maupun sindikasi
(penyatuan). Web service memiliki layanan terbuka untuk kepentingan integrasi
data dan kolaborasi informasi yang bisa diakses melalui internet oleh berbagai
pihak menggunakan teknologi yang dimiliki oleh masing- masing pengguna.
Sekalipun mirip dengan Application Programming Interface (API) berbasis web,
web service lebih unggul karena dapat dipanggil dari jarak jauh melalui internet.
Pemanggilan web service bisa menggunakan bahasa pemrograman apa saja dan
dalam platform apa saja, sementara API hanya bisa digunakan dalam platform
tertentu.
2.10 Website

Website adalah salah satu aplikasi yang berisikan dokumen-dokumen multimedia


(teks, gambar, suara, animasi, video) didalamnya yang menggunakan protokol
HTTP (hyper text transfer protocol) dan untuk mengaksesnya mengunakan
perangkat lunak yang disebut browser. Beberapa jenis browser yang populer saat
ini di antaranya : Internet Explorer yang diproduksi oleh Microsoft, Mozila Firefox,
Opera dan Safari yang diproduksi oleh Apple. Browser (parambah) adalah aplikasi
yang mampu menjalankan dokumen-dokumen web dengan cara diterjemahkan.
Prosesnya dilakukan oleh komponen yang terdapat didalam aplikasi browser yang
biasa disebut dengan web engine. Semua web ditampilakan dengan cara
diterjemahkan (Suhartanto, 2012).

Website merupakan lokasi di internet yang menyajikan kumpulan informasi


sehubungan dengan profil pemilik situs. Website adalah suatu halaman yang
memuat situs-situs web page yang berbeda di internet yang berfungsi sebagai media
penyimpanan informasi, komunikasi, entertainment atau transaksi (Miftahul,
Purnama and Sukadi, 2018).

2.11 Algoritma Dijiskstra


Algoritma Dijkstra adalah sebuah algoritma yang paling sering dipakai dalam
memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah
graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) pada jaringan
jalan (Aminullah, Suprayogi and Sukmono, 2018).

Dalam algoritma Dijkstra, ada tiga komponen yang penting untuk diketahui.
Pertama adalah vertex atau node, yaitu titik-titik yang saling terhubung. Kedua
adalah edge, yaitu garis yang menghubungkan antar titik dan mempunyai arah.
Komponen yang ketiga adalah weight atau cost, yaitu jarak dari edge yang
menghubungkan antar vertex. Jarak antar vertex selalu bernilai positif.

Algoritma dijkstra bertujuan untuk menemukan jalur terpendek berdasarkan bobot


terkecil dari satu titik ke titik lainnya. Misalkan titik menggambarkan gedung dan
garis menggambarkan jalan, maka algoritma Dijkstra melakukan kalkulasi terhadap
semua kemungkinan bobot terkecil dari setiap titik (Aminullah, Suprayogi and
Sukmono, 2018).

Dibawah ini penjelasan langkah per langkah pencarian jalur terpendek secara rinci
dimulai dari node awal sampai node tujuan dengan nilai jarak terkecil.
1. Node awal 1, Node Tujuan 5. Setiap edge yang terhubung antara node telah
diberi nilai.

Gambar 2. 1 Langkat 1 Metode Dijkstra

2. Dijkstra melakukan kalkulasi terhadap node teteangga yang terhubung


langsung dengan node keberangkatan (node 1), dan hasil yang didapat adalah
node 2 karena bobot nilai node 2 paling kecil dibandingkan nilai pada node
lain, nilai = 7 (0+7).

Gambar 2. 2 Langkat 2 Metode Dijkstra


3. Node 2 diset menjadi node keberangkatan dan ditantai sebagai node yang telah
terjamah. Dijksra melakukan kalkulasi kembali terhadap node-node tetangga
yang terhubung dengan node yang telah terjamah. Dan kalkulasi dijkstra
menunjukan bahwa node 3 yang menjadi note keberangkatan selanjutnya
karena bobotnya yang paling kecil dari hasil kalkulasi terkahir, nilai 9 (0+9).

Gambar 2. 3 Langkat 3 Metode Dijkstra

4. Perhitungan berlanjut dengan node 3 ditandai menjadi node yang telah


terjamah. Dari semua node tetengga belum terjamah yang berhubungan
langsung dengan node terjamah, node selanjutnya yang ditandai menjadi node
terjamah adalah node 6 karena nilai bobot yang terkecil, nilai 11 (9+2).

Gambar 2. 4 Langkat 4 Metode Dijkstra.


5. Node 6 menjadi node terjemah, dijkstra melakukan kalkulasi kembali, dan
menemukan bahwa node 5 (node tujuan) telah tercapai lewat node 6. Jalur
terpendeknya adalah 1-3-6-5, dan nilai bobot yang didapat adalah 20 (11+9).
Bila node tujuan telah tercapai maka kalkulasi dijkstra dinyatakan selesai.

Gambar 2. 5 Langkat 5 Metode Dijkstra.

2.12 MySQL

MySQL adalah sebuah perangkat lunak manajemen database yang open source
untuk digunakan sebagai menambahkan, meng-update, menghapus dan
menampilkan data. MySQL merupakan tergolong bahasa SQL (Structured Query
Language) yang mempunyai beberapa perintah yang pada umumnya digunakan
yaitu select, insert, update dan delete (Rawung, 2017).

MySQL adalah sebuah server database open source yang terkenal yang digunakan
berbagai aplikasi terutama untuk server atau membuat webservice (Irsan, 2015).

MySQL termasuk jenis RDBMS (Relational Database Management System). Itulah


sebabnya istilah seperti tabel, baris dan kolom digunakan pada MySQL. Pada
MySQL, sebuah database mengandung satu atau sejumlah tabel. Tabel terdiri dari
sejumlah baris dan setiap baris mengandung satu atau beberapa kolom (Frediyatma,
2014).
2.13 JavaScript Object Natation (JSON)

JSON (JavaScript Object Notation) merupakan format yang ringan untuk


memasukan data ke dalam sebuah variabel. Sangat mudah dimengerti dan
diimplementasikan oleh manusia, dan mudah juga untuk komputer dalam
melakukan parsing-nya (Frediyatma, 2014).

Format JSON dibuat berdasarkan bagian dari Bahasa Pemrograman JavaSript,


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 (Dharma Kasman, 2016).

JSON terbuat dari dua struktur:


a. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan
sebagai objek (object), rekaman (record), struktur (struct), kamus
(dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau
associative array.
b. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa,
hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau
urutan (sequence).

2.14 Zxing
Zxing (dibaca “zebra crossing”) merupakan sebuah library open source dengan
multi format yaitu 1D/2D barcode image processing yang diimplementassikan pada
Java dengan port untuk bahasa lain.

ZXing menggunakan kamera bawaan pada ponsel untuk memindai dan melakukan
decode barcode atau QR code pada perangkat, tanpa berkomunikasi dengan server.
Namun, ZXing juga dapat digunakan untuk decode barcode pada desktop dan
server(Wibisono, Noertjahyana and Handojo, 2013).
2.15 Java
Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada
pertengahan tahun 1990. Menurut definisi Sun, Java adalah nama untuk
sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada
komputer standalone ataupun pada lingkungan jaringan. Teknologi Java memiliki
tiga komponen penting yaitu, Programming-language spefication, Application-
programming Interface, dan Virtual-machine specification JDK (Java
Development Kit.) (Haqi, 2017).

Java merupakan bahasa pemrograman yang berorientasi objek. Java juga bersifat
open source sehingga dapat digunakan untuk mengembangkan aplikasi open source
(Putra, 2016).

Java adalah bahasa pemrograman yang powerful dan serbaguna untuk


pengembangan perangkat lunak yang berjalan di perangkat seluler, komputer
desktop, dan server (Enterprise, 2017).

2.16 UML

UML adalah bahasa visual untuk pemodelan dan komunikasi mengenai sebuah
system dengan menggunakan diagram dan teks-teks pendukung (Rosa and
Shalahuddin, 2013).

Diagram UML dibagi menjadi beberapa tipe, antara lain:

1. Use Case Diagram


Use case diagram adalah pemodelan untuk kelakuan (behavior) sistem
informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara
satu atau lebih actor dengan sistem informasi yang akan dibuat. Secara kasar,
use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah
sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu
(Rosa and Shalahuddin, 2013).
Use case diagram memiliki pemodelan yang ditandai dengan simbol – simbol.
Adapun simbol – simbol dari use case dijelaskan pada tabel di bawah ini.

Tabel 2. 1 Tabel Simbol–simbol Usecase.

No Nama Simbol Deskripsi

1 Actor Orang, proses atau sistem


lain yang berinteraksi
dengan sistem yang akan
dibuat.

2 Usecasae Fungsionalitas yang akan


disediakan sistem sebagai
Usecase unit-unit yang saling
berinteraksi atau bertukar
pesan antar unit maupun
aktor. Biasanya dinyakan
dengan kata kerja di awal
frase usecase.
Hubungan antara actor dan
3 Association
usecase yang berpartisipasi
pada usecase atau usecase
yang memiliki interaksi
dengan actor.

Relasi dari usecase yang


4 Include
berfungsi untuk sebagai
jalannya suatu usecase untuk
memicu jalannya usecase
lain.
No Nama Simbol Deskripsi

Suatu usecase dijalankan


5 Extends
karena ada persyaratan
tertentu dari usecase lain.

Relasi yang
6 Generalazation
menggambarkan inheritance
baik actor maupun usecase.

(Sumber: Rosa and Shalahuddin, 2013)

2. Activity Diagram
Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari
sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak
(Rosa and Shalahuddin, 2013).

Yang perlu diperhatikan dari activity diagram adalah aktivitas menggambarkan


aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat
dilakukan oleh sistem.
Adapun simbol – simbol dari activity diagram dijelaskan pada tabel di bawah
ini.

Tabel 2. 2 Table Simbol-simbol Activity Diagram.

No Nama Simbol Deskripsi


Digunakan untuk memulai
1 Initial node
aktifitas yang dilakukan
dalam activity diagram.
Digunakan untuk
2 Final note
mengakiri aktifitas yang
dilakukan dalam activity
diagram.
Aktivitas yang dilakukan
3 Activity/State
sistem, aktivitas biasanya
diawali dengan kata kerja.

4 Decision Menggambarkan suatu


keputusan / tindakan yang
harus diambil pada kondisi
tertentu.

5 Swimlane Memisahkan organisasi


bisnis yang bertanggung
jawab terhadap aktivitas
yang terjadi.

6 Control flow Digunakan untuk


menghubungkan antara
aktifitas dengan aktifitas
lainnya.

(Sumber: Rosa and Shalahuddin, 2013)


3. Class diagram
Class diagram mendeskripsikan struktur sistem dari segi pendefinisian kelas-
kelas yang akan dibuat untuk membangun sistem (Rosa and Shalahuddin,
2013). Kelas memiliki apa yang disebut atribut dan metode atau operasi.
a. Atribut merupakan variabel-variable yang dimiliki oleh suatu kelas.
b. Metode atau operasi adalah fungsi-fungsi yang dimiliki oleh suatu kelas.

Adapun simbol – simbol dari class diagram dijelaskan pada tabel di bawah ini.

Tabel 2. 3 Tabel Simbol-simbol class diagram.

No Nama Simbol Deskripsi

1 class Himpunan dari objek-objek


yang berbagi atribut serta
operasi yang sama. Class
terdiri dari nama kelas,
atribut, dan operasi/methotd.

2 Association Relasi antar kelas dengan


makna umum, biasanya
disertai dengan multiplicity

3 Directed association Relasi antar kelas dengan


makna kelas yang satu
digunakan oleh kelas yang
lain, asosiasi biasanya juga
disertai dengan multlipicity
No Nama Simbol Deskripsi

4 generalization Relasi antar kelas dengan


makna generalisasi-
spesialisasi (umum khusus)

5 dependency Relasi antar kelas dengan


makna kebergantungan antar
kelas

6 aggeregation Relasi antar kelas dengan


makna semua-bagian (whole-
part)

(Sumber: Rosa and Shalahuddin, 2013)

4. Sequence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirim dan diterima
antar objek (Rosa and Shalahuddin, 2013).

Untuk menggambarkan sequence diagram maka harus mengetahui objek-


objek yang terlibat dalam sebuah use case beserta metode-metode yang
dimiliki kelas untuk diinstansiasi menjadi objek itu. Membuat sequence
diagram juga dibutuhkan untuk melihat skenario yang ada pada use case.
Adapun simbol – simbol dari sequence diagram dijelaskan pada tabel di bawah
ini.
Tabel 2. 4 Tabel Simbol-simbol Sequence Diagram.

No Nama Simbol Deskripsi

1 Actor Orang, proses, atau sistem


lain yang berinteraksi dengan
atau sistem atau aplikasi.

2 lifeline Menyatakan kehidupan suatu


objek.

3 Loop Menyatakan suatu loop


fragment terhadap waktu dengan objek
yang lain.

4 Messege Spesifikasi dari komunikasi


antar onjek yang memuat
informasi-informasi tentang
aktivitas yang terjadi.

5 Boundary Digunakan untuk


menggambarkan sebuah
form.

6 Control Digunakan untuk


class menghubungkan boundary
dengan tabel.
No Nama Simbol Deskripsi

7 Entity Digunakan untuk


class menggambarkan hubungan
kegiatan yang akan
dilakukan.

(Sumber: Rosa and Shalahuddin, 2013)

2.17 Pengujian Aplikasi


Menurut (Pressman, 2010) tujuan dari pengujian adalah untuk menemukan dan
memperbaiki sebanyak mungkin kesalahan dalam program sebelum menyerahkan
program kepada customer. Salah satu pengujian yang baik adalah pengujian yang
memiliki probabilitas tinggi dalam menemukan kesalahan. Perangkat lunak dapat
diuji dengan dua cara, yaitu : Black-box testing dan white-box testing.

2.18 Black box testing

Menurut (Pressman, 2010) Black-Box testing berfokus pada persyaratan fungsional


perangkat lunak yang memungkinkan engineer untuk memperoleh
kondisi input yang sepenuhnya akan melaksanakan persyaratan fungsional untuk
sebuah program. Pengujian black-box bukan merupakan alternatif dari teknik
white-box, tetapi merupakan pendekatan komplementer yang kemungkinan besar
mampu mengungkap kelas kesalahan daripada metode white-box.
Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai
berikut :
a. Fungsi – fungsi yang tidak benar atau hilang.
b. Kesalahan interface.
c. Kesalahan dalam struktur data atau akses database eksternal.
d. Kesalahan kinerja.
e. Inisialisasi dan kesalahan terminasi.
DAFTAR PUSTAKA

Aditama, R. (2017) WEB SERVICE Pembayaran Uang Kuliah Online dengan


PHP dan SOAP WSDL. Yogyakarta: Lokomedia.
Aminullah, R., Suprayogi, A. and Sukmono, A. (2018) ‘APLIKASI
PGROUTING UNTUK PENENTUAN RUTE ALTERNATIF MENUJU
WISATA BATIK DI KOTA PEKALONGAN BERBASIS WEBGIS’, Jurnal
Geodesi Undip, 7.
Chandra, Y. F., Dwiyani, N. and Huda, Y. (2016) ‘Perancangan Aplikasi Mobile
Learning Test of English for International Communication (Toeic) Simulation
Pada Smartphone Berbasis Android’, 4(2).
Dharma Kasman, A. (2016) Trik Kolaborasi ANDROID dengan PHP dan
MySQL. Yogyakarta: Lokomedia.
Enterprise, J. (2017) Java Komplet. Jakarta: Elex Media Komputindo.
Fatchur Rozy, M., Prasita Nugroho, A. and Nurcholis, M. (2017) ‘Data Bengkel
Secara Elektronik’, jurnal Informatika Merdeka Pasuruan, 2(1), pp. 54–69.
Frediyatma, S. Y. (2014) ‘Aplikasi Pemesanan Makanan Berbasis Cloud dengan
Platform Android’, 2(1), pp. 118–126.
H Nazaruddin, S. (2015) Pemrograman Aplikasi Mobile Smartphone dan Tablet
PC berbasis Android. Revisi Ked. Bandung: Informatika.
Haqi, B. (2017) Membuat Apliasi Antrean dengan Java NetBeans IDE 8.0.2 dan
Database MySQL. Jakarta: Elex Media Komputindo.
Hidajat, D. C., Noertjahyana, A. and Purba, K. R. (2017) ‘Pembuatan Aplikasi
DVR Driving dengan Fitur GPS dan Live Streaming Berbasis Android’, Jurnal
Infra, Vol 5.
Huda, N. and Khamami, F. (2017) ‘MODIFIKASI SISTEM KENDALI SEPEDA
LISTRIK’, 1(1), pp. 30–35.
Irsan, M. (2015) ‘Rancang Bangun Aplikasi Mobile Notifikasi Berbasis Android
untuk Mendukung Kinerja di Instansi Pemerintahan’, 1(1). Available at:
http://jurnal.untan.ac.id/index.php/justin/article/view/9984/9752.
Makiolor, A. A. A., Sinsuw, A. A. E. and Najoan, X. B. N. (2017) ‘Rancang
Bangun Pencarian Rumah Sakit , Puskesmas dan Dokter Praktek Terdekat di
Wilayah Manado Berbasis Android’, 10(1), pp. 1–10.
Miftahul, H., Purnama, B. E. and Sukadi (2018) ‘Rancang Bangun Katalog Buku
Online Pada Perpustakaan Um…’, Indonesian Journal on Networking and
Security, pp. 1–6.
Pressman, R. . (2010) Software Engineering : a practitioner’s approach. New
York: McGraw-Hill.
Putra, I. G. N. A. C. (2016) ‘Perancangan aplikasi keuangan mahasiswa berbasis
mobile’, IX(2), pp. 9–14.
Ramadhan, T. and Utomo, V. (2014) ‘Rancang Bangun Aplikasi Mobile Untuk
Notifikasi Jadwal Kuliah Berbasis Android (Studi Kasus: Stmik Provisi
Semarang)’, Jurnal Teknologi Informasi dan Komunikasi, pp. 47–55. doi:
10.1234/JTIK.V5I2.93.
Rawung, F. (2017) Buku Pintar Aplikasi SMS dengan PHP dan MySQL.
Yogyakarta: Gava Media.
Rosa, A. S. and Shalahuddin, M. (2013) Rekayasa Perangkat Lunak Terstruktur
dan Berorientasi Objek. Ke 3. Bandung: Informatika.
Santoso, B. (2017) ‘PERANCANGAN APLIKASI OLAP (ONLINE
ANALITYCAL PROCESSING) PENJUALAN BUKU PADA TOKO BUKU
GRAMEDIA LUBUKLINGGAU DENGAN METODE CLUSTERING’, jurnal
teknologi informasi, 9(2), pp. 98–107.
Schmuller, J. (2004) Sams Teach Yourself UML in 24 Hours. Sams Publishing.
Silvia, A. F., Haritman, E. and Muladi, Y. (2014) ‘Rancang Bangun Akses
Kontrol Pintu Gerbang Berbasis Arduino Dan Android’, Electrans, 13(1), pp. 1–
10.
Simangunsong, F. R. D. B. and Nasution, S. D. (2015) ‘Aplikasi Jaringan Saraf
Tiruan Untuk Memprediksi Metode Back Propagation’, 2(6), pp. 43–47.
Sri Wahyuni, A. and Nurdiana, D. (2016) ‘Aplikasi Pencarian dan Pembelajaran
Hadist Pada Kitab Riyadhus Shalihin Berbasis Mobile’, Jurnal SISFOKOM, 5.
Suhartanto, M. (2012) ‘Pembuatan Website Sekolah Menengah Pertama Negeri 3
Delanggu Dengan Menggunakan Php Dan MySQL’, Journal Speed – Sentra
Penelitian Engineering dan Edukasi, 4(1), pp. 1–8.
Utomo, T. A., Yuwono, B. D. and Amarrohman, F. J. (2017) ‘APLIKASI
SISTEM INFORMASI GEOGRAFIS BERBASIS WEB DAN ANDROID
UNTUK PEMILIHAN JALUR ALTERNATIF MENUJU TEMPAT
PARIWISATA (Studi Kasus: Kota Wisata Cibubur Dan Jungleland, Kabupaten
Bogor)’, Jurnal Geodesi Undip, 6(2), pp. 1–11. Available at:
http://ejournal3.undip.ac.id/index.php/geodesi/article/view/16250.
Wibisono, M. C., Noertjahyana, A. and Handojo, A. (2013) ‘Pembuatan Aplikasi
Pencatatan Stock Dengan Menggunakan Barcode Pada Android’, Jurnal Infra,
1(2), pp. 1–4.

Anda mungkin juga menyukai