Anda di halaman 1dari 4

TUGAS KELOMPOK

ARTIFICIAL INTELLIGENCE ( KECERDASAN BUATAN )


PENJELASAN ALGORITMA DIJKSTRA
Diajukan untuk memenuhi salah satu Tugas Mata Kuliah

Artificial Intelligence ( Kecerdasan Buatan )

Dosen : Nelly Indriani W S.Si., M.T

Disusun Oleh :

10114117 Dudin Qohar


10114120 Arief Budiman
10114140 Hanifan Musliman

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERITAS KOMPUTER INDONESIA
2017
1. PENGERTIAN ALGORITMA DIJKSTRA

Algoritma Dijkstra ditemukan oleh Edsger. Wybe Dijkstra pada tahun 1959.
Algoritma ini merupakan algoritma yang dapat memecahkan masalah pencarian jalur
terpendek dari suatu graf pada setiap simpul yang bernilai tidak negatif.
Dijkstra merupakan algoritma yang termasuk dalam Algoritma Greedy, yaitu
algoritma yang sering digunakan untuk memecahkan masalah yang berhubungan dengan
suatu optimasi dalam pencarian jalur terpendeknya.
Algoritma Dijkstra bekerja mencari bobot paling minimaldari suatu graf berbobot,
jarak terpendek akan diperoleh dari dua atau lebih titik dari suatu graf dan nilai yang
didapat adalah yang bernilai paling kecil.
Misalkan G adalah graf berarah berlabel dengan titik-titik V(G) = {v1,v2,,vn}
dan path terpendek yang dicari adalah dari v1 ke vn. Algoritma Dijkstra dimulai dari titik
v1. Dalam iterasinya, algoritma akan mencari satu titik yang jumlah bobotnya dari titik 1
terkecil. Titik-titik yang terpilih dipisahkan, dan titik-titik tersebut tidak diperhatikan lagi
dalam iterasi berikutnya. Langkah-langkah dalam menentukan lintasan terpendek pada
algoritma Dijkstra yaitu:
1. Pada awalnya pilih node sumber sebagai node awal, diinisialisasikan dengan
1.
2. Bentuk tabel yang terdiri dari node, status, bobot, dan predecessor. Lengkapi
kolom bobot yang diperoleh dari jarak node sumber ke semua node yang
langsung terhubung dengan node sumber tersebut.
3. Jika node sumber ditemukan maka tetapkan sebagai node terpilih.
4. Tetapkan node terpilih dengan label permanen dan perbaharui node yang
langsung terhubung.
5. Tentukan node sementara yang terhubung pada node yang sudah terpilih
sebelumnya dan merupakan bobot terkecil dilihat dari tabel dan tentukan
sebagai node terpilih berikutnya.
6. Apakah node yang terpilih merupakan node tujuan?. Jika ya, maka kumpulan
node terpilih atau predecessor merupakan rangkaian yang menunjukkan lintasan
terpendek.
2. PSEUDO CODE ALGORITMA DIJKSTRA

Adapun Pseudo Code Algoritma Dijkstra adalah sebagai berikut :

function Dijkstra(Graph, source):


for each vertex v in Graph: // Inisialisasi
dist[v] := infinity ; // Fungsi jarak tak diketahui dari
// sumber ke v
previous[v] := undefined ; // Simpul sebelumnya di jalur optimal
end for // dari sumber
dist[source] := 0 ; // Jarak dari sumber ke sumber
Q := the set of all nodes in Graph ; // Semua simpul dalam grafik adalah
// tidak dioptimalkan - demikian juga di Q
while Q is not empty: // Lingkaran utama
u := vertex in Q with smallest distance in dist[] ; // Mulai simpul dalam kasus pertama
remove u from Q ;
if dist[u] = infinity:
break ; // semua simpul yang tersisa adalah
end if // tidak dapat diakses dari sumber
for each neighbor v of u: // dimana v belum
// dihapus dari Q.
alt := dist[u] + dist_between(u, v) ;
if alt < dist[v]: // Tenang (u, v, a)
dist[v] := alt ;
previous[v] := u ;
decrease-key v in Q; // Susun ulang v di Antrean
end if
end for
end while
return dist;
3. FLOWCHART ALGORITMA DIJKSTRA

Dari Algoritma diatas, maka Flowchart nya adalah sebagai berikut :

4. REFERENSI

https://wirasetiawan29.wordpress.com/2015/04/02/tentang-algoritma-dijkstra (Diakses pada


panggal 10 Oktober 2017, waktu 19.00)
Shaga Bogas Priatmoko, Algoritma Dijkstra Untuk Pencarian Jalur Terdekat Dan
Rekomendasi Objek Pariwisata Di Pulau Bali.Semarang : Universitas Dian Nuswantoro