1 / 26

ALGORITMA DIJKSTRA

ALGORITMA DIJKSTRA. Kuliah ke 6 Strategi Algoritma. Teknik Informatika Universitas Ahmad Dahlan.

argus
Download Presentation

ALGORITMA DIJKSTRA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ALGORITMA DIJKSTRA Kuliahke 6 StrategiAlgoritma TeknikInformatika Universitas Ahmad Dahlan

  2. Algoritma Dijkstra diterapkan untuk mencari lintasan terpendek pada graf berarah. Namun, algoritma ini juga benar untuk graf tak berarah. Algoritma Dijkstra mencari lintasan terpendek dalam sejumlah langkah. Algoritma ini menggunakan prinsip greedy. Prinsip greedy pada algoritma dijkstra menyatakan bahwa pada setiap langkah kita memilih sisi yang berbobot minimum dan memasukannya dalam himpunan solusi.

  3. Misalkan sebuah graf berbobot dengan n buah simpul dinyatakan dengan matriks M=[mij], yang dalam hal ini: mij = bobot sisi (i,j) (pada graf tak berarah mij =mji ) mii = 0 mij = ∞ , jika tidak ada sisi dari simpul I ke simpul j Selain matriks M, juga menggunakan tabel S=[si], yang dalam hal ini: si = 1, jika simpul i termasuk ke dalam lintasan terpendek si = 0, jika simpul i tidak termasuk ke dalam lintasan terpendek dan tabel D=[di], yang dalam hal ini di = panjang lintasan dari simpul awal a ke simpul i

  4. Contoh Graf yang menyatakan beberapa kota di Amerika

  5. Matriks M=

  6. Perhitungan lintasan terpendek dari simpul awal a = 5 ke semua simpul lainnya ditabulasikan sebagai berikut.

  7. Jadi, lintasan terpendek dari: 5 ke 6 adalah 5,6 dengan jarak = 250 5 ke 7 adalah 5,6,7 dengan jarak = 1150 5 ke 4 adalah 5,6,4 dengan jarak = 1250 5 ke 8 adalah 5,6,8 dengan jarak = 1650 5 ke 3 adalah 5,6,4,3 dengan jarak = 2450 5 ke 2 adalah 5,6,4,3,2 dengan jarak = 3250 5 ke1 adalah 5,6,8,1 dengan jarak = 3350

  8. CONTOH ALGORITMA DIJKSTRA

  9. Algorima Dijkstra dinyatakan dalam notasi pseudo-code sebagai berikut: procedure Dijkstra(input m: matriks, a: simpul awal) {Mencari lintasan terpendek dari simpul awal a ke semua simpul lainnya. Masukan: matriks (m) dari graf berbobot G dan simpul awal a. Keluaran: lintasan terpendek dari a ke semua simpul lainnya } Deklarasi s1, s2,…, sn : integer d1, d2,…, dn : integer i, j, k : integer

  10. Algoritma {langkah 0 inisialisasi: } for i ← 1 to n do si ← 0 di ← mai endfor {langkah1:} sa ← 1 {karena simpul a adalah simpul asal lintasan terpendek, jadisimpul a sudah pasti terpilih dalam lintasan terpendek} da ← ∞ {tidak ada lintasan terpendek dari simpul a ke a} {langkah 2, 3, …, n-1: } for k ← 2 to n-1 do j ← simpul dengan sj = 0 dan dj minimal sj ← 1b{simpul j sudah terpilih ke dalam lintasan terpendek} {perbarui table d} for semua simpul i dengan si = 0 do if dj + mji < di then di ← dj + mji endif endfor endfor

  11. Penerapan Algoritma Dijkstra pada Jaringan Komputer Jaringan komputer dapat dimodelkan sebagai sebuah graf, dengan setiap simpul menyatakan sebuah komputer/router dan sisi di dalam graf menyatakan saluran komunikasi (sering disebut link). Setiap sisi mempunyai label nilai ( yang disebut bobot). Bobot tersebut dapat menyatakan jarak geografis(dalam km), kecepatan transfer data, waktu pengiriman).

  12. Lanjutan (Penerapan Algoritma Dijkstra pada Jaringan Komputer) Mencari lintasan terpendek dari router asal ke router tujuan dapat diartikan sebagai menentukan lintasan terpendek dari simpul asal ke simpul tujuan di dalam graf yang merepresentasikan jaringan komputer tersebut. Algoritma Dijkstra adalah algoritma yang banyak digunakan untuk mencari lintasan terpendek.

  13. Referensi • RinaldiMunir, 2010, Diktat KuliahStrategiAlgoritmaITB • Gilles Brassard, 1996, Fundamental Of Algoritmh, Prentice Hall, New Jersey • Cormen et al, 2009, Introduction to Algorithms : thrid edition, MIT

More Related