II.7 Pengenalan Algoritma Dijkstra Algoritma Dijkstra, dinamai menurut penemunya, Edsger Dijkstra, adalah
sebuah algoritma rakus greedy algorithm dalam memecahkan permasalahan jarak terpendek shortest path problem untuk sebuah graf berarah directed graph dengan
bobot-bobot sisi edge weights yang bernilai tak-negatif. Algoritma Dijkstra dalam mencari rute terpendek terdiri dalam sejumlah
langkah. Algoritma ini menggunakan prinsip greedy yang menyatakan bahwa pada setiap langkah kita memilih sisi yang berbobot minimum dan memasukkannya
kedalam himpunan solusi. Input dari algoritma ini adalah sebuah graf berarah yang berbobot weighted
directed graph G dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertex dalam graf G.
Algoritma Dijkstra merupakan algoritma pencarian rute tradisional dengan mencari node dengan fungsi terkecil. Proses ini diulang-ulang terus hingga tujuan
dicapai.
II.7.1 Skema Umum Penggunaan Algoritma Dijkstra
Sesuai dengan artinya secara harfiah berarti tamak atau rakus, algoritma Dijkstra ini hanya memikirkan solusi terbaik yang akan diambil pada setiap langkah
tanpa memikirkan konsekuensi kedepan, prinsipnya ambillah apa yang bisa didapatkan saat ini.
Lintasan dari simpul asal haruslah merupakan lintasan terpendek diantara semua lintasannya ke simpul-simpul yang belum terpilih. Dengan kata lain strategi
Universitas Sumatera Utara
dari algoritma ini adalah ambillah lintasan yang memiliki bobot minimum yang menghubungkan sebuah simpul yang sudah terpilih dengan simpul yang belum
terpilih. Lintasan dari simpul asal ke simpul yang baru haruslah merupakan lintasan terpendek diantara semua lintasannya ke semua simpul-simpul yang belum terpilih.
Elemen elemen algoritma Dijkstra adalah : 1.
Himpunan kandidat, C Himpunan ini berisi elemen-elemen yang memiliki peluang untuk membentuk
solusi. Pada solusi lintasan terpendek himpunan kandidat ini adalah himpunan simpul pada lintasan tersebut.
2. Himpunan solusi, S
Himpunan ini berisi solusi dari permasalahan yang diselesaikan dan elemennya terdiri dari elemen dalam kandidat namun tidak semuanya atau
dengan kata lain himpunan solusi ini adalah bagian dari himpunan kandidat. 3.
Fungsi seleksi Fungsi seleksi adalah fungsi yang akan memilih setiap kandidat yang akan
memungkinkan akan menghasilkan solusi optimal pada setiap langkahnya. 4.
Fungsi kelayakan Fungsi kelayakan akan memeriksa apakah suatu kandidat yang terpilih
terseleksi melanggar congstraint atau tidak. Apabila kandidat melanggar constraint maka kandidat tidak akan dimaksudkan kedalam himpunan solusi.
Universitas Sumatera Utara
5. Fungsi Objektif
Fungsi objektif akan memaksimalkan atau meminimalkan nilai solusi. Tujuannya adalah memilih satu saja solusi terbaik dari masing-masing
anggota himpunan solusi.
Contoh algoritma Dikstra :
a merupakan node awal b, c, dan d merupakan kandidat pembentuk solusi
d merupakan himpunan solusi
Universitas Sumatera Utara
d merupakan titik vertex ke-2 c dan e merupakan kandidat solusi
titik e merupakan solusi
II.7.2 Analisis Hasil Algoritma Dijkstra