Algoritma Dijkstra: Perbedaan antara revisi
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 29187974; atribusi sumber disertakan. |
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi |
||
| Baris 1: | Baris 1: | ||
[[File:Dijkstra_Animation.gif|thumb|right|280px|Algoritme Dijkstra]] | |||
'''Algoritma Dijkstra''', (dinamai menurut penemunya, seorang ilmuwan komputer, [[Edsger Dijkstra]]), adalah sebuah algoritma rakus (''greedy algorithm'') yang dipakai dalam memecahkan permasalahan jarak terpendek (''shortest path problem'') untuk sebuah [[graf]] berarah (''directed graph'') dengan bobot-bobot garis (''edge weights'') yang bernilai nonnegatif, ''<math>[0, \infty)</math>''. Input algoritma ini adalah sebuah graf berarah yang berbobot (''weighted directed graph'') <math>G</math> dan sebuah titik asal ''<math>s</math>'' dalam himpunan garis ''<math>V</math>''. | '''Algoritma Dijkstra''', (dinamai menurut penemunya, seorang ilmuwan komputer, [[Edsger Dijkstra]]), adalah sebuah algoritma rakus (''greedy algorithm'') yang dipakai dalam memecahkan permasalahan jarak terpendek (''shortest path problem'') untuk sebuah [[graf]] berarah (''directed graph'') dengan bobot-bobot garis (''edge weights'') yang bernilai nonnegatif, ''<math>[0, \infty)</math>''. Input algoritma ini adalah sebuah graf berarah yang berbobot (''weighted directed graph'') <math>G</math> dan sebuah titik asal ''<math>s</math>'' dalam himpunan garis ''<math>V</math>''. | ||
| Baris 26: | Baris 28: | ||
19 | 19 | ||
20 '''kembalikan''' jarak[], sebelum[] | 20 '''kembalikan''' jarak[], sebelum[] | ||
== Lihat pula == | == Lihat pula == | ||
| Baris 39: | Baris 37: | ||
* [http://www.cs.sunysb.edu/~skiena/combinatorica/animations/dijkstra.html Animation of Dijkstra's algorithm] | * [http://www.cs.sunysb.edu/~skiena/combinatorica/animations/dijkstra.html Animation of Dijkstra's algorithm] | ||
* [http://www.boost.org/libs/graph/doc/index.html The Boost Graph Library (BGL)] | * [http://www.boost.org/libs/graph/doc/index.html The Boost Graph Library (BGL)] | ||
* [http://www.itonsite.co.uk/allanboydproject/section4_2.htm JavaScript Dijkstra's Algorithm] | * [http://www.itonsite.co.uk/allanboydproject/section4_2.htm JavaScript Dijkstra's Algorithm] | ||
* [http://students.ceid.upatras.gr/~papagel/english/java_docs/minDijk.htm Interactive Implementation of Dijkstra's Algorithm] | * [http://students.ceid.upatras.gr/~papagel/english/java_docs/minDijk.htm Interactive Implementation of Dijkstra's Algorithm] | ||
* [http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/Dijkstra.shtml Shortest Path Problem: Dijkstra's Algorithm] | * [http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/Dijkstra.shtml Shortest Path Problem: Dijkstra's Algorithm] | ||
* [http://www.unf.edu/~wkloster/foundations/DijkstraApplet/DijkstraApplet.htm Dijkstra's Algorithm Applet] | * [http://www.unf.edu/~wkloster/foundations/DijkstraApplet/DijkstraApplet.htm Dijkstra's Algorithm Applet] | ||
== Sumber dan atribusi == | |||
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+Dijkstra&oldid=29187974 Wikipedia bahasa Indonesia], revisi 29187974 (2026-05-02T15:36:11Z), 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. | |||
<!-- WIKI_UNISSULA_PRESENTATION_V4 --> | |||
Revisi terkini sejak 23 Agustus 2026 04.10

Algoritma Dijkstra, (dinamai menurut penemunya, seorang ilmuwan komputer, Edsger Dijkstra), adalah sebuah algoritma rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot garis (edge weights) yang bernilai nonnegatif, . Input algoritma ini adalah sebuah graf berarah yang berbobot (weighted directed graph) dan sebuah titik asal dalam himpunan garis .
Misalnya, bila titik dari sebuah graf melambangkan kota-kota dan bobot garis melambangkan jarak antara kota-kota tersebut, algoritma Dijkstra dapat digunakan untuk menemukan jarak terpendek antara dua kota.
Biaya (cost) dari sebuah garis dapat dianggap sebagai jarak antara dua simpul, yaitu jumlah jarak semua garis dalam jalur tersebut. Untuk sepasang titik dan dalam , algoritma ini menghitung jarak terpendek dari ke .
Kode semu
1 fungsi Dijkstra(Graf, asal): 2 Q adalah himpunan titik 3 4 untuk setiap titik v dalam Graf: 5 jarak[v] ← tak hingga 6 sebelum[v] ← kosong 7 tambahkan v ke dalam Q 8 jarak[asal] ← 0; 9 10 selama Q tidak kosong: 11 u ← titik dalam Q dengan nilai jarak[u] terkecil 12 hapus u dari Q 13 14 untuk setiap tetangga v dari u: // hanya v yang masih dalam Q 15 alt ← jarak[u] + jarak_antara(u, v) 16 jika alt < jarak[v]: 17 jarak[v] ← alt 18 sebelum[v] ← u 19 20 kembalikan jarak[], sebelum[]
Lihat pula
Pranala luar
- Teori Jalan Terpendek Dijkstra oleh Jeremy Siek, dari Universitas Indiana
- Animation of Dijkstra's algorithm
- The Boost Graph Library (BGL)
- JavaScript Dijkstra's Algorithm
- Interactive Implementation of Dijkstra's Algorithm
- Shortest Path Problem: Dijkstra's Algorithm
- Dijkstra's Algorithm Applet
Sumber dan atribusi
Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 29187974 (2026-05-02T15:36:11Z), 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.