Lompat ke isi

Algoritma Bellman–Ford: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29187959; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
[[File:Bellman–Ford_algorithm_example.gif|thumb|right|280px|Bellman–Ford algorithm example]]
'''Algoritma Bellman–Ford''' menghitung jarak terpendek (dari satu sumber) pada sebuah digraf berbobot.
'''Algoritma Bellman–Ford''' menghitung jarak terpendek (dari satu sumber) pada sebuah digraf berbobot.
Maksudnya dari satu sumber ialah bahwa ia menghitung semua jarak terpendek yang berawal dari satu titik node. [[Algoritme Dijkstra]] dapat lebih cepat mencari hal yang sama dengan syarat tidak ada sisi (edge) yang berbobot negatif. Maka Algoritma Bellman-Ford hanya digunakan jika ada sisi berbobot negatif.
Maksudnya dari satu sumber ialah bahwa ia menghitung semua jarak terpendek yang berawal dari satu titik node. [[Algoritme Dijkstra]] dapat lebih cepat mencari hal yang sama dengan syarat tidak ada sisi (edge) yang berbobot negatif. Maka Algoritma Bellman-Ford hanya digunakan jika ada sisi berbobot negatif.
Baris 48: Baris 50:
Secara umum ''coding'' algoritma dapat juga menggunakan [[teknik]] ''coding'' pemrograman yang lain.
Secara umum ''coding'' algoritma dapat juga menggunakan [[teknik]] ''coding'' pemrograman yang lain.


== Sumber dan atribusi ==


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+Bellman%E2%80%93Ford&oldid=29187959 Wikipedia bahasa Indonesia], revisi 29187959 (2026-05-02T15:36:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.


== Sumber dan atribusi ==
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->
 
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+Bellman%E2%80%93Ford&oldid=29187959 Wikipedia bahasa Indonesia], revisi 29187959 (2026-05-02T15:36:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.

Revisi terkini sejak 23 Agustus 2026 04.13

Bellman–Ford algorithm example

Algoritma Bellman–Ford menghitung jarak terpendek (dari satu sumber) pada sebuah digraf berbobot. Maksudnya dari satu sumber ialah bahwa ia menghitung semua jarak terpendek yang berawal dari satu titik node. Algoritme Dijkstra dapat lebih cepat mencari hal yang sama dengan syarat tidak ada sisi (edge) yang berbobot negatif. Maka Algoritma Bellman-Ford hanya digunakan jika ada sisi berbobot negatif.

Algoritma Bellman-Ford menggunakan waktu sebesar O(V.E), di mana V dan E adalah banyaknya sisi dan titik.

Dalam konteks ini, bobot ekivalen dengan jarak dalam sebuah sisi.

// Definisi tipe data dalam graf
record titik {
    list sisi2
    real jarak
    titik sebelum
}
record sisi {
    titik dari
    titik ke
    real bobot
}
function BellmanFord(list semuatitik, list semuasisi, titik dari)
   // Argumennya ialah graf, dengan bentuk daftar titik  
   // and sisi. Algoritma ini mengubah titik-titik dalam 
   // semuatitik sehingga atribut jarak dan sebelum 
   // menyimpan jarak terpendek.
   // Persiapan
   for each titik v in semuatitik:
       if v is dari then v.jarak = 0
       else v.jarak:= tak-hingga
       v.sebelum:= null
   // Perulangan relaksasi sisi
   for i from 1 to size(semuatitik):
       for each sisi uv in semuasisi:
           u:= uv.dari
           v:= uv.ke             // uv adalah sisi dari u ke v
           if v.jarak > u.jarak + uv.bobot
               v.jarak:= u.jarak + uv.bobot
               v.sebelum:= u
   // Cari sirkuit berbobot(jarak) negatif
   for each sisi uv in semuasisi:
       u:= uv.dari
       v:= uv.ke
       if v.jarak > u.jarak + uv.bobot
           error "Graph mengandung siklus berbobot total negatif"

Secara umum coding algoritma dapat juga menggunakan teknik coding pemrograman yang lain.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29187959 (2026-05-02T15:36:00Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.