×

“Memahami Metode Floyd dan Contoh Soalnya Cara Efisien Menemukan Jalur Terpendek dalam Graf”

“Memahami Metode Floyd dan Contoh Soalnya Cara Efisien Menemukan Jalur Terpendek dalam Graf”

Pendahuluan: Pentingnya Metode Floyd dalam Dunia Komputer

Dalam dunia ilmu komputer dan teori graf, salah satu permasalahan paling umum adalah mencari jalur terpendek antara dua titik atau simpul (nodes). Masalah ini sering muncul dalam berbagai bidang, seperti navigasi peta digital, jaringan komputer, perencanaan rute logistik, hingga sistem transportasi cerdas.

Salah satu algoritma klasik yang digunakan untuk menyelesaikan masalah tersebut adalah Metode Floyd, atau lebih dikenal sebagai Algoritma Floyd-Warshall.
Metode ini tidak hanya efisien, tetapi juga mampu menemukan jarak terpendek antara semua pasangan simpul dalam satu graf sekaligus, berbeda dengan algoritma seperti Dijkstra yang mencari jarak terpendek dari satu sumber saja.

Artikel ini akan membahas secara lengkap tentang pengertian metode Floyd, langkah-langkah perhitungannya, serta contoh soal dan pembahasannya agar mudah dipahami, terutama bagi pelajar atau mahasiswa informatika.

Baca juga :Mengenal dan Mencegah Kekerasan Seksual Contoh Soal dan Pembahasan untuk Pelajar

Apa Itu Metode Floyd (Floyd-Warshall Algorithm)?

Metode Floyd adalah algoritma yang digunakan untuk menemukan jarak terpendek antara semua pasangan simpul dalam suatu graf berbobot (weighted graph).
Algoritma ini ditemukan oleh Robert Floyd dan Stephen Warshall pada tahun 1962.

🔖 Baca juga:
Rumus Ragam Data Berkelompok + Contoh Soal dan Jawaban

Metode Floyd bekerja dengan memeriksa semua kemungkinan lintasan (path) yang dapat dilalui dari setiap simpul ke simpul lainnya, dan kemudian memperbarui jarak jika ditemukan lintasan yang lebih pendek.

Ciri-Ciri dan Karakteristik Metode Floyd

Berikut beberapa karakteristik utama dari algoritma Floyd-Warshall:

  1. Bekerja pada graf berbobot:
    Dapat digunakan pada graf berarah (directed) maupun tak berarah (undirected).
  2. Dapat mengandung bobot negatif:
    Asalkan tidak ada siklus negatif (negative cycle) di dalam graf.
  3. Menggunakan pendekatan Dynamic Programming:
    Algoritma ini menyimpan hasil perhitungan sebelumnya dan memperbaruinya untuk mencari hasil optimal.
  4. Kompleksitas waktu:
    O(n³), di mana n adalah jumlah simpul (vertices).

Rumus Umum Metode Floyd

Secara matematis, algoritma Floyd dapat dituliskan sebagai: Dij(k)=min⁡(Dij(k−1),Dik(k−1)+Dkj(k−1))D_{ij}^{(k)} = \min(D_{ij}^{(k-1)}, D_{ik}^{(k-1)} + D_{kj}^{(k-1)})Dij(k)​=min(Dij(k−1)​,Dik(k−1)​+Dkj(k−1)​)

Artinya:

  • Dij(k)D_{ij}^{(k)}Dij(k)​ adalah jarak terpendek dari simpul i ke j dengan menggunakan simpul 1 sampai k sebagai perantara.
  • Jarak akan diperbarui terus-menerus selama ditemukan lintasan yang lebih pendek.

Langkah-Langkah Algoritma Floyd

Untuk memahami algoritma ini, berikut langkah-langkahnya:

  1. Inisialisasi matriks jarak (distance matrix):
    • Jika terdapat sisi dari i ke j, maka isi dengan bobotnya.
    • Jika tidak ada jalur langsung, isi dengan ∞ (tak hingga).
    • Nilai diagonal (i = j) diisi 0.
  2. Iterasi untuk setiap simpul perantara (k):
    Untuk setiap pasangan simpul (i, j), periksa apakah melewati simpul k menghasilkan jarak yang lebih pendek: D[i][j]=min⁡(D[i][j],D[i][k]+D[k][j])D[i][j] = \min(D[i][j], D[i][k] + D[k][j])D[i][j]=min(D[i][j],D[i][k]+D[k][j])
  3. Perbarui matriks jarak:
    Setelah setiap iterasi, matriks jarak diperbarui hingga seluruh simpul telah menjadi simpul perantara.
  4. Hasil akhir:
    Matriks terakhir menunjukkan jarak terpendek antara semua pasangan simpul.

Contoh Soal Metode Floyd dan Pembahasannya

Mari kita lihat contoh soal sederhana agar lebih mudah memahami konsepnya.

Contoh Soal:

Diketahui sebuah graf dengan 4 simpul (A, B, C, D) dan bobot sebagai berikut:

DariKeBobot
AB3
AC
AD7
BA8
BC2
BD
CA5
CD1
DA2
DC
DB

Bentuk matriks awal (jarak langsung antar simpul):

ABCD
A037
B802
C501
D20

Langkah 1: Gunakan Simpul A sebagai Perantara (k = 1)

Periksa apakah melalui A dapat memberikan jarak lebih pendek.

Contoh:

  • Untuk (B, D):
    Saat ini D[B][D] = ∞
    Melalui A: D[B][A] + D[A][D] = 8 + 7 = 15
    Maka D[B][D] = 15 (lebih kecil dari ∞)

Perbarui seluruh matriks setelah k = 1:

ABCD
A037
B80215
C501
D250

Langkah 2: Gunakan Simpul B sebagai Perantara (k = 2)

Coba melalui simpul B untuk memperpendek jarak.

Contoh:

  • Untuk (A, C):
    Saat ini D[A][C] = ∞
    Melalui B: D[A][B] + D[B][C] = 3 + 2 = 5
    Maka D[A][C] = 5
  • Untuk (D, C):
    Saat ini D[D][C] = ∞
    Tidak ada perubahan karena D[D][B] = 5 dan D[B][C] = 2 → total 7
    Maka D[D][C] = 7

Hasil setelah k = 2:

ABCD
A0357
B80215
C5701
D2570

Langkah 3: Gunakan Simpul C sebagai Perantara (k = 3)

Periksa apakah melalui C ada jarak yang lebih pendek.

Contoh:

  • Untuk (B, D):
    Saat ini D[B][D] = 15
    Melalui C: D[B][C] + D[C][D] = 2 + 1 = 3
    Maka D[B][D] = 3 (lebih pendek)
  • Untuk (A, D):
    D[A][D] = 7
    Melalui C: D[A][C] + D[C][D] = 5 + 1 = 6
    Maka D[A][D] = 6

Hasil setelah k = 3:

ABCD
A0356
B8023
C5701
D2570

Langkah 4: Gunakan Simpul D sebagai Perantara (k = 4)

Periksa apakah melalui D dapat memperpendek jarak.

Contoh:

  • Untuk (C, B):
    Saat ini D[C][B] = 7
    Melalui D: D[C][D] + D[D][B] = 1 + 5 = 6
    Maka D[C][B] = 6

Setelah diperbarui:

ABCD
A0356
B5023
C5601
D2570

Kesimpulan dari Contoh Soal

Hasil akhir menunjukkan jarak terpendek antara semua pasangan simpul.
Misalnya:

  • Jarak terpendek dari A ke D adalah 6.
  • Jarak terpendek dari B ke D adalah 3.
  • Jarak terpendek dari D ke A adalah 2.

Matriks akhir tersebut merupakan hasil akhir dari Metode Floyd-Warshall.


Kelebihan dan Kekurangan Metode Floyd

Kelebihan:

  1. Dapat menghitung jarak antar semua simpul sekaligus.
  2. Algoritma sederhana dan mudah diimplementasikan.
  3. Dapat digunakan untuk graf dengan bobot negatif (tanpa siklus negatif).

Kekurangan:

  1. Kompleksitas tinggi (O(n³)) sehingga tidak efisien untuk graf sangat besar.
  2. Tidak cocok jika hanya ingin mencari jarak dari satu simpul saja — lebih baik menggunakan Dijkstra.

Baca juga : Purnama Wulan Sari Mirza: Duta Teknokrat Wujud Investasi Bangsa untuk Generasi Muda

Kesimpulan: CNF Floyd Sebagai Dasar Perhitungan Jalur Terpendek

Metode Floyd-Warshall adalah algoritma penting dalam teori graf yang digunakan untuk mencari jalur terpendek antara semua pasangan simpul.
Dengan konsep sederhana dan hasil yang menyeluruh, algoritma ini menjadi fondasi dalam banyak aplikasi nyata, mulai dari navigasi GPS hingga sistem optimasi jaringan.

Memahami langkah-langkah perhitungannya serta berlatih dengan contoh soal seperti di atas akan membuat konsep ini jauh lebih mudah dipahami.
Jika kamu sedang mempelajari struktur data, algoritma, atau teori graf, memahami metode Floyd adalah langkah penting menuju pemahaman yang lebih mendalam tentang cara komputer berpikir dan menghitung secara efisien.

Penulis : nabila afrianisa

Post Comment