DAFTAR PUSTAKA
Abraham, A. K., Jos, B. C. & Mangalathu, G.S. 2012. The Pickup And Delivery Vehicle Routing Problem For Perishable Goods In Air-Cargo Industry. International Journal of Emerging Technology and Advanced Engineering: 790-794.
Chandurkar, S., Mugade, S., Sinha, S., Misal, M. & Borekar, P. 2013. Implementation of Real Time Bus Monitoring and Passenger Information System. International Journal of Scientific and Research Publications 3(5): 2250-3153.
Fitria, A. T. 2013 Implementasi Algoritma Dijkstra Dalam Aplikasi Untuk Menentukan Lintasan Terpendek Jalan Darat Antar Kota di Sumatera Bagian Selatan. Jurnal Sistem Informasi (JSI) 5(2): 611-621.
Gutenschwager, K., Radtke, A., V¨olker, S. & Zeller, G. 2012. The Shortest Path: Comparison of Different Approaches and Implementations for the Automatic Routing of Vehicles. International Electronics and Electrical Engineering (IEEE): 3312-3323.
Hsu, C. I. & Hung, S. F. 2003. Vehicle Routing Problem for Distributing Refrigerated Food. Journal of the Eastern Asia Society for Transportation Studies 5: 2261-2272.
62
Hutabarat, J. 2014. Implementasi Algoritma Dijkstra dalam Penentuan Rute Terpendek Berbasis Mobile GIS (Studi Kasus: Universitas Sumatera Utara). Skripsi. Universitas Sumatera Utara.
Kurniawan, I. 2010. Sistem Informasi Geografis Berbasis Web Sebagai Penentu
Shortest Path dengan Menggunakan Algoritma Dijkstra. Skripsi. Universitas
Sumatera Utara.
Kushwaha, A. & Kushwaha, V. 2011. Location Based Services using Android Mobile Operating System. International Journal of Advances in Engineering & Technology (IJAET) 1(1): 14-20.
Lim, Y. & Kim, H. 2005. A Shortest Path Algorithm for Real Road Network Based on Path Overlap. Journal of the Eastern Asia Society for Transportation Studies 6: 1426 – 1438.
Munir, Rinaldi, 2005. Matematika Diskrit. Bandung: Informatika Bandung. http://www.scribd.com/doc/27745962/Microsoft-Access-2007 (diakses 1 April 2015).
Murai, Professor Shunji. 1999. GIS Work Book (Technical Course). Japan Association of Surveyors (JAS): Tokyo.
Princeton Documentation: Algorithms in Java, Chapter 21. http://www.cs.princeton.edu/introalgsds/55dijkstra (diakses 1 April 2015).
Rob, M. A. 2003. Applications of Geographical Information Systems in Understanding Spatial Distribution of Asthma. Informing Science Journal Case Studies 6: 90-99.
Siboro, R. 2010. Penerapan Algoritma Genetika untuk Menentukan Jalur Terpendek (Shortest Path). Skripsi. Universitas Sumatera Utara.
Stanford University in Stanford, California, USA, http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html (diakses 1 Oktober 2015).
Tsou, M. 2004. Integrated Mobile GIS and Wireless Internet Map Servers for Environmental Monitoring and Management. Cartography and Geographic Information Science 31(3): 153-165.
BAB 3
ANALISIS DAN PERANCANGAN
3.1. Analisis Sistem
Sebelum dilakukan tahap perancangan sebuah sistem, perlu dilakukan analisis sistem yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif mendeskripsikan fase-fase awal pengembangan sistem. Tahap ini bertujuan memberikan gambaran yang jelas terhadap sistem yang akan dibangun. Tahap ini menjabarkan kebutuhan-kebutuhan yang berguna untuk perancangan sistem agar sistem yang dibangun sesuai dengan masalah yang akan diselesaikan.
3.2. Analisis Masalah
Perancangan diagram Ishikawa untuk masalah ini bisa dilihat pada Gambar 3.1.
Gambar 3.1. Diagram Ishikawa untuk Analisa Masalah
3.3. Algoritma A Star atau A*
Algoritma A* adalah algoritma yang digunakan untuk pencarian jarak terdekat antara satu titik awal (initial state) menuju titik tujuan (goal state). Algoritma ini memilih solusi terbaik dari beberapa titik yang akan dilewati sehingga diperoleh jarak seminimal mungkin. Algoritma A* didefenisikan sebagai “best-first, algoritma pencarian berdasarkan graf yang menemukan jalur dengan cost terendah dari initial node ke titik tujuan. Algoritma ini bisa digunakan untuk menentukan jalur-jalur terpendek di sekitar area perkotaaan dan area lainnya.
Pelanggan food delivery
Pemesanan makanan ke restoran/ rumah makan yang tidak memiliki
kurir food delivery
Tidak mengetahui informasi waktu ketibaan tukang ojek menuju restoran dan pelanggan
Perancangan sistem web-based untuk pelanggan food delivery yang bermitra dengan beberapa
restoran/rumah makan Informasi pesanan pelanggan Supir food delivery Informasi pesanan pelanggan
Pencarian shortest path menuju restoran dan
lokasi pelanggan
Informasi lokasi restoran dan pelanggan Pencarian shortest path menuju
restoran dan lokasi pelanggan
Tidak bisa men-track pergerakan ojek driver menuju restoran dan
lokasi pelanggan
Tampilan location-based movement untuk pelacakan pergerakan ojek driver
di sistem web-based pelanggan
Informasi lokasi restoran dan pelanggan
Tampilan informasi jarak dan ketibaan supir ojek food delivery
menuju restoran dan pelanggan
Metode Metode
Masalah pencarian rute terpendek serta pelacakan pergerakan ojek food delivery
18
3.3.1. Analisis Algoritma A*
Salah satu contoh graph untuk pencarian jarak terpendek dengan algoritma A*
dideskripsikan pada Gambar 3.2.
Gambar 3.2. Contoh Graf untuk Perhitungan Jarak Terpendek
Adapun keterangan dari gambar dijelaskan pada tabel 3.1.
Tabel 3.1. Keterangan Elemen Jarak Terpendek
No. Node Koordinat Nama
1 S 1,1 Pempek Palembang Setiabudi 2 A 3,1 Simpang Jln. Dr. Sumarsono
3 B 2,6 Simpang Jln. Politeknik/ Tri Dharma
4 C 6,1 Simpang Pintu 3 Universitas Sumatera Utara 5 G 6,5 Fakultas Kedokteran Universitas Sumatera Utara
Perhitungan jarak terpendek untuk kasus ini dimulai dengan titik awal (initial node) di titik S atau Pempek Palembang Setiabudi, dan titik tujuan (goal node) di titik G atau Fakultas Kedokteran USU.
A (3,1)
S (1,1)
B (2,6)
Relasi dan jarak antar titik pada database dapat dilihat pada tabel 3.2.
Tabel 3.2. Relasi dan Jarak Antar Titik
No. Relasi Titik Jarak dalam satuan Kilometer (km)
1 S-A 1
2 S-B 4
3 A-B 2
4 A-C 5
5 A-G 12
6 B-C 2
7 C-G 3
3.3.1.1. Perhitungan Heuristik
Proses perhitungan heuristik menggunakan algoritma A* dilakukan dengan rumus di bawah ini:
d(x,y) = √ | (1)
Dengan menerapkan rumus di atas, hasil heuristik yang diperoleh adalah sebagai berikut:
A. Heuristik S(1,1) G(6,5)
d(x,y) = √
d(S,G) = √
= √
20
B. Heuristik A(3,1) G(6,5)
d(x,y) = √
d(A,G) = √
= √
= √ = 2,24
C. Heuristik B(2,6) G(6,5)
d(x,y) = √
d(B,G) = √
= √
= √ = 4,12
D. Heuristik C(6,1) G(6,5)
d(x,y) = √
d(C,G) = √
= √
= √ = 5,1
E. Heuristik G(6,1) G(6,5) d(x,y) = 0
Tabel 3.3. Daftar Heuristik Setiap Node
No. Titik Heuristik
1 S 1
2 A 2,24
3 B 4,12
4 C 5,1
3.3.2.Perhitungan Jarak Terpendek dengan A*
Setelah mendapatkan heuristik melalui proses di atas, selanjutnya adalah proses perhitungan jarak terpendek menggunakan algoritma A* dilakukan dengan rumus: f=g+h, dimana:
- g = jarak - h = heuristik
Gambar 3.3. Proses Perhitungan Jarak Terpendek
Dari pencarian di atas, bisa disimpulkan bahwa jarak terdekat dari titik S ke titik N dengan algoritma A* adalah melalui S-A-B-C-G dengan bobot jarak 8 kilometer.
S, f= g+h= 0+1= 1
S-A,
f= g+h= (0+1)+2,24= 3,24
S-B,
f= g+h = (0+4)+4,12= 8,12
S-A-B, f= g+h= (1+2)+4,12= 7,12
S-A-C,
f= g+h= (1+5)+5,1= 11,1
S-A-G,
f= g+h= (1+12)+1,41= 14,41 (end)
S-B-C, f= g+h = (4+2)+5,1= 11,1
S-B-C-G, f= g+h= (6+3)+0= 9(end)
S-A-B-C, f= g+h =(3+2)+5,1= 10,1
S-A-B-C-G, f= g+h =(5+3)+0= 8(end)
22
3.3.3. Analisis Persyaratan (Requirement Analysis)
Analisis ini bertujuan untuk mengidentifikasi dan menyatakan persyaratan apa saja yang akan dibutuhkan oleh sistem agar dapat berjalan sesuai dengan yang diharapkan. Analisis persyaratan terdiri atas dua bagian yaitu analisis fungsional (functional
requirement) dan analisis nonfungsional (non-functional requirement). Dimana
persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan/disediakan oleh sebuah sistem, dan persyaratan non-fungsional berkaitan dengan fitur, karakteristik, dan batasan lainnya yang menetukan apakah sistem memuaskan atau tidak. Persyaratan nonfungsional seringkali berupa batasan atau sesuatu yang menjadi perhatian stakeholder sebuah sistem. Kedua analisis ini merupakan hal penting untuk menentukan hal-hal yang harus dimiliki sistem.
3.3.3.1. Persyaratan Fungsional
Analisis fungsional dibutuhkan untuk mengetahui hal-hal yang bisa dikerjakan oleh sistem. Berikut dijabarkan fungsi-fungsi yang dapat dikerjakan oleh sistem.
1. Pelanggan menginput pesanan, lokasi pelanggan, dan lokasi restoran ke sistem. 2. Input pelanggan masuk ke database SQL server.
3. Supir ojek melihat dan memilih pesanan pelanggan dengan menekan tombol dijemput di sistem mobile.
4. Supir ojek melakukan pencarian jarak terpendek dari lokasi supir ojek menuju restoran dan pelanggan.
5. Supir mengaktifkan GPS untuk dikirim ke sistem untuk pelanggan.
3.3.3.2. Persyaratan Non-Fungsional
Analisis non-fungsional berhubungan dengan hal-hal berikut ini:
1. Performa
Perangkat lunak yang akan dibangun dapat menunjukkan jarak terdekat dari 2 atau lebih titik.
2. Mudah dipelajari dan digunakan
Perangkat lunak yang akan dibangun memiliki tampilan yang user friendly dan responsif.
3. Hemat biaya
Perangkat lunak yang dibangun akan mempermudah pengguna untuk efesiensi waktu, sehingga hemat biaya.
4. Kontrol
Perangkat lunak yang dibangun akan menampilkan pesan error untuk setiap input yang tidak sesuai.
3.3.4. Perancangan Sistem
Untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang dilakukan oleh sistem, maka diperlukan perancangan sistem. Dua jenis perancangan yang digunakan untuk perancangan persyaratan sistem adalah diagram Use Case dan Activity Diagram.
3.3.4.1. Perancangan Sistem dengan Use Case Diagram
24
Diagram use case yang dirancang sebagai perancangan persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan didalamnya, dapat dilihat pada Gambar 3.4.
Gambar 3.4. Diagam Use Case dari Sistem
Diagram pada Gambar 3.4 menjelaskan aksi yang dapat dilakukan oleh ketiga
user, yaitu admin, pelanggan, dan supir ojek. Supir ojek
Pelanggan
Cari shortest path
Input pesanan Lacak pergerakan
location-based movement ojek
Kirim koordinat ojek otomatis
Admin
Pengelolaan data admin, pelanggan, dan pemesanan
<<include>>
<<include>>
Spesifikasi use case ojek food delivery dapat dilihat pada tabel 3.4.
Tabel 3.4. Spesifikasi Ojek Food Delivery
Name Sistem ojek food delivery
Actors Supir ojek, pelanggan, admin
Trigger Pelanggan meng-input pesanan, supir ojek mengirim
koordinat secara terus-menerus.
Preconditions Admin sudah menambahkan data supir ojek dan pelanggan
Post Conditions Sistem akan menampilkan jarak terdekat dan pergerakan ojek.
Success Scenario 1. User telah login dan menginput pesanan.
2. Supir ojek membuka aplikasi dan menekan tombol cari jarak terdekat.
3. Sistem akan menampilkan jarak terpendek dari lokasi ojek ke lokasi pelanggan dan restoran.
4. Pelanggan menekan cari ojek.
5. Sistem menampilkan pergerakan ojek dari titik awal ke lokasi pelanggan dan restoran.
Alternative Flows -
Berikut adalah penjelasan dari tabel diatas: 1. Nama metode adalah ojek food delivery.
2. Supir ojek, pelanggan dan admin sebagai actor.
3. Pada preconditions, admin sudah harus memasukkan data ojek dan pelanggan.
4. Pada post conditions sistem akan menampilkan jarak terdekat dan pergerakan ojek
5. Pada success scenario terdapat proses: a. User telah login dan menginput pesanan.
b. Supir ojek membuka aplikasi dan menekan tombol cari jarak terdekat. c. Sistem akan menampilkan jarak terdekat dari lokasi ojek ke lokasi
26
d. Pelanggan menekan cari ojek.
e. Sistem menampilkan pergerakan ojek dari titik awal ke lokasi pelanggan dan restoran.
3.3.4.2. Perancangan Sistem dengan Activity Diagram
Berikut ini adalah activity diagram untuk proses ojek food delivery pada bagian supir ojek yang dapat dilihat pada Gambar 3.5.
Teka to ol Ma age
Orders Tampilkan page Manage Orders
Teka to ol Fi d Shortest Path
Tekan tombol Hasilka da Mulai
Pe aria
Menghasilkan koordinat tujuan
Tampilkan latitude dan longitude restoran dan
lokasi pelanggan
Teka to ol Mulai
Pe aria Proses pencarian shortest path
Tampilkan shortest path menuju restoran dan
lokasi pelanggan
Supir ojek food delivery Aplikasi Mobile
Penjelasan dari activity diagram diatas adalah pada saat supir ojek membuka aplikasi mobile, maka akan muncul dua menu “manage orders”. Setelah itu, sistem
akan menampilkan daftar pesanan. Kemudian, supir ojek menekan tombol “hasilkan” untuk menghasilkan titik koordinat (latitude, longitude) dari lokasi pelanggan dan
restoran. Lalu, supir ojek menekan tombol “mulai pencarian”. Proses pencarian jarak terpendek dilakukan di sistem, hingga akhirnya sistem menampilkan jarak terpendek menuju restoran dan lokasi restoran di sistem.
Berikut ini adalah activity diagram untuk sistem ojek food delivery yang dibuka oleh pelanggan:
Teka to ol Ta ah
Pesa a Tampilkan page histori pemesanan
Teka to ol Tra ki g Ojek
Tekan tombol
Hasilka da Mulai Pe aria
Pergerakan ojek dan informasi ketibaan ojek
Pelanggan ojek food delivery Sistem web-based ojek food delivery
28
Penjelasan dari activity diagram diatas adalah pada saat pelanggan membuka aplikasi web-based, maka akan muncul menu “tambah pesanan”. Setelah itu,
pelanggan menginput pesanan. Kemudian, supir ojek menekan tombol “hasilkan” untuk menghasilkan titik koordinat (latitude, longitude) dari lokasi pelanggan dan restoran.
3.3.5. Sequence Diagram Sistem
Adapun sequence diagram untuk sistem ojek food delivery dapat dilihat pada Gambar 3.7.
Gambar 3.7. Sequence Diagram untuk User Berupa Supir Ojek
Supir ojek
Buka aplikasi mobile Ojek Food Delivery
Tampilan informasi lengkap pesanan
Pilih pencarian shortest path
Tampilan nama restoran dan lokasi pelanggan otomatis
Pilih hasilkan latitude, longitude restoran dan lokasi pelanggan
Tampilkan latitude, longitude restoran dan lokasi pelanggan Cari shortest path
Dari sequence diagram pada gambar 3.6 dapat dilihat bahwa supir ojek perlu menekan tombol pencarian jarak terpendek atau find jarak terpendek untuk menampilkan jarak terpendek dari titik asal ke lokasi tujuan. Dalam hal ini tujuan ada 2, yakni lokasi pelanggan sekarang dan lokasi restoran.
Sequence diagram untuk pelanggan digambarkan pada Gambar 3.8.
Lihat daftar restoran
Tampilkan daftar restoran
Cari pesanan
Tampilkan histori pemesanan
Input Pesanan
Simpan Pesanan Pilih tracking ojek
Tampilan pergerakan ojek dan informasi ketibaan ojek Sistem Web-based
pelanggan
Cari pesanan Input pesanan Tracking ojek Pelanggan
Kelola akun pelanggan
Tampilkan hasil kelola akun
Kelola akun
Gambar 3.8. Sequence Diagram untuk Pelanggan
30
3.3.6. Rancangan General Architecture
Rancangan general architecture dari sistem yang dibangun dapat dilihat pada Gambar 3.9.
Gambar 3.9. General Architecture
Simpan data ojek, restoran, dan admin Manajemen data Android supir ojek Android pelanggan Simpan data pesanan pelanggan Send data JSON parsing koordinat ojek
JSON parsing data pesanan pelanggan
Cari shortest path
Penerapan Algoritma A Star
Tampilkan shortest path menuju restoran
3.3.7. Flowchart Algoritma A*
Berikut ini adalah gambaran flowchart algoritma A* yang digunakan dalam penyelesaian sistem.
Gambar 3.10. Flowchart Algoritma A*
Inisialisasi daftar OPEN= nil, CLOSED= nil
Insert node awal (initial node) ke daftar OPEN Set Current_Node= Best_Node(OPEN) Current_Node= GOAL? Backtrack untuk menampilkan rute Ya
Keluarkan Current_Node dari OPEN, masukkan ke CLOSED
Tidak
For i:=1 to jumlah neighbor Current_Node do Node(i) Bisa Dilalui? Ada dalam CLOSED? Ya Ada dalam OPEN? Tidak
Nilai g node(i)<g node dalam OPEN?
Set parent node (i)= Current_Node Kalkuasi ulang
nilai g dan f Ya i
OPEN= nil?
Rute Jarak Terpendek Tidak Ada
Ya
End Tidak
Tidak
Masukkan node(i) dalam OPEN, Set parent node(i)= Current_Node, Hitung dan
simpan nilai f, g, h
Ya Tidak
Tidak Start
32
3.3.8. Rancangan Antar Muka
Sistem akan dibangun menggunakan bahasa pemrograman Java dengan menggunakan
Java Android mobile programming, PHP, dan MySQL. Rancangan antar muka
menggunakan 5 page utama, yaitu Main Page, Manage Orders, Pencarian Jarak terpendek, Mapping, dan Help-How to Use.
3.3.8.1. Antar Muka Layout
Pada main layout,user yang merupakan supir ojek dapat memilih menu yang tersedia, antarmuka main layout dapat dilihat pada Gambar 3.11.
2. Help-How to Use
3. Manage Orders
4. GPS Starter
5. Close Application 1 Image Ojek Food
Delivery
Gambar 3.11. Tampilan Main Layout
Berikut ini adalah rancangan tampilan untuk halaman tampilkan pesanan pada aplikasi mobile:
1. Informasi Pesanan
2. Tombol
Dijemput 3. Cari Shortest Path 4. Help
Selanjutnya, berikut ini adalah rancangan tampilan untuk halaman pencarian jarak terpendek:
1. Lokasi Pelanggan
2. Hasilkan Koordinat Pelanggan
5. Mulai Pencarian 3. Nama Restoran
4. Hasilkan Koordinat Restoran
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1.Implementasi Sistem
Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan hasil analisis dan perancangan sistem. Kemudian, pada tahap implementasi ini digunakan perangkat lunak dan perangkat keras, sehingga sistem yang dibangun dapat diselesaikan dengan baik.
4.1.1. Lingkungan Implementasi
Lingkungan implementasi yang dimaksud adalah spesifikasi perangkat keras dan perangkat lunak yang digunakan pada saat pengimplementasian sistem. Berikut ini merupakan spesifikasi perangkat keras dan perangkat lunak yang digunakan, yaitu:
ProcessorIntel® Core™ i7 – 5500U @2.40 GHz
RAM 4 GB
Hard disk 1 Tera Bytes
Operating System Windows 8.1
Android Studio (Beta) 0.8.6 Notepad++
Spesifikasi perangkat smart phone Android yang digunakan untuk pengujian sistem ini secara keseluruhan adalah sebagai berikut:
Smart phone Samsung Core Duos. Nomor model SM-G35H
4.2.Pengujian Sistem
Tahap pengujian sistem merupakan lanjutan dari tahap implementasi sistem. Fungsi dari tahap pengujian sistem adalah untuk membuktikan bahwa sistem yang telah diimplementasikan dari hasil analisis dan perancangan sistem telah berjalan dengan baik.
4.2.1. Pengujian Aplikasi Mobile untuk Menu Manage Orders
Hasil pengujian sistem ini adalah daftar semua pesanan dengan status “BELUM
DIJEMPUT”. User yang merupakan supir ojek bisa memilih pesanan mana yang akan dikelolanya, seperti yang terlihat pada Gambar 4.1.
36
Setelah salah satu pesanan diklik oleh supir ojek food delivery, maka detail lengkap pesanan akan ditampilkan di layout berikutnya. Hasil dari proses setelah
mengklik pesanan berlabel “BELUM DIJEMPUT” tersebut dapat dilihat pada Gambar
4.2.
4.2.2. Pengujian Aplikasi Mobile untuk Pencarian Shortest Path
Setelah supir ojek menekan tombol Find Shortest path pada halaman di Gambar 4.2, selanjutnya akan muncul form otomatis yang berisi lokasi pelanggan dan restoran tujuan seperti pada Gambar 4.3.
38
Selanjutnya, user yang merupakan supir ojek menekan tombol hasilkan di bawah nama lokasi dan nama restoran. Hasilnya adalah latitude dan longitude masing-masing lokasi.
Kemudian, supir ojek menekan tombol merah Mulai Pencarian yang terletak di sudut paling bawah. Hasilnya adalah jalur shortest path dari lokasi ojek menuju restoran dan lokasi ojek.
Untuk destinasi dengan jumlah 1 restoran, shortest path akan dimunculkan secara langsung dan bersamaan. Berikut ini adalah tampilan untuk destinasi dengan jumlah 1 restoran.
40
Pada halaman shortest path ini, user bisa melihat nama posisi mana yang harus dilalui dengan mengarahkan kursor ke badge berwarna ungu, hijau, cyan, dan lainnya. Pada layout ini akan ditampilkan tulisan “Location:”.
Selanjutnya, untuk destinasi lebih dari 1 restoran dan maksimal 3 restoran,
user aplikasi mobile harus menekan tombol “Find All SP”. Alasan untuk membatasi
destinasi sejumlah 3 restoran adalah dengan mempertimbangkan beban paket makanan yang harus diangkut oleh user aplikasi mobile, yaitu supir ojek.
Berikut ini adalah tampilan untuk destinasi dengan jumlah maksimal 3 restoran.
4.2.2.1. Pengujian Aplikasi Mobile untuk Pelacakan (Tracking) Ojek
Fungsi tombol send tracking data adalah memulai aktivitas untuk mengirim data pelacakn (tracking) koordinat ojek ke database, kemudian diproses sehingga pelanggan bisa melihat pergerakan ojek di sistem pelanggan. Tampilannya ditunjukkan pada Gambar 4.7.
42
4.2.2.2. Pengujian Aplikasi Mobile untuk Status Dijemput
Fungsi tombol “Dijemput” adalah untuk meng-update status pesanan sudah dijemput.
User mengklik tombol “Dijemput” sehingga status pesanan berubah menjadi “Dijemput” pada database. Pesanan yang memiliki status “Dijemput” tidak akan
[image:30.595.211.423.248.604.2]ditampilkan pada layout daftar pesanan di aplikasi mobile. Tampilan tombol tersebut seperti pada Gambar 4.8.
4.2.3. Pengujian Sistem Web-Based Pelanggan untuk Halaman Login
User yang merupakan pelanggan pada sistem ojek food delivery bisa melakukan login terlebih dahulu. Pada halaman utama berbasis web ini, user melakukan login dengan
username dan password yang dimilikinya. Halaman login ini bisa dilihat pada Gambar
4.9.
44
4.2.4. Pengujian Sistem Web-Based Pelanggan untuk Halaman Lihat Daftar Restoran
Pada halaman lihat daftar restoran ini, pelanggan bisa melihat daftar restoran yang terdaftar dalam sistem ojek food delivery. Tampilan ini menggunakan format paging
[image:32.595.220.415.230.551.2]karena ditampilkan di perangkat hand phone. Tampilannya adalah sebagai berikut:
4.2.5. Pengujian Sistem Web-Based Pelanggan untuk Halaman Edit Akun Profil Pada halaman ini, pelanggan bisa mengedit akun profil sendiri dengan tampilan seperti Gambar 4.11.
46
[image:34.595.219.413.206.526.2]4.2.6. Pengujian Sistem Web-Based Pelanggan untuk Halaman Tambah Pesanan Pada halaman ini, pelanggan bisa melakukan penambahan psanan dengan cara memilih restoran, nama menu, jumlah pesanan, dan lokasi pelanggan, lalu menekan tombol submit seperti Gambar 4.12.
Setelah mengisi pesanan, pelanggan bisa melihat daftar pesanan yang telah dibuatnya di satu restoran tertentu seperti pada Gambar 4.13.
48
4.2.7. Pengujian Sistem Web-Based Pelanggan untuk Pergerakan Ojek
[image:36.595.118.515.213.506.2]Pada halaman tracking ojek ini, admin bisa melakukan pelacakan lokasi ojek, jarak, dan waktu ketibaan ojek pengantar makanan ke seluruh lokasi restoran dan fakultas di USU. Tampilan halaman ini ditunjukkan pada Gambar 4.14.
Tampilan halaman tracking ojek secara default view ditunjukkan pada Gambar 4.15.
50
4.2.8. Pengujian Sistem Web-Based Admin untuk Halaman Kelola Admin
[image:38.595.215.420.211.550.2]Hasil pengujian sistem dengan user admin utuk alaman kelola admin adalah menampilkan, menambah, mengedit, dan menghapus data admin. Tampilan untuk daftar admin yang terdaftar di sistem bisa dilihat pada Gambar 4.16.
Selanjutnya, user berupa admin bisa melakukan penambahan data admin dengan mengklik tombol tambah data pada tampilan gambar di atas. Hasilnya adalah
[image:39.595.223.410.212.522.2]form pengisian admin baru yang bisa diisi oleh admin. Tampilan untuk penambahan data admin baru bisa dilihat pada Gambar 4.17.
52
[image:40.595.223.411.169.479.2]Kemudian, untuk halaman pengeditan admin, admin bisa melakukan pengeditan data seperti ditampilkan pada Gambar 4.18.
Fitur selanjutnya yang bisa digunakan oleh admin adalah untuk menghapus data admin yang sudah terdaftar. Setelah menekan tombol hapus di tampilan, maka akan muncul konfirmasi penghapusan admin. Urutan proses ini bisa dilihat pada Gambar 4.19.
54
[image:42.595.223.411.189.503.2]Setelah user yang merupakan admin menekan tombol hapus seperti ditunjukkan pada gambar di atas, maka selanjutnya akan tampil konfirmasi penghapusan data admin seperti ditunjukkan pada Gambar 4.20.
Gambar 4.20. Konfirmasi Penghapusan Data Admin
4.2.9. Pengujian Sistem Web-Based Pelanggan untuk Halaman Kelola Restoran Pada halaman kelola restoran, admin bisa melihat daftar restoran yang sudah terdaftar di sistem, melakukan penambahan, pengeditan, dan penghapusan data restoran. Fungsi pertama adalah melihat daftar restoran.
Kemudian, fitur kedua yang bisa dilakukan admin adalah menambah restoran baru. Untuk penambahan ini, admin bisa melakukan pengisian data restoran baru di
Fitur selanjutnya atau fitur ketiga yang bisa dilakukan admin adalah mengedit data restoran. Tampilan pengeditan ini ditunjukkan pada Gambar 4.21.
Gambar 4.21. Tampilan Pengeditan Restoran
56
4.3.Hasil Pengujian Proses Sistem Ojek Food Delivery
[image:44.595.102.537.215.655.2]Hasil pengujian sistem untuk Ojek Food Delivery dapat dilihat pada Tabel 4.1, Tabel 4.2, Tabel 4.3, dan Tabel 4.4 dengan penjelasan lengkap pada tabel tersebut.
Tabel 4.1. Hasil Pengujian Sistem dengan Tujuan 1 Restoran dan 2 Restoran Spesifikasi Pencarian SP dengan Tujuan 1
(Satu) Restoran
Pencarian SP dengan Tujuan 2 (Dua) Restoran
Koneksi internet:
Bolt 4G Bolt 4G
Kecepatan memproses jarak terpendek:
1.334 detik 1,986 detik
Tabel 4.2. Hasil Pengujian Sistem dengan Tujuan 3 Restoran Spesifikasi Pencarian SP dengan Tujuan 3 (Tiga) Restoran
Koneksi internet:
Bolt 4G
Kecepatan memproses jarak terpendek:
2.022 detik
58
Tabel 4.3. Hasil Pengujian Ojek Tracking dengan 1 Ojek Spesifikasi Percobaan dengan 1 Ojek
Koneksi internet:
Bolt 4G
Tabel 4.4. Hasil Pengujian Ojek Tracking dengan 2 Ojek Spesifikas
i
Percobaan dengan 2 Ojek
Koneksi internet:
Bolt 4G
Hosting Idhostinger (free web hosting) Tampilan:
Dari tabel hasil pengujian sistem di atas, dapat dilihat bahwa perhitungan jarak terpendek dan waktu untuk menampilkan pergerakan ojek pengantar makanan sangat bergantung kepada kecepatan transfer data internet yang digunakan. Semakin cepat koneksi internet, semakin cepat pula proses dan tampilan jalur shortest path serta pergerakan ojek muncul di layar smart phone.
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Setelah melewati tahap pengimplementasian dan pengujian terhadap sistem, maka terdapat beberapa kesimpulan yang ditemukan pada penelitian ini, yaitu :
1. Dengan melakukan pengaplikasian algoritma A* untuk menyelesaikan kasus jarak terpendek, sistem Ojek Food Delivery yang dioperasikan oleh user berupa supir ojek dapat dikerjakan dengan baik.
2. Perhitungan jarak terpendek dilakukan untuk menemukan jalur terpendek dari lokasi ojek ke restoran dan lokasi pelanggan di sekitar Universitas Sumatera Utara (USU) yang terdaftar sebagai pelanggan Ojek Food Delivery.
3. Sistem yang sudah didesain mempermudah dan membantu proses digitasi sistem pengantaran makanan dengan bantuan ojek freelance dan memudahkan pelanggan memilih restoran yang mereka kehendaki, melacak keberadaan, jarak, dan waktu ketibaan ojek.
4. Dengan melakukan pengaplikasian tracking dengan fungsi Java Android, PHP, dan MySQL untuk implementasi tracking, maka sistem Ojek Food Delivery dapat berjalan dengan baik.
5.2. Saran
Penulis ingin memberikan beberapa saran untuk penelitian dibidang Geographical
Information System (GIS) berikutnya, yaitu :
1. Mempertimbangkan elemen kemacetan dan elemen traffic lainnya dalam penentuan jarak terpendek.
BAB 2
LANDASAN TEORI
2.1. Geographical Information System (GIS)
Geographical Information System (GIS) yang dalam bahasa Indonesia dikenal sebagai
Sistem Informasi Geografis (SIG) didefenisikan sebagai sebuah sistem informasi yang digunakan untuk memasukkan, menyimpan, mengambil, memanipulasi, menganalisa, dan menghasilkan data geospasial atau data yang mengacu secara geografis. GIS
digunakan dalam rangka mendukung pengambilan keputusan untuk perencanaan dan pengelolaan dari penggunaan lahan, sumber daya alam, lingkungan, transportasi, fasilitas perkotaan, dan rekam administrasi lainnya (Murai, 1999).
[image:49.595.125.508.420.606.2]Komponen utama dari GIS adalah sistem komputer, pengguna, dan data geospasial, seperti ditunjukkan pada Gambar 2.1.
8
Sistem komputer untuk GIS terdiri dari hardware, software dan prosedur yang didesain untuk mendukung pengambilan data, pemrosesan, penganalisaan, pemodelan dan tampilan dari data geospasial.
Sumber dari data geospasial adalah peta digital, fotografi udara, gambar satelit, tabel statistikal, dan dokumen terkait lainnya. Data geospasial diklasifikasikan ke dalam data grafik (atau disebut data geometrik) dan atribut (atau disebut data thematik). Data grafik memiliki 3 elemen, yaitu titik (atau disebut node), garis (atau disebut arc) dan area (atau disebut polygon) di salah satu bentuk raster atau vector
yang melambangkan geometri dari topologi, ukuran, bentuk, posisi, dan orientasi. Peranan dari user atau pengguna adalah untuk memilih informasi yang berhubungan, menentukan standar penting, mendesain skema penetapan harga efisien, menganalisa keluaran GIS untuk tujuan yang berkaitan, dan merencanakan penerapan.
Peralatan penerima GIS berbasis mobile adalah komputer berukuran kecil atau terminal yang bisa menampilkan peta dan informasi lokasi ke pengguna akhir. Komponen hardware termasuk CPU, memori, peralatan penyimpanan, koneksi masukan/keluaran, dan fungsi tampilan atau screen (Tsou, 2004). PC saku, smart
phone, tablet PC atau PDA adalah komponen penerima GIS mobile yang terkenal.
Komputer notebook juga bisa menjadi penerima GIS mobile apabila dikoneksikan ke GPS dan komponen GIS lainnya. Namun, kebanyakan penerima GISmobile meminta peralatan hardware berukuran kecil untuk mencapai tujuan portable atau bisa dibawa kemana-mana.
Keuntungan lain dari solusi GIS berbasis mobile adalah bahwa kerangka kerja
GIS bisa diintegrasikan dengan peralatan GPS yang bisa menyediakan pengukuran geodesi komprehensif dan fungsi navigasi. Dengan keunggulan dan penggabungan dari GPS, internet, dan teknologi komunikasi wireless, GIS berbasis mobile memiliki potensial yang hebat untuk memainkan peran penting dalam bidang akuisisi dan validasi data dan layanan jalur transportasi.
Komponen penyedia GIS menyediakan fungsi geospasial untuk banyak
2.2. Algoritma A Star atau A*
Algoritma A Star atau A* adalah salah satu algoritma pencarian yang menganalisa input, mengevaluasi sejumlah jalur yang mungkin dilewati dan menghasilkan solusi. Algoritma A* adalah algoritma komputer yang digunakan secara luas dalam graph
traversal dan penemuan jalur serta proses perencanaan jalur yang bisa dilewati secara
efisien di sekitar titik-titik yang disebut node (Reddy, 2013).
Algoritma A* menggabungkan fitur dari pencarian cost dan pencarian heuristik untuk menghitung solusi optimal secara efisien. Karena keakuratan dan kinerjanya, A*
digunakan secara luas. Peter Hart, Nils Nilsson, dan Bertram Raphael menemukan algoritma ini pada tahun 1968. Algoritma ini adalah penyempurnaan dari algoritma Edsger Dijkstra. Algoritma A* memperoleh kinerja lebih baik (dalam hal waktu) dengan menggunakan heuristik.
2.2.1. A Star-Pendekatan Heuristik
Karakteristik yang menjelaskan algoritma A* adalah pengembangan dari “daftar
tertutup” untuk merekam area yang dievaluasi. Daftar tertutup ini adalah sebuah daftar untuk merekam area berdekatan yang sudah dievaluasi, kemudian melakukan perhitungan jarak yang dikunjungi dari “titik awal” dengan jarak diperkirakan ke “titik tujuan” (Reddy, 2013).
10
2.2.2. Cara Kerja Algoritma A*
[image:52.595.175.492.165.399.2]Contoh dari implementasi algoritma A* adalah Disneyland Paris di bawah ini (Reddy, 2013) seperti pada Gambar 2.2.
Gambar 2.2. Disneyland Paris Keterangan dari gambar di atas adalah:
- Pintu gerbang adalah node inisial atau asal. - Magic Kingdom adalah tujuan akhir.
- Ada 2 jalur yang bisa diambil dan ditandai dengan node. - Setiap node akan memiliki fungsi f(x), g(x), dan h(x).
- Akan ditunjukkan pada setiap node dan diindikasikan node selanjutnya yang akan dikunjungi berdasarkan cost jalur terendah.
Contohnya, apabila seseorang sedang berada di pintu gerbang Disneyland Paris dan dia hendak menuju Magic Kingdom. Ada dua jalur berbeda yang tumpang tindih di tengah. Dua pilihan ini adalah:
- Yang berwarna ungu dengan yang tertinggi f(x). - Yang berwarna hijau dengan nilai lebih rendah f(x).
Algoritma A* menggunakan path paling rendah ke node yang membuatnya sebagai algoritma pencarian nilai pertama yang terbaik atau best first search. Menggunakan rumus f(x) = g(x) + h(x), dimana:
- g(x) adalah jarak total dari posisi asal ke lokasi sekarang.
- h(x) adalah fungsi heuristik yang digunakan untuk memperkirakan jarak dari lokasi sekarang ke lokasi tujuan. Fungsi ini jelas berbeda karena ini adalah perkiraan semata dibandingkan dengan nilai aslinya. Semakin tinggi keakuratan heuristik, semakin cepat dan bagus lokasi tujuan ditemukan dan dengan tingkat keakuratan yang lebih bagus. Fungi f(x) = g(x) + h(x) ini adalah perkiraan saat ini dari jarak terdekat ke tujuan.
2.2.3. Pseudo Code dari Algoritma A*
Berikut ini adalah pseudo code dari algoritma A* (Reddy, 2013): function A*(start,goal)
1 closed = empty set
2 q = makequeue(path(start))
3 while q is not empty do
4 p = removefirst(q)
5 x = lastnode(p)
6 if x in closed then
7 end if
8 if x = goal then
9 return p
10 end if
11 add x to closed
12 for y successor(x) do
13 enqueue(q, p, y)
14 end for
15 return Failure 16 end while
[image:53.595.102.529.341.734.2]17 end function
12
2.3. Global Positioning System (GPS ) Android
GPS adalah alat yang bisa menyediakan informasi koordinat berbasis geografis (ketinggian X, Y, dan Z) dan mengirimnya ke penerima GIS mobile. GPS
menggunakan sinyal satelit untuk menghitung posisi dari unit GPS. Aplikasi GIS
membutuhkan GPS dalam area perkotaan untuk memperoleh hasil yang memuaskan (Tsou, 2004).
Data geospasial, yaitu latitude (garis lintang) dan longitude (garis bujur) diatur oleh lapisan GIS pada aplikasi GISmobile (Tsou, 2004). Layanan pengumpulan lokasi dalam rangka mendapatkan latitude dan longitude untuk pengguna dibutuhkan. Komponen ini bisa diakses secara langsung seperti melalui penerima GPS di smart
phone. Module data mengontrol akses data dalam smart phone Andoid. Ini
memungkinkan pengaksesan data dan juga untuk mengambil informasi lokasi menggunakan GPS (Kushwaha & Kushwaha, 2011).
2.4. Graph
Graph didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V,
E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul (vertices
atau nodes) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul (Munir, 2005).
Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf maka graf digolongkan menjadi dua jenis:
1. Graf sederhana (simple graph)
Graf yang tidak mengandung gelang maupun sisi ganda dinamakan graf sederhana.
2. Graf tak sederhana (unsimple graph)
Graf yang mengandung sisi ganda atau gelang dinamakan graf tak sederhana
(unsimple graph). Contoh dari graf tak sederhana adalah graf
Contoh dari tiga buah graph (Fitria, 2005), yaitu G1, G2, dan G3 dideskripsikan pada Gambar 2.4.
Gambar 2.4. (G1) Graph Sederhana, (G2) Multigraph, dan (G3) Multigraph
Keterangan dari gambar di atas adalah sebagai berikut:
- G1 adalah graph dengan himpunan simpul V dan himpunan sisi E adalah: V = {1, 2, 3, 4}
E = {(1, 2), (1, 3), (2, 3), (2, 4), (3, 4)}
- G2 adalah graph dengan himpunan simpul V dan himpunan sisi E adalah: V = {1, 2, 3, 4}
E = {(1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4)} = {e1, e2, e3, e4, e5, e6, e7}
- G3 adalah graph dengan himpunan simpul V dan himpunan sisi E adalah: V = {1, 2, 3, 4}
E = {(1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4), (3, 3)} = {e1, e2, e3, e4, e5, e6, e7, e8}
2.4.1. Lintasaan Terpendek
14
Jaringan transportasi bisa dirancang dalam bentuk graph yang terdiri dari titik-titik dan sisi yang menghubungkan titik-titik-titik-titik. Algoritma berbeda-beda telah diajukan untuk menemukan jalur terpendek antara 2 simpul di graph. Semua algoritma yang diajukan berdasarkan graph berbobot (Gutenschwager et al., 2012).
Contoh graph untuk jarak terpendek adalah jaringan yang terdiri dari sekumpulan N dari n simpul dan sekumpulan E dari e sisi (arcs). Setiap menghubungkan dua simpul (i,j), nilai dari sebuah sisi ditandai sebagai d(i,j) untuk koneksi langsung yang diberikan, sedangkan untuk semua koneksi lain (melalui simpul lain) d(i,j) menandai jarak terdekat.
[image:56.595.125.508.335.478.2]Contoh digraph bernilai, untuk menentukan jalur terpendek berararah dari s menuju t (Princeton, 2013). Nilai dari jalur = total nilai sisi dalam jalur dicontohkan seperti pada Gambar 2.5.
Gambar 2.5. Digraph untuk Lintasan Terpendek
2.5. Penelitian Terdahulu
Penelitian tentang pencarian shortest path (jalur terpendek) telah banyak dilakukan dengan beberapa metode. Pergerakan objek berdasarkan lokasi (location-based object
movement) juga sudah banyak dilakukan dengan metode yang berbeda-beda pula.
Pada dasarnya, gabungan shortest path dan pergerakan objek berdasarkan lokasi ini digunakan untuk kepentingan transportasi.
Pada tahun 2004, Tsou, M. melakukan penelitian untuk melacak keberadaan objek berdasarkan lokasi dengan cara sederhana. Penulis tersebut menggunakan
Mobile GIS Software. Namun, pada penelitian ini tidak disertakan penelitian tentang
Selanjutnya pada tahun 2010, Siboro, R. melakukan penelitan untuk menentukan jalur terpendek dengan metode algoritma Genetika. Penulis dalam hal ini tidak mengikutsertakan penelitian mengenai pergerakan objek berdasarkan lokasi
(location-based object movement).
Selanjutnya, pada tahun 2010, Kurniawan, I. juga melakukan penelitian untuk menentukan jalur terpendek dengan metode algoritma Dijkstra. Seperti yang lain, penulis hanya membatasi penelitian sampai pada penentuan jalur terpendek, tanpa meneliti tentang pergerakan objek berdasarkan lokasi (location-based object movement).
Pada tahun 2011, Kushwaha A. & Kushwaha V. melakukan penelitian untuk pergerakan objek berdasarkan lokasi dengan metode LBS pada Android Mobile. Metode ini juga membatasi penelitian sampai pada pelacakan objek saja. Dalam penelitian ini, tidak ditemukan penentuan shortest path.
Pada tahun 2014, Hutabarat, J. menggunakan metode Dijkstra untuk menentukan rute terpendek berbasis mobile GIS dengan studi kasus Universitas Sumatera Utara (USU). Penulis merancang aplikasi ini untuk sistem operasi Android
berbasis mobile. Pada metode yang diterapkan oleh penulis tersebut, tidak disertai pembahasan mengenai pergerakan objek berdasarkan lokasi (location-based object
[image:57.595.102.532.508.739.2]movement). Rangkuman dari penelitian terdahulu dapat dilihat pada Tabel 2.1.
Tabel 2.1. Penelitian Terdahulu
No. Peneliti Tahun
Metode yang Digunakan
Shortest Path Object Movement
1 Tsou, M. 2004 - Mobile GIS Software
2 Siboro, R. 2010 Genetika -
3 Kurniawan, I. 2010 Dijkstra -
4 Kushwaha A. & Kushwaha V.
2011 - Location Based
Services (LBS)
Android Mobile
BAB 1 PENDAHULUAN
1.1. Latar Belakang
Geographical Information System (GIS) digunakan dalam rangka mendukung
pengambilan keputusan untuk perencanaan dan pengelolaan dari penggunaan lahan (Murai, 1999). Banyak perusahaan menggunakan GIS untuk melaksanakan analisa pasar dan menemukan rute delivery optimal (Rob, 2003). Masalah menemukan rute
delivery optimal berfungsi untuk meminimalisasi jumlah ongkos transportasi, ongkos
persediaan, dan ongkos tenaga (Hsu & Hung, 2003).
Selanjutnya, perlu dikembangkan metode untuk memperoleh model rute kendaraan optimal (Hsu & Hung, 2003). Masalah lintasan terpendek atau shortest path diperlukan untuk menemukan nilai travel minimum satu atau lebih titik asal ke satu atau lebih tujuan melalui jaringan terhubung. Masalah ini sangat penting karena cakupannya yang luas untuk pengaplikasian di bidang transportasi (Lim & Kim, 2005). Dengan teknologi Global Positioning System (GPS) dan jaringan seluler yang canggih, pelacakan kendaraan real-time untuk pengelolaan transportasi yang lebih baik juga telah memungkinkan (Chandukar et al., 2013).
Beberapa penelitian tentang pencarian shortest path (jalur terpendek) dan pergerakan objek berdasarkan lokasi (location-based object movement) dilakukan dengan metode yang berbeda-beda. Pada tahun 2004, Tsou, M. melakukan penelitian untuk melacak keberadaan objek berdasarkan lokasi dengan cara sederhana dengan menggunakan Mobile GIS Software. Hasil penelitian tersebut adalah pelacakan objek. Selanjutnya, pada tahun 2010, Siboro, R. melakukan penelitan untuk menentukan jalur terpendek dengan metode algoritma Genetika. Hasil penelitian tersebut adalah jalur terpendek. Lalu, pada tahun 2010, Kurniawan, I. juga melakukan penelitian untuk menentukan jalur terpendek dengan metode algoritma Dijkstra. Hasil penelitian ini adalah jalur terpendek. Pada tahun 2011, Kushwaha A. & Kushwaha V. melakukan penelitian untuk pergerakan objek berdasarkan lokasi dengan metode Location-Based
System (LBS) pada Android Mobile. Hasil penelitian ini adalah pelacakan objek. Pada
tahun 2014, Hutabarat, J. menggunakan metode Dijkstra untuk menentukan rute terpendek berbasis mobile GIS dengan studi kasus Universitas Sumatera Utara (USU). Hasil penelitian ini adalah jarak terpendek.
Pada penelitan ini, penulis mengajukan algoritma A Star (A*) untuk menemukan jalur terpendek pada sistem food delivery. Algoritma A* pertama kali diajukan oleh Peter Hart, Nils Nilsson, dan Betram Raphael yang menemukan algoritma ini pada tahun 1968 (Reddy, 2013). Tujuan algoritma ini adalah untuk mencari jalur optimal di dalam graf dengan menggabungkan fitur dari pencarian cost
dan heuristik. Berdasarkan penelitian yang dilakukan oleh peneliti Computer Science
dari Stanford University, disimpulkan bahwa algoritma A* ini sangat bagus dalam hal penggabungan keunggulan pendekatan heuristik yang dimiliki oleh Greedy
3
Berdasarkan latar belakang yang telah penulis uraikan, maka penulis mengajukan proposal penelitian dengan judul “Sistem Pengantaran Makanan dengan Pendayagunaan Vehicle Menggunakan Geographical Information System (GIS) dan Algoritma A Star (A*)”.
1.2. Rumusan Masalah
Masalah dalam delivery paket makanan adalah tentang lintasan terpendek yang harus dilalui kurir pesanan makanan, dan informasi yang diterima oleh pelanggan restoran mengenai lokasi kurir saat pengantaran paket makanan dilakukan.
1.3. Tujuan Penelitian
1.4. Batasan Masalah
Permasalahan yang dibahas pada penelitian ini akan dibatasi ruang lingkup pembahasannya, yaitu :
1. Rute pemetaan hanya mencakup beberapa kecamatan di kota Medan. 2. Hanya mensimulasikan 12 buah restoran.
3. Penggunaan dan perhitungan jalan hanya dibatasi pada jalan utama.
4. Perhitungan dalam pencarian lintasan terpendek menggunakan kendaraan dengan asumsi kecepatan laju kendaraan yang sama dan konstan.
1.5. Manfaat Penelitian
Manfaat dari penelitian ini yaitu :
1. Menambah pengetahuan dan wawasan penulis dan pembaca.
2. Memberi masukan bagi penelitian lain di bidang GIS, khususnya menggunakan GPS dan algoritma A*.
1.6. Metode Penelitian
Metodologi penelitian yang digunakan pada penelitian ini adalah sebagai berikut:
a. Studi Literatur
Pada tahap ini dilakukan studi kepustakaan, yaitu proses mengumpulkan bahan referensi mengenai rancangan sistem food delivery.
b. Analisis
Pada tahap ini dilakukan analisis terhadap studi literatur untuk mengetahui dan mendapatkan pemahaman mengenai rancangan sistem food delivery.
c. Perancangan
5
d. Implementasi
Pada tahap implementasi sistem ini akan dilakukan pengkodean progam menggunakan Java Android, PHP, dan MySQL.
e. Pengujian
Pada tahap ini dilakukan pengujian aplikasi untuk mencari kesalahan-kesalahan sehingga dapat diperbaiki. Kemudian akan dilakukan analisis terhadap fokus permasalahan penelitian, apakah sudah sesuai dengan yang diinginkan.
1.7. Sistematika Penulisan
Metodologi penelitian yang digunakan pada penelitian ini adalah:
Bab 1: Pendahuluan
Pada bab pendahuluan ini, penulis akan mengumpulkan informasi lebih jauh tentang permasalahan yang akan dibahas tentang rancangan aplikasi food delivery.
Bab 2: Landasan Teori
Tinjauan pustaka menguraikan landasan teori, kerangka pikir, dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan kegiatan penelitian pada tugas akhir ini.
Bab 3: Analisis dan Perancangan
Bab ini menguraikan metodologi penelitian yang dilakukan dalam mengembangkan rancangan aplikasi food delivery.
Bab 4: Implementasi dan Pengujian Sistem
Bab 5: Kesimpulan dan Saran
v
ABSTRAK
Sistem pengantaran makanan adalah salah satu jenis sistem informasi geografis (SIG) yang bisa diterapkan melalui proses digitasi. Masalah utama dalam sistem pengantaran makanan adalah cara mengetahui jarak terpendek dan pelacakan pergerakan kendaraan pengantar makanan. Oleh sebab itu, agar proses digitasi sistem pengantaran makanan bisa diterapkan secara efisien, maka perlu ditambahkan fasilitas penentuan jarak terpendek dan pelacakan kendaraan pengantar makanan. Penelitian ini menggunakan algoritma A* untuk menentukan jarak terpendek dan pemrograman
location-based movement untuk pelacakan objek kendaraan pengantar makanan yang
bergerak. Berdasarkan pengujian ini, diperoleh sistem terintegrasi yang bisa digunakan oleh pihak supir ojek pengantar makanan, pelanggan, dan admin dalam rangka mempermudah sistem pengantaran makanan. Melalui penerapan jarak terpendek dan pelacakan kendaraan bergerak, maka penerapan sistem pengantaran makanan dalam cakupan sistem informasi geografis (SIG) bisa dilakukan.
Kata Kunci: shortest path, location-based movement, sistem informasi geografis
Food Delivery System With the Utilization of Vehicle Using Geographical Information System (GIS) and A Star Algorithm (A*)
ABSTRACT
Food delivery system is one various of geographical information systems (GIS) that can be applied through digitation process. The main case in food delivery service is the way to acquire shortest path and movement tracking of food delivery vehicle. Therefore, to accomplish the efficient food delivery system digitation process, it is needed to add facility of shortest path determination and food delivery vehicle tracking. This research uses A* shortest path algorithm to determine shortest path and location-based movement programming to track moving food delivery vehicle object. According to this research, integrated system that can be used by driver of food delivery, customer, and admin in terms of the food delivery system application, can be generated. Through application of shortest path and location-based movement, thus the application of food delivery system in the scope of efficient geographical information system can be executed.
Keywords: shortest path, location-based movement, geographical information
SISTEM PENGANTARAN MAKANAN DENGAN PENDAYAGUNAAN VEHICLE MENGGUNAKAN GEOGRAPHICAL INFORMATION SYSTEM (GIS)
DAN ALGORITMA A STAR (A*)
SKRIPSI
ELITA SARI LUBIS 121402041
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
SISTEM PENGANTARAN MAKANAN DENGAN PENDAYAGUNAAN VEHICLE MENGGUNAKAN GEOGRAPHICAL INFORMATION SYSTEM (GIS)
DAN ALGORITMA A STAR (A*)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
ELITA SARI LUBIS 121402041
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
ii
PERSETUJUAN
Judul : SISTEM PENGANTARAN MAKANAN DENGAN
PENDAYAGUNAAN VEHICLE MENGGUNAKAN
GEOGRAPHICAL INFORMATION SYSTEM (GIS) DAN
ALGORITMA A STAR (A*)
Kategori : SKRIPSI
Nama : ELITA SARI LUBIS
Nomor Induk Mahasiswa : 121402041
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dani Gunawan, ST., M.T Baihaqi Siregar, S.Si., M.T NIP. 19820915 201212 1 002 NIP. 19790108 201212 1 002
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
PERNYATAAN
SISTEM PENGANTARAN MAKANAN DENGAN PENDAYAGUNAAN VEHICLE
MENGGUNAKAN GEOGRAPHICAL INFORMATION SYSTEM (GIS)
DAN ALGORITMA A STAR (A*)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 14 Desember 2015
iv
UCAPAN TERIMA KASIH
Puji syukur penulis sampaikan ke hadirat Allah SWT yang telah memberikan restu-Nya dan menyertai setiap langkah penulis sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer di Universitas Sumatera Utara. Selanjutnya, sholawat dan salam penulis sampaikan atas Nabi Muhammad SAW.
Penulis mengucapkan terima kasih kepada Bapak Baihaqi Siregar, S.Si., M.T selaku pembimbing pertama dan Bapak Dani Gunawan, ST., M.T selaku pembimbing kedua yang telah membimbing dan mendukung penulis dalam penelitian dan penulisan skripsi ini. Selanjutnya, terima kasih juga kepada Bapak Dr. Sawaluddin, M. IT sebagai dosen penguji pertama serta Bapak Muhammad Anggia Muchtar, ST., MM. IT sebagai dosen penguji kedua. Penulis juga mengucapkan terima kasih kepada Bapak dan Ibu dosen S1 Teknologi Informasi yang telah mengajar dan memberikan masukan serta saran yang bermanfaat selama proses perkuliahan hingga dalam penulisan skripsi ini. Ucapan terima kasih juga ditujukan kepada semua pegawai dan staff tata usaha Teknologi Informasi dan Fasilkom-TI, yang telah membantu proses administrasi selama perkuliahan.
Penulis juga berterima kasih kepada kedua orang tua penulis, Bapak Muhammad Tantawi Lubis dan Ibu Elmi Duifa Tanjung yang telah membesarkan penulis dengan penuh cinta dan kasih. Juga kepada abang penulis Tael Mas’ud Lubis, ST., yang selalu memberikan dukungan kepada penulis.
ABSTRAK
Sistem pengantaran makanan adalah salah satu jenis sistem informasi geografis (SIG) yang bisa diterapkan melalui proses digitasi. Masalah utama dalam sistem pengantaran makanan adalah cara mengetahui jarak terpendek dan pelacakan pergerakan kendaraan pengantar makanan. Oleh sebab itu, agar proses digitasi sistem pengantaran makanan bisa diterapkan secara efisien, maka perlu ditambahkan fasilitas penentuan jarak terpendek dan pelacakan kendaraan pengantar makanan. Penelitian ini menggunakan algoritma A* untuk menentukan jarak terpendek dan pemrograman
location-based movement untuk pelacakan objek kendaraan pengantar makanan yang
bergerak. Berdasarkan pengujian ini, diperoleh sistem terintegrasi yang bisa digunakan oleh pihak supir ojek pengantar makanan, pelanggan, dan admin dalam rangka mempermudah sistem pengantaran makanan. Melalui penerapan jarak terpendek dan pelacakan kendaraan bergerak, maka penerapan sistem pengantaran makanan dalam cakupan sistem informasi geografis (SIG) bisa dilakukan.
Kata Kunci: shortest path, location-based movement, sistem informasi geografis
vi
Food Delivery System With the Utilization of Vehicle Using Geographical Information System (GIS) and A Star Algorithm (A*)
ABSTRACT
Food delivery system is one various of geographical information systems (GIS) that can be applied through digitation process. The main case in food delivery service is the way to acquire shortest path and movement tracking of food delivery vehicle. Therefore, to accomplish the efficient food delivery system digitation process, it is needed to add facility of shortest path determination and food delivery vehicle tracking. This research uses A* shortest path algorithm to determine shortest path and location-based movement programming to track moving food delivery vehicle object. According to this research, integrated system that can be used by driver of food delivery, customer, and admin in terms of the food delivery system application, can be generated. Through application of shortest path and location-based movement, thus the application of food delivery system in the scope of efficient geographical information system can be executed.
Keywords: shortest path, location-based movement, geographical information
DAFTAR ISI
Hal
Persetujuan ii
Pernyataan iii
Ucapan Terima Kasih iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel x
Daftar Gambar xi
BAB 1 PENDAHULUAN 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Tujuan Penelitian 3
1.4. Batasan Masalah 4
1.5. Manfaat Penelitian 4
1.6. Metode Penelitian 4
1.7. Sistematika Penulisan 5
BAB 2 LANDASAN TEORI 7
2.1. Geographical Information System (GIS) 7
2.2. Algoritma A Star atau A* 9
2.2.1. A Star-Pendekatan Heuristik 9
2.2.2. Cara Kerja Algoritma A* 10
2.2.3. Pseudo Code dari Algoritma A* 11
2.3. Global Positioning System (GPS) Android 12
2.4. Graph 12
viii
2.5. Penelitian Terdahulu 14
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 16
3.1. Analisis Sistem 16
3.2. Analisis Masalah 16
3.3. Algoritma A Star atau A* 17
3.3.1. Analisis Algoritma A* 18
3.3.1.1. Perhitungan Heuristik 19
3.3.2. Perhitungan Jarak Terpendek dengan A* 21 3.3.3. Analisis Persyaratan (Requirement Analysis) 22
3.3.3.1. Persyaratan Fungsional 22
3.3.3.2. Persyaratan Non-Fungsional 23
3.3.4. Perancangan Sistem 23
3.3.4.1. Perancangan Sistem dengan Use case Diagram 23 3.3.4.2. Perancangan Sistem dengan Activity Diagram 26
3.3.5. Sequence Diagram Sistem 28
3.3.6. Rancangan General Architecture 30
3.3.7. Flowchart Algoritma A* 31
3.3.8. Rancangan Antar Muka 32
3.3.8.1. Antar Muka Layout 32
BAB 4 IMPLEMENTASI DAN PENGUJIAN 34
4.1. Implementasi Sistem 34
4.1.1. Lingkungan Implementasi 34
4.2. Pengujian Sistem 35
4.2.1. Pengujian Aplikasi Mobile untuk Menu Manage Orders 35 4.2.2. Pengujian Aplikasi Mobile untuk Pencarian Shortest path 37
4.2.2.1. Pengujian Aplikasi Mobile untuk Pelacakan (Tracking) Ojek 41
4.2.4. Pengujian Sistem Web-Based Pelanggan untuk Halaman Lihat
Daftar Restoran 44
4.2.5. Pengujian Sistem Web-Based Pelanggan untuk Halaman Edit Akun
Profil 45
4.2.6. Pengujian Sistem Web-Based Pelanggan untuk Halaman Tambah
Pesanan 46
4.2.7. Pengujian Sistem Web-Based Pelanggan untuk Pergerakan Ojek 48 4.2.8. Pengujian Sistem Web-Based Admin untuk Halaman Kelola
Admin 50
4.2.9. Pengujian Sistem Web-Based Pelanggan untuk Halaman Kelola
Restoran 54
4.3. Hasil Pengujian Proses Sistem Ojek Food delivery 56
BAB 5 KESIMPULAN DAN SARAN 60
5.1. Kesimpulan 60
5.2. Saran 60
x
DAFTAR TABEL
Hal
Tabel 2.1. Penelitian Terdahulu 15
Tabel 3.1. Keterangan Elemen Jarak Terpendek 18
Tabel 3.2. Relasi dan Jarak Antar Titik 19
Tabel 3.3. Daftar Heuristik Setiap Node 20
Tabel 3.4. Spesifikasi Ojek Food delivery 25
DAFTAR GAMBAR
Hal
Gambar 2.1. Komponen Utama GIS 7
Gambar 2.2. Disneyland Paris 10
Gambar 2.3. Algoritma A* (Reddy, 2013) 11
Gambar 2.4. (G1) Graph Sederhana, (G2) Multigraph, dan (G3) Multigraph 13
Gambar 2.5. Digraph untuk Lintasan Terpendek 14
Gambar 3.1. Diagram Ishikawa untuk Analisa Masalah 17 Gambar 3.2. Contoh Graf untuk Perhitungan Jarak Terpendek 18
Gambar 3.3. Proses Perhitungan Jarak Terdekat 21
Gambar 3.4. Diagam Use Case dari Sistem 24
Gambar 3.5. Activity Diagram untuk Supir Ojek Food Delivery 26 Gambar 3.6. Activity Diagram untuk Sisi Pelanggan 27 Gambar 3.7. Sequence Diagram untuk User Berupa Supir Ojek 28
Gambar 3.8. Sequence Diagram untuk Pelanggan 29
Gambar 3.9. General Architecture 30
Gambar 3.10. Flowchart Algoritma A* 31
Gambar 3.11. Tampilan MainLayout 32
Gambar 3.12. Tampilan Layout Pilihan Tampilkan Pesanan 32 Gambar 3.13. Tampilan Layout Pencarian Jarak Terpendek 33
Gambar 4.1. Tampilan Menu Manage Orders 35
Gambar 4.2. Tampilan Detail Pesanan Terpilih 36
Gambar 4.3. Tampilan Lokasi Pelanggan dan Nama Restoran 37 Gambar 4.4. Hasil Koordinat Latitude dan Longitude 38
Gambar 4.5. Hasil Shortest Path 39
Gambar 4.6. Tampilan Teks Label Lokasi 40
Gambar 4.7. SendTracking Data 41
Gambar 4.8. Tombol “Dijemput” 42
xii
Gambar 4.10. Tampilan Daftar Restoran 44
Gambar 4.11. Edit Akun Pelanggan 45
Gambar 4.12. Halaman Tambah Pesanan 46
Gambar 4.13. Daftar Pesanan Pelanggan 47
Gambar 4.14. Tracking Lokasi, Jarak, dan Waktu Ketibaan Ojek (Larger View) 48 Gambar 4.15. Tracking Lokasi, jarak, dan Waktu Ketibaan Ojek (Default View) 49
Gambar 4.16. Tampilan Admin Terdaftar 50
Gambar 4.17. Tampilan Menu Tambah Admin 51
Gambar 4.18. Tampilan Edit Admin 52
Gambar 4.19. Tampilan Tombol Hapus untuk Menghapus Data Admin 53
Gambar 4.20. Konfirmasi Penghapusan Data Admin 54