Penentuan Jalur Tercepat dan Terpendek Berdasarkan Kondisi Lalu Lintas di Kota Bogor Menggunakan Algoritme Dijkstra dan Algoritme Floyd-Warshall

PENENTUAN JALUR TERCEPAT DAN TERPENDEK BERDASARKAN
KONDISI LALU LINTAS DI KOTA BOGOR MENGGUNAKAN
ALGORITME DIJKSTRA DAN ALGORITME
FLOYD-WARSHALL

RESTI SITI UTARI

DEPARTEMEN 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 Penentuan Jalur
Tercepat dan Terpendek Berdasarkan Kondisi Lalu Lintas di Kota Bogor
Menggunakan Algoritme Dijkstra dan Algoritme Floyd-Warshall 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 skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Juli 2013
Resti Siti Utari
NIM G64090060

ABSTRAK
RESTI SITI UTARI. Penentuan Jalur Tercepat dan Terpendek Berdasarkan
Kondisi Lalu Lintas di Kota Bogor Menggunakan Algoritme Dijkstra dan
Algoritme Floyd-Warshall. Dibimbing oleh MUSHTHOFA.
Bogor merupakan salah satu kota besar di Indonesia yang memiliki
masalah kemacetan cukup besar di beberapa titik. Kemacetan tersebut diantaranya
disebabkan oleh banyaknya jumlah kendaraan umum dan kendaraan pribadi (roda
dua atau roda empat) yang beredar memenuhi jalan, keduanya dianggap telah
melebihi kapasitas jalanan Kota Bogor. Salah satu alternatif yang dapat
ditawarkan untuk menghadapi kemacetan ini ialah mengetahui jalur terbaik yang
dapat dilalui. Jalur terbaik merupakan jalur tercepat maupun jalur terpendek yang
digunakan untuk mencapai sebuah tempat di Kota Bogor sesuai dengan kondisi

kepadatan lalu lintas jalan. Algoritme Dijkstra dan algoritme Floyd-Warshall
sebagai algoritme shortest path yang sangat baik dalam memberikan nilai
optimum digunakan untuk mendukung dihasilkannya rute perjalanan terbaik
dengan waktu tempuh paling optimal. Penelitian ini menghasilkan sebuah sistem
yang mampu menunjukkan jalur tercepat maupun jalur terpendek disertai dengan
perkiraan jarak tempuh, waktu tempuh, serta waktu tiba. Pencarian jalur tercepat
pada sistem ini mampu menghasilkan sebuah jalur tercepat yang dapat
menyesuaikan hasil dengan perpindahan waktu, sehingga selalu memberikan jalur
dengan waktu tempuh paling optimal.
Kata kunci: algoritme Dijkstra, algoritme Floyd-Warshall, jalur tercepat, jalur
terpendek, Kota Bogor

ABSTRACT
RESTI SITI UTARI. Fastest and Shortest Path Determination Based on The
Traffic Conditions in Bogor City Using Dijkstra’s Algorithm and Floyd-Warshall
Algorithm. Guided by MUSHTHOFA.
Bogor is one of the major cities in Indonesia which have congestion
problems large enough at some point. The congestion partly caused by the large
number of public transport and private vehicles which circulating on the road,
both are considered to have exceeded the capacity of the streets of the Bogor city .

One alternative that can be offered to deal with this congestion is determine the
best path to follow. The best path is the fastest path or the shortest path that used
to achieve a place in the Bogor city in accordance with the conditions of the road
traffic density. Dijkstra algorithm and Floyd algorithm Warshal as shortest path
algorithm which is excellent in providing optimum value is used to support the of
the best path with the most optimal travel time. The research resulted in a system
that is able to produce the fastest path and the shortest path along with the
approximate distance, estimated travel time and time of arrival. The function to
determine the fastest path is capable of generating the fastest path adjusted to the
results of the displacement time. Hence, the system always provide the path with
the most optimal travel time.
Keywords: Dijkstra algorithm, Floyd-Warshall algorithm, fastest path, shortest
path, Bogor City

PENENTUAN JALUR TERCEPAT DAN TERPENDEK BERDASARKAN
KONDISI LALU LINTAS DI KOTA BOGOR MENGGUNAKAN
ALGORITME DIJKSTRA DAN ALGORITME
FLOYD-WARSHALL

RESTI SITI UTARI


Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer

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

Penguji : 1 Muhammad Ashyar Agmalaro, SSi MKom
2 Karlina Khiyarin Nisa, SKom MT

Judul Skripsi: Penentuan Jalur Tercepat dan Terpendek Berdasarkan Kondisi Lalu
Lintas di Kota Bogor Menggunakan Algoritme Dijkstra dan
Algoritme Floyd-Warshall
:

Resti Siti Utari
Nama
NIM
: G64090060

Mushthofi , SKom MSc
Pembimbing

Tanggal Lulus:

3 1 JUL 20{3

Judul Skripsi : Penentuan Jalur Tercepat dan Terpendek Berdasarkan Kondisi Lalu
Lintas di Kota Bogor Menggunakan Algoritme Dijkstra dan
Algoritme Floyd-Warshall
Nama
: Resti Siti Utari
NIM
: G64090060


Disetujui oleh

Mushthofa, SKom MSc
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom
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. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan September 2012 ini ialah
kemacetan, dengan judul Penentuan Jalur Tercepat dan Terpendek Berdasarkan
Kondisi Lalu Lintas Jalan di Kota Bogor Menggunakan Algoritme Dijkstra dan
Algoritme Floyd-Warshall.
Terima kasih terbesar penulis ucapkan kepada ibunda penulis Linda

Agustarina yang atas kasih sayang, doa, dan dukungannya sehingga penulis dapat
menyelesaikan pendidikan di Institut Pertanian Bogor. Tidak lupa terima kasih
penulis sampaikan kepada ayahanda Rusnaidi, adik-adik, serta seluruh keluarga,
atas segala doa dan dukungannya. Ungkapan terima kasih sebesarnya juga penulis
sampaikan kepada Bapak Mushthofa, S.Kom, M.Sc selaku pembimbing yang
telah banyak memberikan masukan dan dukungan selama pengerjaan karya ilmiah
ini. Terima kasih kepada sahabat penulis Nugraha Putra Rachmadhani yang telah
membantu penulis dalam pengolahan data dan memberikan banyak saran
bermanfaat dalam proses penelitian. Terima kasih juga kepada Tuti Zuhariyyah,
Erlandy Ulfa, Viani Rahmawati, Gita Adhani, Nurdianti, Ginta, Fi Ismi, dan
sahabat penulis lainnya yang telah membantu penulis dalam pengumpulan data
karya ilmiah ini dan memberikan semangat, serta seluruh dosen dan mahasiswa
Departemen Ilmu Komputer IPB khususnya angkatan 46 yang telah memberikan
ilmu dan kenangan yang indah untuk penulis. Semoga karya ilmiah ini
bermanfaat.

Bogor, Juli 2013
Resti Siti Utari

DAFTAR ISI

DAFTAR ISI

vii

DAFTAR TABEL

viii

DAFTAR GAMBAR

viii

DAFTAR LAMPIRAN

viii

PENDAHULUAN

1


Latar Belakang

1

Perumusan Masalah

1

Tujuan Penelitian

2

Manfaat Penelitian

3

Ruang Lingkup Penelitian

3


METODE PENELITIAN

3

Penentuan Wilayah Penelitian

4

Penentuan Data dan Sumber Data

5

Pengumpulan Data

5

Pemodelan Graf dari Data

6


Implementasi Menggunakan Algoritme Dijkstra dan

7

Algoritme Floyd-Warshall

7

Evaluasi Hasil

12

Implementasi Sistem

12

HASIL

14

Penentuan Wilayah Penelitian dan Pengumpulan Data

14

Pemodelan Graf dari Data

14

Implementasi Menggunakan Algoritme Dijkstra dan

15

Algoritme Floyd-Warshall

15

Evaluasi Hasil

16

Implementasi Sistem

17

PEMBAHASAN

19

SIMPULAN

20

SARAN

21

DAFTAR PUSTAKA

21

RIWAYAT HIDUP

27

DAFTAR TABEL
1 Hasil Pengujian
2 Lanjutan
3 Running time beberapa contoh hasil pencarian

16
17
19

DAFTAR GAMBAR
1
2
3
4

Skema metode penelitian
Diagram alir algoritme Djiktra (Suherman et al 2011)
Diagram alir proses pencarian jalur tercepat
Graf yang menghubungkan antar wilayah penelitian, IPB Dramaga
(A), Laladon (B), Jalan Pajajaran (C), Stasiun Bogor (D), IPB
Baranangsiang (E)
5 Tampilan awal sistem hasil implementasi
6 Tampilan sistem hasil implementasi setelah dijalankan

4
9
13

15
18
18

DAFTAR LAMPIRAN
1
2
3
4

Daftar verteks yang digunakan
Daftar edge yang digunakan
Lanjutan
Lanjutan

23
24
25
26

PENDAHULUAN
Latar Belakang
Kemacetan umum ditemukan pada daerah dengan kepadatan penduduk
tinggi. Kepadatan penduduk di sebuah kota berkorelasi positif dengan
meningkatnya jumlah kendaraan bermotor. Salah satu fakta yang mendukung
pernyataan tersebut ialah meningkatnya laju pertumbuhan rata-rata penduduk di
Indonesia per tahunnya sebesar 1.4% pada periode tahun 1990 – 2011, diikuti pula
dengan kenaikan rata-rata jumlah kendaraan bermotor (roda empat maupun roda
dua) sebesar 13% per tahun dalam periode waktu yang sama (Joyoprayitno 2012).
Kemacetan bukan hanya menjadi masalah di negara-negara maju, namun juga
masalah yang dihadapi oleh negara-negara berkembang seperti Indonesia dan
Philipina. Sebagai contoh, Jakarta sebagai ibukota negara Indonesia saat ini
berada pada peringkat ke-14 sebagai kota termacet di dunia (Astuti 2011).
Beberapa kota besar lainnya seperti Bandung, Depok, Medan, dan Bogor juga
termasuk kota termacet di Indonesia.
Bogor merupakan salah satu kota besar di Indonesia yang memiliki masalah
kemacetan cukup besar di beberapa titik. Kemacetan tersebut diantaranya
disebabkan oleh banyaknya jumlah kendaraan umum dan kendaraan pribadi (roda
dua atau roda empat) yang beredar memenuhi jalan, keduanya dianggap telah
melebihi kapasitas jalanan Kota Bogor (Falatehan 2005). Kemacetan di Bogor
umumnya banyak terjadi di ruas jalan Baranangsiang-Dramaga. Kota Bogor dan
Dramaga memiliki inter-koneksi yang sangat kuat sebab disana berada sebuah
perguruan tinggi, yaitu kampus IPB Dramaga dan kampus IPB Baranangsiang.
Dengan asumsi jumlah mahasiswa berbanding lurus dengan meningkatnya
kendaraan, Dramaga diduga merupakan salah satu titik kemacetan di Bogor.
Selain itu, keberadaan Stasiun Bogor yang menghubungkan pusat kota Bogor
dengan Dramaga patut dipertimbangkan sebagai titik utama kemacetan. Titik-titik
kemacetan lainnya menurut Astuti (2011) termasuk Bubulak, Jembatan Merah,
Baranangsiang, Jambu Dua, dan Jalan Kapten Muslihat.
Apabila dikalkulasikan, kemacetan menimbulkan banyak kerugian seperti
pemborosan waktu, meningkatnya konsumsi bahan bakar, yang berujung pada
meningkatnya pengeluaran, meningkatnya polusi udara, dan meningkatnya stres
bagi pengguna jalan. Masalah kemacetan bukan perkara mudah, butuh kebijakan
dan strategi yang matang untuk mengatasi kemacetan sehingga hal itu menjadi
tidak mudah (Felisiani 2012). Oleh karena itu, dibutuhkan suatu antisipasi untuk
menghadapi kemacetan. Demi mengantisipasi hal tersebut, rute terbaik untuk
sampai lokasi tujuan perlu diketahui, yaitu dengan membangun sebuah sistem
yang dapat menunjukkan jalur tercepat dan jalur terpendek dari sebuah perjalanan.
Jalur tercepat diambil berdasarkan kondisi lalu lintas pada setiap segmen jalan
sesuai dengan waktu keberangkatan sehingga sistem akan menunjukkan rute jalan
dengan kondisi lalu lintas terlancar dan waktu tempuh paling pendek.
Perumusan Masalah
Saat ini telah ada beberapa aplikasi online yang membantu masyarakat
dalam menghadapi kemacetan seperti Google Map dan situs lewatmana[dot]com.

2

Google Map dengan fitur traffic layer dapat menunjukkan kondisi lalu lintas pada
sebuah jalan sesuai dengan waktu pengaksesannya. Selain itu, fitur traffic layer
dapat memberikan gambaran kondisi lalu lintas di luar waktu pengaksesan
berdasarkan pada database yang mereka miliki. Keakuratan untuk fitur ini dapat
dijamin, karena data diambil berdasarkan kecepatan pergerakan pengguna aplikasi
Google Map pada suatu jalan. Berdasarkan kumpulan data tersebut, dapat ditarik
kesimpulan mengenai kondisi lalu lintas pada suatu jalan. Namun, fitur traffic
layer pada Google Map untuk saat ini hanya berfungsi pada peta wilayah DKI
Jakarta. Sementara itu, situs lewatmana[dot]com adalah suatu aplikasi berbasis
web dan mobile. Aplikasi ini membangun sebuah sistem dengan data berasal dari
penggunanya. Informasi mengenai kondisi lalu lintas pada suatu ruas jalan
diketahui dari laporan yang saling dibagi oleh para penggunanya. Selain itu
informasi kondisi lalu lintas didapatkan pula dari foto maupun video yang berasal
dari kamera yang dipasang pada beberapa puncak gedung tinggi di Jakarta. Sama
halnya dengan fitur traffic layer pada Google Map, lewatmana[dot]com juga baru
berfungsi optimal untuk kawasan Jakarta.
Selain aplikasi-aplikasi di atas, metode lain juga banyak diterapkan untuk
mencari shortest path pada suatu daerah. Salah satunya dengan menggunakan
algoritme Dijkstra dalam pencarian rute terpendek jalan dan lokasi pariwisata di
kota Surakarta (Nandiroh dan Haryanto 2007). Elghazaly dan Shukur (2010)
menggunakan algoritme Dijkstra, algoritme Floyd-Warshall, dan algoritme A*
untuk mencari rute terpendek pada beberapa daerah di Malaysia dan
memperkirakan biaya perjalanan yang dibutuhkan. Merujuk pada kedua hasil
penelitian tersebut, algoritme Dijkstra akan dicoba diterapkan dalam penentuan
jalur tercepat dan terbaik untuk menghadapi kemacetan yang terjadi di Bogor.
Novandi (2007) menyatakan bahwa algoritme Dijkstra dan Floyd-Warshall
merupakan salah satu bentuk algoritme yang popular dalam pemecahan persoalan
yang terkait dengan masalah optimasi. Algoritme Dijkstra memiliki sifat yang
“greedy” hingga selalu berupaya mendapatkan nilai optimum lokal pada setiap
langkahnya agar mendapatkan nilai optimum global, sedangkan algoritme FloydWarshall yang merupakan salah satu varian dari pemrograman dinamis
mendapatkan solusi akhir sebagai solusi total optimal dari solusi optimal pada
tahap sebelumnya. Berdasarkan pertimbangan tersebut muncul pertanyaan kunci
yang melandasi penelitian ini. Dapatkah algoritme Dijkstra dan algoritme FloydWarshall diterapkan untuk menghadapi kemacetan di Kota Bogor? Jika ya,
aplikasi seperti apakah yang dapat dibangun dengan mengimplementasikan
algoritme tersebut? Dapatkah aplikasi tersebut memberikan nilai paling optimum?
Berapa besar keefektifan dan usability aplikasi tersebut?
Tujuan Penelitian
Demi menjawab beberapa pertanyaan penelitian, tujuan yang ingin dicapai
sebagai berikut:
1
Menerapkan algoritme Dijkstra dan Floyd-Warshall untuk menemukan jalur
terbaik, baik berupa jalur tercepat maupun jalur terpendek yang dapat
menekan kerugian waktu berlalu lintas

3

2

Melakukan adaptasi terhadap algoritme Dijkstra sehingga dapat menangani
kasus perubahan model graf pada setiap perpindahan range waktu untuk
mendapatkan jalur tercepat.
Manfaat Penelitian

Hasil penelitian ini diharapkan dapat membantu pengguna jalan di Kota
Bogor lebih mudah menemukan jalur tercepat dan jalur terpendek untuk sampai
ke tempat tujuan. Pengguna dapat menghadapi kemacetan di Kota Bogor dengan
menekan penggunaan waktu yang berlebihan di jalanan. Dengan demikian
efisiensi dan efektifitas waktu pengguna dapat ditingkatkan dan mengurangi
kerugian akibat kemacetan.
Ruang Lingkup Penelitian
1

2

3
4

Ruang lingkup pada penelitian ini meliputi:
Wilayah penelitian. Wilayah penelitian yang dipilih untuk penelitian
ini yaitu rute yang menghubungkan antara IPB Dramaga Bogor, IPB
Baranangsiang Bogor, dan Stasiun Bogor
Rentang waktu. Rentang waktu yang digunakan dalam penelitian ini
yaitu per 30 menit. Dengan ini diasumsikan bahwa kondisi lalu lintas
pada setiap jalan antarverteks tidak berubah terlalu signifikan per 30
menit. Untuk rentang waktu pukul 23.00 – 06.00 kecepatan rata-rata
kendaraan ialah 50 km/jam dengan asumsi keadaan lalu lintas jalan
masih lancar. Hari yang digunakan pada penelitian ini yaitu dari Senin
hingga Minggu dengan kondisi hari normal. Diasumsikan tingkat
konsistensi waktu perjalanan pada setiap segmen jalan untuk masingmasing hari setiap minggunya bernilai tinggi pada hari normal (bukan
hari libur)
Subjek penelitian. Subjek penelitian untuk sistem ini adalah pengguna
jalan Kota Bogor, khususnya pengguna kendaraan roda empat
Data. Data penelitian diperoleh dari Google Map dan hasil observasi.
Data yang digunakan dari Google Map berupa rute-rute yang
disarankan sebanyak 13 rute dan jarak antarverteks. Data yang
diperoleh dari hasil observasi berupa kecepatan rata-rata kendaraan
roda empat dan waktu tempuh ke setiap verteks. Edge yang digunakan
minimal memiliki panjang 150 m, dengan asumsi kondisi lalu lintas
pada edge berbeda. Data penelitian bersifat statis dengan hanya
mempertimbangkan kondisi lalu lintas jalan di Kota Bogor pada
umumnya tanpa memperhitungkan faktor eksternal penyebab
kemacetan yang dapat sewaktu-waktu terjadi.

METODE PENELITIAN
Untuk dapat melakukan penelitian dengan baik, maka diperlukan sebuah
metode penelitian yang baik dan terencana. Pada penelitian ini akan dilakukan
penerapan algoritme Dijkstra dan algoritme Floyd-Warshall untuk mendapat jalur

4

tercepat dan jalur terpendek pada jalan yang menghubungkan IPB Dramaga
Bogor, IPB Baranangsiang Bogor, dan Stasiun Bogor. Skema metode penelitian
ini disajikan pada Gambar 1.

Gambar 1 Skema metode penelitian

Penentuan Wilayah Penelitian
Wilayah penelitian berkisar pada kawasan kecamatan Bogor Barat yaitu
daerah sekitar kampus IPB Dramaga hingga kawasan Kota Bogor yaitu daerah
sekitar kampus IPB Baranangsiang. Terdapat tiga titik utama yang dipilih sebagai
titik tujuan rute yang akan dilalui, yaitu kampus IPB Dramaga, kampus IPB
Baranangsiang, dan Stasiun Bogor. Dari rute-rute yang menghubungkan ketiga
titik tersebut, akan dibangun sebuah connected graph. Connected graph adalah

5

graf yang memiliki sembarang titik yang dapat terhubung dengan titik yang lain.
Ketiga titik tersebut dipilih sebagai titik acuan karena rute yang menghubungkan
ketiga titik tersebut melewati beberapa titik rawan macet di Bogor, yaitu Bubulak,
Jembatan Merah, Baranangsiang, Jambu Dua, Jalan Kapten Muslihat dan lain-lain
(Astuti 2011). Pemilihan kampus IPB Dramaga dan IPB Baranangsiang sebagai
titik utama melihat pada aktifitas belajar mengajar yang terkadang mengharuskan
siswa maupun dosen harus berpindah kampus. Sementara itu, pemilihan Stasiun
Bogor sebagai salah satu titik utama bersandar pada kenyataan bahwa Stasiun
Bogor merupakan salah satu pusat transportasi di kota Bogor yang tidak pernah
sepi dari pengunjung dan posisinya yang melewati titik rawan macet.
Penentuan Data dan Sumber Data
Jenis data yang digunakan pada penelitian ini berupa data primer dan data
sekunder. Data primer adalah data yang diperoleh langsung dari responden (objek
penelitian), sedangkan data sekunder adalah data yang diperoleh melalui data
yang telah diteliti dan dikumpulkan oleh pihak lain yang berkaitan dengan
permasalahan penelitian. Data primer pada penelitian ini didapatkan dari
observasi di jalanan Kota Bogor, sedangkan data sekunder didapatkan dari Google
Map. Data yang didapatkan dari Google Map yaitu rute-rute yang
menghubungkan antara kampus IPB Dramaga, kampus IPB Baranangsiang dan
Stasiun Bogor, serta jarak antar titik jalan. Data yang diperoleh dari hasil
observasi berupa data mentah berisi kecepatan rata-rata kendaraan roda empat
pada setiap edge serta waktu tempuhnya untuk waktu perjalanan yang berbedabeda.
Pengumpulan Data
Pengumpulan data dilakukan secara berkala pada bulan Februari dan Maret
2013. Waktu yang digunakan sebagai bahan penelitian yaitu hari normal (Senin
hingga Jumat), Sabtu, dan Minggu dengan masing-masing hari mewakili 48 jam.
Metode pengumpulan data yang digunakan pada penelitian ini adalah metode
observasi dan studi pustaka. Observasi dilakukan pada rute jalan yang
menghubungkan tiga titik utama pada penelitian ini, dengan mengamati kondisi
lalu lintas jalan, kecepatan rata-rata kendaraan dan waktu tempuh yang harus
dihabiskan pada suatu rute perjalanan. Pengumpulan data dengan metode
observasi dilakukan menggunakan alat berupa counter time, speedometer, dan alat
tulis. Waktu tempuh antar jalan dihitung manual dengan menggunakan counter
time, sedangkan kecepatan rata-rata kendaraan dihitung dengan berpatokan pada
speedometer kendaraan. Kecepatan rata-rata kendaraan akan digunakan untuk
mendapatkan perhitungan waktu tempuh antar jalan dengan menggunakan rumus
gerak lurus beraturan (GLB). Hasil berupa waktu tempuh yang didapatkan dari
perhitungan tersebut akan dijadikan acuan dari waktu tempuh yang dihasilkan
dengan perhitungan menggunakan counter time.
Studi pustaka yang digunakan pada penelitian ini berupa data-data yang
disediakan pada Google Map. Data tersebut merupakan hasil pengukuran
langsung dan hasil pengukuran dari satelit yang keduanya memiliki tingkat
akurasi yang tinggi. Dari data berupa rute perjalanan yang diperoleh dari Google

6

Map, dipilih jalan dan lokasi penting yang akan digunakan sebagai verteks untuk
pemodelan graf pada tahap selanjutnya. Penandaan sebuah verteks (titik jalan)
dalam rute perjalanan didasarkan pada kondisi lalu lintas sehari – hari wilayah
sekitar verteks. Verteks yang dipilih merupakan titik jalan yang memiliki
kepadatan lalu lintas pada daerah di sekitarnya. Data lainnya yang didapatkan dari
studi pustaka pada Google Map adalah data jarak antarverteks atau bobot jarak.
Pengumpulan data dilakukan tanpa memperhitungkan indeks waktu buffer
(buffer time index). Indeks waktu buffer adalah waktu ekstra yang harus
ditambahkan oleh pengguna jalan untuk tepat waktu sampai tempat tujuan. Selain
itu reliabilitas waktu perjalanan pada wilayah penelitian diasumsikan memiliki
variasi waktu perjalanan yang kecil sehingga konsistensi waktu perjalanan bernilai
tinggi. Konsistensi waktu perjalanan merupakan suatu kondisi ketika variasi
waktu perjalanan dari beberapa kali pengukuran tidak menunjukkan selisih yang
besar. Dengan menggunakan asumsi konsistensi waktu perjalanan yang tinggi,
maka waktu perjalanan untuk hari normal (Senin hingga Jumat) diasumsikan
memiliki waktu perjalanan yang sama. Selain dua asumsi di atas, pada penelitian
ini digunakan beberapa asumsi lainnya dalam proses perhitungan dan pengolah
data. Beberapa asumsi tersebut antara lain sebagai berikut:
1
Diasumsikan tidak ada lampu merah antar jalan, sehingga perhitungan waktu
tempuh dengan menggunakan stopwatch tidak menghitung terjadinya
pemberhentian saat lampu merah
2
Diasumsikan kondisi lalu lintas di jalan besar pada rentang waktu pukul
23.00 - 05.30 WIB adalah lancar dengan kecepatan rata-rata kendaraan
yang dapat ditempuh sebesar 50 km/jam sehingga perhitungan waktu
tempuh pada beberapa jalan dilakukan secara manual dengan menggunakan
rumus gerak lurus beraturan (GLB) tanpa menggunakan counter time.
Alasan tidak diperhitungkannya pemberhentian saat lampu merah
dikarenakan peluang pengguna terkena lampu merah berbeda setiap waktu
sehingga waktu ekstra untuk lampu merah yang harus ditambahkan pada setiap
range waktu sulit untuk diprediksi. Meskipun demikian, pada penelitian ini
antrean panjang kendaraan yang disebabkan oleh lampu merah tetap
diperhitungkan sebagai kemacetan. Hal tersebut berdasarkan pada fakta bahwa
jumlah kendaraan di Kota Bogor sangat banyak sehingga peluang pengguna
terjebak dalan antrean ini cukup besar. Di samping itu pada kondisi sehari-hari
peristiwa ini juga lebih sering terjadi pada pengguna dibandingkan dengan
pemberhentian saat lampu merah dan lebih banyak menguras waktu pengguna di
jalan. Perbedaan dari pemberhentian saat lampu merah dengan kemacetan adalah
jika pengguna berada di antrian depan lampu merah maka hal tersebut
dikategorikan sebagai pemberhentian saat lampu merah, sebaliknya jika pengguna
berada jauh dari lampu merah yang mana saat lampu berwarna hijau pengguna
masih harus terjebak dalam lampu merah maka hal tersebut dikategorikan sebagai
kemacetan.
Pemodelan Graf dari Data
Pada tahap pemodelan graf, data yang ada diberikan beberapa perlakuan
sehingga membentuk sebuah graf yang dibutuhkan oleh penelitian ini. Beberapa
perlakuan tersebut adalah sebagai berikut:

7

1

Satukan setiap verteks dari masing-masing rute yang telah dikumpulkan
menjadi sebuah connected graph (graf terhubung)
2
Gunakan arah perjalanan pada rute sebagai aliran (flow) sehingga
membentuk sebuah directed graph dari connected graph yang ada
3
Data berupa waktu tempuh dan jarak tempuh yang didapatkan pada tahap
pengumpulan data masing-masing dijadikan sebagai bobot waktu dan bobot
jarak. Implementasikan bobot – bobot tersebut sebagai aliran beban pada
directed graph sehingga terbentuk sebuah weighted graph (graf berbobot).
Dari hasil perlakuan di atas, terbentuk sebuah graf terhubung yang memiliki
aliran bobot weighted graph (graf berbobot). Terdapat dua buah jenis bobot yang
digunakan pada penelitian ini yaitu bobot jarak dan bobot waktu. Bobot jarak
adalah sebuah nilai atau aliran beban pada weighted graph yang mewakili panjang
suatu edge, sedangkan bobot waktu mewakili waktu tempuh suatu edge. Satuan
yang digunakan pada bobot jarak di penelitian ini adalah meter, sedangkan satuan
bobot waktu yang digunakan adalah menit. Selanjutnya, graf dengan aliran bobot
waktu akan diimplementasikan algoritme Dijkstra untuk mendapatkan jalur
tercepat, sedangkan graf dengan aliran bobot jarak akan diimplementasikan
algoritme Floyd-Warshall untuk mendapatkan jalur terpendek.
Implementasi Menggunakan Algoritme Dijkstra dan
Algoritme Floyd-Warshall
Pada penelitian ini terdapat dua fungsi utama, yaitu fungsi pencarian jalur
tercepat dan jalur terpendek. Fungsi pencarian jalur tercepat menggunakan data
waktu tempuh sebagai bobotnya dan mengimplementasikan algoritme Dijkstra
untuk proses kalkulasi pencarian jalur tercepat, sedangkan fungsi pencarian jalur
terpendek menggunakan data jarak tempuh sebagai bobotnya dan
mengimplementasikan algoritme Floyd-Warshall untuk proses kalkulasi pencarian
jalur terpendek.
Algoritme Dijkstra adalah salah satu algoritme yang optimum
menyelesaikan masalah single source shortest path. Masalah single source
shortest path adalah suatu masalah yang muncul ketika diberikan sebuah graf G =
(V, E), kemudian dari graf tersebut ingin dicari sebuah path terpendek dari sebuah
verteks awal atau sumber yang mana s ϵ V ke setiap verteks v ϵ V. Graf yang dapat
digunakan pada algoritme ini adalah graf berarah dan memiliki bobot tidak negatif
w(u,v) ≥ 0 untuk setiap edge (u, v) ϵ E. Dengan implementasi yang baik, algoritme
Dijkstra dapat memiliki running time yang lebih rendah dibandingkan algoritme
lain yang menyelesaikan masalah serupa yaitu algoritme Bellman-Ford (Cormen
et al. 2009).
Algoritme Dijkstra merupakan salah satu varian dari algoritme Greedy,
yaitu salah satu algoritme yang popular dalam pemecahan permasalahan yang
terkait dengan optimasi. Algoritme Greedy sendiri memiliki prinsip mengambil
apa saja yang bisa diambil saat ini dan keputusan yang telah diambil pada setiap
langkah tidak akan bisa diulang kembali. Intinya algoritme Greedy berupaya
untuk mengambil pilihan nilai optimum lokal pada setiap langkah dan berharap
agar nilai optimum lokal ini dapat membantu mendapatkan nilai optimum global
(Cormen et al. 2009). Penggunaan strategi greedy pada algoritme Dijkstra terjadi
pada setiap langkah, yaitu dengan cara memilih biaya paling minimum dari

8

sebuah verteks awal atau verteks berlabel permanen ke verteks berlabel
sementara.
Properti agoritme Dijkstra (Widodo 2007):
1
Matriks ketetanggaan (matriks adjacent) M[mij],
mij = bobot sisi (i, j)
mii = 0
mij = ∞, jika tidak ada sisi dari verteks i ke verteks j
2
Larik S = [si],
si = 1, jika verteks i merupakan jalur terpendek (verteks berlabel permanen)
si = 0, jika verteks i bukan merupakan jalur terpendek (verteks berlabel
sementara)
3
Tabel D = [di],
di = panjang jalur (biaya) dari verteks awal s ke verteks i
Algoritme Dijkstra (Mencari jalur terpendek dari verteks awal a ke semua
verteks lainnya) (Arifianto 2012):
Langkah 0:
 inisialisasi si = 0 dan di = mai untuk langkah i = 1, 2, 3, …, n
Langkah 1:
 isi sa = 1, karena verteks a merupakan verteks awal dari pencarian jalur
terpendek, sehingga pasti dilewati. Verteks a diberi label permanen
 isi da = ∞, tidak ada jalur terpendek dari verteks a ke a
Langkah 2, 3, …, n:
 cari j sedemikian hingga sj = 0 dan dj = min {d1, d2, d3, …, dn}
 isi sj = 1, jika verteks j sudah terpilih dan diberi label permanen
 perbarui di untuk i = 1, 2, 3, …, n dengan:
di (baru) = min{di (lama), dj + mji }.
Langkah-langkah dari algoritme Dijkstra untuk lebih mudahnya dapat dilihat pada
diagram alir pada Gambar 2. Misalkan diberikan sebuah graf berarah D = (V, A),
V adalah himpunan verteks dan A adalah himpunan sisi berarah (arc) dengan V =
{v1,v2, …, vn} dan dij ≥ 0, vi,vj
. Misalkan pula setiap verteks vi dan vj anggota
V terhubungkan oleh sisi berarah eij
(kasus terburuk). Total banyaknya proses
untuk setiap pasangan verteks adalah O (n2) dengan n adalah banyaknya jumlah
verteks pada graf, sedangkan waktu eksekusi algoritme Dijkstra untuk pencarian
jalur terpendek semua pasangan verteks pada kasus terburuk mempunyai
kompleksitas O (n4) (Bahri 1997).
Algoritme lainnya yang digunakan pada penelitian adalah algoritme FloydWarshall. Algoritme Floyd-Warshall adalah salah satu algoritme yang optimum
menyelesaikan masalah all pairs shortest path. Masalah all pairs shortest path
ialah mencari path terpendek dari setiap sumber yang memungkinkan ke setiap
tujuan yang memungkinkan. Dengan kata lain, algoritme Floyd-Warshall
membandingkan semua kemungkinan lintasan pada graf untuk setiap sisi dari
semua simpul. Algoritme Floyd-Warshall merupakan salah satu varian dari
pemrograman dinamis, yaitu suatu metode yang mencari sebuah solusi masalah
dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang
saling terkait (Cormen et al. 2009).

9

Gambar 2 Diagram alir algoritme Djiktra (Suherman et al. 2011)
Pada kasus terburuk, waktu eksekusi algoritme Floyd-Warshall untuk proses
pencarian jalur terpendek semua pasangan simpul mempunyai kompleksitas O
(n3) dengan n adalah banyaknya jumlah verteks pada graf (Bahri 1997). Hal
tersebut bisa terjadi karena adanya perkiraan pengambilan keputusan (pemilihan
jalur terpendek) pada setiap tahap antara dua simpul, hingga perkiraan tersebut
diketahui bernilai optimal. Dalam proses penyelesaian menggunakan
pemrograman dinamis, pendekatan yang dilakukan ada dua macam, yaitu
pendekatan maju (forward) dan mundur (backward), dan solusi yang dihasilkan
dari kedua pendekatan itu adalah sama. Solusi yang dihasilkan dari pemrograman
dinamis bisa jadi lebih dari satu macam (Cormen et al. 2009).
Berikut adalah langkah-langkah algoritme Floyd-Warshall (Cormen et al.
2009):
1
Inisialisasikan verteks asal dan verteks tujuan

10

Menuliskan biaya edge dari verteks asal ke verteks berikutnya
Menambahkan biaya edge pada setiap verteks berikutnya sampai ke verteks
tujuan
4
Membandingkan biaya edge pada setiap kemungkinan rute yang ditemukan
5
Memilih rute dengan biaya edge paling optimal (kecil)
Algoritme Floyd-Warshall menggunakan sebuah fungsi shortestpath (i, j, k) untuk
menemukan jalur terpendek dari i ke j dengan perantara simpul 1 s.d. k. Dari
fungsi ini dapat dibangun sebuah notasi rekursif sebagai berikut:
2
3

Basis-0
shortestpath(i, j, 0) = edgeCost(i,j);
Rekurens
Shortestpath(i, j, k) = min(shortestpath(i, j, k-1), shortestpath (i, k,
k-1)+ shortestpath(k, j, k-1);)
Notasi rekursif ini merupakan inti dari algoritme Floyd-Warshall. Algoritme
ini bekerja dengan menghitung shortestpath (i, j, 1) untuk semua pasangan (i, j),
kemudian hasil tersebut akan digunakan untuk menghitung shortestpath (i, j, 2)
untuk semua pasangan (i, j) dan seterusnya. Proses ini akan berlangsung hingga
k=n dan telah ditemukan jalur terpendek untuk semua pasagan (i, j) menggunakan
simpul-simpul perantara.
Data waktu yang bersifat dinamis membutuhkan suatu mekanisme update
data. Cara kerja utama algoritme Dijkstra ialah mencari nilai optimal pada setiap
pasangan verteks. Dengan cara kerja tersebut perubahan bobot pada graf tidak
akan berpengaruh pada hasil yang telah didapatkan dari proses komputasi
sebelumnya. Hal tersebut menjadi landasan algoritme Dijkstra digunakan untuk
proses komputasi pencarian jalur tercepat pada penelitian ini. Cara kerja utama
algoritme Floyd-Warshall bersebrangan dengan cara kerja algoritme Dijkstra.
Pada proses komputasinya, algoritme Floyd-Warshall mencari nilai optimal pada
seluruh pasangan verteks. Pencarian jalur tercepat dengan mekanisme update data
di dalamnya akan memberatkan kerja sistem jika menggunakan algoritme FloydWarshall, karena dibutuhkan proses komputasi ulang pada seluruh pasangan
verteks setiap kali terjadi update data.
Sebaliknya hal tersebut tidak berlaku jika data yang digunakan adalah data
jarak tempuh yang bersifat statis seperti pada proses pencarian jalur terpendek.
Pada proses ini, algoritme Floyd-Warshall hanya melakukan sekali proses
komputasi untuk mendapatkan himpunan jalur terpendek dari seluruh pasangan
verteks. Selanjutnya saat dilakukan proses pencarian, sistem hanya perlu
menampilkan jalur terpendek sesuai dengan verteks awal dan verteks tujuan yang
dimasukkan oleh user dari himpunan jalur terpendek yang telah didapatkan pada
proses sebelumnya. Berbeda dari algoritme Floyd-Warshall, algoritme Dijkstra
perlu melakukan proses komputasi setiap kali dilakukan pencarian jalur
terpendek. Merujuk pada hal tersebut, dapat dilihat bahwa algoritme FloydWarshall memiliki efisiensi yang lebih baik dibanding algoritme Dijkstra dalam
proses pencarian jalur terpendek dengan menggunakan data yang statis.
Pada proses implementasi menggunakan algoritme, sistem menggunakan
sebuah library khusus pembuatan graf yaitu JGraphT 8.3.0. Untuk proses
pencarian jalur terpendek, sistem cukup menggunakan algoritme Floyd-Warshall

11

yang ada pada JGraphT 8.3.0 untuk menghasilkan sebuah jalur terpendek dari
sebuah perjalanan. Khusus untuk fungsi pencarian jalur terpendek, proses
implementasi algoritme dan komputasi sudah selesai pada tahap ini.
Fungsi pencarian jalur tercepat memiliki bobot waktu tempuh yang berbeda
pada setiap rentang waktu. Hal ini disebabkan oleh kondisi lalu lintas antar jalan
yang terus berubah setiap menitnya. Namun, mengacu pada ruang lingkup
penelitian yang memiliki asumsi bahwa tidak terjadi perubahan kondisi lalu lintas
yang sangat signifikan setiap 30 menit, maka perubahan bobot waktu tempuh pada
setiap edge hanya terjadi jika terdapat perpindahan rentang waktu di dalam
perjalanan menuju tempat tujuan.
Menggunakan graf yang telah dibuat dan library JGraphT 8.3.0, langkahlangkah proses pencarian jalur tercepat adalah sebagai berikut:
Langkah 1: Inisialisasi verteks awal (V0) atau lokasi berangkat, verteks tujuan (Vt)
atau lokasi tujuan, serta hari dan waktu keberangkatan
Langkah 2: Analisis graf yang digunakan sesuai dengan hari dan waktu
keberangkatan yang dimasukkan. Sebagai contoh, jika hari dan
waktu keberangkatan dimasukkan adalah hari Jumat pukul 11.47,
maka graf yang digunakan adalah graf yang berisi data waktu
tempuh setiap edge pada hari Jumat rentang waktu pukul 11.3012.00
Langkah 3: Implementasikan algoritme Dijkstra pada graf dengan menggunakan
library JGraphT 8.3.0. Keluaran yang dihasilkan pada proses ini
adalah sebuah list edge dari verteks awal ke verteks tujuan dengan
jalur tercepat berdasarkan dari perhitungan menggunakan algoritme
Dijkstra
Langkah 4: Jumlahkan waktu tempuh pada setiap edge hingga verteks ke- n (Vn)
atau verteks seterusnya setelah verteks awal sama dengan verteks
tujuan (Vt). Bila saat proses penjumlahan Vn sudah merupakan Vt,
maka total waktu tempuh adalah hasil penjumlahan waktu tempuh
dari V0 sampai Vn, sebaliknya jika saat proses penjumlahan Vn belum
sama dengan Vt namun didapatkan hasil waktu tempuh telah
melebihi rentang waktu, maka proses penjumlahan berhenti
sementara dan dilakukan perpindahan graf. Pada kondisi ini, graf
yang digunakan berpindah ke graf yang memiliki data waktu untuk
rentang waktu berikutnya. Menggunakan contoh seperti pada
langkah 2, jika jumlah waktu tempuh sampai Vn melebihi 13 menit
sehingga melewati rentang waktu pukul 12.00, untuk verteks
selanjutnya (Vn+1,Vn+2,.., Vt) akan digunakan graf representasi data
waktu tempuh hari Jumat rentang waktu pukul 12.30 – 13.00
Langkah 5: Gunakan verteks selanjutnya dari verteks terakhir yang berada pada
graf sebelumnya sebagai verteks awal untuk proses komputasi di graf
baru. Mengacu pada contoh di langkah 4, Vn+1 sebagai verteks
selanjutnya dari Vn diinisialisasi sebagai verteks awal baru untuk
proses pencarian jalur terpendek menuju verteks tujuan (Vt) pada graf
baru. Pada langkah ini, terjadi proses rekursif kembali ke langkah 3.
Untuk iterasi selanjutnya pada langkah 4, jika proses penjumlahan
sudah mencapai verteks akhir (Vt) dan total waktu tempuhnya tidak
melebihi rentang waktu, maka total waktu tempuh perjalanan dari

12

verteks awal (V0) sampai verteks tujuan (Vt) adalah total waktu
tempuh V0 sampai Vn pada graf awal ditambah total waktu tempuh
Vn+1 sampai Vt pada graf baru. Tampilkan list edge jalur tercepat dari
iterasi pertama langkah 3 sebagai jalur tercepat dari verteks awal (V0)
ke verteks tujuan (Vt).
Langkah-langkah di atas untuk lebih mudahnya dapat dilihat pada diagram alir
pada Gambar 3.
Evaluasi Hasil
Evaluasi hasil dilakukan untuk mengevaluasi hasil yang dikeluarkan oleh
sistem yaitu berupa jalur tercepat yang paling optimum dari sebuah perjalanan di
Kota Bogor dan membuktikan bahwa jalur terpendek tidak selalu menjadi jalur
tercepat pada suatu kondisi. Evaluasi hasil dilakukan dengan beberapa tahapan
sebagai berikut:
1
Membandingkan waktu tempuh jalur tercepat yang dihasilkan sistem dengan
waktu tempuh sebenarnya setelah dilakukan pengujian secara realtime
2
Menguji sebuah rute perjalanan yang merupakan jalur tercepat namun bukan
merupakan jalur terpendek berdasarkan hasil yang dikeluarkan
sistem.Pengujian dilakukan dengan membandingkan waktu tempuh kedua
jalur setelah dilakukan pengukuran secara realtime
3
Menguji sebuah rute perjalanan yang bukan merupakan jalur tercepat
maupun jalur terpendek yang dihasilkan oleh sistem. Pengujian dilakukan
dengan cara mengukur waktu tempuh rute perjalanan tersebut secara
realtime, kemudian membandingkan hasilnya dengan waktu tempuh jalur
tercepat dan jalur terpendek yang dihasilkan sistem.
Implementasi Sistem
Implementasi sistem dilakukan dalam lingkungan pengembangan aplikasi
menggunakan bahasa pemrograman Java, library komputasi JGraphT 0.8.3, dan
NetBeans IDE 6.7.1. Sistem yang dikembangkan memiliki fungsi untuk mencari
rute perjalanan terbaik, baik berupa jalur tercepat maupun jalur terpendek dari
suatu lokasi keberangkatan ke lokasi tujuan sesuai dengan kondisi lalu lintas jalan
pada hari dan waktu keberangkatan, serta mampu memperkirakan waktu tempuh
total, jarak tempuh total, dan waktu tiba.
Pada tahap ini dihitung running time dari masing-masing proses baik
pencarian jalur tercepat maupun pencarian jalur terpendek. Dari masing-masing
proses tersebut dipilih hasil yang dapat mewakili hasil pencarian dengan jumlah
verteks yang banyak dan hasil pencarian dengan jumlah verteks sedikit untuk
masing-masing dihitung running time-nya. Hal ini dilakukan untuk membuktikan
bahwa sistem telah bekerja sesuai dengan algoritme yang digunakan.

13

Mulai

Masukkan: verteks awal
(V0), verteks tujuan (Vt),
dan waktu berangkat

Menentukan graf yang sesuai
dengan rentang waktu dan hari
berangkat

Jalankan algoritme Dijkstra pada
graf berbobot waktu tempuh

List edge untuk jalur
tercepat

Jumlahkan bobot setiap edge
hasil

Vn = Vt

Total bobot sampai
verteks ke-n (Vn)
melebihi rentang
waktu

Graf sekarang = graf
rentang waktu selanjutnya

Total bobot sampai
verteks tujuan (Vt) =
Total waktu tempuh

Tampilkan seluruh
list edge untuk jalur
tercepat

Selesai

V0 = Vn

Gambar 3 Diagram alir proses pencarian jalur tercepat

14

HASIL
Penentuan Wilayah Penelitian dan Pengumpulan Data
Proses pengumpulan data pada penelitian ini menggunakan metode
observasi dan studi pustaka. Studi pustaka yang digunakan berupa data-data yang
disediakan pada Google Map. Data yang diperoleh dari studi pustaka yang
dilakukan yaitu 13 rute yang disarankan oleh Google Map yang menghubungkan
tiga titik acuan wilayah penelitian. Ketiga titik tersebut ialah IPB Dramaga, IPB
Baranangsiang, dan Stasiun Bogor. Penggunaan rute yang disarankan oleh Google
Map sebagai salah satu sumber data mengacu pada keefisienan data dengan hanya
menggunakan rute perjalanan yang paling efektif baik dari segi jarak maupun
waktu. Dari 13 rute perjalanan yang disarankan tersebut, diperoleh 36 buah
verteks di dalamnya. Berdasarkan observasi langsung ke wilayah penelitian, data
yang diperoleh yaitu satu buah rute perjalanan yang memiliki lima buah verteks di
dalamnya. Rute tersebut dipilih karena memiliki keefisienan waktu perjalanan
berdasarkan pengamatan dan pengalaman. Secara keseluruhan dari hasil
pengumpulan data yang telah dilakukan, didapatkan 41 buah verteks dan 102 edge
dari dua arah perjalanan yang menghubungkan tiga titik utama wilayah penelitian.
Pemodelan Graf dari Data
Data berupa verteks dan edge disertai bobot jarak dan waktu yang
dihasilkan pada tahapan sebelumnya, pada tahap ini dibentuk menjadi beberapa
graf. Pembuatan graf untuk fungsi pencarian jalur terpendek menggunakan data
bobot jarak. Graf yang dihasilkan untuk fungsi ini sejumlah satu buah, karena data
jarak yang statis atau tidak berubah. Untuk fungsi pencarian jalur tercepat
menggunakan data bobot waktu. Graf yang dibuat untuk fungsi ini sejumlah 144
buah. Nilai tersebut didapatkan dari perkalian jumlah hari dengan jumlah range
waktu dalam sehari. Pada penelitian ini dengan menggunakan asumsi reliabilitas
waktu perjalanan yang tinggi, maka digunakan tiga buah variabel yang mewakili
hari dalam seminggu. Hari normal atau hari kerja (Senin hingga Jumat)
direpresentasikan oleh satu buah variabel hari Senin, sedangkan hari Sabtu dan
Minggu masing – masing direpresentasikan oleh sebuah variabel hari Sabtu dan
Minggu. Rentang waktu yang digunakan pada penelitian ini sebesar 30 menit
sehingga dalam sehari terdapat 48 buah range waktu. Masing – masing graf
mewakili setiap range waktu dari masing – masing variabel hari. Hal ini
disebabkan oleh kondisi kepadatan lalu lintas yang bergerak dinamis dengan
waktu, sehingga waktu tempuh dari sebuah perjalanan dapat berubah seiring
waktu. Dari 145 buah graf yang diperoleh, masing – masing dibuatkan sebuah
matriks adjacent. Untuk verteks yang tidak berhubungan satu sama lain akan
dikenakan biaya tidak terhingga (∞) untuk bobotnya. Graf yang terbentuk dari
perkumpulan rute jalan yang menghubungkan antar wilayah penelitian dapat
dilihat pada Gambar 4.

15

Gambar 4 Graf yang menghubungkan antar wilayah penelitian, IPB Dramaga
(A), Laladon (B), Jalan Pajajaran (C), Stasiun Bogor (D), IPB
Baranangsiang (E)
Implementasi Menggunakan Algoritme Dijkstra dan
Algoritme Floyd-Warshall
Graf yang telah dibuat pada tahap sebelumnya diimplementasikan
menggunakan algoritme shortest path. Pada tahap ini proses komputasi dilakukan
dengan menggunakan library JGraphT 8.3.0. Langkah pertama yang dilakukan
pada tahap ini adalah mencari jalur terpendek dengan menggunakan grapt
berbobot jarak. Untuk fungsi pencarian jalur terpendek digunakan algoritme
Floyd-Warshall sebagai algoritme shortest path yang diimplementasikan ke
sistem. Pada prosesnya, algoritme Floyd-Warshall yang telah disediakan di dalam
library JGraphT 8.3.0 dalam bentuk class cukup dipanggil ke dalam main class
java project dari penelitian ini. Namun, sebelumnya inisialisasikan terlebih dahulu
data verteks dan edge ke dalam main class tersebut. Dari sini sudah dapat
ditemukan jalur terpendek dari sebuah verteks awal menuju verteks tujuan.
Langkah berikutnya pada tahap ini adalah mencari jalur tercepat
menggunakan algoritme Dijkstra. Dalam prosesnya, secara umum pada langkah
ini diberikan perlakuan yang sama seperti pada langkah sebelumnya, namun yang
membedakan adalah diperlukan proses komputasi lebih untuk mendapatkan jalur
tercepat yang dapat menyesuaikan hasil dengan perubahan waktu. Pada penelitian
ini diasumsikan perubahan kondisi kepadatan lalu lintas terjadi dengan rentang
waktu per 30 menit sehingga dalam sehari terdapat 48 range waktu dari pukul
00.00 – 23.30 WIB yang masing-masing memiliki data bobot waktu antarverteks
yang berbeda-beda. Pada proses komputasi pencarian jalur tercepat, dibuat suatu
kondisi yang dapat memberikan hasil berupa sebuah rute perjalanan dari verteks
awal ke verteks tujuan yang mampu berpindah graf sehingga selalu memberikan
jalur tercepat yang sejalan dengan perpindahan range waktu. Alur proses pada
langkah ini dapat dilihat pada Gambar 3.

16

Evaluasi Hasil
Pengujian untuk evaluasi akhir dilakukan secara realtime pada beberapa rute
jalan untuk waktu perjalanan hari Sabtu dan Minggu. Rute perjalanan yang diuji
ialah rute yang mewakili jalur tercepat sama dengan jalur terpendek pada keluaran
sistem, rute yang merupakan jalur tercepat namun bukan jalur terpendek pada
keluaran sistem, dan sebuah rute acak untuk lokasi awal dan lokasi tujuan yang
sama, namun bukan merupakan jalur terpendek maupun jalur tercepat. Evaluasi
dilakukan dengan membandingkan perkiraan waktu tempuh yang dihasilkan
sistem dengan waktu tempuh yang didapatkan secara realtime. Hasil pengujian
dapat dilihat pada Tabel 1.
Tabel 1 Hasil Pengujian
No.

Waktu

Verteks
Awal

Verteks
Tujuan

1

Jalur Tercepat IPB
Sistem
Baranang
(Sabtu, 13.30)
siang

Babakan
Raya

2

Jalur Terpendek
Sistem
(Sabtu, 13.30)

Babakan
Raya

IPB
Baranang
siang

Rute Hasil

Total
Waktu
Tempuh
Sistem
(menit)
IPB Baranangsiang ⇒ 36.7
Jalan Malabar 2 ⇒ Jalan
Pajajaran ⇒ Jalan Haji
Soleh Iskandar ⇒ Jalan
Kyai Haji Soleh Iskandar
⇒ Jalan Raden Kyai Haji
Abdullah bin Nuh ⇒
Jalan Sindang Barang
Jero ⇒ Jalan Raya Cifor
⇒ Jalan Dramaga ⇒
Pertigaan Jalan Ciherang
⇒ Hotel Duta Berlian ⇒
Jalan Babakan Raya
IPB Baranangsiang ⇒
Jalan Malabar 2 ⇒ Jalan
Pangrango ⇒ Jalan Jalak
Harupat

Jalan
Ir.H.Juanda ⇒ Stasiun
Bogor ⇒ Jalan Kapten
Muslihat ⇒ Jalan Veteran
⇒ Jalan Mayor Jenderal
Ishak Djuarsa ⇒ Jalan
Letnan Jenderal Ibrahim
Adjie ⇒ Laladon ⇒ Jalan
Raden
Kyai
Haji
Abdullah
bin
Nuh
(komplek IPB)⇒ Jalan
Dramaga ⇒ Pertigaan
Jalan Ciherang ⇒ Hotel
Duta Berlian ⇒ Jalan
Babakan Raya

Total
Waktu
Tempuh
Realtime
(menit)
37.1

46.9

17

Tabel 2 Lanjutan
3

Jalur Tercepat Babakan
Sistem
Raya
(Sabtu, 22.00)

Stasiun
Bogor

4

Jalur Terpendek Babakan
Sistem
Raya
(Sabtu, 22.00)

Stasiun
Bogor

5

Jalur Lainnya
(Sabtu, 22.00)

Stasiun
Bogor

Babakan
Raya

Jalan Babakan Raya ⇒
Hotel Duta Berlian ⇒
Pertigaan Jalan Ciherang
⇒ Jalan Dramaga ⇒
Jalan Raden Kyai Haji
Abdullah
bin
Nuh
(komplek IPB)⇒ Laladon
⇒ Jalan Letnan Jenderal
Ibrahim Adjie ⇒ Jalan
Mayor Jenderal Ishak
Djuarsa ⇒ Jalan Veteran
⇒ Jalan Kapten Muslihat
⇒ Stasiun Bogor
Jalan Babakan Raya ⇒
Hotel Duta Berlian ⇒
Pertigaan Jalan Ciherang
⇒ Jalan Dramaga ⇒
Jalan Raden Kyai Haji
Abdullah
bin
Nuh
(komplek IPB)⇒ Laladon
⇒ Jalan Letnan Jenderal
Ibrahim Adjie ⇒ Jalan
Mayor Jenderal Ishak
Djuarsa ⇒ Jalan Veteran
⇒ Jalan Kapten Muslihat
⇒ Stasiun Bogor
Jalan Babakan Raya ⇒
Hotel Duta Berlian ⇒
Pertigaan Jalan Ciherang
⇒ Jalan Dramaga ⇒
Jalan Raya Cifor ⇒ Jalan
Sindang Barang Jero ⇒
Jalan Raden Kyai Haji
Abdullah bin Nuh ⇒
Jalan Brigadir Jenderal H
Sapta Adjie Hadiprawira
⇒ Jalan Dokter Semeru
(RS.Karya Bakti ⇒ Jalan
Mawar ⇒ Jalan Merdeka
⇒ Jalan Kapten Muslihat
⇒ Stasiun Bogor

12.4

18.4

-

18.4

-

21

Implementasi Sistem

Tahap implementasi sistem menghasilkan program yang dapat menunjukkan
jalur tercepat sesuai dengan kondisi kepadatan lalu lintas jalan maupun jalur
terpendek dari sebuah verteks awal (lokasi awal) ke verteks tujuan (lokasi tujuan),
serta total waktu tempuh, jarak tempuh, dan perkiraan waktu tiba. Tampilan awal
sistem hasil implementasi dapat dilihat pada Gambar 5. Pada tampilan awal sistem

18

terdapat icon berwarna merah yang menggambarkan posisi titik jalan (verteks) di
atas peta Kota Bogor dan garis berwarna biru menggambarkan edge. Setelah
sistem dijalankan, kolom “Rute Hasil” akan menghasilkan sebuah rute perjalanan
terbaik baik berupa jalur terpendek maupun jalur tercepat sesuai dengan
masukkan yang diisi oleh pengguna. Setiap verteks pada rute tersebut ditunjukkan
oleh icon berwarna kuning pada peta Kota Bogor dan edge yang dilalui
digambarkan dengan garis berwarna biru sedangkan edge lainnya yang tidak
dilalui berwarna abu-abu. Di posisi bawah kolom “Rute Hasil” ditampilkan total
waktu tempuh dan estimasi waktu tiba dari rute yang dihasilkan di kolom “Rute
Hasil”. Tampilan sistem setelah dijalankan dapat dilihat pada Gambar 6. Pada
tahap ini juga dilakukan perhitungan running time pada proses pencarian jalur
tercepat dan pencarian jalur terpendek. Running time beberapa contoh hasil dari
masing-masing pencarian dapat dilihat pada Tabel 3.

Gambar 5 Tampilan awal sistem hasil implementasi

Gambar 6 Tampilan sistem hasil implementasi setelah dijalankan

19

Tabel 3 Running time beberapa contoh hasil pencarian
No.

Proses Pencarian

Hasil

5
17
41

Running Time
(milisecond)
9
14
18

4
17

1
1

Jumlah Verteks
1
2
3
4
5

Jalur Tercepat
Jalur Tercepat
Himpunan Jalur
Terpendek
Jalur Terpendek
Jalur Terpendek

PEMBAHASAN
Pada penelitian ini berhasil dibangun sebuah sistem yang dapat
menampilkan sebuah rute perjalanan baik berupa jalur tercepat maupun jalur
terpendek di wilayah Kota Bogor. Tidak diperhitungkannya indeks waktu buffer
(buffer time index) serta digunakannya beberapa asumsi pada proses pengumpulan
data, memungkinkan membuat perkiraan total waktu tempuh dan waktu tiba
memiliki akurasi yang rendah pada keadaan realtime. Faktor eksternal penyebab
kemacetan seperti kecelakaan lalu lintas, perbaikan jalan, acara khusus, dan lain
sebagainya yang tidak diperhitungkan dalam penelitian ini, memungkinkan
terjadinya kesalahan dari hasil sistem dalam kondisi realtime.
Dari hasil penelitian pada Tabel 1 dan Tabel 2, dapat dilihat bahwa estimasi
total waktu tempuh yang dihasilkan oleh sistem memiliki selisih yang tidak jauh
berbeda dengan t