• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA BELLMAN FORD DAN (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "IMPLEMENTASI ALGORITMA BELLMAN FORD DAN (1)"

Copied!
7
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA BELLMAN-FORD DAN

FLOYD-WARSHALL UNTUK MENCARI RUTE TERPENDEK

(STUDI KASUS: RUTE JAKARTA-JOGJA)

NASKAH PUBLIKASI

diajukan oleh

Gopinda Al Araaf

12.12.6435

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

(2)
(3)

IMPLEMENTASI ALGORITMA BELLMAN-FORD DAN FLOYD-WARSHALL UNTUK

MENCARI RUTE TERPENDEK

(STUDI KASUS: RUTE JAKARTA-JOGJA)

Gopinda Al Araaf), Nila Feby Puspitasari2),

1) Sistem Informasi STMIK AMIKOM Yogyakarta 2) Teknik Informatika STMIK AMIKOM Yogyakarta

Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283 Email : gopinda.a@students.amikom.ac.id1), nilafeby@amikom.ac.id2)

Abstract – Jakarta-Yogyakarta route is one of most popular route in Indonesia. Every day about a thousand of vehicles were crosses the path. Start from two wheeled vehicle to wheeled lot.

Especially at certain moments, the path could experience a surge in the number of vehicles is large enough. So sometimes also cause congestion on some roads. This is certainly an impact on travel time are getting longer. research will be realized in the web-based software. So anyone can use it while they are connected the internet.

Keyword: Floyd-Warshall Algorithm, Bellman-Ford Algorithm, implementation of algorithm, the shourtest path.

1. Pendahuluan

Dalam kehidupan sehari-hari, kita hampir selalu melakukan perjalanan dari suatu tempat ke tempat yang lain. Dari kota A ke kota B atau pun sebaliknya. Dan dalam melakukan perjalanan tersebut, tentu kita akan selalu mempertimbangkan tingkat efisiensi terhadap waktu dan jarak. Sehingga diperlukan suatu perencanaan

yang terukur dalam penentuan rute terpendek (

shortest-path) antara dua tempat tersebut.

Rute Jakarta-Jogja adalah salah satu rute terpopuler di Indonesia. Hampir setiap hari ada ribuan kendaraan yang melintasi jalur tersebut. Ada sekitar puluhan bahkan ratusan jalan yang menghubungkan ke dua tempat tersebut. Sehingga kemungkinan jalan yang dapat dilalui pun akan semakin banyak dan beragam.

Bagi masyarakat awam, bepergian dari Jakarta ke Jogja atau pun sebaliknya tanpa petunjuk arah tentu saja

merupakan suatu masalah. Jalur tersebut terlintasi ratusan bahkan mungkin ribuan jalan. Sehingga

kemungkinan untuk nyasar pun semakin besar. Maka

sangat diperlukan untuk diciptakan suatu alat yang tidak hanya mampu menunjukkan arah, tapi juga dapat menunjukkan jalur tercepat. Sehingga waktu perjalanan pun tidak terbuang sia-sia.

1.1 Rumusan Masalah

Berdasarkan uraian yang di atas, maka berikut adalah rumusan masalah yang diangkat dalam penelitian ini:

Bagaimana merancang suatu aplikasi yang dapat menentukan rute terpendek (shortest-path) antara Jakarta-Jogja dengan menggunakan algoritma Bellman-ford dan Floyd-Warshall-Ford?

1.2 Tujuan Penelitian

1. Menghasilkan suatu aplikasi yang dapat menghitung rute terpendek (shortest-path) dengan menggunakan algoritma Floyd-Warshall atau Bellman-Ford. menggunakan data-data GPS yang telah tersedia secara gratis oleh aplikasi Google Maps. Sehingga dalam hal ini, metode penelitian yang digunakan hanyalah metode kepustakaan.

2. Landasan Teori

2.1 Teori Graf

Teori graf pertama kali muncul pada tahun 1736. Ketika itu permasalahan yang akan diselesaikan adalah

(4)

mencari suatu rute agar dapat melewati ketujuh Jembatan Könsigsberg (Gambar 2.1) tepat satu kali dan kemudian kembali lagi ke titik semula Teori graf didefinisikan sebagai pasangan himpunan (V,E) yang ditulis dengan notasi G=(V,E). Dimana V adalah himpunan tidak-kosong dari simpul-simpul (vertices atau simpul) dan E adalah himpunan sisi (edge atau arcs) yang menghubungkan sepasang simpul. [1]

2.2 Global Positioning System (GPS)

GPS adalah sistem yang digunakan untuk menentukan letak di permukaan bumi dengan bantuan penyelarasan (synchronization) sinyal satelit. Sistem ini menggunakan 24 satelit untuk mengirimkan sinyal gelombang mikro ke Bumi. Sinyal tersebut kemudian diterima oleh alat penerima di permukaan bumi dan digunakan untuk menentukan letak, kecepatan, arah dan waktu. Sistem yang serupa dengan GPS antara lain, GLONASS dari Rusia, Galileo dari Uni Eropa, dan IRNSS dari India. [2]

2.3 Google Maps berbagai kota. Dengan tambahan street-map dan terrain view, satellite atau aerial view, dapat memberikan kemudahan bagi penggunanya dalam menggunakan perangkat tersebut. Selain itu, aplikasi ini juga bisa diakses dari mana saja dan dengan perangkat apa saja— selagi masih terkoneksi dengan internet (Frazel, 2009).

2.4 Algoritma Bellman-Ford

Algoritma Bellman-Ford adalah algoritma yang digunakan untuk mencari rute terpendek (dari satu sumber) pada sebuah graf berbobot. Artinya, dalam mencari solusi jalur terpendek, algoritma Bellman-Ford akan menghitung setiap semua jarak terpendek yang berasal dari satu titik node/simpul. Dalam penerapannya, algoritma ini hanya digunakan jika ada sisi berbobot negatif.

Sebagai contoh seperti yang ditunjukkan pada Gambar 1 di bawah ini.

Gambar 1 salahsatu contoh graf dengan sisi bernilai negatif

Dalam algoritma Bellman-Ford, apabila ingin dicari lintas dengan bobot paling sedikit dari simpul bernomor 1 ke simpul bernomor 2, maka lintasannya adalah 1-4-3-2, sehingga bobot yang didapat adalah 7-3-2=2

Berikut algoritma Bellman-Ford jika disajikan dalam bentuk notasi matematika: membutuhkan mekanisme pencarian jalur tercepat. Sementara Floyd, merupakan suatu algoritma untuk mencari jalur atau lintasan terpendek pada suatu graf berbobot (weighted graph). Algoritma ini juga dapat melakukan analisis dan penyelesaian kerumitan terhadap suatu proses. [3] (Purwanto, 2005).

Algoritma ini adalah salah satu dari beberapa varian dari pemrograman dinamis. Yaitu suatu metode pemecahan masalah yang didapat dari kesimpulan-kesimpulan yang ada.

Dalam melakukan pencarian solusi, algoritma Floyd-Warshall melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Artinya, dalam mengambil kesimpulan, algoritma Floyd-Warshall akan mengacu pada kesimpulan-kesimpulan sebelumnya.

(5)

Gambar 2 Contoh Rute

Dalam contoh di atas, diumpakan akan mencari rute terpendek dari simpul A ke simpul C. Maka yang akan dilakukan oleh algoritma Floyd-Warshall adalah:

1. Menghitung nilai jarak simpul yang dapat dijangkau.

2. Membandingkan nilai jarak tersebut dan memilih nilai jarak terendah.

3. Jika jarak antara simpul A-C lebih rendah dari pada jarak A-C melalui B, maka pilih opsi pertama. Jika tidak pilih opsi kedua.

Maka dalam implementasinya, untuk menuju simpul C, algoritma Floyd-Warshall akan melewati simpul A-B-D-C.

Berikut algoritma Floyd-Warshall jika disajikan dalam bentuk notasi matematika:

f(i, j, 0) = cost(i, j)

f(i, j, k) = min(f(i, k, k − 1) + f(k, j, k − 1), f(i, j, k − 1))

i,j,k: simpul

3. Pembahasan

3.1 Pemodelan Sistem

Pemodelan sistem yang akan dibangun pada penelitian ini adalah menggunakan bahasa pemrograman PHP. Pemodelan yang dibuat dalam optimasi pencarian rute terpendek ini menggunakan titik koordinat GPS antara lokasi awal atau asal dan lokasi akhir atau tujuan sebagai. Sedangkan dalam implemantasinya, penelitian ini akan menggunakan dua metode sekaligus, yaitu:

metode Bellman-Ford dan Floyd-Warshall.

Parameter-prameter yang digunakan dalam penelitian ini antara lain: koordinat lokasi (awal dan akhir), jalur, jarak antara simpul atau node, dan jarak total yang dihasilkan antara titik awal dan akhir.

3.2 Pemodelan Algoritma Bellman-Ford dan Floyd-Warshall

Pada pemodelan menggunakan algoritma Bellman-Ford dan Floyd-Warshall, akan dilakukan sebuah implementasi pencarian rute terpendek dari dua titik, yaitu titik asal dan titik tujuan. Ada beberapa hal yang harus dirancang dalam rangka implementasi algoritma Bellman-Ford ini, yaitu fungsi obyektif (cost function),

penentuan titik asal dan titik tujuan, baru kemudian dilakukan proses iterasi atau pencarian rute. Tiap hal tersebut akan diuraikan sebagai berikut:

a) Fungsi Obyektif

Fungsi obyektif yang dicari dalam implementasi ini adalah nilai jarak minimum antara Jakarta dan Yogyakarta.

b) Penentuan titik asal dan titik tujuan

Titik asal dan titik tujuan adalah lokasi yang menjadi acuan dari algoritma atau sistem dalam membangun rute. Dalam penelitian ini, lokasi asal dan lokasi tujuan ditentukan ke menjadi beberapa tempat. Sehingga pengguna dapat memilih salah satu di antaranya.

c) Proses iterasi

Proses iterasi dilakukan untuk mencari nilai jarak terendah antara Jakarta dan Yogyakarta setelah dilakukan penentuan lokasi seperti yang telah disebutkan di atas. Secara acak, sistem akan mencari rute terdekat berdasarkan pendekatan masing-masing algoritma.

Berdasarkan uraian di atas, akan dikembangkan sebuah pemodelan menggunakan algoritma Bellman-Ford dan Floyd-Warshall untuk pencarian rute terpendek antara Jakarta dan Yogyakarta seperti yang ditunjukkan pada Gambar 2 dan Gambar 3.

Gambar 3 Flowchart Bellman-Ford

Berikut akan dijelaskan secara detil proses iterasi dari algoritma Bellman-Ford seperti yang tersaji pada Gambar 3 di atas.

1. Aplikasi dijalankan. Dalam tahapan ini, akan diaktifkan aplikasi Xampp dan kemudian

(6)

membuka program menggunakan aplikasi

browser dan mengetik

localhost:8080/implementasi_algoritma pada kolom address bar.

2. Aplikasi akan mengambil seluruh data jalur dari database.

3. Selanjutnya dilakukan tahap inisiasi; setiap nilai jarak D dari i akan diberi nilai awal tak terdefinisi, dengan semua i tidak sama dengan d dan untuk jarak D dari node d bernilai 0. Dimana D adalah nilai jarak masing-masing simpul yang terdapat di dalam database, sementara i menunjukkan urutan simpul, dan d adalah simpul tujuan (destination).

4. Langkah selanjutnya adalah membandingkan nilai atau bobot simpul. Pada langkah ini, nilai D pada simpul i diperbaharui dengan mengecek nilai yang dari penjumlahan nilai jarak C antara simpul i dan j dengan nilai jarak D dari simpul j, untuk setiap i yang tidak sama dengan j. Sebagai catatan, nilai D adalah nilai bobot yang berada pada tabel in-progress, sementara nilai C adalah nilai yang berada pada simpul tabel yang diketahui. cetak jalur. Namun jika belum, akan kembali ke langkah no.4 dan melakukan perulangan hingga statement iterasi x = iterasi x-1.

Gambar 4 Flowchart Algoritma Floyd-Warshall Setelah dijelaskan proses pencarian rute berdasarkan algoritma Bellman-Ford, selanjutkan akan dijelaskan pula proses pencarian rute dari algoritma Floyd-Warshall.

Berdasarkan flowchart di atas, berikut ini dijelaskan secara detil proses iterasi dari algoritma Floyd-Warshall.

1. Aplikasi dijalankan. Dalam tahapan ini, akan diaktifkan aplikasi Xampp dan kemudian membuka program menggunakan aplikasi

browser dan mengetik

localhost:8080/implementasi_algoritma pada

kolom address bar.

2. Mengambil data jalur dari database.

3. Selanjutnya algoritma akan melakukan inisiasi awal; simpul i dan simpul j bernilai awal nol. Kemudian diberikan statement,jika jarak simpul i ke j kurang dari tak-terdefinisi, maka jarak yang digunakan adalah nilai dari i.

4. Memeriksa nilai bobot simpul pada tiap simpul yang dapat dijangkau langsung dari simpul awal. Pilih simpul dengan nilai jarak terkecil kemudian kemudian menuliskannya pada label jarak sementara serta ditambahkan pula urutannya (iterasi).

5. Masukan nilai jarak sementara pada tiap simpul yang belum memiliki urutan dan jarak. Nilainya adalah penjumlahan antara nilai bobot dari simpul sebelumnya dan simpul yang dijalankan. Jika simpul tersebut sudah memiliki nilai, maka hanya diganti jika nilai penjumlahan tadi lebih kecil dibanding nilai semula.

6. Kemudian aplikasi akan mengecek simpul. Jika belum menemukan simpul tujuan, maka proses pada langkah ke-5 akan terus dijalankan.

7. Selanjutnya aplikasi akan diperintahkan untuk mencetak jalur yang harus dilalui. Cetak jalur terjadi jika simpul tujuan = iterasi (x-1).

8. Kemudian aplikasi akan melakukan pengecekan nilai bobot simpul dari simpul tujuan ke simpul asal. Sayaratnya: selisih graph harus mendekati 0 tapi tidak bernilai negatif. Jika syarat terpenuhi, maka aplikasi akan memilih jalur tersebut.

9. Langkah ini akan terus berjalan hingga bertemu pada simpul tujuan.

10. Selesai.

3.3 Hasil Implementasi Algoritma

Tabel 1 Pengujian Pencarian Rute TMII (Jakarta) –

(7)

Floyd-Warshall

STMIK

Amikom

TMII 530609,632 0,0300

Tabel 2 Hasil Pengujian TMII-Malioboro

Algoritma Titik

asal

Titik

tujuan

Jarak (m) Waktu

(s)

Bellman-Ford

TMII Jl.

Malioboro

530609,632 0,00300

Floyd-Warshall

TMII Jl.

Malioboro

530609,632 0,02000

4.Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan oleh peneliti seperti yang telah diuraikan di atas, maka berikut ini beberapa kesimpulan yang bisa diambil:

1) Algoritma Bellman-Ford dan Floyd-Warshall menghasilkan output yang sama. Sehingga dapat disimpulkan bahwa algoritma Bellman-Ford dan Floyd-Warshall adalah sama dalam artian yang sebenarnya. Artinya, untuk menentukan rute terdekat antara dua titik, bisa menggunakan algoritma Bellman-Ford atau Floyd-Warshall.

2) Algoritma Bellman-Ford dan Floyd-Warshall layak dijadikan referensi untuk mencari rute terdekat antara dua simpul. Hal ini karena kedua algoritma di atas mampu menghasilkan jarak yang lebih dekat, dengan waktu proses yang lebih cepat pula tentunya, jika dibandingkan dengan metode pencarian rute secara manual.

Daftar Pustaka

[1] Munir, Rinaldi. 2005. Matematika Diskrit. Bandung: Penerbit Informatika.

[2] Winardi. 2006. Penentuan Posisi Dengan GPS Untuk Survei Terumbu Karang. Jakarta: Puslit Oseanografi —Lipi.

[3] Purwanto, Taufik H. 2004. Pemodelan Spasial Dengan Sistem Informasi Geografis untuk Analisis Jaringan Kemacetan Lalulintas Di Kotamadya Yogyakarta. Yogyakarta: Prodi Kartografi dan Penginderaan Jauh Fakultas Geografi UGM

Biodata Penulis

Gopinda Al Araaf, memperoleh gelar Sarjana Komputer

(S.Kom), Jurusan Sistem Informasi STMIK AMIKOM

Yogyakarta, lulus tahun 2016. Saat ini menjadi freelance

web programmer dan penulis konten.

Nila Feby Puspitasari, memperoleh gelar Sarjana

Komputer (S.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta. Memperoleh gelar Master of

Computer Sience (M.Cs) Program Pasca Sarjana Magister Teknologi Informasi Fakultas Ilmu Komputer Universitas Gajah Mada Yogyakarta, lulus tahun 2014. Saat ini menjadi Dosen di STMIK AMIKOM Yogyakarta.

Gambar

Gambar 1 salah satu contoh graf dengan sisi bernilainegatif
Gambar 2 Contoh Rute
Tabel 1 Pengujian Pencarian Rute TMII (Jakarta) –STMIK Amikom (Yogyakarta)
Tabel 2 Hasil Pengujian TMII-Malioboro

Referensi

Dokumen terkait

Sebaliknya, tidak dimuatnya nas-nas semisal itu—demikian kata Syafaruddin al-Musawi—oleh masing-masing imam hadis tersebut dalam kitab shahihnya merupakan manipulasi golongan Sunni

Dari hasil analisis dan pengamatan pada penelitian ini serta mengacu pada hipotesis dapat disimpulkan bahwa: ada peningkatan kemampuan memahami teks dengan

Komunikasi adalah proses penyampaian atau penerimaan pesan dari satu orang kepada orang lain, baik langsung maupun tidak langsung, secara tertulis, lisan,

Peneliti : Permisi Ma..Maaf ya Ma, saya mau wawancara sama Mama tentang bimbingan keagamaan orang tua dalam membentuk akhlak anak usia dini.. Peneliti : Bagaimana

(sama ada terkandung dalam permohonan ini atau diperolehi dengan cara lain, termasuk melalui agensi pelaporan kredit) boleh dipegang, digunakan dan diberikan oleh AIA

Program ini merupakan program yang terintegrasi antara sosialisasi bencana, sanitasi lingkungan yang dilakukan dengan bersih-bersih pantai ( coastal clean up ) dan pembuatan peta

Penelitian ini bertujuan untuk membuat sebuah Purwa Rupa Smart Building Data Center berbasis Jaringan Sensor Nirkabel sebagai sebuah Infrastruktur Internet of Things. Selain

• Adanya klaim yang dilakukan Negara terhadap kawasan hutan masyarakat adat, Negara belum mengakomodir kebutuhan masyarakat akan hutan. • Tidak adanya perlindungan