Kuliah ke 6 Strategi Algoritma

Slides:



Advertisements
Presentasi serupa
Program Dinamis (Dynamic Programming)
Advertisements

ALGORITMA GREEDY : MINIMUM SPANNING TREE
Algoritma Traversal di dalam Graf
PENGURUTAN (SORTING).
Algoritma Divide and Conquer
Algoritma Branch and Bound
Graf Berarah PART 5 DOSEN : AHMAD APANDI, ST.
GRAF TIDAK BERARAH PART 2 Dosen : Ahmad Apandi, ST
Pengantar IF2091 Struktur Diskrit
Pengertian Algoritma Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh sederetan langkah instruksi yang logis.
Pengantar Matematika Diskrit
Algoritma Greedy (lanjutan)
Pendahuluan Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut Representasi : Objek : noktah, bulatan.
5. Pohon Merentang Minimum
Bahan Kuliah IF5054 Kriptografi
Apakah Matematika Diskrit itu?
APLIKASI GRAF.
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Algoritma Greedy (lanjutan)
Algoritma dan Pemrograman Subrutin
KOMPUTER DAN SISTEM INFORMASI Anifuddin Azis
Pengantar IF2091 Struktur Diskrit
Array (bagian 2).
MATERI PERKULIAHAN ANALISIS ALGORITMA
Fak. Teknologi Industri
Algoritma Bruteforce Team Fasilkom.
MATERI PERKULIAHAN ALGORITMA & PEMROGRAMAN
Algoritma Greedy.
P O H O N ( T R E E ) Fitri Utaminingrum
TERAPAN POHON BINER.
ALGORITMA DAN PEMROGRAMAN Pengantar
Greedy Pertemuan 7.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Modul 5 Algoritma & Struktur Data
Algoritma Bruteforce (disarikan dari diktat Strategi Algoritma, Rinaldi Munir) Team Fasilkom.
Algoritma Greedy (lanjutan)
ALGORITMA GREEDY, KRUSKAL, MINIMUM SPANNING TREE
Pengantar Matematika Komputer
Algoritma Runut-balik (Backtracking)
Algoritma Traversal di dalam Graf
MATRIKS (ARRAY 2 DIMENSI)
Algoritma dan Pemrograman Subrutin
Matematika Diskrit Semester Ganjil TA Short Path.
BAB 10: Short Path Matematika Diskrit DU1023 Heru Nugroho, S.Si., M.T.
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
MATRIKS (ARRAY 2 DIMENSI)
ALGORITMA DAN PEMROGRAMAN Pengantar
Trees Directed Graph Algoritma Dijkstra
ARRAY.
ALGORITMA GRAF.
Pengantar A Matematika Diskrit
TUGAS MATEMATIKA DISKRIT KELAS B (POHON) Engelinus Nana ( ) Eka Christy ( ) Engelinus Nana ( ) Eka Christy ( )
Pengantar Struktur Diskrit
Strategi Algoritma Kuliah 3 : Algoritma Efisien
ALGORITMA GREEDY : MINIMUM SPANNING TREE
Analisis dan Perancangan Algoritma
Algoritma Runut-balik (Backtracking)
Algoritma Divide and Conquer
POHON DAN APLIKASI GRAF
Pengantar Matematika Diskrit
Pengantar Matematika Diskrit
Pengantar IF2091 Struktur Diskrit
Algoritma Runut-balik (Backtracking)
Pengantar Strategi Algoritma
Pengulangan FOR - DO Temu 9.
Pengantar Matematika Diskrit
Aplikasi Graph Minimum Spaning Tree Shortest Path.
Logika Matematika/DPH1A3
Graf dan Analisa Algoritma
Transcript presentasi:

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

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.

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

Contoh Graf yang menyatakan beberapa kota di Amerika

Matriks M=

Perhitungan lintasan terpendek dari simpul awal a = 5 ke semua simpul lainnya ditabulasikan sebagai berikut. Lelaran Simpul yang dipilih Lintasan S D 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Inisial - 0 0 0 0 0 0 0 0 ∞ 1500 250 0 0 0 0 1 0 0 0 5,6 0 0 0 0 1 1 0 0 1250 1150 1650 5,6,7 0 0 0 0 1 1 1 0 5,6,4 0 0 0 1 1 1 1 0 2450 5,6,8 0 0 0 1 1 1 1 1 3350 5,6,4,3 0 1 1 1 1 1 1 1 5,6,4,3,2 3250

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

CONTOH ALGORITMA DIJKSTRA

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

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

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).

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.

Referensi Rinaldi Munir, 2010, Diktat Kuliah Strategi Algoritma ITB Gilles Brassard, 1996, Fundamental Of Algoritmh, Prentice Hall, New Jersey Cormen et al, 2009, Introduction to Algorithms : thrid edition, MIT