Abstrak—Trans Sarbagita merupakan salah satu upaya pemerintah Bali dalam menyediakan fasilitas angkutan umum untuk mengurangi kemacetan. Trans Sarbagita adalah sebuah fasilitas BRT (Bus Rapid Transit) yang memiliki angkutan pengumpan tersendiri untuk mengangkut penumpang ke halte- halte bus terdekat. Trans Sarbagita sendiri sudah memiliki rencana rute untuk armada bus dan pengumpan mereka. Dari sebagian rute yang sudah beroperasi, informasi seputar rute, dan halte yang sudah beroperasi dirasa belum terpublikasi dengan baik sehingga dapat menjadi masalah bukan hanya untuk masyarakat Bali, tapi juga untuk para wisatawan yang ingin menggunakan fasilitas tersebut. Salah satu cara mengatasi permasalahan tersebut adalah dengan membangun sebuah aplikasi yang berisikan informasi mengenai halte dan rute-rute yang dapat ditempuh untuk mencapai tujuan yang dapat diakses melalui perangkat bergerak. Aplikasi Trans Sarbagita dapat memberikan rute terpendek yang dapat dilalui trayek pengumpan berdasarkan lokasi awal dan tujuan pengguna yang dikalkulasikan dengan algoritma Dijkstra. Selain menampilkan rute terpendek, aplikasi ini juga dapat menampilkan rute trayek serta lokasi halte Trans Sarbagita yang sudah beroperasi. Hasil uji coba sistem sudah menunjukkan berjalannya sistem dengan baik sesuai dengan perancangan awal. Meskipun demikian pengembangan lebih lanjut masih dibutuhkan untuk mengimbangi berkembangnya teknologi, serta berubahnya kebutuhan pengguna yang dapat diaplikasikan pada aplikasi ini.
Kata Kunci— Aplikasi Perangkat Bergerak, Dijkstra, Transportasi Umum.

## I. PENDAHULUAN
RANSPORTASI merupakan salah satu faktor pertumbuhan pariwisata yang pesat. Fasilitas transportasi mendorong perkembangan pariwisata dan sebaliknya pertumbuhan dalam industri pariwisata melahirkan kebutuhan transportasi untuk memenuhi kebutuhan pengguna fasilitas seperti masyarakat setempat dan wisatawan. Transportasi yang baik mengakibatkan jarak yang jauh seolah-olah menjadi lebih dekat. Hal ini dapat mempersingkat waktu perjalanan jika infrastruktur transportasi itu sendiri dikelola dengan baik. Dapat disimpulkan bahwa pengelolaan transportasi yang baik mempermudah pengguna untuk pergi ke daerah tertentu seperti dearah wisata. Dengan menerapkan kemajuan teknologi diharapkan dunia transportasi akan lebih baik, baik dalam sistem yang hendak dikembangkan, informasi yang dapat diakses pengguna, serta bagaimana mencari solusi
alternatif bila ditemukan hambatan dari pengguna jasa transportasi.
Bali merupakan pulau yang memiliki banyak objek wisata yang terkenal baik di dalam maupun di luar negeri. Hal ini selain memiliki banyak dampak positif terhadap masyarakatnya juga membawa dampak negatif, salah satunya adalah mengenai kemacetan. kemacetan terjadi karena pertumbuhan angkutan pribadi yang tidak terkendali dan minimnya angkutan umum. Tingkat kemacetan yang makin parah di Bali, khususnya di kawasan wisata dapat menjadi ancaman bagi kualitas pariwisata daerah ini.
Pemerintah Bali sudah berupaya untuk mengurangi tingkat kemacetan dengan membenahi infrastruktur jalan dan menyediakan fasilitas transportasi umum untuk menunjang pemerataan pertumbuhan ekonomi antar wilayah dan kelancaran lalu lintas. Trans Sarbagita merupakan salah satu upaya pemerintah dalam menyediakan fasilitas angkutan umum. Trans Sarbagita adalah sebuah fasilitas BRT (Bus Rapid Transit) yang memiliki angkutan pengumpan tersendiri untuk mengangkut penumpang ke halte-halte bus terdekat. Dari sebagian rute yang sudah beroperasi, informasi seputar rute dan halte yang sudah beroperasi dirasa belum terpublikasi dengan baik, sehingga dapat menjadi masalah bukan hanya untuk masyarakat Bali, tapi juga untuk para wisatawan yang ingin menggunakan fasilitas tersebut. Salah satu cara mengatasi permasalahan tersebut adalah dengan membangun sebuah aplikasi yang berisikan informasi mengenai halte dan rute-rute yang dapat ditempuh untuk mencapai tujuan yang dapat diakses melalui perangkat bergerak.
Aplikasi Sarbagita yang dibangun diharapkan dapat memberikan informasi berbasis perangkat bergerak yang memudahkan masyarakat untuk mengetahui lokasi halte bus serta rute trayek pengumpan yang dapat dilalui.

## II. TINJAUAN PUSTAKA

## A. Trans Sarbagita
Trans Sarbagita merupakan angkutan umum yang dikelola Dinas Perhubungan Informasi dan Komunikasi Provinsi Bali berjenis bus rapid transit (BRT) yang sudah beroperasi sejak bulan Agustus 2011. Trans Sarbagita dibangun untuk memperbaiki jaringan angkutan umum di Bali. Pada tahun 2014, layanan Trans Sarbagita digunakan oleh 5000 penumpang per hari dengan 25 armada bus yang beroperasi.

## Rancang Bangun Aplikasi Angkutan Trans Sarbagita Provinsi Bali Berbasis Perangkat Bergerak
I Made Aditya Pradnyadipa Mustika, Raden Venantius Hari Ginardi, dan Abdul Munif Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS)
Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia
e-mail : made.aditya12@mhs.if.its.ac.id, hari@its.ac.id, munif@if.its.ac.id
T
Bus Trans Sarbagita sendiri baru beroperasi di 2 koridor, yakni koridor 1 dengan rute yang menghubungkan kota Denpasar menuju daerah Garuda Wisnu Kencana dan sebaliknya serta koridor 2 yang menghubungkan terminal Batubulan menuju daerah Nusa Dua .
Trans Sarbagita juga memiliki layanan trayek pengumpan yang berfungsi untuk mengangkut penumpang menuju halte terdekat. Dari 10 rencana trayek, 4 rute trayek pengumpan sudah aktif beroperasi sejak bulan September tahun 2012 [1]. Gambar 1 menunjukkan rencana rute 10 trayek pengumpan di Bali dimana rute trayek yang sudah beroperasi adalah trayek TP01, TP02, TP03, dan TP04.

## B. Algoritma Dijkstra
Algoritma Dijkstra adalah algoritma untuk menemukan jalur terpendek antara node dalam sebuah graph seperti halnya jaringan jalan. Algoritma ini disusun oleh ilmuwan komputer Edsger W. Dijkstra pada tahun 1956 dan diterbitkan tiga tahun kemudian. Algoritma ini merupakan sebuah algoritma greedy yang digunakan dalam memecahkan masalah jarak terpendek ( shortest path problem) untuk graf berarah ( directed graph ) dengan bobot-bobot sisi ( edge weights ) yang bernilai tak- negatif [2]. Berikut merupakan pseudocode dari algoritma Dijkstra.
1: function Dijkstra(Graph, source):
2: for each vertex v in Graph:
3: dist[v] := infinity
4: previous[v] := undefined
5: dist[source] := 0
6: Q := the set of all nodes in Graph
7: while Q is not empty:
8: u := node in Q with smallest dist[ ] 9: remove u from Q
10: for each neighbor v of u:
11: alt := dist[u] + dist_between(u, v) 12:
if alt < dist[v]
13: dist[v] := alt
14: previous[v] := u
15: return previous[ ]
Gambar 2 memberikan visualisasi mengenai proses berjalannya algoritma Dijkstra. Titik awal dapat dilihat pada simpul yang diberi penanda s. Simpul berwarna putih memiliki nilai yang belum pasti, karena masih ada kemungkinan nilai simpul yang didapat bisa lebih kecil jika melalui simpul lainnya. Simpul berwarna hitam menandakan bahwa nilai pada simpul merupakan nilai terkecil yang didapat dari iterasi seluruh kemungkinan jalan. Perulangan dilakukan untuk melihat apakah simpul yang berhubungan dengan simpul yang sedang dikerjakan memiliki nilai yang lebih kecil setelah ditambahkan dengan bobot sisi atau tidak.
Algoritma Dijkstra menerapkan prinsip greedy yang mencari solusi optimum pada tiap langkah yang dilalui dengan tujuan mendapatkan solusi terbaik. Hal ini membuat algoritma Dijkstra memiliki kompleksitas waktu yang cukup besar yaitu O (E log V) dimana E adalah jumlah dari sisinya dan V merupakan simpulnya.

## C. Google Maps API
API ( Application Programming Interface ) atau antarmuka pemrograman aplikasi merupakan sekumpulan perintah, fungsi, dan protokol yang dapat digunakan oleh pengembang dalam membangun perangkat lunak tertentu. API memungkinkan pengembang perangkat lunak untuk menjalan fungsi standar guna melakukan interaksi dengan sistem operasi. Dalam pengembangan program procedural, kegiatan biasanya dijalankan dengan media pemanggilan fungsi. Oleh karena itu, API biasanya selalu menyisipkan penjelasan dari fungsi-fungsi yang tersedia.
Google Maps API merupakan API yang disediakan oleh Google untuk membuat peta sesuai dengan yang diinginkan [3]. Google Maps API memiliki sejumlah fungsi yang dapat digunakan agar aplikasi dapat berinteraksi dengan Google Maps khususnya dalam fitur menambahkan rute dan halte. Google Maps API memiliki banyak layanan yang dapat digunakan untuk visualisasi peta maupun untuk mendapatkan informasi mengenai lokasi pada peta. Adapun layanan yang digunakan pada artikel ini adalah sebagai berikut:

## 1) Google Maps Geocoding API
Layanan ini berguna untuk mengkonversi antara alamat menjadi koordinat geografis maupun sebaliknya.

## Gambar 2. Proses Algoritma Dijkstra
Gambar 1. Perencanaan Rute Trayek Pengumpan

## 2) Google Places API
Tabel 1. Kebutuhan Fungsional
Layanan yang memberikan informasi mengenai lokasi- lokasi di sekitar baik itu berupa bisnis, maupun lokasi wisata.

## III. PERANCANGAN

## A. Deskripsi Umum
Aplikasi yang dijelaskan pada artikel ini adalah Aplikasi Trans Sarbagita yang dapat mengkalkulasikan dan memberikan visualisasi rute terperndek yang dapat ditempuh pengguna berdasarkan titik awal dan tujuan yang ditentukan pengguna dimana pencarian rute terpendek dilakukan dengan algoritma Dijkstra. Selain itu aplikasi juga dapat memberikan visualisasi berupa rute trayek pengumpan, rute bus, dan lokasi halte bus yang ada .

## B. Spesifikasi Kebutuhan
Kebutuhan Fungsional merupakan jenis kebutuhan yang berisikan proses-proses dalam sebuah sistem informasi. Tabel 1 menjelaskan kebutuhan fungsional dari aplikasi Trans Sarbagita.
Dari Kebutuhan Fungsional yang ada, Kasus Penggunaan dapat digambarkan seperti pada Gambar 3 dimana terdapat satu aktor, yaitu pengguna dan empat kasus penggunaan yaitu mencari rute terpendek trayek pengumpan, melihat lokasi halte bus, melihat rute bus, dan melihat rute trayek pengumpan.

## C. Perancangan Umum Sistem
Secara umum, perancangan sistem yang dibangun terdiri dari beberapa tahapan seperti pada Gambar 4. Dimana Gambar 4 menjelaskan alur perancangan sistem yang dimulai dari mengkonversi data rute serta halte menjadi data digital yang dapat diolah. Dilanjutkan dengan merancang antarmuka dan setelah itu pengolahan data digital dari rute dan halte
dilakukan. Setelah data diolah, data divalidasi dan diimplementasikan pada basis data.
Kode Kebutuhan Kebutuhan Fungsional Deskripsi UC-001 Mencari Rute Terpendek Trayek Pengumpan Pengguna dapat mencari rute terpendek yang dapat dilalui berdasarkan data rute trayek pengumpan dan masukan berupa
lokasi awal dan tujuan.
UC-002 Melihat Lokasi Halte Bus Pengguna dapat melihat informasi lokasi halte bus Trans Sarbagita. UC-003 Melihat Rute Bus Pengguna dapat melihat Rute Bus Trans Sarbagita secara keseluruhan. UC-004 Melihat Rute Trayek Pengumpan
Pengguna dapat melihat Rute Trayek Pengumpan Trans Sarbagita Secara keseluruhan.
Gambar 4. Diagram Alir Perancangan Sistem
Gambar 3. Diagram Kasus Penggunaan
Tabel 2. Spesifikasi Sistem Pengujian

## Spesifikasi Deskripsi
CPU Qualcomm MSM8994 Snapdragon 810 @ 4x1.56 GHz Cortex-A53 & 4x1.82 GHz Cortex-A57

## RAM 4.00 GB
Sistem Operasi Android Platform versi API 23: Android 6.0
(Marshmallow) revision 3
Tabel 3. Hasil Uji Coba Fungsionalitas Kode Kasus Pengujian Kode Kasus Penggunaan Nama Kasus Pengujian Hasil Uji Coba UJ-001 UC-001 Pencarian Rute Terpendek Kondisi Normal
Berhasil UJ-002 UC-001 Pencarian Rute Terpendek Kondisi Keberangkatan dan Tujuan Berseberangan Berhasil
UJ-003 UC-001 Pencarian Rute
Terpendek Kondisi Berdekatan Berhasil UJ-004 UC-002, UC- 003, UC-004 Menampilkan Layar Informasi Berhasil Gambar 6. Hasil Uji Coba Fungsionalitas

## D. Perancangan Arsitektur Sistem
Alur informasi diawali dengan pengguna yang mengakses layanan melalui perangkat bergerak. Permintaan dari pengguna dikirim ke web service dimana permintaan akan diolah pada web service dengan melakukan permintaan kepada Google Maps API. Mendapatkan balasan dari Google Maps API, algoritma untuk mendapat rute dijalankan dan hasil dikirimkan kembali ke perangkat bergerak. Perangkat bergerak mengolah dan memvisualisasikan dengan mengirimkan permintaan ke Google Maps API dalam menjalankan fungsinya. Gambar 5 menjelaskan alur komunikasi pada arsitektur sistem. Google Maps API dan web service bertugas memberikan layanan sesuai dengan permintaan pengguna.

## IV. PENGUJIAN DAN EVALUASI

## A. Lingkungan Uji Coba
Lingkungan pengujian adalah lingkungan, baik perangkat keras maupun perangkat lunak tempat pengujian sistem dilakukan. Uji coba fungsionalitas untuk layanan informasi Trans Sarbagita dilakukan pada perangkat Android dengan spesifikasi pada Tabel 2.
Gambar 5. Arsitektur Sistem

## B. Uji Coba Fungsionalitas
Uji coba fungsionalitas dilakukan dengan cara menjalankan fitur-fitur yang telah dibuat dan menguji keberhasilan fitur dalam menjalankan fungsinya. Uji coba fungsionalitas meliputi kasus berikut:
1. Kasus Pengujian Pencarian Rute Terpendek Kondisi Normal.
2. Kasus Pengujian Pencarian Rute Terpendek Kondisi Keberangkatan dan Tujuan Berseberangan.
3. Kasus Pengujian Pencarian Rute Terpendek Kondisi Berdekatan.
4. Kasus Pengujian Menampilkan Layar Informasi.
Hasil uji coba fungsionalitas pada Tabel 3 memperlihatkan bahwa semua kasus pengujian berhasil memberikan keluaran sesuai dengan perancangan sistem di awal.

## C. Uji Coba Pengguna
Uji coba pengguna dilakukan guna mendapat umpan balik mengenai performa aplikasi serta tanggapan pengguna mengenai aplikasi ini. Adapun poin yang menjadi pernyataan untuk pengguna guna mendapat penilaian adalah:
1. Aplikasi memudahkan pengguna dalam mendapatkan informasi mengenai angkutan Sarbagita.
2. Aplikasi memproses permintaan pengguna secara cepat dan tepat.
3. Aplikasi memberikan hasil rute trayek pengumpan secara tepat.
4. Tampilan aplikasi mudah dimengerti.
Penilaian dilakukan dengan menggunakan form dan skala likert. Dari sekala tersebut penilaian akan di jumlah tiap pernyataannya dan dibagi dengan nilai tertinggi yang dikalikan dengan jumlah responden. Dengan demikian akan didapatkan persentase penilaian setiap pernyataan. Tabel 4 memperlihatkan hasil uji coba pengguna dengan responden berjumlah 21 orang.
Tabel 4. Hasil Uji Coba Pengguna

## V. KESIMPULAN/RINGKASAN
Dalam proses pengerjaan artikel yang melalui tahap perancangan, implementasi, serta uji coba, didapatkan kesimpulan sebagai berikut:
1. Desain peta digital untuk rute angkutan Trans Sarbagita berhasil diimplementasikan pada aplikasi dengan menggunakan Google Maps sebagai layanan utama dalam visualisasi peta dalam perangkat.
2. Aplikasi berhasil menampilkan rute angkutan Trans Sarbagita yang akan dilalui sesuai dengan lokasi keberangkatan dan tujuan yang ditentukan pengguna yang ditampilkan pada Google Maps dengan menampilkan
polyline yang didapat dari titik-titik koordinat yang sudah diproses dengan algoritma Dijkstra.
3. Aplikasi berhasil mengkalkulasikan rute terpendek yang dapat dilalui pengguna dengan menggunakan algoritma Dijkstra dengan menggunakan titik temu angkutan sebagai simpul dan jarak antar simpul sebagai beban pada algoritma Dijkstra.
4. Aplikasi memiliki fungsi serta tampilan yang cukup memuaskan pengguna melihat nilai pada data uji coba pengguna cukup tinggi.
Adapun saran-saran yang diberikan untuk pengembangan sistem ini selanjutnya adalah:
1. Mengoptimalkan fitur, seperti fitur untuk memproses permintaan pengguna yang didapat kurang memuaskan berdasarkan penilaian uji coba pengguna.
2. Menambahkan fitur-fitur untuk menggabungkan pencarian rute trayek dan juga bus.
3. Melakukan kerjasama lebih lanjut dengan Dinas Perhubungan Informasi dan Komunikasi Provinsi Bali dalam pengembangan dan untuk memberikan pengguna informasi yang lebih mendetail.

## DAFTAR PUSTAKA
[1] "Angkutan Umum Trans Sarbagita," Dinas Perhubungan Informasi dan Komunikasi Provinsi Bali, 18 Juni 2012. [Online]. Available: http://www.dishubinkom.baliprov.go.id/id/ANGKUTAN-UMUM- Trans-SARBAGITA. [Accessed 10 April 2016].
[2] T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, "Introduction to Algorithms, Second Edition," in Section 24.3: Dijkstra's algorithm, MIT Press and McGraw-Hill, 2001, pp. 595-601.
[3] "Google Maps APIs | Google Developers," Google, [Online]. Available: https://developers.google.com/maps/. [Accessed 10 April 2016]. Pernyataan Total Nilai Persentase Aplikasi memudahkan pengguna dalam mendapatkan informasi mengenai angkutan Sarbagita 72 85,71% Aplikasi memproses permintaan pengguna secara cepat dan tepat 59 70,24% Aplikasi memberikan hasil rute trayek pengumpan secara tepat 68 80,95% Tampilan aplikasi mudah dimengerti 65 7,38%