ALGORITMA DIJKSTRA
ALGORITMA DIJKSTRA
Algoritme Dijkstra, (sesuai penemunya Edsger
Dijkstra), adalah sebuah algoritma yang dipakai dalam memecahkan permasalahan
jarak terpendek (shortest path problem) untuk
sebuah graf berarah (directed graph).
Algoritma ini dioublikasikan pada tahun 1959 jurnal
Numerische Mathematik yang berjudul “A Note on Two Problems in
Connexion with Graphs” dan dianggap sebagai algoritma greedy.
Permasalahan rute terpendek dari sebuah titik ke akhir titik
lain adalah sebuah masalah klasik optimasi yang banyak digunakan untuk menguji
sebuah algoritma yang diusulkan. Permasalahan rute terpendek dianggap cukup
baik untuk mewakili masalah optimisasi, karena permasalahannya mudah dimengerti
(hanya menjumlahkan seluruh edge yang dilalui) namun memiliki banyak pilihan
solusi.
Menurut Andrew
Goldberg peneliti Microsoft Research Silicon Valley,
mengatakan ada banyak alasan mengapa peneliti terus mempelajari masalah
pencarian jalan terpendek. “Jalan terpendek adalah masalah
optimasi yang relevan untuk berbagai macam aplikasi, seperti jaringan routing,
game, desain sirkuit, dan pemetaan”.
Diskripsi matematis untuk grafik dapat diwakili G = {V. E}, yang berarti sebuah grafik (G) didefenisikan oleh satu set simpul (Vertex = V) dan koleksi Edge (E).
Algoritma Dijkstra bekerja dengan membuat jalur ke satu
simpul optimal pada setiap langkah. Jadi pada langkah ke n, setidaknya ada n
node yang sudah kita tahu jalur terpendek. Langkah-langkah algoritma Dijkstra
dapat dilakukan dengan langkah-langkah berikut:
- Tentukan titik mana yang akan menjadi node awal, lalu beri bobot jarak pada node pertama ke node terdekat satu per satu, Dijkstra akan melakukan pengembangan pencarian dari satu titik ke titik lain dan ke titik selanjutnya tahap demi tahap.
- Beri nilai bobot (jarak) untuk setiap titik ke titik lainnya, lalu set nilai 0 pada node awal dan nilai tak hingga terhadap node lain (belum terisi) 2.
- Set semua node yang belum dilalui dan set node awal sebagai “Node keberangkatan”
- Dari node keberangkatan, pertimbangkan node tetangga yang belum dilalui dan hitung jaraknya dari titik keberangkatan. Jika jarak ini lebih kecil dari jarak sebelumnya (yang telah terekam sebelumnya) hapus data lama, simpan ulang data jarak dengan jarak yang baru
- Saat kita selesai mempertimbangkan setiap jarak terhadap node tetangga, tandai node yang telah dilalui sebagai “Node dilewati”. Node yang dilewati tidak akan pernah di cek kembali, jarak yang disimpan adalah jarak terakhir dan yang paling minimal bobotnya.
- Set “Node belum dilewati” dengan jarak terkecil (dari node keberangkatan) sebagai “Node Keberangkatan” selanjutnya dan ulangi langkah Saat ini sudah banyak algoritma yang bisa digunakan untuk menemukan pencarian rute terpendek, dan tidak bisa di pungkiri Djikstra masih menjadi salah satu yang populer dari sekian banyak algoritma tersebut. Pada postingan kali ini kita akan membahas mendetail mulai dari apa itu algoritma djikstra dan dan bagaimana cara kerja algoritma djikstra
.
Sebagai contoh hitunglah Jarak terdekat dari V1 ke V7 pada
gambar berikut ini.

Hasil setiap stepnya dapat dilihat pada tabel berikut ini.

Dengan demikian jarak terpendek dari V1 ke V7 adalah 16
dengan jalur V1->V2->V3->V5->V6->V7
Note : Bahkan menurut Andrew Goldberg, peneliti utama di Microsoft Research Silicon Valley,
mengatakan ada banyak alasan mengapa peneliti terus mempelajari masalah
pencarian jalan terpendek.
“Jalan terpendek adalah masalah optimasi yang relevan
untuk berbagai macam aplikasi, seperti jaringan routing, game, desain sirkuit,
dan pemetaan,” – Goldberg. “Industri selalu datang dengan
aplikasi baru sepanjang waktu, membuat parameter yang berbeda untuk tiap
masalah.
Teknologi dengan lebih banyak kecepatan dan kapasitas
memungkinkan kita untuk memecahkan masalah yang lebih besar, sehingga dalam
lingkup masalah jalan terpendek maka akan selalu ada optimasi.
Semoga Bermanfaat ! 😉
Daftar pustaka
Daftar pustaka
https://mti.binus.ac.id/2017/11/28/algoritma-dijkstra/
https://wirasetiawan.blog/2015/04/02/tentang-algoritma-dijkstra/
Komentar
Posting Komentar