8
 Oleh: Davi Apriandi Pendidikan Matematika IKIP PGRI MADIUN

algoritma_Dikjstra

Embed Size (px)

DESCRIPTION

logaritma merupakan salah satu mata kuliah

Citation preview

  • Oleh:

    Davi Apriandi

    Pendidikan Matematika

    IKIP PGRI MADIUN

  • Mencari path dengan total bobot paling minimal darisebuah graf berlabel (weighted graph).

    Weighted graph: graf yang edge-edge nya diberibobot (nilai)

    Panjang dari suatu path dalam weighted graph adalahjumlah bobot dalam path itu

    Contoh aplikasi: Menentukan jarak terpendek/waktu tempuh

    tersingkat/ongkos termurah antara dua buahkota

    Menentukan waktu tersingkat pengiriman pesan(message) antara dua buah terminal padajaringan komputer.

  • 1. Tentukan panjang lintasan minimum dari vertex a

    ke vertex e yang melewati setiap vertex tepat

    satu kali.

  • 2. Diketahui rute perjalanan tour sebagai berikut: (A) Candi

    Prambanan, (B) Pantai Parangtritis, (C) Candi Borobudur,

    (D) Malioboro, dan (E) Ambarukmo Plaza. Ada prasyarat

    dalam pemesanan rute tersebut, pertama Candi

    Prambanan harus dikunjungi terlebih dahulu kemudian

    rute terakhir Malioboro. Apabila rute perjalanan

    telah ditentukan (dalam menit) antar rute yang dilewati.

    Tentukan rute perjalanan yang paling efisien!A

    B C

    ED

    20 30

    40

    10 40

    30

    35 50

    30

    15

  • Mencari path dengan total bobot paling minimal dari sebuah graf berlabel (weighted graph).

    Weighted graph: graf yang edge-edge nyadiberi bobot (nilai)

    Panjang dari suatu path dalam weighted graphadalah jumlah bobot dalam path itu

    Misal w(i, j) adalah bobot dari edge (i,j).

  • Asumsi : graf G connected berbobot, bobot merupakan

    bilangan positif, akan dicari suatu lintasan terpendek dari

    a ke z.

    Algoritma Dijkstra

    Algoritma ini mencari panjang lintasan terpendek darivertex a ke vertex z dalam connected dan weighted

    graph.

    Bobot edge (i,j) adalah w(i,j)>0 dan label vertex x

    adalah L(x). Pada akhirnya L(z) adalah panjang

    lintasan terpendek dari a ke z

  • Input: Sebuah graf berbobot tersambung dengan

    bobot positif.

    Verteks a sampai z.

    Output: L(z), panjang lintasan terpendek dari a ke z

    1. L(a) =0.

    Untuk semua vertek x a, L(x)= ~

    2. Misal T adalah himpunan vertek-vertek

    Jika z T, stop. L(z) adalah panjang lintasan terpendek

    dari a ke z.

    3. Pilih v T dengan nilai terkecil dari L(v). T:=T-{v}

    4. Untuk tiap x T yang adjacent dengan v ,

    hitung L(x) =min{L(x), L(v) + w (v,x)}

  • Contoh:

    Carilah lintasan terpendek dari a ke z dalam graf berikut

    dengan menggunakan algoritma dijkstra!