Upload
lanzi
View
228
Download
0
Embed Size (px)
Citation preview
7/29/2019 Algoritma Dijkstra Dan Floyd
1/3
Algoritma Dijkstra dan Floyd-Warshall
Lumayan, nie ilmu buat nambah Logika yang bakalan berguna di pemprograman, tipe analis.dimana berfungsi dalam penentuan keputusan, simak dulu deh tentan algoritma berikut.
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.
Misalnya, bila vertices dari sebuah graf melambangkan kota-kota dan bobot sisi (edge weights)
melambangkan jarak antara kota-kota tersebut, maka algoritma Dijkstra dapat digunakan untuk
menemukan jarak terpendek antara dua kota.
Input algoritma ini adalah sebuah graf berarah yang berbobot (weighted directed graph) G dan
sebuah sumbervertexs dalam G dan Vadalah himpunan semua vertices dalam graph G.
Setiap sisi dari graf ini adalah pasangan vertices (u,v) yang melambangkan hubungan dari vertex
u ke vertexv.
Algoritma Floyd-Warshal
Algoritma Floyd-Warshall memiliki input graf berarah dan berbobot (V,E), yang berupa daftar
titik (node/vertex V) dan daftar sisi (edgeE). Jumlah bobot sisi-sisi pada sebuah jalur adalah
bobot jalur tersebut. Sisi padaE diperbolehkan memiliki bobot negatif, akan tetapi tidak
diperbolehkan bagi graf ini untuk memiliki siklus dengan bobot negatif. Algoritma ini
http://id.wikipedia.org/wiki/Edsger_Dijkstrahttp://id.wikipedia.org/wiki/Edsger_Dijkstrahttp://id.wikipedia.org/w/index.php?title=Vertices&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Vertex&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Vertices&action=edit&redlink=1http://diazscript.files.wordpress.com/2010/05/dijksta_anim.gifhttp://id.wikipedia.org/w/index.php?title=Vertices&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Vertex&action=edit&redlink=1http://id.wikipedia.org/w/index.php?title=Vertices&action=edit&redlink=1http://id.wikipedia.org/wiki/Edsger_Dijkstra7/29/2019 Algoritma Dijkstra Dan Floyd
2/3
menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik, dan
melakukannya sekaligus untuk semua pasangan titik.
Contoh :
Dari Titik F Menuju Titik C ada berapa cara :
(|F|A|B|C) >91Km
(|F|A|D|C) >107Km
(|F|A|F|E|D|C) >114Km
(|F|A|F|E|D|C) >114Km
(|F|E|D|C) >80Km
(|F|E|D|C) >80Km
Nah, dengan algoritma Flody ini , kita dapat mendapatkan informasi yang sedemikian rupa untukkita timbang dan menentukan jalur yang paling efisien.
PERBEDAAN
1. Algoritma Dijkstra yang menerapkan prinsip greedytidak selalu berhasil memberikan solusi
optimumuntuk kasus penentuan lintasan terpendek (single pairshortest path).
2. Algoritma Floyd-Warshall yang menerapkanpemrograman dinamis lebih menjaminkeberhasilanpenemuan solusi optimum untuk kasus penentuanlintasan terpendek (single pair
shortest path).
Nah.. Kemudian apa sie kegunaan kedua algoritma tersebut ? ya.. mereka digunaka untuk
memabntu dalam menetukan keputusan, manakah yang paling cepat dan mana yang palingefisien, dengan demikian algoritma tersebtu dapat kita gunakan dalam salah satu contoh
PPC. dimana kita dapat menentukan waktu, titik kritis dan macam sebagainya.
contoh contoh pengaplikasiannya
1. Himpunan kandidat, C
Himpunan ini berisi elemen-elemen yang memiliki peluang untuk membentuk solusi. Padapersoalan lintasan terpendek dalam graf, himpunan kandidat ini adalah himpunan simpul pada
graf tersebut.2.Himpunan solusi, SHimpunan ini berisi solusi dari permasalahan yangdiselesaikan dan
elemennya terdiri dari elemendalam himpunan kandidat namun tidak semuanyaatau dengan kata
lain himpunan solusi ini adalahupabagian dari himpunan kandidat.3. Fungsi seleksiFungsi seleksi adalah fungsi yang akan memilihsetiap kandidat yang yang
memungkinkan untukmenghasilkan solusi optimal pada setiap langkahnya.
7/29/2019 Algoritma Dijkstra Dan Floyd
3/3
4. Fungsi kelayakanFungsi kelayakan akan memeriksa apakah suatukandidat yang telah terpilih
(terseleksi) melanggarconstraint atau tidak. Apabila kandidat melanggarconstraint maka kandidat
tidak akan dimasukkan kedalam himpunan solusi.5. Fungsi objektifFungsi objektif akan memaksimalkan ataumeminimalkan nilai solusi.
Tujuannya adalahmemilih satu saja solusi terbaik dari masing-masinganggota himpunan solusi.