1
Rancang Bangun Aplikasi Pencarian Rute Terpendek Lokasi Wisata Kuliner Kota Pontianak Berbasis Mobile Muhammad Insan Kamil1, Hengky Anra.2, Helen Sastypratiwi.3. Program Studi Teknik Informatika Universitas Tanjungpura1, 2, 3 1
[email protected] ,
[email protected],
[email protected]
Abstrak— Pontianak terkenal akan wisata kulinernya yang beragam yang tersebar diseluruh Kota Pontianak. Banyaknya jenis kuliner dan tempat wisata kuliner memungkinkan para wisatawan pendatang maupun penduduk lokal sulit dalam memilih suatu santapan kuliner dan rute menuju lokasi kuliner tersebut, khusunya wisatawan. Atas dasar permasalahan tersebut, penulis akan mencoba untuk membuat suatu aplikasi pencarian wisata kuliner berbasis android yang diharapkan dapat memberikan informasi wisata kuliner dan jalur terpendek, serta dilengkapi dengan peta lokasi tempat wisata kuliner. Algoritma yang digunakan untuk mencari jalur terpendek adalah algoritma dijkstra. Algoritma dijkstra merupakan algoritma pencarian rute terpendek yang menemukan rute terpendek berdasarkan rute (edge) terkecil dari lokasi user ke lokasi wisata kuliner tujuan. Data tempat wisata kuliner dan data jalan diperoleh dari Google Earth dan Google Maps. Dari hasil percobaan kasus yang telah dilakukan dapat diketaui bahwa aplikasi berhasil menerapkan algoritma dijkstra ke dalam pencarian Rute terpendek menuju tempat wisata kuliner. Kata Kunci— Pontianak, wisata kuliner, pemetaan, pencarian jalur terpendek, algoritma dijkstra.
1. PENDAHULUAN Industri Pariwisata yang sekarang sedang mengalami perkembangan pesat adalah bidang kuliner yaitu yang berkaitan dengan penyediaan makanan dan minuman. Ada sebuah tren di masyarakat dimana penduduk lokal maupun wisatawan datang kesuatu daerah wisata untuk mencari atau berburu makanan dan tidak segan-segan membayar mahal untuk menikmati suatu hidangan. Perubahan gaya hidup masyarakat juga telah terjadi, meraka makan tidak hanya untuk mengenyangkan perut saja, tetapi juga mencari suasana dan pelayanan sebagai bagian dari sajian makanan yang dipesan. Banyak restoran dan lokasi kuliner baru yang didirkan dengan kualifikasi dan ciri khas masing-masing. Beragam sajian ditawarkan mulai dari makanan khas daerah yang sifatnya tradisional dan unik hingga makanan cepat saji yang bersifat modern. Akibat tren tersebut, Kota Pontianak yang terkenal akan wisata kulinernya menjadi salah satu sasaran wisata para wisatawan. Minimnya pengetahuan akan lokasi geografis Kota
Pontianak membuat mereka kesulitan dalam menemukan lokasi wisata kuliner dengan cepat dan efisien. Salah satu solusi yang dapat digunakan adalah menggunakan suatu teknologi yang memanfaatkan Layanan Berbasis Lokasi (LBS) yang dapat memberikan informasi geografis wisata kuliner dan rute terpendek menuju lokasi wisata kuliner. Di era teknologi dan informasi seperti sekarang ini banyak cara yang dapat dilakukan untuk mengakses informasi baik itu informasi wisata maupun informasi geografis menggunakan perangkat teknologi. Salah satu perangkat teknologi yang dapat digunakan adalah perangkat ponsel cerdas. Sebenarnya banyak ponsel cerdas yang menawarkan LBS ini, dari yang bersistem operasi Symbian, Java, Windows Mobile, ataupun sistem operasi lainnya. Namun aplikasi yang ada pada android memiliki keuntungan yaitu open source, gratis, dan merupakan ponsel cerdas paling banyak digunakan di Indonesia. Dengan teknologi LBS yang dimiliki android pencarian informasi geografis suatu wisata kuliner dan rute terpendek dapat dilakukan kapanpun dan dimanapun. Pencarian rute terpendek tentunya membutuhkan suatu algoritma sehingga didapat rute paling efisien menuju lokasi wisata kuliner tersebut. Algoritma Dijkstra merupakan salah satu greedy algorithm yang mencari rute terpendek berdasarkan bobot terkecil dari satu titik ke titik lainnya. Hasil pencarian rute terpendek kemudian ditampilkan didalam peta agar mempermudah wisatawan dalam mencari dan menemukan lokasi suatu wisata kuliner. 2.
LANDASAN TEORI
2.1 Definisi Wisata Kuliner Menurut Kamus Besar Bahasa Indonesia Edisi Ketiga tahun 2003 [3] Wisata adalah “bepergian bersama-sama (untuk memperluas pengetahuan, bersenang-senang, bertamasya dsb)”. Masa perjalanan yang tergolong dalam definisi wisata adalah tidak kurang dari 24 jam dan tidak lebih dari tiga bulan, serta tidak dalam rangka mencari pekerjaan. Sedangkan Kuliner berati masakan atau makanan. Jadi dapat disimpulkan bahwa wisata kuliner ialah perjalanan yang dilakukan tidak kurang
2
dari 24 jam dan tidak lebih dari 3 bulan yang memanfaatkan masakan serta suasana lingkungannya sebagai objek tujuan wisata. 2.2 Sistem Informasi Geografis Menurut Susanto (2007) [7] Sistem Informasi Geografis merupakan sistem berbasis komputer yang digunakan untuk menyimpan data dan manipulasi informasi geografis. SIG atau GIS (Geographic Information System) merupakan suatu bentuk sistem informasi yang menyajikan informasi dalam bentuk grafis dengan menggunakan peta sebagai antar muka. Aplikasi SIG saat ini banyak digunakan untuk perencanaan, pelaksanaan, dan pengendalian yang berkaitan dengan wilayah geografis. Sistem Informasi Geografi membantu mengurangi kesalahan oleh manusia dan menghilangkan tugas-tugas pemetaan dan penggambaran, lebih cepat dan efisien dalam memberikan informasi spasial termasuk beberapa jenis peta. Sistem ini, walaupun dalam pengoperasiannya lebih mudah, tapi memerlukan keperluan yang mendasar yang membuatnya mahal, seperti pembuatan data dasarnya karena biasanya data spasial yang siap dipakai tidak tersedia. Penggunaan setiap Sistem Informasi Geografis akan tergantung terutama pada jenis, ketelitian dan detail masukan data yang dimiliki. 2.3 Android Menurut Safaat (Pemrograman aplikasi mobile smartphone dan tablet PC berbasis android (2012:1) [6] android merupakan suatu software (perangkat lunak) yang digunakan pada mobile device (perangkat berjalan) yang meliputi sistem operasi, middleware, dan aplikasi inti. Android Standard Development Kit (SDK) menyediakan alat dan Application Programming Interface (API) yang diperlukan untuk memulai pengembangan aplikasi pada platform Android menggunakan bahasa pemrograman Java, yaitu kode Java yang terkompilasi dengan data dan file resources yang dibutuhkan aplikasi dan digabungkan oleh app tools menjadi paket Android. File tersebut ditandai dengan ekstensi .apk. File inilah yang didistribusikan sebagai aplikasi dan diinstal pada perangkat mobile. 2.4 Location Based Service (LBS) Ardiansyah (2012) [2] menyatakan “LBS merupakan Layanan IP nirkabel yang menggunakan informasi geografis untuk memberikan layanan informasi lokasi kepada pengguna. Beberapa layanan aplikasi yang memberikan petunjuk posisi/lokasi piranti mobile berada”. LBS memberikan layanan personalisasi kepada pengguna perangkat bergerak (mobile device) yang disesuaikan dengan lokasi mereka saat ini. LBS adalah layanan informasi yang dapat diakses
melalui mobile device dengan mengunakan mobile network, yang dilengkapi kemampuan untuk memanfaatkan lokasi dari mobile device tersebut. LBS memberikan kemungkinan komunikasi dan interaksi dua arah. Oleh karena itu pengguna memberitahu penyedia layanan untuk mendapatkan informasi yang dia butuhkan, dengan referensi posisi pengguna tersebut. Arsitektur LBS:
Gambar 1 Arsitektur LBS Sumber: [5] Amit Kushuwa (2011) 2.5 Harversine Formula Formula Haversine merupakan formula yang yang digunakan dalam permasalahan navigasi, yang dapat memberikan jarak lingkaran besar antara dua titik pada bola/bumi dari garis bujur dan garis lintang mereka. Sehingga dengan mengetahui garis lintang dan bujur 2 titik di permukaan bumi maka jarak antara kedua titik itu dapat diketahui. Semua persamaan yang digunakan berdasarkan bentuk bumi yang bulat (spherical earth) dengan menghilangkan faktor bahwa bumi itu sedikit elips (elipsodial factor). Ini merupakan kasus khusus dari formula umum dalam trigonometri bola, hukum haversines, yang berkaitan dengan sisi dan sudut segitiga bola. Formula ini tidak dapat digunakan pada pentuk bumi yang tidak berbentuk bola Dengan mengasumsikan bahwa bumi berbentuk bulat sempurna dengan jari-jari R 6.367, 45 km, dan lokasi dari 2 titik di koordinant bola (lintang dan bujur) masing-masing adalah lon1, lat1, dan lon2, lat2, maka rumus Haversine dapat ditulis dengan persamaan berikut: x = ( lon2 - lon1) * cos (( lat1 + lat2 ) / 2 ); y = ( lat2 - lat1 ); d = sqrt ( x * x + y * y ) * R
3
2.6 Algoritma Dijkstra Algoritma Dijkstra merupakan greedy algorithm yang berfungsi menentukan rute terpendek berdasarkan bobot terkecil dari satu titik ke titik lain nya. Karena merukpaan greedy algorithm atau algoritma rakus maka makan algortima ini hanya memberikan solusi terbaik tanpa memberikan alternatifnya. Algoritma ini dinamai menurut penemunya , Edger Wybe Dijkstra yang menemukan algoritma ini pada tahun 1959. Algoritma ini digunakan untuk menyelesaikan permasalahan rute terpendek (shortest path problem) pada sebuah graf yang berarah (directed graph). Dimana graph dengan bobot-bobot sisi (weighted edge) yang tidak bernilai negatif. Dengan mengasusmsi vertices di dalam graph sebagai suatu tempat, dan edge sebagai jalan maka dengan menggunakan algoritma dijkstra. permasalahan rute terpendek dapat diselesaikan. Psuedocode dari algoritma dijkstra adalah sebagai berikut:
terhadap node tetangga, tandai node yang telah terjamah sebagai “Node terjamah”. Node terjamah tidak akan pernah di cek kembali, jarak yang disimpan adalah jarak terakhir dan yang paling minimal bobotnya. 6. Set “Node belum terjamah” dengan jarak terkecil (dari node keberangkatan) sebagai “Node Keberangkatan” selanjutnya dan lanjutkan dengan kembali ke step 3. 7. Pencarian berakhir ketika tidak ada lagi node yang belum terjamah. 3.
PERANCANGAN SISTEM
3.1 Arsitektur Sistem Arsitektur sistem menjelaskan komponen-komponen yang terdapat pada sistem. Desain arsitektur sistem dapat dilihat pada Gambar 2 sebagai berikut:
G = (V,E,s) Create an empty priority queue. FOR EACH v ≠ s : d(v) ← ∞; d(s) ← 0. FOR EACH v ∈ V : insert v with key d(v) into priority queue. WHILE (the priority queue is not empty) u ← delete-min from priority queue. FOR EACH edge (u, v) ∈ E leaving u: IF d(v) > d(u) + ℓ (u, v) decrease-key of v to d(u) + ℓ (u, v) in priority queue. d(v) ← d(u) + ℓ(u, v). Dimana: G = Graph V = Vertex (Titik) E = Edge (Jarak) Priority que = node terjamah s = Node Awal d = Bobot u = Node Keberangkatan l = Node Tetangga Penjelasan dari psuedocode algoritma dijkstra dijelaskan sebagai berikut 1. Buat “Node Terjamah” kosong. 2. Beri nilai bobot (jarak) untuk setiap titik ke titik lainnya, lalu set nilai 0 pada node awal dan nilai tak hingga terhadap node lain (belum terisi) 3. Set semua node “Belum terjamah” dan set node awal sebagai “Node keberangkatan” 4. Dari node keberangkatan, pertimbangkan node tetangga yang belum terjamah dan hitung jaraknya dari titik keberangkatan 5. Saat kita selesai mempertimbangkan setiap jarak
Gambar 2 Arsitektur Sistem 3.2 Use Case Diagram Use Case Diagram berikut memperlihatkan aktoraktor yang terlibar dan daftar kegiatan yang dapat dilakukan dalam sistem yang dirancang. Use case diagram aplikasi dapat dilhat pada gambar 3.
4
Antarmuka beranda tampil saat pengguna membuka aplikasi untuk petama kali.
Gambar 3 Use case Diagram 3.3 Activity Diagram Activity diagram menggambarkan berbagai aliran aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing aliran berawal, tujuan yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi.Activity Diagram aplikasi dapat dilahat pada gambar 5 berikut.
Gambar 6 Antarmuka Beranda Antarmuka Peta Kuliner berfungsi menampilkan lokasi wisata kuliner yang tersebar di kota pontianak.
Gambar 5 Activity Diagram 4. IMPLEMENTASI DAN HASIL Aplikasi yang dirancang merupkan aplikasi pencarian rute terpendek lokasi wisata kuliner kota pontianak berbasis mobile. Yang bertujuan memberikan informasi wisata kuliner dan rute terpendek kepada wisatawan maupun penduduk lokal. 4.1 Hasil Perancangan Aplikasi Aplikasi yang dirancang terdiri beberapa form. Adapun form aplikasi adalah sebagai berikut.
Gambar 7 Antarmuka Peta Kuliner Antarmuka rute tampil ketika tombol jalur kesini dipilih. Menu ini berisikan peta dan visualisasi rute terpendek menuju lokasi wisata kuliner.
5
v55 ke v24 : v55 - v22 - v21 - v24 = 2349m v55 ke v149 = v55 - v22 - v21 - v24 - v149 = 2470m Hasil pengujian algoritma dijkstra dalam aplikasi dapat lihat pada gambar 9 berikut:
Gambar 8 Antarmuka Rute
4.2 Pengujian Dijkstra Pengujian dijkstra dilakukan untuk mengetahui apakah pencarian rute terpendek yang dilakukan didalam aplikasi telah sesuai dengan algoritma dijkstra yang perhitungannya dilakukan secara manual. Berikut ini merupakan sebuah contoh kasus penggunaan algoritma Dijkstra didalam aplikasi :
Vertices = {v55,v58,v23,v22,v24,v21,v149} Simpul awal = v55 Simpul Tujuan = v149 u= simpul yang dikunjungi v55 adjacent = newEdge [] {(v58, 996), (v22, 798)} v58 adjacent = newEdge [] {(v55, 996), (v23, 794)} v23 adjacent = newEdge [] {(v58, 794), (v24, 631), (v22, 1033)} v22 adjacent = newEdge [] {(v55, 798), (v23, 1033), (v21, 546)} v24 adjacent = newEdge [] {(v149, 21), (v21, 1005)} v21 adjacent = newEdge [] {(v22, 546), (v24, 1005)} v149 adjacent = newEdge [] {(v24, 996)} Rute Terpendek : v55 ke v58 : v55 - v58 = 996m v55 ke v22 : v55 - v22 = 798m v55 ke v23 : v55 - v58 - v23 = 1790m v55 ke v21 : v55 - v22 - v21 = 1442m
Gambar 9 Rute Terpendek Hasil Algoritma Dijkstra. 5. KESIMPULAN Berdasarkan penelitian yang telah dilakukan mengenai Rancang Bangun Aplikasi Pencarian Rute Terpendek Lokasi Wisata Kuliner Kota Pontianak Berbasis Mobile, maka dapat diambil kesimpulan sebagai berikut: 1. Penelitian ini berhasil merancang aplikasi yang mampu mencari rute terpendek menuju wisata kuliner di Kota Pontianak dan memvisualisasikan dalam bentuk peta. 2. Penelitian ini berhasil menerapkan algoritma dijkstra dalam pencarian rute terpendek menuju wisata kuliner di Kota Pontianak yang dapat membantu pengguna untuk menuju tempat wisata kuliner. Implementasi dari algoritma dijkstra yang digunakan dalam aplikasi sejauh ini tidak ditemukan masalah dalam jumlah simpul jalan. 3. Aplikasi ini dapat menemukan simpul terdekat dari lokasi user dengan menggunakan formula trigonometri bola harversine.
6
6. SARAN Aplikasi yang dirancang tentunya tidak lepas dari kekurangan dan kelemahan. Oleh karena itu, untuk kebaikan pengembangan sistem lebih lanjut, maka perlu diperhatikan beberapa hal, diantaranya: 1. Aplikasi ini belum dapat dikatakan sempurna dikarenakan data jalan yang digunakan belum sepenuhnya, hanya jalan-jalan besar sehingga perlu penambahan data secara detail untuk mendapatkan hasil visualisasi yang optimum. 2. Penambahan data simpul dan jalan masih bersifat manual (statis). Perlu dilakukan pengembangan lebih lanjut untuk proses penambahan simpul agar dinamis. 3. Sistem ini dapat dikembangkan untuk berbagai jenis platform smartphone selain android. DAFTAR PUSTAKA [1] Andry, 2011, Android A sampai Z. PT Prima Infosarana Media, Jakarta. [2] Ardiansyah, 2011 Mengenal Location Based Service (LBS). Andi, Yogyakarta. [3] Departemen Pendidikan dan Kebudayaan, 2003, Kamus Besar Bahasa Indonesia, Edisi Ketiga, Balai Pustaka, Jakarta [4] Google Developer (2012). Google Maps API v2. [5] Kushwaha, Amit, 2011 Location Based Service Using Andorid Mobile Operating System. [6] Safaat H, Nazaruddin, 2012 Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Informatika, Bandung. [7] Susanto, Y. A. 2007, Aplikasi Sistem Informasi Geografis Berbasis Web (WEBGIS) Untuk pengembangan Sektor Industri di Kabupaten Pacitan.