Anda di halaman 1dari 10

MAKALAH

“IMPLEMENTASI ALGORITMA DIJKSTRA UNTUK MENENTUKAN RUTE


TERPENDEK”

Disusun Oleh:

Akmal Muhammad Hafidz NRP 2423600036


Novaldi Bilqi Akbar Santoso NRP 2423600038
Muhammad Farhan Surya NRP 2423600040
Marcelano Asyer Rummar NRP 2423600042
Angga Abdul Majid NRP 2423600050

Dosen:
Mike Yuliana

PROGRAM STUDI D4 TEKNOLOGI REKAYASA INTERNET


POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
2023/2024
DAFTAR ISI

BAB I.............................................................................................................................................................3

PENDAHULUAN............................................................................................................................................3

1.1. LATAR BELAKANG.........................................................................................................................3

1.2. RUMUSAN MASALAH...................................................................................................................4

1.3. TUJUAN.........................................................................................................................................4

1.4. MANFAAT.....................................................................................................................................4

BAB II............................................................................................................................................................5

HASIL DAN PEMBAHASAN............................................................................................................................5

2.1. STUDI KASUS.................................................................................................................................5

2.2. PSEUDOCODE...............................................................................................................................7

2.3. FLOWCHART.................................................................................................................................8

BAB III...........................................................................................................................................................9

PENUTUP......................................................................................................................................................9

3.1. KESIMPULAN................................................................................................................................9

3.2. SARAN...........................................................................................................................................9

LAMPIRAN..............................................................................................................................................10
BAB I
PENDAHULUAN

1.1. LATAR BELAKANG

Algoritma Dijkstra, yang dinamai berdasarkan penemuannya, Edsger W. Dijkstra,


terlahir dari kebutuhan akan menemukan jalur terpendek di antara simpul-simpul dalam graf. Hal
ini terutama relevan dalam konteks jaringan komputer, di mana menemukan jalur terpendek
antara dua titik dapat membantu mengoptimalkan rute data dan mengurangi waktu pemrosesan.
Dengan kecepatan dan efisiensi sebagai fokus utama, algoritma Dijkstra memainkan peran kunci
dalam pemrosesan informasi secara efisien, baik dalam aplikasi transportasi, perencanaan rute,
maupun desain jaringan komputer. Melalui pendekatan sistematis dan konsep matematis yang
solid, algoritma Dijkstra telah membantu memecahkan berbagai tantangan kompleks dalam
bidang komputasi dan teknologi informasi.
Algoritma Dijkstra memecahkan masalah pencarian jalur terpendek antara dua simpul
dalam graf berbobot dengan jumlah total terkecil, dengan mencari jarak terpendek antara simpul
awal dan simpul lainnya, sehingga jalur yang terbentuk dari simpul awal ke simpul tujuan
memiliki jumlah bobot terkecil. Masalah ini terkait dengan pencarian rute terpendek dan biaya
yang dianggarkan minimum. Jalur terpendek (shortest path) adalah masalah untuk menemukan
jalur antara dua atau lebih simpul dalam graf berbobot yang bobot sisi gabungan dari graf yang
dilalui adalah minimum.
Algoritma Dijkstra merupakan algoritma greedy yang biasa digunakan untuk pencarian
jarak terpendek dimana masukan dari algoritma ini adalah graf berarah berbobot dengan titik asal
dari sekumpulan garis. Algoritma Dijkstra memiliki kemampuan yang efektif untuk mencari jalur
terpendek, dimana pada setiap graf dipilih sisi dengan bobot minimum yang menghubungkan
suatu simpul yang telah dipilih dengan simpul lain yang belum terpilih. Cara kerja algoritma ini
adalah dengan mengunjungi semua node dan membuat jaraknya. Jika terdapat dua jarak pada
node yang sama, maka dipilih jarak dengan bobot terendah, sehingga semua node memiliki jarak
yang optimal dan pencarian ini dilakukan sampai node tujuan ditemukan. Dengan kata lain,
algoritma Dijkstra menghitung jalur berdasarkan jarak terpendek yang ditempuh.
1.2. RUMUSAN MASALAH

1. Bagaimana algoritma Dijkstra bekerja?


2. Apa contoh kasus algoritma Dijkstra?
3. Apa saja Langkah – Langkah dalam algoritma Dijkstra?
4. Bagaimana pseudocode algoritma Dijkstra?
5. Bagaimana flowchart algoritma Dijkstra?

1.3. TUJUAN

1. Menjelaskan cara kerja algoritma Dijkstra


2. Menyajikan contoh kasus algoritma Dijkstra
3. Mengidentifikasi Langkah – Langkah untuk menyelesaikan algoritma Dijkstra
4. Menjelaskan pseudocode algoritma Dijkstra
5. Menjelaskan flowchart algoritma Dijkstra

1.4. MANFAAT

1. Pemahaman Yang Lebih Mendalam Tentang Algoritma Dijkstra


2. Dapat mengaplikasikan algoritma dalam berbagai kasus nyata
3. Memahami proses pemecahan masalah algoritma secara sistematis
4. Pemahaman tentang pseudocode Dijkstra
5. Pemahaman tentang flowchart algoritma Dijkstra
BAB II
HASIL DAN PEMBAHASAN

2.1. STUDI KASUS

Tabel Jarak Terpendek dari A menuju J

dari ↔ ke jarak
A C 2
C E 2
E F 2
F I 3
I J 2

Langkah – Langkah algoritma Dijkstra


1. Inisialisasi: Mulai dengan graf berbobot yang terdiri dari simpul-simpul (node) dan sisi-
sisi (edge) yang menghubungkan simpul-simpul tersebut. Setiap sisi memiliki bobot yang
menyatakan jarak atau biaya antara dua simpul yang terhubung. Selain itu, inisialisasi
juga melibatkan penentuan simpul awal (sumber) dari mana algoritma akan memulai
mencari jalur terpendek.

2. Tentukan Jarak Awal: Setiap simpul dalam graf diinisialisasi dengan nilai jarak tak
terhingga (infinity), kecuali untuk simpul awal yang diinisialisasi dengan nilai nol. Dalam
langkah ini, algoritma juga menyimpan catatan jalur yang telah ditemukan dari simpul
awal ke simpul lain.

5
3. Pilih Simpul dengan Jarak Terdekat: Algoritma Dijkstra berjalan secara iteratif. Pada
setiap iterasi, algoritma mencari simpul dengan jarak terpendek yang belum dikunjungi.
Pencarian simpul dilakukan dengan membandingkan nilai jarak saat ini dari simpul-
simpul yang belum dikunjungi.

4. Perbarui Jarak Simpul Terhubung: Setelah simpul dengan jarak terdekat dipilih, algoritma
memeriksa semua simpul yang terhubung langsung dengan simpul tersebut. Untuk setiap
simpul terhubung yang belum dikunjungi, algoritma membandingkan jarak saat ini
dengan jarak baru yang dihitung melalui simpul terdekat tadi. Jika jarak baru lebih kecil
dari jarak saat ini, maka jarak saat ini diperbarui dengan jarak baru. Selain itu, catatan
jalur juga diperbarui sesuai dengan jalur baru yang ditemukan.

5. Tandai Simpul Terdekat: Setelah pembaruan jarak dan jalur dilakukan, simpul yang sudah
dikunjungi ditandai sehingga tidak akan dipertimbangkan lagi pada iterasi berikutnya.

6. Ulangi Langkah 3 hingga 5: Langkah-langkah 3 hingga 5 diulangi hingga seluruh simpul


dalam graf telah dikunjungi. Pada setiap iterasi, algoritma memilih simpul dengan jarak
terdekat yang belum dikunjungi untuk dianalisis. Proses ini berlanjut hingga algoritma
telah menemukan jalur terpendek dari simpul awal ke semua simpul lain dalam graf.

7. Hasil Akhir: Setelah seluruh simpul telah dikunjungi dan jarak terpendek telah dihitung,
algoritma Dijkstra menghasilkan catatan jalur terpendek dari simpul awal ke simpul-
simpul lain dalam graf. Dengan demikian, algoritma ini berhasil menyelesaikan pencarian
jalur terpendek.

Tabel Perhitungan :

LANGKAH A B C D E F G H I J
0* ~ ~ ~ ~ ~ ~ ~ ~ ~
dari A 0* 3 2* 5 ~ ~ ~ ~ ~ ~
dari C 0* 3* 2* 5 4 ~ ~ ~ ~ ~
dari B 0* 3* 2* 5 4* ~ ~ ~ ~ ~
dari E 0* 3* 2* 5* 4* 6 7 ~ ~ ~
dari D 0* 3* 2* 5* 4* 6* 7 ~ ~ ~
dari F 0* 3* 2* 5* 4* 6* 7* 10 9 ~
dari G 0* 3* 2* 5* 4* 6* 7* 9* 9* ~
dari H 0* 3* 2* 5* 4* 6* 7* 9* 9* 14
dari I 0* 3* 2* 5* 4* 6* 7* 9* 9* 11*

Rute terpendek = A – C – E – F – I – J
Jadi, Algoritma Dijkstra bekerja dengan mencari jalur terpendek dari satu node sumber ke semua
node lain dalam graf berbobot. Ia menggunakan pendekatan Greedy dengan mengambil node
dengan jarak terkecil pada setiap langkah, memperbarui jarak ke tetangga-tetangga jika
ditemukan jalur yang lebih pendek, dan melanjutkan proses hingga semua node telah dikunjungi
2.2. PSEUDOCODE

Berikut adalah pseudocode dari algoritma dijkstra :

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[]
2.3. FLOWCHART

Berikut adalah flowchart dari algoritma dijkstra:


BAB III
PENUTUP

3.1. KESIMPULAN

Berdasarkan latar belakang dan pembahasan sebelumnya, dapat disimpulkan bahwa


algoritma Dijkstra mampu digunakan untuk mencari rute terpendek secara optimal. Dengan
mengimplementasikan program ini, proses penentuan rute terpendek dapat dipercepat. Selain itu,
program ini menawarkan kemudahan dalam menyusun peta secara dinamis, sehingga jika terjadi
perubahan kondisi pada peta, program dapat dengan mudah menyesuaikan diri dengan kondisi
baru. Dengan demikian, penggunaan algoritma Dijkstra dan program terkait tidak hanya
memberikan solusi efisien dalam mencari rute terpendek, tetapi juga memberikan fleksibilitas
dalam menghadapi perubahan kondisi yang mungkin terjadi.

3.2. SARAN

Saran kami dalam penutup makalah tentang algoritma Dijkstra adalah untuk mendalami
prinsip kerja algoritma ini, menerapkannya dalam kasus nyata, menjelajahi penelitian lebih lanjut
terkait, menyadari keterbatasan algoritma Dijkstra, dan berkolaborasi dengan Dosen dan peneliti
lainnya untuk memperdalam pemahaman dan aplikasi algoritma ini dalam dunia nyata. Dengan
begitu, pembaca akan dapat mengoptimalkan pengetahuan mereka tentang algoritma Dijkstra dan
menggunakannya secara efektif dalam pemecahan masalah yang beragam.
LAMPIRAN :

10

Anda mungkin juga menyukai