Contoh Penerapan Program Dinamis dalam Algoritma Floyd-Warshall

dokumen-dokumen yang mirip
Pencarian Jalur Terpendek Pada Sistem Jaringan Komputer Menggunakan Algoritma Program Dinamis

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek

Penerapan Graf dalam Optimasi Jalur Penerbangan Komersial dengan Floyd-Warshall Algorithm

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Menentukan Arah Pukulan Terbaik dalam Pertandingan Bulutangkis Kategori Tunggal dengan Teori Graf Terbalik

Aplikasi Shortest Path dalam Strategy Game Mount & Blade: Warband

Pengembangan Teori Graf dan Algoritma Prim untuk Penentuan Rute Penerbangan Termurah pada Agen Penyusun Perjalanan Udara Daring

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

SIMPLE 3D OBJECTS AND THEIR ANIMATION USING GRAPH

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Penerapan Algoritma Prim dan Kruskal Acak dalam Pembuatan Labirin

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

Aplikasi Graf dalam Rute Pengiriman Barang

Penerapan Algoritma Greedy dalam Optimasi Keuntungan Perusahaan Pengiriman Barang

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Pengaplikasian Graf dalam Menentukan Rute Angkutan Kota Tercepat

Penentuan Rute Terpendek Tempat Wisata di Kota Tasikmalaya Dengan Algoritma Floyd-warshall

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Pengaplikasian Graf dan Algoritma Dijkstra dalam Masalah Penentuan Pengemudi Ojek Daring

Aplikasi Pohon dan Graf dalam Kaderisasi

Analisis Penerapan Algoritma Kruskal dalam Pembuatan Jaringan Distribusi Listrik

dengan Algoritma Branch and Bound

Metode Path Finding pada Game 3D Menggunakan Algoritma A* dengan Navigation Mesh

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

Implementasi Algoritma Greedy pada Permainan Ludo

BAB II LANDASAN TEORI

Penerapan Travelling Salesman Problem dalam Penentuan Rute Pesawat

Penerapan TSP pada Penentuan Rute Wahana dalam Taman Rekreasi

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

Penerapan Algoritma Greedy dalam Algoritma Penjadwalan Prosesor Tunggal Shortest Job First

Pencarian Lintasan Hamilton Terpendek untuk Taktik Safe Full Jungle Clear dalam Permainan League of Legends

Penerapan Program Dinamis Pada Sistem Navigasi Otomotif

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan Algoritma Greedy untuk Permainan Halma

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Algoritma Puzzle Pencarian Kata

Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal

Aplikasi Pohon Merentang Minimum dalam Rute Jalur Kereta Api di Pulau Jawa

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

Penerapan Pewarnaan Graf dalam Alat Pemberi Isyarat Lalu Lintas

Pendeteksian Deadlock dengan Algoritma Runut-balik

Studi Algoritma Optimasi dalam Graf Berbobot

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

ANALISIS ALGORITMA FLOYD WARSHALL UNTUK MENENTUKAN LINTASAN TERPENDEK PENGANGKUTAN SAMPAH (Studi Kasus: Pengangkutan Sampah di Kabupaten Kubu Raya)

BAB 2 LANDASAN TEORI

VISUALISASI PENCARIAN LINTASAN TERPENDEK ALGORITMA FLOYD- WARSHALL DAN DIJKSTRA MENGGUNAKAN TEX

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi

Pencarian Lintasan Terpendek Pada Aplikasi Navigasi Menggunakan Algoritma A*

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Aplikasi Teori Graf dalam Permainan Instant Insanity

Algorima Greedy Pada Self Serve Gas Station

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

ALGORITMA MENCARI LINTASAN TERPENDEK

Algoritma Prim sebagai Maze Generation Algorithm

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall

Menentukan Susunan Pengambil Tendangan Penalti dalam Skema Adu Penalti pada Pertandingan Sepak Bola dengan Algoritma Branch and Bound

PENGGUNAAN ALGORITMA FLOYD WARSHALL DALAM MASALAH JALUR TERPENDEK PADA PENENTUAN TATA LETAK PARKIR

Penerapan Algoritma Greedy dan Algoritma BFS untuk AI pada Permainan Greedy Spiders

Penerapan Algoritma Greedy dalam Algoritma Disk Scheduling Shortest Seek Time First

Penerapan Graf pada PageRank

I. PENDAHULUAN. Gambar 1: Graf sederhana (darkrabbitblog.blogspot.com )

Program Dinamis Sebagai Algoritma Dalam Link State Routing Protocol

Penggunaan Algoritma Pathfinding pada Game

PENERAPAN ALGORITMA FLOYD WARSHALL UNTUK MENENTUKAN JALUR TERPENDEK DALAM PENGIRIMAN BARANG

Implementasi Algoritma Greedy dalam Pembagian kerja pada Mesin yang Identik

Penerapan Teori Graf dan Graf Cut pada Teknik Pemisahan Objek Citra Digital

Mendeteksi Blob dengan Menggunakan Algoritma BFS

Optimalisasi Susunan Tempat Duduk Kereta Api Menggunakan Algoritma Greedy dan Program Dinamis

Analisis dan Strategi Algoritma

PENENTUAN RUTE TERPENDEK PADA OPTIMALISASI JALUR PENDISTRIBUSIAN BARANG DI PT. X DENGAN MENERAPKAN ALGORITMA FLOYD-WARSHALL

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

Pencarian Lintasan Terpendek Jalur Pendakian Gunung dengan Program Dinamis

Aplikasi Pewarnaan Graf Pada Pengaturan Warna Lampu Lalu Lintas

Pemanfaatan Algoritma Sequential Search dalam Pewarnaan Graf untuk Alokasi Memori Komputer

Penggunaan Algoritma Brute Force dan Greedy dalam Permainan Atomas

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

Menyelesaikan Topological Sort Menggunakan Directed Acyclic Graph

Pencarian Jalur Terpendek dengan Menggunakan Graf dan Greedy dalam Kehidupan Sehari-hari

Pemilihan Monster yang Akan Digunakan dalam Permainan Yu-Gi-Oh! Capsule Monster Coliseum

Aplikasi Graf Berbobot dalam Menentukan Jalur Angkot (Angkutan Kota) Tercepat

1. PENDAHULUAN 1.1 Latar Belakang

Keunggulan Penyelesaian Persamaan Linear dengan Metode Dekomposisi LU dalam Komputerisasi

Pembuktian Cayley s Formula dengan Prüfer Sequence

Transkripsi:

Contoh Penerapan Program Dinamis dalam Algoritma Floyd-Warshall Letivany Aldina/13514067 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 13514067@std.stei.itb.ac.id Abstract Algoritma Floyd-Warshall merupakan salah satu jenis algoritma dalam program dinamis yang menyelesaikan permasalahan pencarian jalur terpendek. Prinsip penyelesaian masalah dalam algoritma ini sama dengan algoritma pencarian jalur terpendek lainnya dalam program dinamis, namun algoritma ini menggunakan graf berbobot berarah dengan bobot sisi positif atau negatif, tanpa memiliki siklus negatif. Dalam makalah ini, akan dibahas bagaimana detail langkah strategi yang digunakan dalam pencarian jalur terpendek menggunakan algoritma Floyd-Warshall ini. Kata kunci Algoritma Floyd-Warshall, Matriks ketetanggaan, Pencarian jalur terpendek, Program dinamis. I. PENDAHULUAN Algoritma Floyd-Warshall merupakan algoritma pencarian jalur terpendek menggunakan graf berbobot berarah dengan bobot sisi positif atau negatif, namun tidak memiliki siklus dengan bobot negatif. Algoritma ini menghitung jarak terpendek dari seluruh pasangan simpul dalam graf berbobot berarah. Salah satu contoh penerapan algoritma Floyd- Warshall ini adalah dalam peta jalan. Sumber: www.cs.ucf.edu/~sarahb/.../dynprog_floydwarshall.ppt Algoritma ini mengembalikan bobot terkecil untuk setiap pasangan simpul. Pada dasarnya, algoritma ini tidak mengembalikan urutan jalur yang ditempuh untuk mendapatkan bobot terkecil dari satu simpul ke simpul lainnya, namun dengan modifikasi tertentu dapat didapatkan urutan jalur yang ditempuh untuk mendapatkan lintasan terpendek dari pasangan simpul yang dibutuhkan atau untuk setiap pasangan simpul. Penyelesaian masalah dalam algoritma Floyd-Warshall menggunakan matriks ketetanggaan antar simpul. Algoritma ini juga menggunakan simpul-simpul intermediate untuk memproses matriks ketetanggaan sehingga didapatkan seluruh jarak terpendek untuk setiap pasangan simpul. Apabila terdapat n simpul, maka matriks tersebut diproses dari k = 1, k = 2, sampai k = n. Kemudian untuk setiap matriks, diproses kembali berdasarkan simpul yang dijadikan simpul intermediate. Pemrosesan satu matriks menggunakan rumus sebagai berikut: A k [i,j] = min {A k-1 [i,j], A k-1 [i,k] + A k-1 [k,j]} A = matriks ketetanggaan berbobot i = baris matriks j = kolom matriks k = simpul yang menjadi simpul intermediate min = fungsi yang meminimumkan bobot sisi Secara umum, langkah-langkah dalam pemecahan masalah pencarian jalur terpendek menggunakan algoritma Floyd- Warshall adalah sebagai berikut: 1. Misalkan terdapat graf berbobot berarah G = (V, E), dimana V adalah simpul dan E adalah sisi yang bersisian dengan simpul tersebut. 2. V = n. Dimana n merupakan jumlah simpul yang ada di dalam graf tersebut. 3. Membuat matriks ketetanggaan dari persoalan graf G. 4. Misalkan simpul intermediate adalah k, maka dimulai dari k = 1, k = 2, sampai k = n, matriks tersebut diproses menghasilkan elemen-elemen baru. 5. Untuk setiap proses di dalam sebuah matriks, seluruh elemen matriks pada baris k dan kolom k mempunyai nilai yang sama dengan matriks sebelumnya. Pada pemrosesan pertama, elemen matriks yang digunakan adalah elemen matriks saat matriks belum diproses. 6. Untuk setiap proses di dalam sebuah matriks, elemen diagonal matriks juga tetap memiliki nilai yang sama, yakni nol, karena tidak terdapat sisi dari dan ke simpul yang sama. 7. Elemen yang masih belum diproses atau masih kosong, diproses menggunakan rumus algoritma Foyd-Warshall. 8. Setelah seluruh matriks diproses, elemen-elemen pada

proses matriks terakhir menunjukkan bobot terkecil sebagai jalur terpendek yang dapat ditempuh antar pasangan simpul. A 1 1 0 3 7 II. CONTOH PENYELESAIAN MASALAH Misalkan terdapat graf bobot berarah sebagai berikut: 2 8 0 3 5 0 4 2 0 Untuk setiap elemen matriks yang masih kosong, maka diterapkan rumus algoritma Floyd-Warshall dengan k = 1, yakni sebagai berikut: A 1 [i,j] = min {A 0 [i,j], A 0 [i,1] + A 0 [1,j]} Dari graf tersebut, dapat dibuat matriks ketetanggaan A 0 yang menggambarkan bobot sisi dari setiap antar simpul tersebut, yakni sebagai berikut: A 0 1 0 3 7 2 8 0 2 3 5 0 1 4 2 0 Proses pertama yang dilakukan dari matriks A 0 tersebut adalah dimulai dari k = 1. Pada proses ini, dibuat matriks baru A 1, dengan simpul intermediate adalah simpul 1. Kemudian, seluruh elemen pada baris 1 dan kolom 1 matriks A 1 adalah elemen yang sama dengan elemen pada baris 1 dan kolom di matriks A 0. Selain itu, elemen diagonal yang semuanya juga nol juga memiliki nilai yang sama karena tidak ada jalur dari dan ke simpul yang sama. Untuk setiap elemen matriks yang masih kosong, maka proses yang dilakukan adalah sebagai berikut: Elemen matriks [2,3]: A 1 [2,3] = min {A 0 [2,3], A 0 [2,1] + A 0 [1,3]} A 1 [2,3] = min {2, 8 + } A 1 [2,3] = 2 Elemen matriks [2,4]: A 1 [2,4] = min {A 0 [2,4], A 0 [2,1] + A 0 [1,4]} A 1 [2,4] = min {, 8 + 7 } A 1 [2,4] = 15 Elemen matriks [3,2]: A 1 [3,2] = min {A 0 [3,2], A 0 [3,1] + A 0 [1,2]} A 1 [3,2] = min {, 5 + 3} A 1 [3,2] = 8 Elemen matriks [3,4]: A 1 [3,4] = min {A 0 [3,4], A 0 [3,1] + A 0 [1,4]} A 1 [3,4] = min {1, 5 + 7} A 1 [3,4] = 1 Elemen matriks [4,2]: A 1 [4,2] = min {A 0 [4,2], A 0 [4,1] + A 0 [1,2]} A 1 [4,2] = min {, 2 + 3} A 1 [4,2] = 5 Elemen matriks [4,3]: A 1 [4,3] = min {A 0 [4,3], A 0 [4,1] + A 0 [1,3]} A 1 [4,3] = min {, 2 + } A 1 [4,3] = Sehingga untuk k = 1, didapatkan elemen-elemen matriks A 1 sebagai berikut:

A 1 k = 1 1 0 3 7 2 8 0 2 15 4 2 5 0 Selanjutnya adalah memproses matriks A 1 dengan k = 2. Pada proses ini, dibuat kembali matriks baru A 2, dengan simpul intermediate adalah simpul 2. Proses pada langkah pertama diulang kembali dengan perbedaan elemen yang sama adalah elemen pada baris kedua dan kolom kedua dari matriks A 1. A 2 k = 2 1 0 3 A 2 [3,1] = min {A 1 [3,1], A 1 [3,2] + A 1 [2,1]} A 2 [3,1] = min {5, 8 + 8} A 2 [3,1] = 5 Elemen matriks [3,4]: A 2 [3,4] = min {A 1 [3,4], A 1 [3,2] + A 1 [2,4]} A 2 [3,4] = min {1, 8 + 15} A 2 [3,4] = 1 Elemen matriks [4,1]: A 2 [4,1] = min {A 1 [4,1], A 1 [4,2] + A 1 [2,1]} A 2 [4,1] = min {2, 5 + 8} A 2 [4,1] = 2 Elemen matriks [4,3]: A 2 [4,3] = min {A 1 [4,3], A 1 [4,2] + A 1 [2,3]} A 2 [4,3] = min {, 5 + 2} A 2 [4,1] = 7 Sehingga untuk k = 2, didapatkan elemen-elemen matriks A 2 yakni sebagai berikut: A 2 k = 2 1 0 3 5 7 2 8 0 2 15 2 8 0 2 15 3 8 0 4 5 0 Rumus algoritma Floyd-Warshall yang digunakan pada proses ini adalah sebagai berikut: A 2 [i,j] = min {A 1 [i,j], A 1 [i,2] + A 1 [2,j]} Proses ketiga adalah untuk k = 3. Dibuat matriks baru A 3. Proses yang sama dilakukan seperti pada langkah 1 dan 2, dengan elemen yang sama adalah elemen pada baris ketiga dan kolom ketiga. Untuk setiap elemen matriks yang masih kosong, maka proses yang dilakukan adalah sebagai berikut: Elemen matriks [1,3]: A 2 [1,3] = min {A 1 [1,3], A 1 [1,2] + A 1 [2,3]} A 2 [1,3] = min {, 3 + 2 } A 2 [1,3] = 5 Elemen matriks [1,4]: A 2 [1,4] = min {A 1 [1,4], A 1 [1,2] + A 1 [2,4]} A 2 [1,4] = min {7, 3 + 15 } A 2 [1,4] = 7 Elemen matriks [3,1]: A 3 k = 3 1 0 5 2 0 2

4 7 0 Rumus yang digunakan pada proses ini adalah sebagai berikut: A 3 [i,j] = min {A 2 [i,j], A 2 [i,3] + A 2 [3,j]} Proses terakhir adalah untuk k = 4. Pada proses ini,dibuat matriks A 4 dengan elemen yang sama dengan elemen pada matriks A 3 adalah seluruh elemen pada baris keempat dan kolom keempat. Untuk setiap elemen yang masih kosong, maka proses yang dilakukan adalah sebagai berikut: Elemen matriks [1,2]: A 3 [1,2] = min {A 2 [1,2], A 2 [1,3] + A 2 [3,2]} A 3 [1,2] = min {3, 5 + 8} A 3 [1,2] = 3 Elemen matriks [1,4]: A 3 [1,4] = min {A 2 [1,4], A 2 [1,3] + A 2 [3,4]} A 3 [1,4] = min {7, 5 + 1} A 3 [1,4] = 6 A 4 k = 4 1 0 6 2 0 3 3 0 1 Elemen matriks [2,1]: A 3 [2,1] = min {A 2 [2,1], A 2 [2,3] + A 2 [3,1]} A 3 [2,1] = min {8, 2 + 5} A 3 [2,1] = 7 Elemen matriks [2,4]: A 3 [2,4] = min {A 2 [2,4], A 2 [2,3] + A 2 [3,4]} A 3 [2,4] = min {15, 2 + 1} A 3 [2,4] = 3 Elemen matriks [4,1]: A 3 [4,1] = min {A 2 [4,1], A 2 [4,3] + A 2 [3,1]} A 3 [4,1] = min {2, 7 + 1} A 3 [4,1] = 2 Elemen matriks [4,2]: A 3 [4,2] = min {A 2 [4,2], A 2 [4,3] + A 2 [3,2]} A 3 [4,2] = min {5, 7 + 8} A 3 [4,2] = 5 Sehingga didapatkan elemen-elemen matriks A 3 sebagai berikut: A 3 k = 3 1 0 3 5 6 yakni Rumus yang digunakan pada proses ini adalah sebagai berikut: A 4 [i,j] = min {A 3 [i,j], A 3 [i,4] + A 3 [4,j]} Untuk setiap elemen yang masih kosong, maka proses yang dilakukan adalah sebagai berikut: Elemen matriks [1,2]: A 4 [1,2] = min {A 3 [1,2], A 3 [1,4] + A 3 [4,2]} A 4 [1,2] = min {3, 6 + 5} A 4 [1,2] = 3 Elemen matriks [1,3]: A 4 [1,3] = min {A 3 [1,3], A 3 [1,4] + A 3 [4,3]} A 4 [1,3] = min {5, 6 + 7} A 4 [1,2] = 5 Elemen matriks [2,1]: A 4 [2,1] = min {A 3 [2,1], A 3 [2,4] + A 3 [4,1]} A 4 [2,1] = min {7, 3 + 2} A 4 [2,1] = 5 Elemen matriks [2,3]: A 4 [2,3] = min {A 3 [2,3], A 3 [2,4] + A 3 [4,3]} A 4 [2,3] = min {2, 3 + 7} A 4 [2,1] = 2 2 7 0 2 3 Elemen matriks [3,1]: A 4 [3,1] = min {A 3 [3,1], A 3 [3,4] + A 3 [4,1]} A 4 [3,1] = min {5, 1 + 2} A 4 [3,1] = 3

Elemen matriks [3,2]: A 4 [3,2] = min {A 3 [3,2], A 3 [3,4] + A 3 [4,2]} A 4 [3,2] = min {8, 1 + 5} A 4 [3,2] = 6 Sehingga untuk k = 4, elemen-elemen matriks A 4 adalah sebagai berikut: A 4 k = 4 III. PSEUDO-CODE Dari pembahasan contoh persoalan tersebut, implementasi algoritma Floyd-Warshall pada dasarnya cukup sederhana.untuk setiap k = 1, k = 2, sampai k = n,setiap baris dan kolom matriks diproses menggunakan rumus algoritma Floyd-Warshall. Secara umum, berikut adalah pseudo code dari algoritma Floyd-Warshall. 1 0 3 5 6 2 5 0 2 3 3 3 6 0 1 Karena jumlah simpul pada graf contoh berjumlah 4 dan k sudah mencapai proses keempat, maka elemen-elemen matriks pada A4 merupakan bobot terkecil sebagai jalur terpendek antar pasangan simpul yang dapat ditempuh. Pasangan Simpul Jarak Terpendek 1-2 3 IV.PEMBANGUNAN JALUR TERPENDEK Pada contoh persoalan yang telah dibahas pada bagian sebelumnya, hasil yang didapatkan hanya berupa daftar bobot terkecil untuk setiap pasangan simpul, namun tidak disebutkan bagaimana lintasan yang ditempuh agar didapatkan bobot terkecil tersebut. Terdapat dua cara agar didapatkan lintasan yang ditempuh untuk mendapatkan jarak terpendek, yaitu sebagai berikut. A. Path reconstruction Pada metode ini, kita dapat menginisialisasi terlebih dahulu sebuah matriks yang menyimpan jalur yang ditempuh antara dua simpul i dan j. Simpan bobot lintasan terpendek baru antara simpul i dan j. Kemudian simpan fakta bahwa lintasan terpendek antara i dan j melewati simpul intermediate k. Berikut adalah pseudocode sederhana tentang bagaimana path reconstruction ini diimplementasikan. 1-3 5 1-4 6 2-1 5 2-3 2 Sehingga apabila digabungkan, maka pseudo-code sederhana untuk pencarian jalur terpendek menggunakan algoritma Foyd-Warshall ini adalah sebagai berikut. 2-4 3 3-1 3 3-2 6 3-4 1 4-1 2 4-2 5 4-3 7 B. Transitive Closure Pada transitive closure, pemrosesan graf akan memberikan informasi yang lengkap mengenai seluruh lintasan untuk seluruh pasangan simpul dengan bobot terkecil. Sederhananya, berikut adalah pseudo-code untuk transitive closure.

PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Sumber: www.cs.ucf.edu/~sarahb/.../dynprog_floydwarshall.ppt Bandung, 14 Mei 2018 V. CONCLUSION Algoritma Foyd-Warshall merupakan salah satu metode dalam program dinamis yang menyelesaikan all pairs shortest path. Dengan algoritma ini, didapatkan seluruh bobot terkecil untuk setiap pasangan simpul dalam sebuah graf lengkap berarah. Namun, untuk mendapatkan lintasan terpendek dari suatu pasangan simpul tertentu atau seluruh pasangan simpul, dibutuhkan modifikasi pada dasar algoritma Foyd-Warshall atau menggunakan transitive closure. Letivany Aldina/13514067 VII. ACKNOWLEDGMENT Dalam penyusunan makalah Strategi Algoritma ini, penulis ingin menyampaikan rasa syukur kepada Tuhan Yang Maha Esa atas berkah dan rahmat yang telah dilimpahkannya. Penulis juga ingin menyampaikan terima kasih kepada orang tua penulis yang selalu memberikan dukungan dalam berbagai keadaan dan situasi. Penulis juga ingin menyampaikan terima kasih kepada dosen-dosen pengajar mata kuliah Strategi Algoritma yang telah mengajarkan pokok-pokok dan pondasi dari desain dan analisis dalam mata kuliah Strategi Algoritma ini. Penulis juga tidak lupa ingin menyampaikan terima kasih kepada asisten-asisten mata kuliah Strategi Algoritma serta rekan-rekan penulis yang telah banyak membantu dan memberi arahan selama perkuliahan Strategi Algoritma ini berlangsung. REFERENCES [1] http://www.cs.ucf.edu/~dmarino/ucf/cop3503/lectures/ [2] http://www.cs.umd.edu/~meesh/351/mount/lectures/lect24-floydwarshall.pdf [3] http://home.cse.ust.hk/faculty/golin/comp271sp03/notes/myl15.pdf [4] https://web.stanford.edu/class/cs97si/07-shortest-path-algorithms.pdf [5] http://math.mit.edu/~rothvoss/18.304.1pm/presentations/1-chandler- 18.304lecture1.pdf [6] Levitin, Anany. Introduction to The Design and Analysis of Algorithms 3rd Edition. United States of America: Pearson, 2012. [7] Munir, Rinaldi. Diktat Kuliah IF2211 Strategi Algoritma. Bandung: Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Januari 2009.