Anda di halaman 1dari 18

MAKALAH

GRAF DAN ALGORITMA DIJKTRA

Dosen Pengampu: Rukin Sudarwanto, S.Pd., M.T.I

NAMA : RENDI IRAWAN SANDI

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS NAHDLATUL ULAMA


LAMPUNG
2021
KATA PENGANTAR

Syukur alhamdulillah senantiasa diucapkan atas kehadirat Allah SWT atas segala nikmat dan
rahmatNya, karena atas izin dan kehendak-Nya lah makalah ini dapat tersusun dan terselesaikan
dengan baik. Terimakasih tidak lupa saya sampaikan kepada orang tua dan seluruh pihak yang
mendukung atas terselesaikannya makalah ini.
Sebagai penulis, tentunya saya sangat berharap akan adanya kritik dan saran dari para pembaca.
Karena saya menyadari masih banyaknya kekurangan dalam penulisan serta penyusunan makalah ini.
Dan saya berharap makalah ini dapat bermanfaat bagi para pembaca.

Sekampung Udik, 15 Maret 2021

Rendi Irawan Sandi

i
ABSTRAK

Teori graf merupakan pokok bahasan yang banyak penerapannya pada masa kini. Pemakaian teori
graf telah banyak dirasakan dalam berbagai ilmu, antara lain : optimisasi jaringan, ekonomi,
psikologi, genetika, riset operasi (OR), dan lain-lain. Makalah pertama tentang teori graf ditulis pada
tahun 1736 oleh seorang matematikawan Swiss yang bernama Leonard Euler. Ia menggunakan teori
graf untuk menyelesaikan masalah jembatan Königsberg (sekarang, bernama Kaliningrad). Berikut
adalah ilustrasi masalah tersebut : Masalah Jembatan Königsberg (Rossen, 2003) Masalah yang
dikemukakan Euler : Dapatkah melewati setiap jembatan tepat sekali dan kembali lagi ke tempat
semula? Berikut adalah sketsa yang merepresentasikan ilustrasi jembatan Königsberg yang pada
gambar diatas. Himpunan titik yaitu {A, B, C, D} merepresentasikan sebagai daratan, dan garis yang
menghubungkan titik-titik tersebut adalah sebagai jembatan. C A B D. Representasi graf masalah
jembatan Königsberg Jawaban pertanyaan Euler adalah tidak mungkin. Agar bisa melalui setiap
jembatan tepat sekali dan kembali lagi ke tempat semula maka jumlah jembatan yang
menghubungkan setiap daratan harus genap. Adiwijaya Sekolah Tinggi Teknologi Telkom 48
Matematika Diskrit 4.1 Definisi Graf Graf merupakan struktur diskrit yang terdiri himpunan sejumlah
berhingga obyek yang disebut simpul (vertices, vertex) dan himpunan sisi (edges) yang
menghubungkan simpul-simpul terseut. terdiri dari dari Graf digunakan untuk merepresentasikan
objek-objek diskrit dan hubungan antara objek-objek tersebut. Notasi sebuah graf adalah G = (V, E),
dimana : • V merupakan himpunan tak kosong dari simpul-simpul (vertices), misalkan V = { v 1 , v
2 , ... , v n } • E merupakan himpunan sisi – sisi (edges) yang menghubungkan sepasang simpul,
misalkan E = {e 1 , e 2 , ... , e n }.

ii
DAFTAR ISI

KATA PENGANTAR............................................................................................................................i
ABSTRAK............................................................................................................................................ii
DAFTAR ISI........................................................................................................................................iii
BAB I PENDAHULUAN......................................................................................................................1
Latar Belakang...................................................................................................................................1
BAB II...................................................................................................................................................2
PEMBAHASAN...................................................................................................................................2
A. Teori Graf.....................................................................................................................................2
B. Dasar - dasar dan Jenis Graf..........................................................................................................3
C. Algoritma Dijkstra................................................................................................................5
a. Algoritma Lintasan Terpendek Dijkstra..........................................................................5
b. Penghitungan Jarak................................................................................................................6
c.Uji Kebenaran Algoritma Dijkstra....................................................................................7
BAB III..............................................................................................................................................8
PENUTUP.........................................................................................................................................8
SIMPULAN DAN SARAN...............................................................................................................8

iii
BAB I
PENDAHULUAN
Latar Belakang
Teori graf adalah bagian dari disiplin ilmu matematika diskrit yang sangat berguna
untuk mengembangkan model-model terstruktur dalam berbagai situasi dan sangat
banyak diaplikasikan dalam kehidupan sehari-hari. Titik dan garis merupakan alat
yang dipakai dalam teori graf. Sebagai contoh, titik merupakan representasi dari
orang-orang pada suatu keluarga dan garis merupakan representasi dari hubungan
antara dua orang dalam keluarga tersebut. Salah satu aplikasi teori graf adalah
penentuan lintasan terpendek pada suatu graf. Aplikasi penentuan lintasan ter-
pendek merupakan salah satu persoalan optimasi karena tujuannya adalah untuk
menentukan panjang lintasan yang minimum dari satu titik ke titik lain.
Meskipun teori graf berasal dari bidang ilmu matematika, namun aplikasi dari graf dapat
dikaitkan dengan berbagai ilmu di bidang lainnya hingga dalam kehidupan sehari-hari
Aplikasi teori graf sangat banyak, sehingga dapat dikatakan tidak ada habis-
habisnya jika kita membahas setiap aplikasi graf karena setiap bidang ilmu dapat dikaitkan
dengan graf seperti masalah dalam jaringan komunikasi, transportasi, ilmu komputer,
operasi riset, ilmu kimia dan lain sebagainya. Teori- teori graf telah banyak dikembangkan
dengan berbagai algoritma yang memiliki kelebihan dan kekurangan masing-masing
dalam menyelesaikannya.

1
BAB II
PEMBAHASAN

A. Teori Graf

Teori Graf merupakan


bagian dari ilmu
matematika dan
komputer mengani suatu
graft struktur
matematika, yang
dinyatakan dalam G
dimana G adalah terdiri
dari atas himpunan V
yang berisikan titik
(vertex atau node). Pada
Gbr 1 merupakan contoh
dari sebuah graft yang
mempunyai node salaing
berhubungan.

Sebuah Graf dapat


direpresentsikan
menjadi berbagai
macam struktur. Sebuah
mempunyai sisi yang
berarah atau disebut

2
juga graf berrah atau
directed graph. Suatu
Graft berarah dengan
mempunyai isi terbotbt
disebut juga jaringan.
Disamping ilmu
computer, teori graft
sering juga digunakan
dalam ilmu studi
molekuler pada bidang
kimia dan fisika,
contohnya atom tiga
dimensi. Ilmu lain dalam
bidang sosiologi dan
komunikasi teori graf
digunakan seperti dalam
menganalisis jaringan
sosial atau lebih dikenal
dengan nama jaringan
komunikasi.

Dalam ilmi kmputer


sebuh jaringan
komputer dapat
dikatakan merupakan
sebuah himpnan
interkoneksi antara 2
komputer autonomous
atay lebih yang
terhubung stu sama lain
dengan menggunakan
medi transmisi kabell
serta tanpa kabel.
Apabila sebuah

3
computer dalam
jaringan tersebut
melakukan aktifita
skontrol maka
computer-komputer
lainnya tidak melakukan
control terhadap
computer lain dengan
akses penuh. Sebuah
jaringan komputer yang
terhubung dalam satu
himpunan mempunyai
topologi yang brebeda-
beda seperti sistem bus,
token, ring, dan star.
Topologi yang dipilih
akan berpengaruh
kepada kecepatan
komunikasi dalam
jaringan tersebut karena
mempunyai
karakteristik serta
kelebihdan dan
kekurangan dari
topologi yang digunakan.
Salah satu algoritma
yang digunakan untuk
mendapatkan spanning
tree (MST) dengan bobt
terkecil adalah dengan
menggunakan algoritma
kruskal. Pada algoritma
ini konsepnya adalah
pada sisi-sisi didalam

4
graf diurutkan terlebih
dahulu berdasarkan
bobot terkecil ke yang
terbesar.

B. Dasar - dasar dan Jenis Graf

a. Dasar - dasar Graf

Teori Graf mulai dikenal saat matematikawan


kebangsaan Swiss bernama Leonhard Euler, yang
berhasil mengungkapkan Misteri Jembatan
Koningsberg tahun 1736.

Di kota Koningsberg mengalir sungai Pregel, di sungai


mengalir 2 pulau dan diantaranya terdapat jembatan
yang menghubungkan, jumlah jembatan tersebut
sebanyak 7 buah.

 Graf yang merepresentasikan jembatan


Konigsberg adalah :

1. Simpul (vertex), menyatakan daratan.

2. Sisi (edge), menyatakan jembatan.

Graf adalah bagan yang memuat informasi yang


diinterprestasikan secara tepat.

Graf digunakan untuk merepresentasikan objek-objek


diskrit dan hubungan antara objek-objek tersebut.

5
Tujuan graf adalah untuk visualisasi objek agar
mudah dimengerti.

Jenis graf yaitu graf berarah dan graf tidak berarah.

Graf terdiri dari 2 himpunan berhingga yaitu v(G)


dan e(G).

Titik dikatakan terhubung (Adjacent) jika ada garis


yang menghubungkan keduanya.

Graf Kosong : Graf yang tidak mempunyai titik.

Graf Berarah (Digraph) : Graf yang semua garisnya


berarah.

Graf Tidak Berarah : Graf yang semua garisnya tidak


berarah.

Titik Ujung : Garis yang berhubungan dengan satu


atau dua titik.

Loop : Garis yang berhubungan dengan satu titik


ujung.

Garis Paralel : Dua garis berbeda menghubungkan


titik yang sama.

Titik Terasing :Titik yang tidak mempunyai garis


yang berhubungan dengannya.

6
b. Jenis – Jenis Graf

 Berdasarkan ada tidaknya gelang atau sisi ganda


pada suatu graf.

1. Graf sederhana (simple graph)

Graf yang tidak mengandung gelang maupun sisi-


ganda dinamakan graf sederhana.

2. Graf tak-sederhana (unsimple-graph)

Graf yang mengandung sisi ganda atau gelang


dinamakan graf tak-sederhana (unsimple graph).

 Berdasarkan jumlah simpul pada suatu graf.

1. Graf berhingga (limited graph)

Graf berhingga adalah graf yang jumlah simpulnya n


berhingga.

2. Graf tak-berhingga (unlimited graph)

Graf yang jumlah simpulnya n tidak berhingga


banyaknya disebut graf tak- berhingga.

 Berdasarkan orientasi arah pada sisi.

1. Graf tak-berarah (undirected graph)

Graf yang sisinya tidak mempunyai orientasi arah


disebut graf tak-berarah.

2. Graf berarah (directed graph atau digraph)

Graf yang setiap sisinya diberikan orientasi arah

7
disebut sebagai graf berarah.

8
C. Algoritma Dijkstra

Algoritma Dijkstra merupakan algoritma yang dipakai dalam penentuan lintasan


terpendek dari suatu titik tertentu ke setiap titik lain pada suatu graf. Algoritma
ini dikembangkan oleh Edsger Wybe Dijkstra pada tahun 1959. Lintasan
terpendek untuk suatu titik tertentu dengan titik lainnya diperoleh dari pohon
pembangun yang memiliki nilai minimum. Strategi yang digunakan pada
algoritma Dijkstra yaitu dengan membentuk su- atu pohon Dijkstra yang
diawali pada titik v0, dengan menambahkan sisi terkait dan terdekat dengan
titik v0. Penambahan sisi dilakukan pada setiap pengulangan (iteration) dan
dilakukan dengan menggunakan fungsi Dijkstra-nextEdge.
Definisi 3.1. [2] Fungsi Dijkstra-nextEdge didefinisikan sebagai berikut.
Misalkan X adalah himpunan sisi terkait yang telah ditambahkan.
Dijkstra- nextEdge(G, X) memberikan nilai pada titik akhir sisi terkait
yang titik ujungnya berderajat lebih dari satu (non-tree) dan memilih sisi
yang titik ujungnya paling dekat dengan v0. Jika titik yang terpilih lebih
dari satu, maka pilih salah satu.

Gambar 3. Ilustrasi Fungsi Dijkstra-

nextEdge(G, X)

Gambar 3 memperlihatkan bahwa e 1 dan e2 merupakan sisi terkait yang titik


ujungnya berderajat lebih dari satu. Kemudian sisi yang titik ujungnya paling dekat
dengan v0 adalah sisi e2.

a. Algoritma Lintasan Terpendek Dijkstra

Input : Graf berbobot G dan titik awal v0

Output : Pohon lintasan terpendek T dengan titik


awal v0
• Inisialisasikan titik v0 sebagai pohon T .
• Inisialisasikan X sebagai himpunan sisi
yang bertetangga dengan v0
• Selama X /= ∅

9
– Misalkan e := Dijkstra-
nextEdge(G, X)
– Misalkan v1 sebagai titik ujung dari sisi e yang berderajat
lebih dari satu.
– Tambahkan sisi e dan titik v1 pada
pohon T
– Perbaharui pohon T
• Diperoleh pohon T yang merupakan
pohon pembangun dari G
Misalkan d(v0, v) menyatakan jarak dari titik awal v 0 ke v untuk setiap titik v pada
pohon. Gambar 4 memperlihatkan penambahan sisi pada setiap pengulangan
untuk membentuk pohon Dijkstra. Angka pertama di dalam kurung menyatakan
pengulangan dan angka kedua menyatakan d(v0, v) untuk setiap v ∈ V (G). Pada
pengulangan ke-1, sisi terkait yang titik ujungnya berderajat lebih dari satu
adalah v0v1 dan v0v5. Titik v1 memi- liki nilai yang lebih rendah dari titik v 5
sehingga sisi yang ditambahkan adalah sisi v0v1.

Gambar 4. Proses Penentuan Pohon Dijkstra

pada Graf G

Pada pengulangan ke-2, sisi terkait yang titik ujungnya berderajat lebih dari satu
adalah v0v5, v1v2, v1v3, v1v4, v1v6, v1v5. Sisi yang titik ujungnya paling dekat
dengan v0 adalah sisi v1v5 sehingga sisi tersebut ditambahkan ke pohon
Dijkstra. Hal tersebut dilakukan untuk pengulangan selanjutnya sampai pohon
Dijkstra yang terbentuk merupakan pohon pembangun dari graf G. Pada Gambar
4, sisi-sisi tebal adalah sisi-sisi dari lintasan terpendek dari titik v0 ke titik lain di
graf G yang diperoleh dengan algoritma Dijkstra.

b. Penghitungan Jarak

Misalkan w(e) menyatakan bobot dari sisi e pada graf berbobot dan w(q)
meny- atakan bobot dari sisi q pada pohon yang terbentuk dan v 0 adalah titik
awal yang dipilih untuk penentuan pohon Dijkstra. Jika v adalah titik
pangkal den- gan nilai terendah dan y sebagai titik ujung pada sisi q yang
terpilih, maka d(v0, y) = d(v0, v) + w(q). Jadi, pada saat q terpilih pada

10
pengulangan ke−i se- bagai sisi yang ditambahkan pada pohon Dijkstra, y
haruslah menjadi titik dengan nilai minimum.
Definisi 3.2. [2] Misalkan e sebagai sisi terakhir yang ditambahkan pada

pohon Dijkstra yang terbentuk dan v merupakan titik pangkal pada sisi

pohon e. P -Value dari sisi e yang dinotasikan oleh P (e), diberikan oleh

P (e) = d(v0, v) + w(e) (3.1)

Jadi, Dijkstra-nextEdge(G, X) memilih dan memberikan nilai pada titik akhir


sisi e sedemikian sehingga P (e٨) = min P (e). Dengan kata lain e٨ merupakan
sisi e∈Xyang memiliki P-value yang minimum untuk sisi e ∈ X, dimana X
adalah himpunan sisi yang terkait dengan pohon T . P-value untuk setiap sisi e
dapat berubah pada setiap pengulangan.

c. Uji Kebenaran Algoritma Dijkstra

Teorema 3.3. [2] Misalkan Tj adalah pohon Dijkstra setelah j iterasi dari
algo- ritma Dijkstra pada graf terhubung G, untuk 0 ≤ j ≤ |V (G)| − 1.
Untuk setiap v ∈ Tj, lintasan-(v0, v) yang unik di Tj adalah lintasan-(v0,
v) terpendek di G.
Bukti. Solusi trivial untuk T0, karena pada saat j = 0, pohon Dijkstra yang
ter- bentuk hanya sebuah titik awal. Menggunakan induksi, diasumsikan untuk
setiap j, 0 ≤ j ≤ |V (G)| − 2, bahwa T j adalah benar. Misalkan sisi e dengan titik
pangkal v1 ∈ Tj dan titik ujung v2 ∈/ Tj , sebagai sisi terkait yang ditambahkan
ke pohon Tj pada pengulangan ke j + 1. Karena v 2 merupakan satu-satunya
titik baru di Tj+1, maka lintasan-(v0, v2) Q di Tj+1 adalah lintasan terpendek dari v0
ke v2 dengan panjang lintasan Q adalah P (e).
Selanjutnya akan ditunjukkan bahwa lintasan Q merupakan lintasan yang
unik. Artinya, tidak ada lintasan yang lebih pendek dari Q. Misalkan R adalah
lintasan- (v0, v2) yang lain di G. Notasikan panjang lintasan Q dengan l(Q) dan
panjang lintasan R dengan l(R). Akan ditunjukkan l(R) ≥ l(Q). Misalkan
sisi f dengan
titik pangkal v3 ∈ Tj dan titik ujung v4 ∈/ Tj ,
dimana f ∈/ Tj . Misalkan lintasan
K adalah lintasan yang menghubungkan v4 dengan v2, artinya lintasan K
adalah bagian dari lintasan R.

11
Gambar 5. Uji kebenaran Algoritma Dijkstra

Karena sisi e sisi terkait dengan Tj dan dipilih untuk ditambahkan ke Tj


pada pengulangan ke j + 1, maka P (e) ≤ P (f ). Perhatikan bahwa,
l(R) = d(v0, v3) + w(f ) + l(K) = P (f ) + l(K)

≥ P (e) + l(K) ≥ P (e) = l(Q).

Jadi, karena l(R) ≥ l(Q) maka lintasan Q merupakan lintasan unik yaitu tidak
ada lintasan yang lebih pendek dari lintasan Q.

12
BAB III
PENUTUP

SIMPULAN DAN SARAN

Adapun kesimpulan dari makalah ini dapat


dijelaskan sebagai berikut
(1) Algoritma Dijkstra merupakan algoritma yang dipakai dalam penentuan lin- tasan terpendek
dari suatu titik tertentu ke setiap titik lain pada suatu graf.
(2) Strategi yang digunakan pada algoritma Dijkstra yaitu dengan membentuk suatu pohon
Dijkstra pada setiap pengulangan dengan menggunakan fungsi Dijkstra-nextEdge.
(3) Pohon Dijkstra yang dibentuk setelah pengulangan terakhir merupakan pohon pembangun
dari graf awal.

DAFTAR REFERENSI

N. Puspitasari, “Kontribusi Matematika Terhadap

Ilmu Komputer Di D3 Manajemen Informatika

Politeknik Indonusa Surakarta,” J. Inf. Politek.

Indones. Surakarta, vol. 3, no. 2, pp. 18–25, 2016,

[Online]. Available:

http://www.poltekindonusa.ac.id/wp-

content/uploads/2017/01/6-norma-puspitasari.pdf.

Hasmawati, “Teori Graf,” Bahan Ajar Teor. Graf,

pp. 1–77, 2015.

13
A. Zaki, “ALGORITMA DIJKSTRA : TEORI

DAN APLIKASINYA,” J. Mat. UNAND, vol. 6, no.

4, p. 1, 2017, doi: 10.25077/jmu.6.4.1-8.2017.

A. Cantona, F. Fauziah, and W. Winarsih,

“Implementasi Algoritma Dijkstra Pada Pencarian

Rute Terpendek ke Museum di Jakarta,” J.

Teknol. dan Manaj. Inform., vol. 6, no. 1, 2020, doi:

10.26905/jtmi.v6i1.3837.

14

Anda mungkin juga menyukai