Anda di halaman 1dari 23

Teori Graph

Shortest Path Problem (Lintasan Terpendek)

Disusun Oleh Kelompok 9 :


Ghamal Nasser
Riyan Saputra Irawan
M.Yuda Hendarto

Teori Graph Lintasan


Terpendek
Pengertian
Persoalan mencari lintasan terpendek di dalam graf merupakan salah satu
persoalan optimasi. Graf yang digunakan dalam pencarian lintasan terpendek
adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan
suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota,
waktu pengiriman pesan, ongkos pembangunan, dan sebagainya.
Asumsi yang digunakan di sini adalah bahwa semua bobot bernilai positif.
Lintasan terpendek adalah jalur yang dilalui dari suatu node ke node lain dengan
besar atau nilai pada sisi yang jumlah akhirnya dari node awal ke node akhir
paling kecil.

Macam-Macam Masalah Lintasan Terpendek


1. Lintasan terpendek antara dua buah simpul tertentu (a pair shortestpath).
2. Lintasan terpendek antara semua pasanggan simpul (all pairs shortestpath).
3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain(single-source
shortest path).
4. Lintasan terpendek antara dua buah simpul yang melalui beberapasimpul tertentu
(intermediate shortest path).

5m

B
9m
E

3m
C

6m

7m

Dapat diketahui :
Himpunan Simpul V ={A,B,C,D,E}
Himpunan Sisi
E ={ (A,B),(A,C),(B,E),(C,D),(D,E) }
=( e1,e2,e3,e4,e5 }
Node-Node
: A,B,C,D,E
Bobot (dalam jarak) antar setiap node

: e1=5m, e2=3m, e3=9m, e4=6m, e5=7m

Algoritma Lintasan
Terpendek
Algoritma Greedy
Algoritma greedy adalah algoritma yang memecahkan masalah langkah demi langkah,
pada setiap langkah :
a. Mengambil pilihan yang terbaik yang dapat diperoleh saat itu
b. Berharap bahwa dengan memilih optimum local pada setiap langkah akan mencapai
optimum global. Algoritma greedy mengasumsikan bahwa optimum lokal merupakan
bagian dari optimum global.

Langkah-Langkah Algoritma Greedy


1. Periksa semua sisi yang langsung bersisian dengan simpul a. Pilih sisi yang bobotnya
terkecil.Sisi ini menjadi lintasan terpendek pertama, sebut saja L(1).
2. Hitung : d(i) = panjang L(1) + bobot sisi dari simpul akhir L(1) ke simpul i yang lain
3. pilih d(i) yang terkecil
4. Bandingkan d(i) dengan bobot sisi (a, i).
5. Jika bobot sisi (a, i) lebih kecil daripada d(i), maka L(2) = L(1) U (sisi dari simpul akhir
L(i) ke simpul i)
6. Dengan cara yang sama, ulangi langkah 2 untuk menentukan lintasan terpendek
berikutnya.

Kelebihan Algoritma Greedy


1. Prinsip Seleksi berguna untuk menentukan jalan tersingkat,sehingga kita dapat menuju
tujuan tepat waktu.
2. Hasil analisis berdasarkan bobot-bobot yang berbeda,menunjukan bahwa semakin
banyak bobot yang di berikan,maka semakin akurat pula data yang dihasilkan.Sehingga
menghasilkan waktu yang efisien.

Kekurangan Algoritma Greedy


1. Tidak beroperasi menyeluruh terhadap semua alternatif solusi yang ada.
2. Pemilihan fungsi seleksi : mungkin saja beberapa fungsi seleksi berbeda sehingga kita
harus memilih fungsi yang tepat jika kita ingin algoritma bekerja dengan benar dan
menghasilkan solusi yang benar-benar optimum,oleh karena itu algoritma greedy tidak
selalu berhasil memberikan solusi yang benar-benar optimum.

Studi Kasus dengan Algoritma Greedy


Carilah Lintasan Terpendek Dari RUMAH DIKA ke RUMAH SAKIT PERTIWI jika Diketahui :
Inisial Node

Nama Tempat

Rumah Dika

Kantor Pos

Kantor Polisi

Toko Emas Subur

Taman Anggrek

Bank Amanah Ummah

Toko Baju Galang

Museum Astronomi

Rumah Sakit Pertiwi

Graph Rumah Dika Rumah Sakit Pertiwi


B
0,45km

1,85km

0,3km

0,75km

F
0,35km

0,5km

0,35km

0,35km

0,55km
0,4km

0,25km

0,7km

Perhitungan Algoritma Greedy


Titik Awal : L(1)= bobot A-B,karena bobot (A-B < A-C)= 0,45Km(A-B)
L(n
)

Bobot L(n)

Total Bobot d(1)

Total Bobot d(2)

Kondisi

Lintasan
Terpilih

0,45

0,45 + Bobot (B-D)=


0,45+0,3= 0,75

0,45 + Bobot (B-H)=


0,45+1,85= 2,3

d(1)<d(2)

(A-B-D)

0,75

0,75 + Bobot (D-E)=


0,75+0,35= 1,10

0,75 + Bobot (D-F)=


0,75+0,65= 1,4

d(1)<d(2)

(A-B-D-E)

1,10

1,10 + Bobot (E-F)=


1,10+0,35= 1,45

1,01 + Bobot (E-G)=


1,10+0,4= 1,50

d(1)<d(2)

(A-B-D-EF)

1,45

1,45 + Bobot (F-I)=


1,45+0,35= 1,8

d(1)<d(2)

(A-B-D-EF-I)

Berdasarkan algortima Greedy


Lintasan Terpendek dari RUMAH DIKA ke RUMAH SAKIT PERTIWI :
A B D E F I = 1,8 Km
Rumah dika - Kantor Pos Toko Emas Subur Taman Anggrek Bank Amanah Ummah
Rumah Sakit Pertiwi. Dengan total jarak tempuh 1,8 Km.

Ilustrasi Lintasan Terpendek Yang Dipilih Berdasarkan Algoritma Greedy


B
0,45km

1,85km

0,3km

0,75km

F
0,35km

0,5km

0,35km

0,35km

0,55km
0,4km

No

Peluang Lintasan (selain lintasan terpilih)

0,25km

0,7km

Bobot Total

A-B-H-I

2,55 Km

A-B-D-F-I

1,85 km

A-B-D-E-G-I

2,20 km

A-C-E-F-I

1,75 Km

A-C-E-G-I

2,13 Km

Apakah Lintasan
Terpendek yang terpilih
benar ?
ABDEFI
= 1,8 Km

Algoritma Djikstra
Strategi ini merupakan strategi yang paling terkenal untuk mencari lintasan terpendek.
Algoritma Dijkstra diterapkan pada graf berarah, tetapi selalu benar untuk graf tak-berarah. Strategi
ini menggunakan strategi Greedy sebagai berikut: Pada setiap langkah, ambil sisi yang berbobot
minimumyang menghubungkan sebuah simpul yang sudah terpilih dengan sebuah simpul lain yang
belum terpilih. Lintasan dari simpul asal ke simpul yang baru haruslah merupakan lintasan yang
terpendek diantara semua lintasannya ke simpul simpul yang belum terpilih.

Langkah-Langkah Algoritma Djikstra


1. Beri nilai bobot (jarak) untuk setiap titik ke titik lainnya, lalu set nilai 0 pada node awal dan
nilai tak hingga terhadap node lain (belum terisi).
2. Set semua node Belum terjamah dan set node awal sebagai Node keberangkatan .
3. Dari node keberangkatan, pertimbangkan node tetangga yang belum terjamah dan hitung
jaraknya dari titik keberangkatan. Sebagai contoh, jika titik keberangkatan A ke B memiliki bobot
jarak 6 dan dari B ke node C berjarak 2, maka jarak ke C melewati B menjadi 6+2=8. Jika jarak
ini lebih kecil dari jarak sebelumnya (yang
telah terekam sebelumnya) hapus data lama, simpan ulang data jarak dengan jarak yang baru.
4. Saat kita selesai mempertimbangkan setiap jarak terhadap node tetangga, tandai node yang
telah terjamah sebagai Node terjamah. Node terjamah tidak akan pernah di cek kembali, jarak
yang disimpan adalah jarak terakhir dan yang paling minimal bobotnya.
5. Set Node belum terjamah dengan jarak terkecil (dari node keberangkatan) sebagai Node
Keberangkatan selanjutnya dan lanjutkan dengan kembali ke step 3

Kelebihan Algoritma Djikstra


1.Ketepatan Pemilihan Linatasan Terpendek Lebih Baik dari Algoritma Greedy,
Karena Pemeriksaan Keseluruhan Nilai Node.
Kelemahan Algoritma Djikstra
1.Operasi Berjalan Cukup Lama karena Memeriksa Nilai Node Selain Node Terpilih
Dan Membandingkannya untuk mendapatkan Nilai Terkecil.

Studi Kasus Algoritma Djikstra


Dengan Kasus Yang Sama di atas,bagaimana bila menggunakan Algoritma Djikstra ?
Penyelesaian Secara BerTahap.
Tahap 1
Memilih Node Awal dan Memberi nilai 0.Lalu Memilih Nilai Lintasan Terkecil ke Node Selanjutnya
Sebagai Node Keberangkatan selanjutnya ,yaitu Node B.

(A-B) =
0+0,45= 0,45

B
Nilai =
0

0,45km

A
(A-C) =
0+0,50= 0,50

0,5km

Tahap 2
Sama dengan Tahap 1 yaitu memilih Nilai Node Terkecil Sebagai Node Keberangakatan
Selanjutnya.
Node Keberangkatan Sebelumnya Node B,Maka Node Keberangkatan Selanjutnya Adalah Node D.
B
0,45km

0,45

0,3km

0,5km
0,50

1,85km

D
(A-B-D) =
0,45+0,3=
0,75

(A-B-H) =
0,45+1,85=
2,3

Tahap 3
Sama dengan Tahap 2 yaitu memilih Nilai Node Terkecil Sebagai Node Keberangakatan Selanjutnya.
Node Keberangkatan Sebelumnya Node D,Maka Node Keberangkatan Selanjutnya Adalah Node E.
Disinilah Perbedaan Greedy dan Djikstra,Karena Awal dan Akhir Terpilih sementara adalah A sampai
E.
Jangkauan A sampai E juga harus hitung dimulai dari Node Yang Belum Terjamah yaitu Node C (A-CE) lalu membandingkan dengan A-B-D-E mana lebih kecil Nilai/Bobotnya,Itulah yang akan di pakai.
0,75
B
1,85km
H
0,45km

0,3km

0,5km

0,35km
0,55km

0,50
(A-C-E) =
0,50+0,55=
1,05

0,75km

(A-B-D-E) =
0,75+0,35=
1,10

(A-B-D-F) =
0,75+0,75=
1,54

Tahap 4
Sama dengan Tahap sebelumnya yaitu memilih Nilai Node Terkecil Sebagai Node Keberangakatan
Selanjutnya.
Node Keberangkatan Sebelumnya Node E(A-C-E),Maka Node Keberangkatan Selanjutnya Adalah
Node F.
B
0,45km

0,5km

0,3km

0,75km

0,35km

(A-C-E-F) =
1,05+0,35=
1,40

0,35km

0,55km
1,05

0,4km

(A-C-E-G) =
1,05+0,40=
1,45

Tahap 5
Tahap ini adalah yang terakhir karna Node F hanya memiliki 1 Nilai sisi yang menuju ke Node 1.
1,40

B
0,45km

1,85km

0,3km

0,75km

F
0,35km

0,5km

0,35km

(A-C-E-F-I) =
1,40+0,35=
1,75

0,25km
I

0,35km

0,55km
0,4km

Berdasarkan algortima Djikstra

0,7km

Lintasan Terpendek dari RUMAH DIKA ke RUMAH SAKIT PERTIWI :


A C E F I = 1,75 Km
Rumah dika - Kantor Polisi Taman Anggrek Bank Amanah Ummah Rumah Sakit Pertiwi.
Dengan total jarak tempuh 1,75 Km.

Kesimpulan :
Algoritma Greedy
Untuk mencari lintasan terpendek algoritma ini hanya membandingkan nilai sisi
terkecil.tidak kesuluruhan node di periksa oleh algoritma Greedy.Hasil pencarian lintasan
terpendek melalui algortima Greedy tidak selalu tepat,namun algoritma ini efektif dalam
waktu pencariannya.
Algoritma Djikstra
Untuk mencari lintasan terpendek algortima ini sangat efektif dalam ketepatan
hasil,dengan memeriksa semua node yang ada.Namun waktu yang diperlukan lebih lama dari
algoritma Greedy.

Latihan Soal
45
1

50

40
20

10

2
15
20

10

30
35

4
15

Jika Titik Awal 1,Titik Akhir nya...?(Ditentukan Audience)


Tentukan Lintasan Terpendek dengan Algoritma Djikstra

Latihan Soal
1
10

7
2

10

3
12

9
10
5

9
6

Jika Titik Awal 5,Titik Akhir nya 1


Tentukan Lintasan Terpendek dengan Algoritma Djikstra

Anda mungkin juga menyukai