Anda di halaman 1dari 25

APLIKASI

GRAF
Beberapa Aplikasi Graf
■ Lintasan terpendek (shortest path)
Persoalan pedagang keliling (travelling
salesperson problem)
■ Persoalan tukang pos Cina (chinese postman
problem)
■ Pewarnaan graf (graph colouring)
Persoalan Pedagang Keliling
(travelling salesperson problem (TSP)
Persoalan:
Diberikan sejumlah kota dan diketahui jarak antar kota.
Tentukan tur terpendek yang harus dilalui oleh seorang
pedagang bila pedagang itu berangkat dari sebuah kota asal dan
menyinggahi setiap kota tepat satu kali dan kembali lagi ke kota
asal keberangkatan.
Lintasan Terpendek (Shortest Path)
• Graf berbobot (weighted graph)
• Lintasan terpendek: lintasan yang memiliki total
bobot minimum.
Contoh aplikasi:
• Menentukan jarak terpendek/waktu tempuh
tersingkat/ongkos termurah antara dua buah kota
• Menentukan waktu tersingkat pengiriman pesan
(message) antara dua buah terminal pada jaringan
komputer.
• Terdapat beberapa jenis persoalan lintasan
terpendek, antara lain:
1) Lintasan terpendek antara dua buah simpul tertentu.
2) Lintasan terpendek antara semua pasangan simpul.
3) Lintasan terpendek dari simpul tertentu ke semua
simpul yang lain.
4) Lintasan terpendek antara dua buah simpul yang
melalui beberapa simpul tertentu.
• Diberikan graf berbobot G = (V, E) dan sebuah
simpul a.
• Tentukan lintasan terpendek dari a ke setiap
simpul lainnya di G.
• Asumsi yang kita buat adalah bahwa semua
sisi berbobot positif.
• Untuk menentukan lintasan terpendek dari
suatu graf berbobot dapat digunakan
– Algoritma Djikstra
– Algoritma Hapus
• Graph

45

1 50 2 10
5
40
15 35
20 10 20
30

3 15 4 3 6
ALGORITMA DIJKSTRA
• Algoritma Dijkstra adalah sebuah prosedur iteratif
yang mencari lintasan terpendek antara a dan z dalam
graf dengan pembobot.
• Prosesnya dengan cara mencari panjang lintasan
terpendek dari sebuah simpul pendahulu dan
menambahkan simpul-simpul tersebut ke set simpul
S.
• Algoritma berhenti setelah mencapai simpul z.
Contoh :

• Tentukan lintasan terpendek dari a ke z

B D
5

4 6

1 8
A 2 Z

2 3

10 E
C
10

Solusi
 Mulai dari simpul A (lingkari) sebagai simpul awal
 Tentukan jalur dengan bobot terpendek yang
menghubungkan A dengan simpul yang lain.
 Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5

4 6

1 8
A 2 Z

2 3

10 E
C
11

Solusi
 Lingkari Simpul C
 Tentukan jalur dengan bobot terpendek yang
menghubungkan C dengan simpul yang lain.
 Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5

4 6

1 8
A 2 Z

2 3

10 E
C
12
Solusi

 Lingkari Simpul B
 Tentukan jalur dengan bobot terpendek yang
menghubungkan B dengan simpul yang lain.
 Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5

4 6

1 8
A 2 Z

2 3

10 E
C
13

Solusi
 Lingkari Simpul D
 Tentukan jalur dengan bobot terpendek yang
menghubungkan D dengan simpul yang lain.
 Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5

4 6

1 8
A 2 Z

2 3

10 E
C
14

Solusi
 Lingkari Simpul E
 Tentukan jalur dengan bobot terpendek yang
menghubungkan E dengan simpul yang lain.
 Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5

4 6

1 8
A 2 Z

2 3

10 E
C
15

Solusi

 Jadi Lintasan terpendek dari A ke Z adalah

B D
5

4 6

1 8
A 2 Z

2 3

10 E
 ACBDEZ C

 Dengan Bobot = 2 + 1 + 5 + 2 + 3 = 13
Penerapan Algoritma Dijkstra pada
Jaringan Komputer

Jaringan komputer dapat dimodelkan sebagai


sebuah graf, dengan setiap simpul menyatakan sebuah
komputer/router dan sisi di dalam graf menyatakan
saluran komunikasi (sering disebut link). Setiap sisi
mempunyai label nilai ( yang disebut bobot). Bobot
tersebut dapat menyatakan jarak geografis(dalam km),
kecepatan transfer data, waktu pengiriman).
Lanjutan (Penerapan Algoritma Dijkstra
pada Jaringan Komputer)

Mencari lintasan terpendek dari router asal ke


router tujuan dapat diartikan sebagai menentukan
lintasan terpendek dari simpul asal ke simpul
tujuan di dalam graf yang merepresentasikan
jaringan komputer tersebut. Algoritma Dijkstra
adalah algoritma yang banyak digunakan untuk
mencari lintasan terpendek.
Soal Latihan
 Tentukan
panjang jalur terpendek dari A ke F
dengan menggunakan Algoritma Djigstra
 Contoh 2. Perusahaan perbankan dengan kantor pusat di
New York (NY) dan kantor cabang di Paris (P), Zurich
(Z), Berlin (B), Tokyo (T), Hongkong (HK) dan Sydney
(S). Setiap hari informasi penting (meliputi permintaan,
penawaran dan biaya) harus diberikan dari kantor pusat
ke kantor cabang. Hitunglah biaya terendah untuk
mengirim pesan kesemua kantor cabang Bank. Biaya
pengiriman pesan antara dua kantor cabang diberikan
dalam matriks di bawah ini:
NY P Z B T HK S
NY 0 8 10 12 10 15 20
P 8 0 2 1 10 10 10
Z 10 2 0 3 12 12 15
B 12 1 3 0 10 10 10
T 10 10 12 10 0 3 5
HK 15 10 12 10 3 0 5
S 20 10 15 10 5 5 0
 Darimatriks diatas dibuatlah model graf seperti gambar
dibawah ini:
3. Diberikan denah sebuah daerah sebagai berikut:

 Pada denah diatas terdapat 6 buah kota yaitu kota A, kota B,


kota C, kota D, kota E dan kota F. Jarak antar kota tertera
pada lintasan (path) pada denah tersebut. Carilah jalur
terpendek (shortest path) dari kota A ke kota E pada denah
tersebut diatas?
 4. Perusahaan otomotif dengan kantor pusat di Jakarta (J)
dan kantor cabang di Bandung (Ba), Semarang (Se),
Surabaya (Su), Yokyakarta (Y), Bekasi (Be) dan Depok (D).
Setiap hari informasi penting (meliputi permintaan,
penawaran dan biaya) harus diberikan dari kantor pusat
ke kantor cabang. Hitunglah biaya terendah untuk mengirim
pesan kesemua kantor cabang Bank. Biaya pengiriman pesan
antara dua kantor cabang diberikan dalam matriks di bawah
ini:
J Ba Se Su Y Be D
J 0 10 12 15 20 18 10
Ba 10 0 2 6 10 15 4
Se 12 2 0 8 10 5 15
Su 15 6 8 0 15 10 15
Y 20 10 10 15 0 5 8
Be 18 15 5 10 5 0 10
D 10 4 15 15 8 10 0

Anda mungkin juga menyukai