Penerapan Algoritme Dijkstra Pada Rute Angkot Bogor Berbasis Android

PENERAPAN ALGORITME DIJKSTRA PADA RUTE
ANGKOT BOGOR BERBASIS ANDROID

MUHAMMAD IRAWAN

ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Penerapan Algoritme
Dijkstra pada Rute Angkot Bogor Berbasis Android adalah benar karya saya
dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun
kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip
dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah
disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir
disertasi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.
Bogor, Juli 2013
Muhammad Irawan
NIM G64061092

ABSTRAK
MUHAMMAD IRAWAN. Penerapan Algoritme Dijkstra pada Rute Angkot
Bogor Berbasis Android. Dibimbing oleh ENDANG PURNAMA GIRI.
Bogor mempunyai beberapa permasalahan angkot, yaitu jumlah yang
banyak dan jalur yang membingungkan. Sistem informasi mengenai angkot
dengan menggunakan algoritme Dijkstra di dalamnya dibutuhkan untuk
membantu pengguna menentukan angkot yang tepat sehingga didapatkan rute
terpendek untuk mencapai lokasi tujuan. Sistem ini dibangun dengan bahasa
pemrograman Java dan XML. Sistem ini telah diuji dengan metode blackcox dan
berhasil memberikan pengguna tentang informasi jalur terpendek dan informasi
angkot sesuai dengan kebutuhan utama sistem.
Kata kunci: Android, Angkot, Dijkstra

ABSTRACT
MUHAMMAD IRAWAN. Dijkstra Algorithm Implementation on Angkot of

Bogor Based on Android. Supervised by ENDANG PURNAMA GIRI.
There are some problems dealing with angkot in Bogor. The problems are
related to the complexity of route system and amount of angkot unit. In this
research, information system was developed for guiding user in order to choose
the most efficient route to reach the purpose location. The Dijkstra algorithme was
employed to support the system in order to find the route that provide the shortest
distance from the origin to the purpose location. The system was developed by
using Java and XML programming language and evaluated by applying black box
testing method. The evaluation results show that the system can succesfully meet
all requirements, particularly providing the most efficient route of a certain
location.
Keywords: Android, Angkot, Dijkstra

PENERAPAN ALGORITME DIJKSTRA PADA RUTE
ANGKOT BOGOR BERBASIS ANDROID

MUHAMMAD IRAWAN

Skripsi
sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer
pada
Departemen Ilmu Komputer

ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

Penguji:
1 Dr Eng Heru Sukoco, SSi, MT
2 Hendra Rahmawan, SKom, MT

Judul Skripsi : Penerapan Algoritme Dijkstra Pada Rute Angkot Bogor Berbasis
Android
Nama
: Muhammad Irawan
NIM
: G64061092


Disetujui oleh

Endang Purnama Giri, S.Kom, M.Kom
Pembimbing I

Diketahui oleh

Dr Ir Agus Buono, M.Si, M.kom
Ketua Departemen

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Pada
kesempatan ini penulis ingin menyampaikan ucapan terima kasih kepada Orang
tua dan adik satu-satunya atas dukungan yang telah diberikan. Penulis juga ingin
menyampaikan terima kasih kepada pembimbing, yaitu Bapak Endang yang telah
bersabar membantu dalam penulisan skripsi ini hingga selesai. Ucapan terima

kasih juga penulis sampaikan untuk para penguji, yaitu Bapak Heru dan Bapak
Hendra atas kritik dan saran untuk pengerjaan karya ilmiah ini.
Penulis ingin menyampaikan terima kasih secara khusus kepada Windu,
Dede, Rendi, Faizal, Antoni, Erri, dan Hamidah atas berbagai bantuan dalam
pengerjaan skripsi ini. Secara umum penulis juga ingin berterima kasih kepada
teman-teman yang rasanya tidak mungkin penulis sebutkan seluruhnya. Penulis
juga tidak lupa ingin mengucapkan rasa terima kasih kepada para dosen dan para
pegawai Departemen Ilmu Komputer, khususnya kepada Mbak Rahma, Okta, dan
Mas Irfan yang telah banyak membantu dalam urusan administrasi.
Penulis berharap dari karya ilmiah ini dapat memberi manfaat kepada pihak
lain dan dapat dikembangkan lebih baik dari ini. Terakhir, penulis pun selalu
berharap Allah ta’ala membalas dengan kebaikan bagi kita semua.

Bogor, Juli 2013
Muhammad Irawan

DAFTAR ISI
DAFTAR TABEL

vi


DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN

vi

PENDAHULUAN

1

Latar Belakang

1

Tujuan Penelitian

2


Manfaat Penelitian

3

Ruang Lingkup Penelitian

3

METODE

3

Requirement Definition

4

System and Software Design

4


Implementation and Unit Testing

4

Integration and System Testing

4

Operation and Maintenance

4

HASIL DAN PEMBAHASAN

5

Requirement Definition

5


System and Software Design

6

Implementation and Unit Testing

12

Integration and System Testing

19

SIMPULAN DAN SARAN

19

Simpulan

19


Saran

19

DAFTAR PUSTAKA

19

LAMPIRAN

21

RIWAYAT HIDUP

29

DAFTAR TABEL
1 Perbandingan Jumlah Angkot di Beberapa Kota
2 Daftar tabel dan penjelasan tabel pada database aplikasi angkot mobile


1
9

DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Pertumbuhan Android Dibandingkan dengan Sistem Operasi lain
Waterfall model (Sommerville 2007)
Use Case aplikasi angkot mobile
Ilustrasi Algoritme Dijkstra (Cormen et al 2002)
Activity mencari jalur terpendek
Activity info perjalanan
Activity pencarian angkot
Activity mengubah tampilan peta
Rancangan antarmuka pembuka aplikasi angkot mobile
Rancangan antarmuka pencarian jalur aplikasi angkot mobile
Gambar rancangan antarmuka hasil pencarian aplikasi angkot mobile
Rancangan antarmuka pencarian angkot menurut lokasi
Rancangan antarmuka informasi angkot
Implementasi antarmuka halaman pembuka
Implementasi antarmuka pencarian jalur
Implementasi antarmuka hasil pencarian jalur dalam peta
Implementasi antarmuka daftar angkot untuk bisa sampai tujuan
Implementasi antarmuka informasi angkot
Implementasi antarmuka menu pilihan peta
Implementasi antarmuka perubahan jenis peta
Implementasi antarmuka pencarian angkot berdasarkan lokasi
Implementasi antarmuka daftar angkot yang lewat suatu lokasi

2
3
6
7
7
8
8
9
10
11
11
12
12
13
14
14
15
16
16
17
17
18

DAFTAR LAMPIRAN
1 Tabel skenario uji dan hasil pengujian sistem angkot mobile
2 ERD database aplikasi angkot mobile
3 Kode XML untuk menampilkan antarmuka pada Gambar 15
4 Kode XML untuk menampilkan antarmuka pada Gambar 16
5 Kode XML untuk menampilkan antarmuka pada Gambar 18
6 Kode XML untuk menampilkan antarmuka pada Gambar 21
7 Narasi penjelasan algoritme Dijkstra.

21
22
23
23
23
23
23

PENDAHULUAN
Latar Belakang
Bogor dikenal sebagai kota hujan dan kota sejuta angkot. Angkot (Angkutan
Kota) merupakan moda transportasi darat di daerah perkotaan yang dipergunakan
untuk umum (KBBI 2008). Jumlah angkot yang terdapat di kota Bogor memang
sangat banyak jika dibandingkan dengan kota-kota lain di sekitarnya, disebutkan
di dalam situs resmi kota Bogor terdapat 3412 unit angkutan kota, sedangkan luas
wilayah kota Bogor sendiri sekitar 119 km2. Sebagai perbandingan, menurut data
yang terdapat di situs pemerintah kota Bekasi, Bogor, Depok, dan Tangerang
Selatan (Tangsel) didapatkan data luas kota Depok dengan wilayah yang lebih
besar (201 km2) dari kota Bogor ‘hanya’ memiliki angkot sebanyak 2800-an unit.
Memang kota Bekasi memiliki jumlah angkot yang lebih banyak daripada kota
Bogor, yaitu 4487 unit tapi kota Bekasi memiliki luas wilayah yang lebih besar
dari kota Bogor (211 km2). Jika dibandingkan secara singkat dengan menghitung
jumlah angkot per 1 km2, didapatkan hasil seperti di dalam Tabel 1 di bawah ini:
Tabel 1 Perbandingan Jumlah Angkot di Beberapa Kota
Keterangan
Luas
Unit
Unit/Luas

Tangsel
148 km2
2297
16

Depok
201 km2
2884
14

Bekasi
211 km2
4487
21

Bogor
119 km2
3412
29

Tabel di atas (Tabel 1) memberikan gambaran bahwa kota Bogor memiliki
perbandingan antara luas wilayah dengan jumlah angkot yang terbesar dengan 29
unit per 1 km2. Belum lagi apabila ditambahkan dengan sebagian angkot dari
daerah kabupaten yang juga melewati wilayah kota Bogor. Oleh karena itu, dapat
disimpulkan bahwa Bogor memang sangat padat dengan angkot. Setiap jalan di
kota Bogor hampir pasti dilalui oleh angkot, bahkan beberapa jalan kecil dan
kompleks perumahan pun dilalui angkot. Jumlah angkot yang banyak ini tentu
berpengaruh pada trayek atau jalur yang dilayani. Jumlah trayek yang banyak
tentu akan membuat para pengguna jasa angkutan umum ini menjadi bingung,
terutama para pendatang. Bahkan, sebagian mahasiswa yang sudah beberapa lama
tinggal di Bogor saja terkadang masih bingung dalam menentukan angkot yang
akan ditumpangi. Ditambah lagi dengan nama daerah yang tidak dikenal sehingga
menambah kerumitan dalam memilih angkot yang akan dinaiki.
Selain masalah jumlah angkot yang sangat banyak, ada persoalan rumit lain
yang menghinggapi dunia angkutan perkotaan di kota Bogor dan sebagian daerah
yang bertetanggaan. Perbedaan jalur yang ditempuh suatu angkot untuk mencapai
suatu tujuan. Hal ini dimungkinkan terjadi karena terdapat beberapa jalur (jalan)
yang bersifat satu arah sehingga membuat angkot akan melalui jalan yang berbeda
setiap kali ‘pergi’ dan ‘pulang’. Di samping itu, pencirian trayek angkot yang
berbeda di kota bogor hanya menggunakan pembedaan warna pada bagian bawah
dari mobil angkot yang bersangkutan dan sebagian orang yang kurang
memperhatikan hal ini akan menemukan kesulitan untuk membedakan angkot
dengan trayek berbeda. Tidak sedikit orang yang menganggap angkot di kota

2
Bogor berwarna hijau semua. Hal-hal seperti inilah yang semakin memberikan
kesan bahwa angkutan perkotaan di Bogor sangat membingungkan.
Beberapa kenyataan merepotkan di atas menjadi latar belakang untuk
mengembangkan suatu aplikasi yang dapat membantu warga Bogor dan para
pendatang dalam menggunakan angkot yang ada di Bogor. Aplikasi yang dibuat
akan berjalan di perangkat mobile dengan sistem operasi Android. Aplikasi ini
menggunakan bahasa pemrograman Java dan memanfaatkan API dari
GoogleMaps. Database yang digunakan dalam sistem ini adalah SQLite. Dalam
operasinya sistem ini membutuhkan jaringan internet agar dapat mengakses peta
dari GoogleMaps.
Aplikasi ini berbasis Android karena Android merupakan salah satu sistem
operasi perangkat mobile yang populer digunakan saat ini. Untuk mendukung
pernyataan ini diberikan grafik pada Gambar 1 yang menampilkan jumlah
pengguna Android bila dibandingkan dengan sistem operasi mobile lainnya
hingga April 2013. Android sendiri dapat diartikan sebagai sistem operasi untuk
perangkat bergerak berbasis linux yang mencakup sistem operasi, middleware,
dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi mereka (Safaat 2012). Selain karena kepopulerannya yang
telah disebutkan di atas, Android juga dipilih karena bersifat open source
sehingga lebih mudah untuk dikembangkan oleh siapa saja.

Gambar 1 Pertumbuhan Android dibandingkan dengan sistem operasi lain
(gs.statcounter.com, Mei 2013)
Tujuan Penelitian
Penelitian ini memiliki tujuan, yaitu membuat sebuah aplikasi mobile
berbasis Android yang dapat membantu pengguna untuk menentukan rute
terpendek dan angkot yang dapat digunakan untuk menempuh rute tersebut ketika
ingin berpindah lokasi dari satu tempat ke tempat lain di kota Bogor.

3
Manfaat Penelitian
Penelitian ini diharapkan dapat mempermudah pengguna untuk bisa
menentukan angkot yang tepat dengan pilihan jalur yang paling dekat berdasarkan
jarak antar lokasi. Selain itu, sistem ini diharapkan dapat menjadi panduan bagi
pengguna angkutan umum di Bogor untuk menemukan informasi dari suatu
angkot di wilayah Bogor. Bahkan untuk pengguna kendaraan pribadi, sistem ini
pun dapat memberi informasi jalur mana yang terpendek untuk mencapai suatu
lokasi.
Ruang Lingkup Penelitian
Ruang lingkup dan batasan dari penelitian ini adalah sebagai berikut:
1 Implementasi dilakukan menggunakan bahasa pemrograman Java dan XML.
2 DBMS yang digunakan adalah SQLite Database Browser Portable.
3 Penelitian ini hanya dapat digunakan pada perangkat dengan sistem operasi
Android.
4 Data yang digunakan dalam penelitian ini terbatas hanya pada beberapa titik
atau daerah tertentu saja dan beberapa data yang dipakai bukan data aktual.
5 Algoritme yang digunakan adalah Dijkstra untuk mencari rute terpendek
berdasarkan bobot jarak dalam satuan meter.
6 Pemilihan rute tidak mempertimbangkan kemungkinan macet, nilai tarif,
ataupun kenyamanan.
7 Informasi yang ditampilkan meliputi rute jalan, informasi angkot yang
digunakan, serta tarif dari masing-masing angkot yang ada di Kota Bogor.

METODE
Penelitian ini dibagi ke dalam lima tahap, yaitu requirement definition,
system and software design, implementation and unit testing, integration and
system testing, operation and maintenance. Tahap yang dilakukan ini mengacu
pada model waterfall yang diberikan pada Gambar 2.
Requirement
definition

System and software
design

Implementation and
unit testing

Integration and system
testing

Operation and
maintenance

Gambar 2 Waterfall model (Sommerville 2007)

4
Requirement Definition
Pada tahap ini diperkirakan kebutuhan yang harus ada pada sebuah aplikasi
transportasi. Melalui studi pustaka dan melihat aplikasi lain untuk perjalanan
kereta api dan layanan bus Transjakarta. Melalui pendekatan terhadap aplikasi
yang telah ada dan melihat tujuan pada bab pendahuluan, dapat mengetahui
kebutuhan minimal yang harus disiapkan untuk membuat sebuah aplikasi angkot
yang berjalan di dalam perangkat mobile (bergerak). Tahap ini penting untuk
dilakukan agar dapat diketahui kebutuhan sistem dan data dalam pembuatan
aplikasi ini.
System and Software Design
Tahap ini dilakukan setelah requirement definition (analisis kebutuhan)
selesai dilakukan. Perancangan dimodelkan dengan Unified Modelling Language
(UML). UML dipilih karena merupakan notasi standar untuk sistem berorientasi
objek. Perancangan dilakukan agar dimiliki gambaran umum mengenai aplikasi
meliputi tampilan dan cara kerja sistem. Tahap ini dilakukan agar tahap
pengembangan menjadi lebih mudah dan terarah. Tahap ini dibagi menjadi tiga
bagian, yaitu perancangan sistem, perancangan database, dan perancangan
antarmuka.
Implementation and Unit Testing
Tahap implementasi dilakukan mengacu kepada tahap sebelumnya, yaitu
system and software design (perancangan). Tahap ini dilakukan dengan
menuangkan perancangan ke dalam kumpulan kode program atau beberapa unit
program ke dalam bahasa pemrograman java. Dari beberapa bagian kode yang
dibuat untuk merepresentasikan tata letak dari tampilan aplikasi digunakan
dokumen berformat XML.
Integration and System Testing
Tahapan ini dilakukan apabila tiga tahap sebelumnya telah selesai
dilaksanakan. Tahap ini dilakukan untuk melakukan penggabungan dari seluruh
modul hasil implementasi, selanjutnya hasil penggabungan tersebut akan
dievaluasi secara keseluruhan sehingga apabila terdapat kekurangan di dalam
sistem dapat diketahui dan diperbaiki sebelum dipakai oleh pengguna.
Operation and Maintenance
Tahap terakhir dalam perancangan dengan menggunakan model waterfall
ini adalah operation and maintenance (pemakaian dan perawatan). Pada tahap ini
selain pemakaian aplikasi juga dilakukan perbaikan kesalahan yang mungkin
belum ditemukan pada tahap sebelumnya. Jika ada, akan ditambahkan kebutuhan
baru ke dalam aplikasi ini.

5

HASIL DAN PEMBAHASAN
Telah disebutkan sebelumnya bahwa dalam pembuatan aplikasi ini
digunakan metodologi Waterfall. Pada bab ini akan dipaparkan secara lebih rinci
dari setiap tahapan yang dilakukan ketika aplikasi ini dibuat.
Requirement Definition
Sistem ini ditujukan untuk membantu pengguna agar dapat memilih angkot
untuk mencapai suatu tujuan dengan jarak tempuh yang paling pendek dari
beberapa jalur yang tersedia. Ada beberapa hal yang meliputi perjalanan dari
sebuah angkot, yaitu:
1 Lokasi, meliputi tempat asal, tempat yang dilewati, dan tempat tujuan yang
akan dicapai.
2 Jarak, jarak antara beberapa tempat yang dilalui sebelum sampai tujuan
maupun jarak total dari rute yang dilalui.
3 Nomor angkot, digunakan untuk membedakan trayek yang dilalui setiap
angkot.
4 Tarif, nilai uang yang harus dibayarkan ketika menggunakan angkot. Pada
aplikasi ini digunakan nilai tarif termahal dari setiap trayek angkot.
Empat hal ini merupakan data penting yang seharusnya ada untuk sebuah
aplikasi angkot yang akan dibuat. Selain itu, untuk memudahkan pengguna
membaca informasi pada aplikasi ini juga dibutuhkan peta agar dapat
menampilkan jalur yang dilalui oleh suatu angkot. Jadi pengguna dapat melihat
jalur untuk mencapai lokasi tujuan dari lokasi asal. Hasil dari analisis kebutuhan
tersebut dituangkan ke dalam bentuk Use case diagram (Gambar 3) dengan 5
(lima) use case yaitu:
1 Mencari angkot merupakan use case untuk mendapatkan angkot melalui
pencarian pada suatu lokasi.
2 Mengubah tampilan peta memberikan keleluasaan bagi pengguna untuk
mengganti jenis peta tertampil (empat jenis peta).
3 Mencari jalur terpendek adalah use case untuk mendapatkan rute terpendek
berdasarkan lokasi yang telah dipilih sebelumnya, yaitu lokasi asal dan lokasi
tujuan.
4 Melihat info perjalanan memberikan daftar angkot yang harus dinaiki oleh
pengguna agar bisa mencapai lokasi tujuan.
5 Melihat gambar angkot merupakan use case yang memberikan informasi
mengenai suatu angkot berupa gambar, tarif, dan trayek dari sebuah angkot.
Use case ini ditemukan setelah pengguna melalui use case mencari angkot dan
melihat info perjalanan.

6
Mencari angkot
Mengubah
tampilan peta
Mencari jalur
terpendek

Melihat info
perjalanan
Pengguna

Melihat gambar
angkot

Gambar 3 Use Case aplikasi angkot mobile
System and Software Design
Tahap perancangan terbagi ke dalam tiga bagian, yaitu perancangan sistem,
perancangan database, dan perancangan antarmuka.
1 Perancangan Sistem
Salah satu inti aplikasi ini adalah mencari jalur terpendek dengan
menggunakan algoritme Dijkstra. Dijkstra dipilih karena memang dikembangkan
sebagai sebuah algoritme yang efisien untuk menemukan jalur terpendek
berdasarkan suatu bobot bernilai positif, dari sebuah verteks awal (Uo) ke semua
verteks yang lain di dalam sebuah graf G yang terboboti (Chartrand dan
Oellermann 1993). Penjelasan detail mengenai algoritme Dijkstra dapat dilihat
pada Lampiran 7.
Asumsi w(u, v) ≥ 0 untuk setiap edge (jalan) (u, v) ∈ E. Q merupakan urutan
nilai minimum dari beberapa verteks, ditunjukkan oleh nilai d. S adalah himpunan
yang berisi verteks yang telah dicek oleh Dijkstra. Q adalah himpunan verteks
dalam suatu graf G. π adalah verteks yang harus dilalui sebelum sampai ke verteks
tujuan. Di bawah ini terdapat algoritme Dijkstra (Cormen et al. 2002).
DIJKSTRA(G,w, s)
1 INITIALIZE-SINGLE-SOURCE(G, s)
2S←∅
3 Q ← V[G]
4 while Q ≠ ∅
5
do u ← EXTRACT-MIN(Q)
6
S ← S ∪ {u}
7
for each vertex v ∈ Adj[u]
8
do RELAX(u, v,w)
RELAX (u, v,w)
1 if d[v] > d[u] + w(u, v)
2
then d[v] ← d[u] + w(u, v)
3
π[v]← u

7
Di bawah ini, di Gambar 4 terdapat ilustrasi dari implementasi algoritme
Dijkstra (Cormen et al 2002):

Gambar 4 Ilustrasi Algoritme Dijkstra (Cormen et al 2002)
Aplikasi ini memiliki lima activity utama. Activity ini dibuat berdasarkan
use case yang ada. Berikut adalah sebagian gambar dari activity yang dituangkan
ke dalam activity diagram:

Pilih Lokasi

Cari Jalur

Lihat Jalur

Gambar 5 Activity mencari jalur terpendek
Activity diagram pada Gambar 5 menggambarkan tiga tahap dalam mencari
jalur terpendek. Pertama, pengguna memilih lokasi asal dan lokasi tujuan. Kedua,
pengguna menekan tombol cari jalur setelah menentukan dua lokasi (asal dan
tujuan). Ketiga, muncul peta beserta jalur yang terpendek yang disarankan oleh
aplikasi.

8

Pilih lokasi

Lihat jalur

Lihat info
perjalanan

Gambar 6 Activity info perjalanan
Activity pada Gambar 6 dapat ditemui pengguna setelah melewati activity
pada Gambar 5. Ketika peta telah muncul, pengguna menekan tombol pilihan
pada perangkatnya dan memilih menu info perjalanan. Pada menu ini akan
muncul daftar angkot yang harus dinaiki pengguna agar bisa sampai ke lokasi
tujuan.
Activity pada Gambar 7 dimulai dengan memasukkan nama lokasi pada
tempat yang telah disediakan lalu menekan tombol cari angkot. Setelah tombol
cari angkot ditekan akan muncul hasil pencarian berupa daftar angkot yang lewat
pada suatu lokasi.

Masukkan lokasi

Tekan tombol cari

Lihat hasil
pencarian

Gambar 7 Activity pencarian angkot

9
Activity melihat gambar angkot dapat ditemukan setelah activity info
perjalanan dan activity pencarian angkot. Activity ini akan diaktifkan apabila
pengguna memilih daftar angkot yang tampil pada activity info perjalanan dan
activity pencarian angkot.
Activity yang ada pada Gambar 8 hanya dapat dilakukan apabila pengguna
telah melalui activity mencari jalur terpendek. Setelah peta standar muncul,
pengguna dapat menekan tombol pilihan pada perangkatnya dan memilih menu
mode peta untuk bisa memilih jenis peta yang diinginkan.
Activity yang dibuat telah sesuai dengan tujuan, yaitu dapat membantu
pengguna untuk menentukan angkot yang tepat berdasarkan jarak terpendek.

Pilih lokasi

Lihat jalur

Ubah tampilan
peta

Gambar 8 Activity mengubah tampilan peta
2 Perancangan Database
Aplikasi ini memiliki empat tabel pada database. Penjelasan mengenai data
yang digunakan di dalam database dapat dilihat pada Tabel 2.
Tabel 2 Daftar tabel dan penjelasan tabel pada database aplikasi angkot mobile
Nama Tabel
Angkot
AngkotLokasi

Lokasi

VertexTetangga

Penjelasan
Tabel ini berisi kolom idangkot, nomor pada angkot, lokasi
satu(awal), lokasi dua(akhir), dan tarif(tertinggi)
Tabel ini menyimpan kolom idangkotlokasi, idangkot, dan
idlokasi. Tabel ini digunakan untuk memberi keterangan angkot
yang lewat pada suatu lokasi.
Tabel ini memiliki kolom idlokasi, lati, longi, namalokasi, dan
status. Kolom lati berarti latitude dari lokasi tersebut, sedangkan
longi berarti longitude.
tabel ini punya 4 kolom, yaitu id, posisiawal, tetangga, jarak.
Tabel ini berfungsi untuk menjelaskan lokasi yang bertetangga.

3 Perancangan Antarmuka

10
Aplikasi ini dirancang untuk penggunaan secara portrait, sehingga hasil
tidak cocok untuk ditampilkan dalam bentuk landscape. Tampilan awal (Gambar
9) menampilkan dua tombol di tengah layar, yaitu pencarian jalur dan pencarian
angkot. Rancangan antarmuka utama (Gambar 10), yaitu pencarian jalur diisi
dengan dua list yang setiap list dipilih dengan dropdown. Setiap list berisi lokasilokasi yang dapat dipilih. Setelah pengguna menentukan lokasi asal dan tujuan,
dibutuhkan tombol untuk eksekusi algoritme Dijkstra dan menampilkan peta.

Gambar 9 Rancangan antarmuka pembuka aplikasi angkot mobile
Tombol pencarian jalur pada Gambar 9 akan mengarahkan pengguna ke
rancangan pada Gambar 10. Pada Gambar 10 akan ditampilkan daftar lokasi asal
dan lokasi tujuan dan tombol untuk melakukan pencarian dengan algoritme
Dijkstra. Setelah menekan tombol pencarian pengguna akan diarahkan ke
rancangan pada Gambar 11 yang menampilkan peta dan jalur terpendek yang
telah ditemukan dengan algoritme dijsktra.
Rancangan pada Gambar 11 menyediakan dua buah menu apabila pengguna
menekan tombol pilihan pada perangkatnya. Menu yang tersedia ada dua, yaitu
info perjalanan dan mode peta. Menu info perjalanan akan berisi daftar angkot
yang harus dinaiki pengguna untuk bisa sampai ke lokasi tujuan, sedangkan mode
peta memberikan pilihan bagi pengguna untuk mengubah tampilan peta dari peta
standar yang muncul setiap kali ditekan tombol pencarian menjadi peta jenis lain
yang telah tersedia.

11

Gambar 10 Rancangan antarmuka pencarian jalur aplikasi angkot mobile
Tombol pencarian angkot pada Gambar 9 akan mengarahkan pengguna ke
antarmuka seperti tampak pada Gambar 12. Pada Gambar 12 pengguna
memasukkan nama lokasi yang diinginkan lalu menekan tombol cari angkot
sehingga akan muncul daftar angkot yang dapat dipilih. Setelah dipilih salah satu
angkot maka ditampilkan Gambar 13.

Gambar 11 Gambar rancangan antarmuka hasil pencarian aplikasi angkot mobile

12

Gambar 12 Rancangan antarmuka pencarian angkot menurut lokasi

Gambar 13 Rancangan antarmuka informasi angkot
Gambar 13 memperlihatkan rancangan antarmuka yang dapat dilihat oleh
pengguna berisi informasi mengenai suatu angkot, yaitu nomor trayek angkot,
tarif angkot, rute angkot, dan gambar angkot.
Implementation and Unit Testing
1 Implementasi Perangkat Keras
Spesifikasi perangkat keras yang digunakan dalam penelitian ini, yaitu:
• Harddisk 320 GB

13
• Memory RAM 2GB
• Processor Intel(R) Core(TM) i3 M380
• Samsung Galaxy Mini
• Vandroid S5
2 Implementasi Perangkat Lunak
Perangkat lunak yang digunakan adalah sebagai berikut:
• Android Developer Tools v21.0.1-543035
• Bahasa pemrograman Java
• Framework Android SDK
• Emulator Android Virtual Device
• DBMS SQLite Database 1.3
• Library GoogleMaps API
• Windows 7 Professional
3 Implementasi Database
Aplikasi ini memiliki database dengan empat tabel mengikuti yang terdapat
pada tahap perancangan tanpa ada perubahan. Database untuk aplikasi ini dibuat
dengan bantuan aplikasi SQLite browser portable yang dapat digunakan untuk
sistem operasi mobile berbasis Android.
4 Implementasi Antarmuka
Antarmuka dari aplikasi yang dikembangakan ini dibuat dengan bantuan
Android Developer Tools v21.0.1-543035. Antarmuka yang dibuat mengacu pada
perancangan untuk setiap activity dengan menu info perjalanan dan perubahan
tampilan peta terdapat pada rancangan antarmuka tampilan peta dan jalur pada
Gambar 11.
Berikut ini adalah gambar-gambar dari implementasi antarmuka pada
perangkat mobile berbasis Android. Implementasi ini diujikan pada perangkat
Samsung Galaxy Mini, Vandroid S5, dan emulator Android.

Gambar 14 Implementasi antarmuka halaman pembuka

14
Gambar 14 muncul setelah antarmuka yang berisi judul aplikasi (splash
screen) tampil. Implementasi yang terdapat pada Gambar 14 mengacu pada
rancangan antarmuka yang telah dibuat sebelumnya. Tampak pada Gambar 14
antarmuka diisi oleh dua tombol yang terletak di tengah.

Gambar 15 Implementasi antarmuka pencarian jalur
Gambar 15 menunjukkan tampilan antarmuka untuk memilih lokasi asal dan
tujuan. Di bagian bawah pada Gambar 15 terdapat tombol Cari Jalur yang akan
melakukan eksekusi algoritme Dijkstra sekaligus menampilkan peta.

Gambar 16 Implementasi antarmuka hasil pencarian jalur dalam peta

15
Gambar 16 menunjukkan peta dengan jalur terpendek yang telah didapatkan
dengan algoritme Dijkstra. Di peta ini terdapat titik-titik berwarna hijau berupa
lokasi yang dilewati dan garis berwarna merah yang menunjukkan jalur untuk
mencapai lokasi yang dituju, sedangkan dua balon berwarna merah menunjukkan
lokasi asal dan tujuan yang telah dipilih sebelumnya oleh pengguna.
Antarmuka peta yang digunakan adalah peta yang disediakan oleh
GoogleMaps. Peta diakses dengan menggunakan Google API. Peta yang
ditampilkan berdasarkan nilai tengah dari titik-titik koordinat yang ada pada
database lalu dihitung nilai tengahnya. Sehingga didapatkan ukuran peta yang
sesuai untuk menampilkan semua titik dari sebuah rute.
Penentuan titik lokasi (titik hijau dan balon merah) dilakukan setelah
perhitungan untuk menemukan jalur terpendek dilakukan. Setelah itu diambil nilai
koordinat (latitude dan longitude) dari tiap lokasi lalu dimasukkan sebagai
parameter untuk menentukan titik dari tiap lokasi (titik hijau dan balon merah)
sekaligus memberi tanda jalan (garis merah) yang ditempuh untuk mencapai
lokasi tujuan.
Antarmuka yang berisi peta dan jalur memberikan dua pilihan menu, yaitu
info perjalanan dan mode peta. Menu info perjalanan (Gambar 17) menampilkan
daftar angkot yang harus dinaiki untuk sampai ke lokasi tujuan. Sedangkan mode
peta memungkinkan pengguna untuk mengubah tampilan peta menjadi normal,
hybrid, satellite,dan terrain.

Gambar 17 Implementasi antarmuka daftar angkot untuk bisa sampai tujuan
Gambar 18 akan muncul setelah pengguna melakukan tap pada salah satu
daftar angkot yang tersedia di menu info perjalanan (Gambar 17). Pada antarmuka
ini ditampilkan gambar angkot dan informasi lainnya (nomor trayek, tarif, dan
rute angkot) dari suatu angkot agar pengguna bisa mengetahui informasi angkot
yang sesuai dengan tujuannya.

16

Gambar 18 Implementasi antarmuka informasi angkot

Gambar 19 Implementasi antarmuka menu pilihan peta
Gambar 19 menunjukkan pilihan jenis peta. Ada jenis peta normal yang
langsung tampil setelah pengguna menekan tombol cari jalur. Peta normal
menampilkan peta dalam bentuk dua dimensi dengan keterangan jalan-jalan yang
ada di sekitar suatu wilayah. Peta hybrid menampilkan peta penggabungan antara
foto satelit dengan peta normal yang berisi wilayah dan jalan di sekitarnya. Peta
satellite menampilkan peta hasil foto satelit yang telah dimiliki GoogleMaps.
Terakhir, peta terrain menampilkan peta yang menunjukkan relief permukaan
bumi yang menunjukkan ketinggian dari suatu lokasi.
Pada Gambar 20 pengguna telah mengubah jenis peta yang ditampilkan
menjadi hybrid. Tampak di Gambar 20 foto satelit dengan keterangan wilayahwilayah.

17

Gambar 20 Implementasi antarmuka perubahan jenis peta
Gambar 21 memperlihatkan tampilan menu pencarian angkot berdasarkan
lokasi yang dimasukkan oleh pengguna. Setelah tombol cari angkot ditekan
pengguna akan diarahkan menuju Gambar 22.
Gambar 22 menunjukkan tampilan daftar angkot yang lewat pada lokasi
yang telah dimasukkan sebelumnya. Apabila pengguna memilih salah satu angkot,
maka pengguna akan diarahkan kembali ke Gambar 18 yang menunjukkan
informasi dari suatu angkot.

Gambar 21 Implementasi antarmuka pencarian angkot berdasarkan lokasi

18

Gambar 22 Implementasi antarmuka daftar angkot yang lewat suatu lokasi
5 Implementasi Sistem
Fitur pencarian jalur terpendek di dalam aplikasi ini menggunakan algoritme
dijstra. Dijkstra akan memilih rute yang memiliki total jarak terpendek untuk
mencapai suatu lokasi atau verteks dari nilai jarak yang dimasukkan ke dalam
database di dalam tabel vertextetangga.
Nilai jarak didapatkan dari jarak yang harus ditempuh dari satu titik menuju
titik yang lain (verteks yang bertetangga). Titik pada suatu lokasi ditentukan dari
nilai latitude dan longitude. Nilai latitude dan longitude didapatkan dengan
bantuan GoogleMaps. Dengan nilai latitude dan longitude dari suatu titik yang
bertetangga didapatkan nilai jarak dalam satuan meter dan disimpan ke dalam
database untuk dihitung dengan Dijkstra. Nilai latitude dan longitude yang sudah
didapatkan disimpan juga ke dalam database untuk dipanggil kembali ketika
menentukan titik dari suatu lokasi.
Rute angkot didapatkan melalui proses berikut ini:
1 Pengguna menentukan lokasi asal dan tujuan.
2 Dijkstra menghitung dan memilih jarak terpendek berdasarkan tetangga dari
suatu verteks sampai ditemukan lokasi tujuan.
3 Rute terpendek yang telah didapatkan oleh Dijkstra disimpan.
4 Setelah rute untuk mencapai tujuan diketahui, sistem akan mengecek kembali
database untuk melihat angkot-angkot yang lewat pada lokasi yang dilalui
untuk sampai tujuan. Kueri yang digunakan untuk melakukan pengecekan ini
adalah (contoh lokasi: duber)
select a.idAngkot, a.nomor, a.tarif, a.awal, a.akhir
from angkotlokasi al left join angkot a
on al.idangkot = a.idAngkot where al.idLokasi = (select idlokasi from
lokasi where namalokasi = 'duber')
5 Angkot yang dipilih adalah angkot yang mampu mencapai lokasi terjauh jika
terdapat angkot yang sama pada suatu rute.

19
Integration and System Testing
Aplikasi ini telah diuji dengan emulator dan perangkat bergerak, yaitu
ponsel Android froyo dan yang lebih tinggi dari itu. Metode pengujian yang
dipilih adalah blackbox untuk mengetahui fungsi dari aplikasi dapat bekerja
dengan baik atau tidak. Rincian skenario pengujian sistem dapat dilihat pada
Lampiran 1. Hasil pengujian menunjukkan bahwa sistem bekerja sesuai dengan
skenario uji atau sukses. Hasil dari pengujian juga dapat dilihat pada Lampiran 1.

SIMPULAN DAN SARAN
Simpulan
Aplikasi penentuan rute angkot menggunakan algoritme Dijkstra telah
selesai dibuat. Fungsi utama dari Aplikasi ini yaitu menyediakan informasi angkot
yang sesuai dengan rute terpendek untuk mencapai suatu lokasi. Selain itu pada
aplikasi ini juga disediakan informasi secara umum yang berkaitan dengan angkot
di Kota Bogor berupa nomor angkot, tarif, dan trayeknya. Dari penelitian ini
juga dapat disimpulkan bahwa aplikasi yang dibuat telah berjalan sesuai dengan
skenario uji yang dilakukan. Algoritme Dijkstra dapat berjalan di dalam
lingkungan perangkat mobile berbasis Android untuk mencari rute terpendek
berdasarkan parameter jarak. Pemilihan Android sebagai lingkunagan sistem
operasi ditujukan untuk memberikan kemudahan baik bagi pengguna maupun bagi
pengembang dalam mengembangkan aplikasi di masa mendatang dalam kaitannya
dengan fleksibilitas penggunaan beragam perangkat keras yang dapat digunakan
untuk instalasi aplikasi yang dihasilkan.
Saran
Aplikasi yang dihasilkan dari penelitian ini masih memiliki beberapa
kekurangan, oleh karena itu beberapa saran yang harapannya dapat menjadikan
aplikasi ini lebih baik, yaitu:
1 Penambahan data sehingga cakupan lokasi menjadi lebih luas.
2 Penggunaan fitur GPS di Android untuk menentukan lokasi asal dengan
mempertimbangkan lokasi dan jalan terdekat di sekitarnya.
3 Penambahan fungsi validasi dan rancangan input output yang lebih mudah
dengan mempertimbangkan usability untuk mengolah data agar menghindari
kesalahan dalam pemasukan data yang dapat berpengaruh pada hasil pencarian.

DAFTAR PUSTAKA
Chartrand G, Oellermann OR. 1993. Applied and Algorithmic Graph Theory. New
York (US): McGraw-Hill Inc.
Cormen TH, Leiserson CE, Rivest RL, Stein C. 2002. Introduction to Algorithms.
Ed ke-2. New York (US): McGraw-Hill Inc.

20
Depdiknas. 2008. Kamus Besar Bahasa Indonesia Pusat Bahasa. Ed Ke-4. Jakarta
(ID). Gramedia Pustaka Utama
Murphy ML. 2011. Android Programming Tutorials. Macungie (US):
CommonsWare, LLC.
Safaat N. 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC
Berbasis Android: Edisi Revisi. Bandung (ID): Informatika Bandung.
Sommerville I. 2007. Software Engineering. Ed ke-8. Harlow (UK): Pearson
Education Ltd.
Statcounter. 2013. StatCounter Global Stats: Top 8 Mobile Operating Systems in
Indonesia from Nov 2012 to Apr 2013. [Internet]. [diunduh 12 Mei 2012].
Tersedia pada: http://gs.statcounter.com/#mobile_os-ID-monthly-201211201304.

21
Lampiran 1 Tabel skenario uji dan hasil pengujian sistem angkot mobile
Pengujian
Tingkat

Kondisi Awal

Skenario

Hasil yang
Diharapkan

Hasil
Uji

Activity utama

Memilih
daftar lokasi
asal dengan
dropdown

Tampil beberapa
lokasi yang dapat
dipilih

Sukses

Activity utama

Memilih
daftar lokasi
tujuan dengan
dropdown

Tampil beberapa
lokasi yang dapat
dipilih

Sukses

Activity utama

Menekan
tombol cari
jalur setelah
menentukan
lokasi asal
dan tujuan

Muncul jalur
terpendek
berdasarkan
algoritme Dijkstra

Sukses

Menampilkan
peta google

Activity utama

Menekan
tombol cari
jalur setelah
menentukan
lokasi asal
dan tujuan

Muncul peta google

Sukses

Melihat info
perjalanan

Sudah tampil
peta google
dengan jalur
terpendek

Menekan
tombol menu
di perangkat
lalu memilih
menu info
perjalanan

Muncul pop-up
yang menampilkan
angkot yang dapat
dinaiki

Sukses

Mengubah
tampilan peta

Sudah tampil
peta google
dengan jalur
terpendek

Menekan
tombol menu
di perangkat
lalu memilih
menu mode
peta

Tampilan peta
berubah dari
tampilan standar

Sukses

Melihat info
lokasi

Sudah tampil
peta google
dengan jalur
terpendek

Melakukan
tap pada titik
lokasi

Muncul pop-up
kecil yang berisi
sedikit info lokasi

Sukses

Mencari
angkot
berdasarkan
lokasi

Halaman
pembuka

Menekan
tombol
pencarian
angkot

Muncul pop-up
daftar angkot yang
melewati lokasi
tersebut

Sukses

Melihat
informasi dari
suatu angkot

Sudah tampil
info
perjalanan
atau daftar
angkot pada
pencarian

Melakukan
tap pada salah
satu angkot
dari daftar
angkot yang
muncul

Muncul tampilan
informasi angkot
yang berisi trayek,
tarif, dan gambar
angkot

Sukses

Nama
Mengganti
lokasi asal

Mengganti
lokasi tujuan

Mencari jalur
terpendek
(Dijkstra)

Device

22
Lampiran 2 ERD database aplikasi angkot mobile
idangkot
idangkotlokasi

nomor
awal

idangkot
angkot

angkotlokasi

akhir
idlokasi
tarif

Memiliki
idlokasi
jarak
namalokasi
lokasi

vertextetanga

tetangga

idangkot
posisiawal
lati

status
longi

id

23
Lampiran 3 Kode XML untuk menampilkan antarmuka pada Gambar 15














24
Lampiran 4 Kode XML untuk menampilkan antarmuka pada Gambar 16