7208030048_m
description
Transcript of 7208030048_m
-
1
APLIKASI LOCATION BASED SERVICE
UNTUK SISTEM PEMESANAN TAKSI ONLINE
PADA PLATFORM ANDROID Risdilah Mimma Untsa
1, Aries Pratiarso2, A. Subhan Khalilullah 2 1Politeknik Elektronika Negeri Surabaya, Jurusan Teknik Telekomunikasi
2Laboratorium Tugas Akhir, Politeknik Elektronika Negeri Surabaya
Kampus ITS, Surabaya 60111
e-mail : [email protected] e-mail : [email protected]
e-mail : [email protected]
Abstrak
Seiring dengan semakin berkembangnya
teknologi, dukungan akan aplikasi pada suatu
device menjadi sangat besar. Penggunaan sistem
operasi Android yang open source pada telepon
seluler menjadi pilihan tersendiri untuk
memenuhi kelengkapan sesuai kebutuhan.
Dengan dukungan sistem operasi Android,
memungkinkan pembuatan aplikasi otomatis
yang dapat menentukan taksi yang
direkomendasikan menjemput calon penumpang
sehingga menghubungkan antara sopir taksi dan
calon penumpang dimana keduanya dapat saling
memantau dengan akses Google Map.
Pada aplikasi ini ketika seorang calon
penumpang ingin memesan sebuah taksi yang
harus dilakukan adalah menekan menu
pemesanan pada aplikasi tersebut. Kemudian
aplikasi akan mendaftar semua taksi yang
sedang online dan belum terisi penumpang. Dari
daftar tersebut kemudian akan dihasilkan
beberapa taksi berdasarkan jarak yang terdekat
dengan posisi calon penumpang. Sebagai data
dasar yang akan diolah, digunakan sebuah peta
yang merupakan kolaborasi dengan server
google, yaitu Google Map. Dengan memanfaatkan
GMap API aplikasi mampu melakukan proses
modifikasi data seperti menambah dan
menghapus data-data taksi yang sedang online.
Bagian Djikstra adalah sebuah engine yang
dirancang untuk melakukan perhitungan jarak
terdekat taksi-taksi dengan calon penumpang.
Hasil pengolahannya kemudian akan ditentukan
taksi-taksi mana saja yang terdekat dengan calon
penumpang sehingga dapat menampilkan
informasi posisi taksi maupun calon penumpang
dalam bentuk peta geografis memanfaatkan
Google Map.
Kata kunci : LBS, Android, Google Map,
Dijkstra
I. PENDAHULUAN
Seiring dengan semakin berkembangnya
teknologi, dukungan akan aplikasi pada suatu
device menjadi sangat besar. Apalagi ditambah
dengan semakin berkembang luasnya teknologi
selular yang menawarkan fitur-fitur baru dalam
dunia telekomunikasi. Android menjadi platform
alternatif tersendiri sebagai pilihan dalam
mengembangkan fitur-fitur yang berbasis linux
kernel dengan segala kelebihannya untuk
memenuhi kelengkapan sesuai kebutuhan.
Penentuan lintasan terpendek dari satu titik
ke titik yang lain merupakan masalah yang sering
ditemui. Hal ini telah banyak diaplikasikan dalam
kehidupan sehari-hari, misalnya pengantar
makanan cepat saji yang harus tiba di tempat
tujuan dengan tepat dan dalam waktu singkat,
seorang desainer jaringan komputer yang harus
mendesain perutean pada jaringan untuk
memaksimalkan performa jaringan, ataupun
pencarian rute terdekat pada jalur angkutan umum.
Penentuan rute terpendek ini dapat dimodelkan
dengan nilai masing-masing sisi yang
merepresentasikan persoalan yang akan
dipecahkan. Penentuan rute terpendek yang akan
dibahas pada proyek akhir ini ditentukan
menggunakan algoritma Dijkstra yang
diaplikasikan pada angkutan umum taksi untuk
menjemput calon penumpang. Aplikasi tersebut
merupakan sebuah layanan berbasis lokasi dan
akses Google Map yang mendukung mobilitas
dan kelebihan Android.
Taksi adalah salah satu alternatif alat
transportasi darat yang banyak diminati
masyarakat karena jasa taksi yang dapat
digunakan dengan mudah. Masyarakat pun dapat
dengan langsung memanggil taksi di jalan,
menelepon operator taksi atau SMS. Pada
umumnya layanan taksi masih menggunakan
pemancar radio untuk memberikan informasi
adanya pemesan taksi kepada sopir taksi.
Penginformasian ini dilakukan secara manual
oleh operator layanan taksi dan belum ada
-
2
konfirmasi taksi mana yang akan melayani pemesan
taksi nantinya. Sopir taksi yang akan menjemput
pemesan taksi juga tidak dapat mengetahui lokasi
calon penumpang berada secara otomatis.
Pada penelitian kali ini akan dibuat software
aplikasi otomatis yang dapat menentukan jarak
terdekat taksi dengan pemesan taksi sehingga taksi
itulah yang direkomendasikan menjemput calon
penumpang. Aplikasi ini juga memudahkan calon
penumpang untuk memesan taksi dalam waktu
singkat dan memudahkan sopir taksi dalam mencari
lokasi calon penumpang.
II. TEORI PENUNJANG
Dasar teori yang diuraikan pada bab ini
meliputi penjelasan platform protokol T.38 dan SIP.
2.1 Location Based Service Layanan Berbasis lokasi adalah layanan
informasi yang dapat diakses melalui mobile device
dengan mengunakan mobile network yang
dilengkapi kemampuan untuk memanfaatkan lokasi
dari mobile device tersebut. Layanan berbasis lokasi
dapat digambarkan sebagai suatu layanan yang
berada pada pertemuan tiga teknologi yaitu :
Geographic Information System, Internet Service,
dan Mobile Devices.
Dalam Layanan Berbasis Lokasi terdapat
Lima komponen penting yaitu:
2.1.1 Mobile Devices Suatu alat yang digunakan oleh user untuk
meminta informasi yang dibutuhkan. Informasi
dapat diberikan dalam bentuk suara, gambar, dan
text. Mobile device dapat dibagi menjadi dua jenis
yaitu: single purpose dan multi purpose. Mobile
device dengan single purpose hanya digunakan
untuk satu tujuan saja, contoh: navigation box yang
terdapat pada mobil atau truk pengangkut barang.
Mobile device dengan multi purpose dapat
digunakan untuk mengakses berbagai macam
informasi yang diinginkan, contoh : Smart phone,
handphone, PDA, Laptop.
2.1.2 Jaringan Komunikasi Komponen kedua adalah jaringan
komunikasi yang mengirim data user dan informasi
yang diminta dari mobile terminal ke service
provider kemudian mengirimkan kembali informasi
yang diminta ke user. Jaringan komunikasi dapat
berupa jaringan seluler (GSM, CDMA), Wireless
Local Area Network (WLAN), atau Wireless Wide
Area Network (WWAN).
2.1.3 Positioning Component Untuk memproses suatu layanan maka posisi
user harus diketahui. Untuk mengetahui posisi user
dapat dilakukan dengan dua cara yaitu berdasarkan
jaringan seluler atau berdasarkan pada mobile
devices yang digunakan oleh user. Positioning
Component dibagi menjadi dua, yaitu: terminal
base dan network base. Pada terminal base posisi
diketahui dari mobile device yang digunakan oleh
user. Sedangkan network base memanfaatkan
jaringan komunikasi yang digunakan oleh user.
2.1.4 Global Positioning System (GPS) Perangkat GPS menerima sinyal yang
ditransmisikan oleh satelit GPS. Dalam
menentukan posisi, dibutuhkan paling sedikit 3
satelit untuk penentuan posisi 2 dimensi (lintang
dan bujur) dan 4 satelit untuk penentuan posisi 3
dimensi (lintang, bujur, dan ketinggian). Semakin
banyak satelit yang diperoleh maka akurasi posisi
akan semakin tinggi. Untuk mendapatkan sinyal
tersebut, perangkat GPS harus berada di ruang
terbuka. Apabila perangkat GPS berada dalam
ruangan atau kanopi yang lebat dan daerah kita
dikelilingi oleh gedung tinggi maka sinyal yang
diperoleh akan semakin berkurang sehingga akan
sukar untuk menentukan posisi dengan tepat atau
bahkan tidak dapat menentukan posisi.
Perangkat GPS menerima sinyal dari
satelit dan kemudian melakukan perhitungan
sehingga pada tampilan umumnya dapat
mengetahui posisi (dalam lintang dan bujur),
kecepatan, dan waktu. Disamping itu juga
informasi tambahan seperti jarak, dan waktu
tempuh.
GPS dipergunakan pada berbagai bidang antara
lain, sistem navigasi pesawat, laut dan darat,
pemetaan dan geodesi, survei, sistem penentuan
lokasi, pertanian, eksplorasi sumber daya alam,
dan masih banyak lagi.
2.1.5 Data dan Content Provider Content Provider tidak selalu menyimpan
semua data yang dibutuhkan yang bisa diakses
oleh user. Untuk itu, data dapat diminta dari data
and content provider. Pertama user dengan
menggunakan meminta informasi yang
diinginkan., untuk itu diperlukan informasi
mengenai lokasi user. Lokasi user dapat diketahui
dengan dua cara, dengan mengunakan alat
navigasi yang sudah terpasang langsung pada
mobile device yang digunakan (contohnya ponsel
dengan GPS), atau melalui jaringan komunikasi
yang telah ada.
2.2 Android Android adalah sistem operasi untuk
smartphone yang dibuat oleh google corporation.
Sistem operasi ini dikembangkan dengan
memanfaatkan linux kernel. Versi stable terbaru
dari Android adalah Froyo 2.2 yang dirilis pada
bulan mei 2010 dengan kernel linux versi 2.6.32.
pada versi ini fitur Android sudah dilengkapi
dengan koneksi wifi dan browser chrome versi 8.
-
3
Dari arsitektur sistem, Android merupakan
sekumpulan framework dan virtual machine yang
berjalan di atas kernel linux. Gambar lapisan
arsitekturnya dapat dilihat pada gambar 2.4. Virtual
machine Android bernama Dalvik Virtual Machine
(DVM), engine ini berfungsi untuk
menginterpretasikan dan menghubungkan seluruh
kode mesin yang digunakan oleh setiap aplikasi
dengan kernel Linux. Sementara untuk framework
aplikasi sebagian besar dikembangkan oleh google
dan sebagian yang lain dikembangkan oleh pihak
ketiga. Beberapa framework yang dikembangkan
oleh Android sendiri misalnya fungsi untuk
telephoni seperti panggilan telepon, sms, video call.
Untuk browser Android menggunakan google
chrome yang sebelumnya sudah dikembangkan oleh
google jauh sebelum Android
rilis.
LINUX KERNEL
ANDROID APPLICATION FRAMEWORK &
LIBRARY
Dalvik
Virtual Machine
ANDROID DESKTOP FRAMEWORK
APLIKASI ANDROID
Modem LCD Keypad/Touch Audio Bluetooth Wi-Fi
Gambar 2.1. Lapisan arsitektur sistem operasi
Android secara umum
Aplikasi yang dikembangkan diatas android
dibuat dengan menggunakan kode java seperti
halnya J2ME yang telah lama digunakan pada
platform telepon genggam lainnya. Namun secara
siklus program memiliki perbedaan mendasar antara
J2ME dengan java yang ada pada Android. Kode
java pada Android lebih dekat dengan J2SE.
Hingga saat ini android telah banyak
digunakan pada produk smartphone seperti
Samsung, LG, dan HTC. Dengan dukungan
Software Development Kit (SDK) dan Application
Programming Interface (API) dari google
memberikan kemudahan bagi pihak ketiga untuk
membangun aplikasi yang berjalan pada sistem
operasi tersebut.
2.2.1. Komponen Aplikasi Android
Android memiliki empat komponen
meliputi activity, services, broadcast receiver, dan
content provider. Komponen aplikasi dapat disebut
juga sebagai elemen-elemen aplikasi yang bisa
dikembangkan pada platform Android. Perlu
diketahui bahwa untuk membangun sebuah aplikasi
pada Android bahasa pemrograman yang digunakan
adalah Java, seperti halnya J2ME(Java 2 Micro
Edition) yang digunakan untuk membangun aplikasi
pada perangkat mobile, Java yang dikembangkan
pada sistem android memiliki struktur yang
tersendiri. Program aplikasi yang dikembangkan
pada android tidak memiliki fungsi main.
Karateristik lain adalah bahwa semua aplikasi di
Android dapat menggunakan object yang
dibangun oleh aplikasi yang lain. Contoh jika
ingin menggunakan sebuah object scrollbar, tidak
harus membuatnya sendiri, namun bisa saja
memanggil object yang berada di aplikasi lainnya.
2.2.2. Siklus Hidup Komponen Android
Siklus hidup dari android merupakan
logika dasar aliran dari sebuah aplikasi yang
dibangun. Untuk komponen aplikasi activity
diagram aliran program tampak pada gambar
berikut.
Gambar 2.2. Diagram alir siklus Android
2.3 SQLite Database Pada Android terdapat fasilitas untuk
membuat database yang dikenal dengan SQLite,
SQLite adalah salah satu software basis data yang
tertanam yang sangat populer, kombinasi SQL
interface dan penggunaan memory yang sangat
sedikit dengan kecepatan yang sangat cepat.
SQLite di android termasuk dalam Android
runtime, sehingga setiap versi dari android dapat
membuat database dengan SQLite.
SQLite telah terinclude pada platform
Android. SQLite sendiri terkenal sebagai database
yang open-source, stand alone SQL database,
berukuran kecil, tidak membutuhkan administrasi,
tanpa server, tanpa file konfigurasi dan juga telah
digunakan pada banyak aplikasi terkenal. Pada
Android, database yang dibuat untuk suatu
aplikasi hanya bias diakses oleh aplikasi itu
sendiri, aplikasi lain tidak akan bisa
mengaksesnya kecuali jika ingin berbagi
databasenya yaitu dengan menggunakan content
provider. Database SQLite merupakan sebuah file
yang dapat diambil, dipindahkan atau meng-copy-
nya ke system lain.
2.4 Algoritma Dijkstra Algoritma Dijkstra diperkenalkan oleh
ilmuwan komputer Belanda Edsger Dijkstra pada
tahun 1959 dan telah secara luas digunakan dalam
menentukan rute tersingkat atau jalur terpendek
berdasarkan kriteria tertentu yang digunakan
sebagai batasan. Khususnya dalam bidang
transportasi, batasan yang digunakan tersebut
-
4
adalah dengan menggunakan fungsi biaya arus.
Algoritma ini melakukan komputasi pencarian rute
terpendek antara simpul sumber dan simpul tujuan
berdasarkan bobot pada sisi yang menghubungkan
simpul-simpul dalam graph. Bobot pada sisi bisa
berarti jarak.waktu ataupun bobot lainnya. Jalur
terpendek dalam graph adalah jumlah total
minimum bobot dari sisi-sisi yang menghubungkan
simpul sumber dengan simpul tujuan . Algoritma
Djikstra bekerja dengan cara mengunjungi simpul-
simpul pada graph dimulai dengan simpul sumber.
Algoritma Djikstra kemudian secara berulang
memilih simpul-simpul terdekat dan menghitung
total bobot semua sisi yang dilewati untuk mencapai
simpul tersebut.
Pada saat MAT (Matriks Asal Tujuan)
dibebankan kepada suatu jaringan, bisa saja terjadi
kondisi dimana rute yang semula merupakan rute
tersingkat akan digantikan oleh rute yang lain akibat
terjadinya peningkatan volume pada ruas-ruas
tertentu yang semula merupakan bagian dari rute
tersingkat tersebut.
Diagram alirnya dapat dilihat pada gambar
di bawah ini.
Gambar 2.3. Diagram Alir Dijkstra
III. PERANCANGAN SISTEM
Untuk menyelesaikan pembuatan sistem
aplikasi pemesanan taksi, maka dilakukan
perancangan sistem yang akan dibuat. Agar sistem
dapat bekerja sesuai dengan yang diharapkan,
dibutuhkan perencanaan yang akan dibahas sebagai
berikut.
Gambar 3.1 Sistem yang dibangun
Sebagai data dasar yang akan diolah,
digunakan sebuah peta yang merupakan
kolaborasi dengan server google, yaitu Google
Map. Dengan memanfaatkan GMap API aplikasi
mampu melakukan proses modifikasi data seperti
menambah dan menghapus data-data taksi yang
sedang online. Bagian Djikstra adalah sebuah
engine yang dirancang untuk melakukan
perhitungan jarak terdekat taksi-taksi dengan
calon penumpang. Hasil pengolahannya
kemudian akan ditentukan taksi-taksi mana saja
yang terdekat dengan calon penumpang.
Setelah didapatkan beberapa taksi,
kemudian bagian notifikasi akan mengirimkan
pesan kepada seluruh taksi yang berada pada
jarak terdekat. Bagian UI(User Interface)
berfungsi untuk menjembatani pengguna dengan
aplikasi yang dikembangkan ini, diantaranya
adalah menampilkan informasi posisi taksi
maupun calon penumpang dalam bentuk peta
geografis memanfaatkan Google Map. Mulai
Pesan Taksi
Centroid=posisi penumpang
Mengambil Data Taksi
kosong
Hitung jarak masing-
masing taksi dng
Dijkstra
Hitung jarak centroid
untuk semua taksi
Kirim Notifikasi
Pemesanan pada
Taksi I
Menunggu
konfirmasi
Konfirmasi=1
Tampilkan
Taksi pengirim
konfirmasi
Selesai
Y
T
Mulai
Menunggu Notifikasi
Notifikasi = 1
Kirim konfirmasi
Hitung rute terpendek
Ke calon penumpang
Tampilkan posisi
Calon penumpang
Selesai
Status = Menjemput
Ambil Penumpang
Status = Full
T
Y
Gambar 3.2. Diagram alir aplikasi (a).pada sisi
penumpang (b).sopir taksi
Dijkstra Notifikasi
UI
User
Gmap
Data
Gmap API
-
5
Pada diagram alir sisi penumpang, calon
penumpang sebagai centroid mengirimkan notifikasi
bahwa sedang membutuhkan taksi untuk
menjemputnya. Sistem mencari taksi yang tidak
berpenumpang sehingga taksi yang berpenumpang
otomatis tidak mendapatkan notifikasi tersebut.
Penghitungan jarak masing-masing taksi terdekat
menggunakan engine Dijkstra. Setelah diketahui
jarak masing-masing taksi maka akan diambil yang
paling dekat dan taksi itulah yang mendapat
notifikasi dari centroid.
Untuk diagram alir pada sisi sopir, saat
taksi yang tidak berpenumpang mendapat kiriman
notifikasi. Setelah mengkonfirmasi notifikasi
tersebut maka akan diketahui jarak terpendek
menuju centroid dan ditampilkan posisi centroid.
IV. HASIL KEMAJUAN PROYEK AKHIR
Dari rancangan sistem yang dibuat,
dilakukan konfigurasi penomoran seperti pada
gambar dibawah ini.
Gambar 4.1 Sitem pada aplikasi
Dari sistem diatas, dilakukan dua macam
pengujian pada aplikasi yang sudah diinstal pada
ponsel. Pengujian keberhasilan pencarian lokasi user
dari ponsel berdasar GPS dan pengujian perhitungan
jarak user dengan taksi terdekat menggunakan
perhitungan manual dibandingkan dengan
perhitungan dijkstra.
Pengujian pertama yaitu dengan menjalankan
aplikasi pemesanan taksi pada sisi user. Ketika
aplikasi dijalankan, secara otomatis GPS pada
ponsel akan langsung mendeteksi posisi user untuk
ditampilkan pada peta. Pengujian ini dilakukan
sebanyak 10 kali pada 10 titik lokasi yang berbeda.
Dari 10 pengujian tersebut, didapatkan waktu rata-
rata sebesar 1 menit 46 detik. Pada pengujian kedua
yaitu pengujian perhitungan jarak user dengan taksi
terdekat menggunakan perhitungan manual
dibandingkan dengan perhitungan dijkstra yang juga
dilakukan sebanyak 10 kali pada 10 titik lokasi yang
berbeda. Untuk pengujian secara manual dilakukan
dengan perbandingan skala pada peta. Dari
pengujian tersebut didapatkan jarak dari perhitungan
secara manual dan perhitungan program tidak
jauh berbeda. Secara grafik sebagai berikut.
Gambar 4.2 Grafik Perbandingan
Perhitungan Dijkstra Manual Vs Program
V. KESIMPULAN
Dari hasil pengamatan selama tahap
perancangan, implementasi dan uji coba sistem
yang dibuat dapat diambil kesimpulan sebagai
berikut :
1. Aplikasi harus selalu berjalan dengan koneksi internet karena untuk mendapatkan hasil yang
real-time mengetahui posisi user.
2. Untuk mendeteksi lokasi user sangat dipengaruhi oleh penerimaan sinyal pada GPS
sehingga menyebabkan kondisi ruangan
terbuka dapat menangkap sinyal secara cepat
dan tepat.
3. Algoritma Dijkstra yang diimplementasikan berhasil mencari jarak terpendek antara user
dan taksi dengan perbandingan hasil
perhitungan yang tidak jauh berbeda dengan
perhitungan secara manual.
Dijkstra Notifikasi
UI
User
Gmap
Data
Gmap API