SlideShare a Scribd company logo
1 of 9
Download to read offline
Topik9 Penelusuran dan Optimisasi Pada Graph
9-1
Telah kita ketahui bersama bahwa penerapan graph maupun juga tree dalam bidang komputer
sangat banyak. Bagian ini membahas bagaimana metode untuk melakukan penelusuran unsure-
unsur (vertek-vertek) dari graph atau tree tersebut. Juga bagaimana membuat jalur dari satu vertek ke
vertek lain yang paling optimun. Beberapa algoritma yang akan dibahasa adalah BFS, DFS,
Algoritma Dijstra, Algoritma Kruskal, juga algoritma Prim.
9.1 Representasi Aritmetika Dengan Tree
Operasi aritmetika dapat direpresentasikan dengan menggunakan binary tree. Internal vertek untuk
menyatakan operator, sedangkan leaf sebagai operand. Root pada setiap subtree akan sebagai operator. Oleh
karena itu operator yang paling luar (paling akhir dilakukan) sebagai root. Sebagai ilustrasi perhatikan beberapa
contoh berikut :
a. a + b dapat dinyatakan sebagai :
b. (a+b)*(d/c) dapat dinyatakan sebagai :
c.
dcb
dba c


)*(
)(
 +
 a  b
 +
 a  b
 /
 d  c
 *
 +
 ^  d
 +
 *  d
 /
 b  c
 b
 -
 c
 a
Topik9 Penelusuran dan Optimisasi Pada Graph
9-2
Di dalam operasi matematika yang biasa kita pelajari adalah operasiu infik, yaitu operator diletakkan di
antara operand, seperti a+b, a-B, a*b, dan sebagainya. Sebenarnya ada tiga jenis operasi, yaitu : infiks, prefiks,
dan postfiks. Untuk membandingkan ketiganya, perhatikan contoh berikut :
infiks prefiks postfiks
a+b +ab ab+
(a+b)-c -+abc ab+c-
[a*(c-b)]/d /*a-cbd acb-*d/
9.2 Penelusuran Vertek
Bagi komputer operasi prefiks maupun postfiks lebih mudah disbanding infiks. Hal ini berlaku
sebaliknya untuk manusia. Pada bagian ini akan diuraikan bagaimana menelusuri tree sehingga terjadi
pembacaan infiks, prefiks, maupun postfiks.
a. Penelusuran Infiks (Inorder Traversal).
1. Lakukan inorder traversal pada subtree kiri
2. Baca root
3. Lakukan inorder traversal pada subtree kanan
b. Penelusuran Prefiks (Preorder Traversal)
1. Baca root
2. Lakukan inorder traversal pada subtree kiri
3. Lakukan inorder traversal pada subtree kanan
c. Penelusuran Postfiks (Postorder Traversal)
1. Lakukan inorder traversal pada subtree kiri
2. Lakukan inorder traversal pada subtree kanan
3. Baca root
Sebagai ilustrasi perhatikan tree berikut :
Inorder : a-b^c+d/b*c+d
Preorder : /+^-abcd+*bcd
Postorder : ab-c^d+bc*d+/
 +
 ^  d
 +
 *  d
 /
 b  c
 b
 -
 c
 a
Topik9 Penelusuran dan Optimisasi Pada Graph
9-3
9.3 DFS dan BFS
DFS (Depth-First Search Algorithm) merupakan algoritma untuk menelusuri vertek-vertek suatu
graph, sehingga akan terbentuk suatu spanning tree dari graph tersebut. Algoritma DFS ini adalah :
1. Pilih satu vertek (r) sebagai root, dan masukkan vertek r ke dalam T. Beri v sebagai r.
2. Pilih nilai i terkecil, 2in, sedemikian sehingga {v,vi}V dan vi belum pernah dikunjungi.
Jika tidak ada i, maka langsung ke langkah 3. Untuk hal lainnya, lakukan :
a. ambil edge {v,vi}ke dalam T,
b. beri v sebagai vi,
c. kembali ke langkah 2.
3. Jika v=r, maka T adalah spanning tree dari graph G, dan selesai.
4. Untuk vr, lakukan backtrack dari v. Jika u adalah parent dari vertek v, maka beri nilai v sebagai
u, dan kembali ke langkah 2.
Sebagai ilustrasi dari algoritma di atas, maka akan diterapkan untuk graph berikut :
Misalkan vertek-vertek diurut sesuai dengan : a, b, c, d, …..,h, i, j, maka hasilnya adalah :
1. Pertama ambil vertek a sebagai root, dan T={a}, serta v=a.
2. Vertek yang adjacent dengan a adalah : b, c, d. Ambil b, masukkan edge {a,b} ke dalam T. v=b, dan
looping
Vertek yang adjacent dengan b adalah a, d dan e. (a tidak diambil, sebab sudah dikunjungi) Ambil d,
masukkan edge {b,d} ke dalam T. v=d, dan looping
Vertek yang adjacent dengan d adalah a dan b (keduanya telah dikunjungi, maka ke langkah 3.
3. v=da, maka ke langkah 4
4. backtrack dari d dan v=b, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan b adalah a, d, dan e. (a dan d sudah dikunjungi) Ambil e, v=e dan
masukkan edge {b,e} ke dalam T, lalu looping.
Vertek yang adjacent dengan e adalah b, f, h. Ambil f, v=f dan masukkan edge {e,f} ke dalam T,
looping
Vertek yang adjacent dengan f adalah e (sudah dikunjungi), maka ke langkah 3.
3. v=fa, maka ke langkah 4
4. backtrack dari f dan v=e, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan e adalah b, f, dan h. Ambil h, v=h dan masukkan edge {e,h} ke dalam
T, lalu looping
Vertek yang adjacent dengan h adalah e (sudah dikunjungi), maka ke langkah 3.
 g a
  b
 d
 e
 f
 h
 c
 i
 j
Topik9 Penelusuran dan Optimisasi Pada Graph
9-4
3. v=ha, maka ke langkah 4
4. backtrack dari h dan v=e, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek e adalah b, f, h (sudah dikunjungi semua), maka ke langkah 3.
3. v=ha, maka ke langkah 4
4. backtrack dari h dan v=e, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek e adalah b, h, dan f (semua suadh dikunjungi), maka ke langkah 3.
3. v=ea, maka ke langkah 4
4. backtrack dari e dan v=b, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek b adalah a, d, dan e (semua suadh dikunjungi), maka ke langkah 3.
3. v=ba, maka ke langkah 4
4. backtrack dari b dan v=a, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek a adalah b, c dan d. Ambil c, dan v=c, ambil edge {a,e} ke dalam
T, lalu looping.
Vertek yang adjacent dengan c adalah a dan g. Ambil g, v=g dan ambil edge {e,g} ke dalam T, lalu
looping
Vertek yang adjacent dengan g adalah c, i dan j. Ambil i, v=i dan ambil edge {g,i} ke dalam T, lalu
looping.
Vertek yang adjacent dengan i adalah g (sudah dikunjungi), maka ke langkah 3.
3. v=ia, maka ke langkah 4
4. backtrack dari i dan v=g, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek g adalah c, i, j. Ambil j, v=j dan ambil edge {g,j} ke dalam T, lalu
looping.
Vertek yang adjacent dengan vertek j adalah g (sudah dikunjungi), maka ke langkah 3.
3. v=ja, maka ke langkah 4
4. backtrack dari j dan v=g, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek g adalah c, i, j (sudah dikunjungi), maka ke langkah 3.
3. v=ca, maka ke langkah 4
4. backtrack dari c dan v=c, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek c adalah a dan g (sudah dikunjungi), maka ke langkah 3.
3. v=ca, maka ke langkah 4
4. backtrack dari c dan v=a, dan kembali ke langkah 2.
2. Vertek yang adjacent dengan vertek a adalah b, c, dan d (sudah dikunjungi), maka ke langkah 3.
3. v=a, maka selesai.
Topik9 Penelusuran dan Optimisasi Pada Graph
9-5
Hasilnya adalah :
BFS (Breadth-First Search Algorithm) merupakan algoritma untuk menelusuri vertek-vertek suatu
graph, sehingga akan terbentuk suatu spanning tree dari graph tersebut. Perbedaan dengan DFS adalah
bahwa pada BFS, pembacaan dilakukan pada seluruh level.yang sama. Oleh karena itu tree yang akan
terbentuk cenderung melebar. Algoritma DFS ini adalah :
1. Pilih satu vertek (r) sebagai root, dan masukkan vertek r ke dalam antraian Q. Serta
insialisasi tree T dengan T={r}.
2. Hapuskan vertek terdepan dari Q. Untuk setiap i terkecil, 2in, sedemikian sehingga
{v,vi}E dan vi belum pernah dikunjungi, masukkan edge {v,vi}ke dalam T.
3. Masukkan vertek yang adjacent dengan vertek v yang dihapus pada langkah (2) tersebut ke
dalam Q dengan urutan yang disesuaikan, dan kembali ke langkah 2.
Sebagai ilustrasi dari algoritma di atas, maka akan diterapkan untuk graph berikut :
Misalkan vertek-vertek diurut sesuai dengan : a, b, c, d, …..,h, i, j, maka hasilnya adalah :
 g a
  b
 d
 e
 f
 h
 c
 i
 j
 g a
  b
 d
 e
 f
 h
 c
 i
 j
 g
a
  b
 d
 e
 f
 h
 c
 i
 j
Topik9 Penelusuran dan Optimisasi Pada Graph
9-6
Latihan 9.1.
1. Untuk graph berikut lakukan :
a. Penelusuran secara inorder
b. Penelusuran secara preorder
c. Penelusuran secara postorder
2. Perhatikan operasi aritmetika berikut :
r
l
k
cb
ba
).( 

a. Buatlah binary tree untuk operasi aritmetika tersebut !
b. Tentukan notasi infiksnya
c. Tentukan notasi prefiksnya
d. Tentukan notasi postfiksnya
3. Suatu complete binary T=(V,E) dengan V={a, b, c, …, i, j, k} dan a sebagai root. Jika hasil penelusuran
postorder adalah : d, e, b, h, i, f, j, k, g, c, a. Gambarkan tree ini.
a. Jika tinggi tree ini adalah 3.
b. Jika tinggi subtree kiri dari tree ini adalah 3.
a
b c
f
g
ja
ed
i
q
h
k ol
p
s t
r
u
v
w
Topik9 Penelusuran dan Optimisasi Pada Graph
9-7
4. Perhatikan graph berikut :
Jika vertek diurut dari a, b, …, j, k, tentukan spanning tree dari graph tersebut dengan menggunakan :
a. Depth-first search algorithm (DFS)
b. Bread-first search algorithm (BFS)
5. Soal seperti nomor (4) untuk graph :
6. Soal seperti nomor (4) untuk graph :
9.3 Optimisasi
Optimisasi berkaitan dengan beberapa operasi yang diterapkan pada graph yang terboboti, yaitu graph
dengan setiap edge mempunyai bobot yang tidak harus sama. Ada beberapa optimisasi di dalam graph
terboboti, yaitu :
1. Algoritma Dijkstra : untuk mencari path terpendek dari satu vertek ke vertek lainnya di
dalam graph tersebut.
2. Algoritma Kruskal : Algoritma ini untuk mencari spanning tree dari suatu graph dengan
panjang path antar vertek minimum. Hasil dari algoritma ini adalah minimum spanning tree.
3. Algoritma Prim : algortima ini bertujuan sama dengan algoritma Kruskal.
a
j
d
e
b
i
h
c
f
g
k
a
d
c b
g
i
fe
h
k
j
a
b
f
e g
dc
Topik9 Penelusuran dan Optimisasi Pada Graph
9-8
4. Algoritma Max-Flow Min-Cut : untuk mencari aliran terbesar dari satu vertek ke satu vertek
lainnya.
Di dalam bagian ini hanya akan dibahas algoritma Dijkstra saja.
Algoritma Dijkstra
Algoritma Dikstra (Dikstra’s shortest path algorithm) merupakan algoritma untuk mencari lintasan
(path) terpendek dari suatu vertek ke vertek-vertek lainnya dalam suatu graph G=(V,E). Di dalam hal ini edge-
edge dalam graph G tersebut mempunyai bobot yang berbeda (disebut weighted graph).
Algoritma Dikstra ini adalah sebagai berikut :
1. Inisialisasi : i=0, S0={v0}. Beri label vertek v0 dengan (0,-) dan setiap vertek vv0 diberi label
(,-).
Jika n=1, V={v0} dan selesai.
Jika n>1, lanjutkan ke langkah 2.
2. Untuk setiap v iS , gantikan (jika mungkin) label pada v dengan (L(v), y), dengan :
y adalah vertek di dalam Si dengan L(v) minimum.
3. Jika setiap vertek di iS (0in-2) berlabel (,-) maka selesai. Jika tidak, maka lakukan :
a. Pilih vertek vi+1 dengan label L( vi+1) minimum, lalu :
b. Si+1=Si{ vi+1}
c. i=i+1, jika i=n-1, maka selesai. Jika tidak, maka kembali ke langkah 2.
Sebagai ilustrasi algortima di atas, maka perhatikan contoh dengan graph berikut :
L(v) = min {L(v), L(u)+wt(u,v)}
uSi
 c
 a
 g
 h
 f
 b
11 7
6
6
11 9
4
7
11
3
5
4
9
4
5
11
17
Topik9 Penelusuran dan Optimisasi Pada Graph
9-9
Hasil dari graph tersebut adalah :
Latihan 9.2.
1. Perhatikan graph berikut :
a. Lakukan operasi dengan algoritma Dijkstra untuk memperoleh jarak terpendek dari vertek a ke setiap
vertek lainnya.
2. Soal sama seperti nomor (1) untuk graph berikut :
Diketahui bobot edge :
{a,c}=10 {a,d}=20
{a,e}=15 {a,g}=5
{b,c}=3 {b,d}=2
{b,f}=1 {c,d}=1
{c,g}=1 {d,e}=2
{e,f}=3 {f,g}=2
5
5
a
d
c b
g
i
fe
h
k
j
10
20
30
4
10
2
6
15
20
8
4
5
6
10
3
a
b
f
e g
dc
(22,a)
 c
 a
 g
 h
 f
 b
11 7
6
6
11 9
4
7
11
3
5
4
9
4
5
11
17
(6,c)(0,-)
(14,h)
(17,f)
(10,f)

More Related Content

What's hot

06 intergral reimann
06 intergral reimann06 intergral reimann
06 intergral reimannZhand Radja
 
Fungsi dan relasi
Fungsi dan relasiFungsi dan relasi
Fungsi dan relasiRizal Ogiek
 
2 relasi-dan-fungsi
2 relasi-dan-fungsi2 relasi-dan-fungsi
2 relasi-dan-fungsiSatria Adi
 
Relasi dan fungsi
Relasi dan fungsiRelasi dan fungsi
Relasi dan fungsiblackcatt
 
Pertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsiPertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsiaansyahrial
 
Fungsi Relasi dan Jenis Fungsi
Fungsi Relasi dan Jenis FungsiFungsi Relasi dan Jenis Fungsi
Fungsi Relasi dan Jenis Fungsisipolos
 
fungsi, persamaan & pertidaksamaan kuadrat
 fungsi, persamaan & pertidaksamaan kuadrat fungsi, persamaan & pertidaksamaan kuadrat
fungsi, persamaan & pertidaksamaan kuadratmfebri26
 
Matematika Relasi dan Fungsi
Matematika Relasi dan FungsiMatematika Relasi dan Fungsi
Matematika Relasi dan FungsiMaydina Izzatul
 
Perbedaan fungsi dan relasi
Perbedaan fungsi dan relasiPerbedaan fungsi dan relasi
Perbedaan fungsi dan relasia410080022
 
Relasi dan Fungsi
Relasi dan FungsiRelasi dan Fungsi
Relasi dan Fungsiaufa24
 

What's hot (20)

06 intergral reimann
06 intergral reimann06 intergral reimann
06 intergral reimann
 
Matdis-Himpunan
Matdis-HimpunanMatdis-Himpunan
Matdis-Himpunan
 
Continuity and Gauges
Continuity and GaugesContinuity and Gauges
Continuity and Gauges
 
Fungsi dan relasi
Fungsi dan relasiFungsi dan relasi
Fungsi dan relasi
 
2 relasi-dan-fungsi
2 relasi-dan-fungsi2 relasi-dan-fungsi
2 relasi-dan-fungsi
 
Fungsi Komposisi
Fungsi KomposisiFungsi Komposisi
Fungsi Komposisi
 
Relasi dan fungsi
Relasi dan fungsiRelasi dan fungsi
Relasi dan fungsi
 
Pertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsiPertemuan 3 relasi & fungsi
Pertemuan 3 relasi & fungsi
 
Integral Tertentu
Integral TertentuIntegral Tertentu
Integral Tertentu
 
Fungsi Relasi dan Jenis Fungsi
Fungsi Relasi dan Jenis FungsiFungsi Relasi dan Jenis Fungsi
Fungsi Relasi dan Jenis Fungsi
 
Eeeee
EeeeeEeeee
Eeeee
 
FUNGSI (gita permata sari)
FUNGSI (gita permata sari)FUNGSI (gita permata sari)
FUNGSI (gita permata sari)
 
Fungsi1
Fungsi1 Fungsi1
Fungsi1
 
fungsi, persamaan & pertidaksamaan kuadrat
 fungsi, persamaan & pertidaksamaan kuadrat fungsi, persamaan & pertidaksamaan kuadrat
fungsi, persamaan & pertidaksamaan kuadrat
 
Fungsi dan grafik
Fungsi dan grafikFungsi dan grafik
Fungsi dan grafik
 
Relasi dan fungsi
Relasi dan fungsiRelasi dan fungsi
Relasi dan fungsi
 
Matematika Relasi dan Fungsi
Matematika Relasi dan FungsiMatematika Relasi dan Fungsi
Matematika Relasi dan Fungsi
 
Perbedaan fungsi dan relasi
Perbedaan fungsi dan relasiPerbedaan fungsi dan relasi
Perbedaan fungsi dan relasi
 
Relasi dan Fungsi
Relasi dan FungsiRelasi dan Fungsi
Relasi dan Fungsi
 
Fungsi
FungsiFungsi
Fungsi
 

Viewers also liked

Diskret I Kombinatorika
Diskret I KombinatorikaDiskret I Kombinatorika
Diskret I KombinatorikaRaden Maulana
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit KuliahKita
 
Beberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinuBeberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinuRaden Maulana
 
Beberapa distribusi peluang diskrit (1)
Beberapa distribusi peluang diskrit (1)Beberapa distribusi peluang diskrit (1)
Beberapa distribusi peluang diskrit (1)Raden Maulana
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05KuliahKita
 
Matematika Diskrit matriks relasi-dan_fungsi
Matematika Diskrit  matriks relasi-dan_fungsiMatematika Diskrit  matriks relasi-dan_fungsi
Matematika Diskrit matriks relasi-dan_fungsiSiti Khotijah
 

Viewers also liked (12)

Diskret VI Rekursif
Diskret VI RekursifDiskret VI Rekursif
Diskret VI Rekursif
 
Diskret I Kombinatorika
Diskret I KombinatorikaDiskret I Kombinatorika
Diskret I Kombinatorika
 
Diskret III Induksi
Diskret III InduksiDiskret III Induksi
Diskret III Induksi
 
Diskret II Logika
Diskret II LogikaDiskret II Logika
Diskret II Logika
 
Sesi 1 PB&S
Sesi 1 PB&SSesi 1 PB&S
Sesi 1 PB&S
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
 
Beberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinuBeberapa distribusi peluang kontinu
Beberapa distribusi peluang kontinu
 
Beberapa distribusi peluang diskrit (1)
Beberapa distribusi peluang diskrit (1)Beberapa distribusi peluang diskrit (1)
Beberapa distribusi peluang diskrit (1)
 
Matematika diskrit
Matematika diskritMatematika diskrit
Matematika diskrit
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05
 
Matematika Diskrit matriks relasi-dan_fungsi
Matematika Diskrit  matriks relasi-dan_fungsiMatematika Diskrit  matriks relasi-dan_fungsi
Matematika Diskrit matriks relasi-dan_fungsi
 

Similar to Diskret IX Optimisasi

Similar to Diskret IX Optimisasi (20)

Matdis-optimisasi
Matdis-optimisasiMatdis-optimisasi
Matdis-optimisasi
 
PENERAPAN DIFFERENSIASI
PENERAPAN DIFFERENSIASIPENERAPAN DIFFERENSIASI
PENERAPAN DIFFERENSIASI
 
Matematika diskrit tree
Matematika diskrit  treeMatematika diskrit  tree
Matematika diskrit tree
 
Pohon_Tree_pdf (1).pdf
Pohon_Tree_pdf (1).pdfPohon_Tree_pdf (1).pdf
Pohon_Tree_pdf (1).pdf
 
Quiz UAS Struktur Data
Quiz UAS Struktur DataQuiz UAS Struktur Data
Quiz UAS Struktur Data
 
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
 
Aplikasi Turunan.pptx
Aplikasi Turunan.pptxAplikasi Turunan.pptx
Aplikasi Turunan.pptx
 
Makalah Fungsi Kuadrat
Makalah Fungsi KuadratMakalah Fungsi Kuadrat
Makalah Fungsi Kuadrat
 
Fungsi matematika
Fungsi matematikaFungsi matematika
Fungsi matematika
 
Pcd 8
Pcd 8Pcd 8
Pcd 8
 
RELASI KELAS 8.ppt
RELASI KELAS 8.pptRELASI KELAS 8.ppt
RELASI KELAS 8.ppt
 
Bab 4 limit & turunan fungsi
Bab 4 limit & turunan fungsiBab 4 limit & turunan fungsi
Bab 4 limit & turunan fungsi
 
Fungsi dan Persamaan Garis
Fungsi dan Persamaan GarisFungsi dan Persamaan Garis
Fungsi dan Persamaan Garis
 
Materi integral
Materi integralMateri integral
Materi integral
 
Graph-Teori-Algoritma.pdf
Graph-Teori-Algoritma.pdfGraph-Teori-Algoritma.pdf
Graph-Teori-Algoritma.pdf
 
Teknik pencarian heuristik
Teknik pencarian heuristikTeknik pencarian heuristik
Teknik pencarian heuristik
 
Graph-Struktur Data.pdf
Graph-Struktur Data.pdfGraph-Struktur Data.pdf
Graph-Struktur Data.pdf
 
Tugas kalkulus
Tugas kalkulusTugas kalkulus
Tugas kalkulus
 
Kelompok3farmasi matematika ppt
Kelompok3farmasi matematika pptKelompok3farmasi matematika ppt
Kelompok3farmasi matematika ppt
 
Indra mds
Indra mdsIndra mds
Indra mds
 

More from Raden Maulana

Kuliah statistika lanjut
Kuliah statistika lanjutKuliah statistika lanjut
Kuliah statistika lanjutRaden Maulana
 
Kuliah statistika dasar
Kuliah statistika dasarKuliah statistika dasar
Kuliah statistika dasarRaden Maulana
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritisRaden Maulana
 

More from Raden Maulana (6)

Kuliah statistika lanjut
Kuliah statistika lanjutKuliah statistika lanjut
Kuliah statistika lanjut
 
Kuliah statistika dasar
Kuliah statistika dasarKuliah statistika dasar
Kuliah statistika dasar
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis
00 kuliah-03-01-distribusi-probabilitas-diskret-teoritis
 
Pengantar R3
Pengantar R3Pengantar R3
Pengantar R3
 
Pengantar R
Pengantar RPengantar R
Pengantar R
 

Recently uploaded

Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxSlasiWidasmara1
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfKartiniIndasari
 
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.pptSEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.pptAlfandoWibowo2
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxSaujiOji
 
Stoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.pptStoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.pptannanurkhasanah2
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptnabilafarahdiba95
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMIGustiBagusGending
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfAkhyar33
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"baimmuhammad71
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAppgauliananda03
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...pipinafindraputri1
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptxSusanSanti20
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptPpsSambirejo
 

Recently uploaded (20)

Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.pptSEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 
Stoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.pptStoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.ppt
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 

Diskret IX Optimisasi

  • 1. Topik9 Penelusuran dan Optimisasi Pada Graph 9-1 Telah kita ketahui bersama bahwa penerapan graph maupun juga tree dalam bidang komputer sangat banyak. Bagian ini membahas bagaimana metode untuk melakukan penelusuran unsure- unsur (vertek-vertek) dari graph atau tree tersebut. Juga bagaimana membuat jalur dari satu vertek ke vertek lain yang paling optimun. Beberapa algoritma yang akan dibahasa adalah BFS, DFS, Algoritma Dijstra, Algoritma Kruskal, juga algoritma Prim. 9.1 Representasi Aritmetika Dengan Tree Operasi aritmetika dapat direpresentasikan dengan menggunakan binary tree. Internal vertek untuk menyatakan operator, sedangkan leaf sebagai operand. Root pada setiap subtree akan sebagai operator. Oleh karena itu operator yang paling luar (paling akhir dilakukan) sebagai root. Sebagai ilustrasi perhatikan beberapa contoh berikut : a. a + b dapat dinyatakan sebagai : b. (a+b)*(d/c) dapat dinyatakan sebagai : c. dcb dba c   )*( )(  +  a  b  +  a  b  /  d  c  *  +  ^  d  +  *  d  /  b  c  b  -  c  a
  • 2. Topik9 Penelusuran dan Optimisasi Pada Graph 9-2 Di dalam operasi matematika yang biasa kita pelajari adalah operasiu infik, yaitu operator diletakkan di antara operand, seperti a+b, a-B, a*b, dan sebagainya. Sebenarnya ada tiga jenis operasi, yaitu : infiks, prefiks, dan postfiks. Untuk membandingkan ketiganya, perhatikan contoh berikut : infiks prefiks postfiks a+b +ab ab+ (a+b)-c -+abc ab+c- [a*(c-b)]/d /*a-cbd acb-*d/ 9.2 Penelusuran Vertek Bagi komputer operasi prefiks maupun postfiks lebih mudah disbanding infiks. Hal ini berlaku sebaliknya untuk manusia. Pada bagian ini akan diuraikan bagaimana menelusuri tree sehingga terjadi pembacaan infiks, prefiks, maupun postfiks. a. Penelusuran Infiks (Inorder Traversal). 1. Lakukan inorder traversal pada subtree kiri 2. Baca root 3. Lakukan inorder traversal pada subtree kanan b. Penelusuran Prefiks (Preorder Traversal) 1. Baca root 2. Lakukan inorder traversal pada subtree kiri 3. Lakukan inorder traversal pada subtree kanan c. Penelusuran Postfiks (Postorder Traversal) 1. Lakukan inorder traversal pada subtree kiri 2. Lakukan inorder traversal pada subtree kanan 3. Baca root Sebagai ilustrasi perhatikan tree berikut : Inorder : a-b^c+d/b*c+d Preorder : /+^-abcd+*bcd Postorder : ab-c^d+bc*d+/  +  ^  d  +  *  d  /  b  c  b  -  c  a
  • 3. Topik9 Penelusuran dan Optimisasi Pada Graph 9-3 9.3 DFS dan BFS DFS (Depth-First Search Algorithm) merupakan algoritma untuk menelusuri vertek-vertek suatu graph, sehingga akan terbentuk suatu spanning tree dari graph tersebut. Algoritma DFS ini adalah : 1. Pilih satu vertek (r) sebagai root, dan masukkan vertek r ke dalam T. Beri v sebagai r. 2. Pilih nilai i terkecil, 2in, sedemikian sehingga {v,vi}V dan vi belum pernah dikunjungi. Jika tidak ada i, maka langsung ke langkah 3. Untuk hal lainnya, lakukan : a. ambil edge {v,vi}ke dalam T, b. beri v sebagai vi, c. kembali ke langkah 2. 3. Jika v=r, maka T adalah spanning tree dari graph G, dan selesai. 4. Untuk vr, lakukan backtrack dari v. Jika u adalah parent dari vertek v, maka beri nilai v sebagai u, dan kembali ke langkah 2. Sebagai ilustrasi dari algoritma di atas, maka akan diterapkan untuk graph berikut : Misalkan vertek-vertek diurut sesuai dengan : a, b, c, d, …..,h, i, j, maka hasilnya adalah : 1. Pertama ambil vertek a sebagai root, dan T={a}, serta v=a. 2. Vertek yang adjacent dengan a adalah : b, c, d. Ambil b, masukkan edge {a,b} ke dalam T. v=b, dan looping Vertek yang adjacent dengan b adalah a, d dan e. (a tidak diambil, sebab sudah dikunjungi) Ambil d, masukkan edge {b,d} ke dalam T. v=d, dan looping Vertek yang adjacent dengan d adalah a dan b (keduanya telah dikunjungi, maka ke langkah 3. 3. v=da, maka ke langkah 4 4. backtrack dari d dan v=b, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan b adalah a, d, dan e. (a dan d sudah dikunjungi) Ambil e, v=e dan masukkan edge {b,e} ke dalam T, lalu looping. Vertek yang adjacent dengan e adalah b, f, h. Ambil f, v=f dan masukkan edge {e,f} ke dalam T, looping Vertek yang adjacent dengan f adalah e (sudah dikunjungi), maka ke langkah 3. 3. v=fa, maka ke langkah 4 4. backtrack dari f dan v=e, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan e adalah b, f, dan h. Ambil h, v=h dan masukkan edge {e,h} ke dalam T, lalu looping Vertek yang adjacent dengan h adalah e (sudah dikunjungi), maka ke langkah 3.  g a   b  d  e  f  h  c  i  j
  • 4. Topik9 Penelusuran dan Optimisasi Pada Graph 9-4 3. v=ha, maka ke langkah 4 4. backtrack dari h dan v=e, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek e adalah b, f, h (sudah dikunjungi semua), maka ke langkah 3. 3. v=ha, maka ke langkah 4 4. backtrack dari h dan v=e, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek e adalah b, h, dan f (semua suadh dikunjungi), maka ke langkah 3. 3. v=ea, maka ke langkah 4 4. backtrack dari e dan v=b, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek b adalah a, d, dan e (semua suadh dikunjungi), maka ke langkah 3. 3. v=ba, maka ke langkah 4 4. backtrack dari b dan v=a, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek a adalah b, c dan d. Ambil c, dan v=c, ambil edge {a,e} ke dalam T, lalu looping. Vertek yang adjacent dengan c adalah a dan g. Ambil g, v=g dan ambil edge {e,g} ke dalam T, lalu looping Vertek yang adjacent dengan g adalah c, i dan j. Ambil i, v=i dan ambil edge {g,i} ke dalam T, lalu looping. Vertek yang adjacent dengan i adalah g (sudah dikunjungi), maka ke langkah 3. 3. v=ia, maka ke langkah 4 4. backtrack dari i dan v=g, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek g adalah c, i, j. Ambil j, v=j dan ambil edge {g,j} ke dalam T, lalu looping. Vertek yang adjacent dengan vertek j adalah g (sudah dikunjungi), maka ke langkah 3. 3. v=ja, maka ke langkah 4 4. backtrack dari j dan v=g, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek g adalah c, i, j (sudah dikunjungi), maka ke langkah 3. 3. v=ca, maka ke langkah 4 4. backtrack dari c dan v=c, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek c adalah a dan g (sudah dikunjungi), maka ke langkah 3. 3. v=ca, maka ke langkah 4 4. backtrack dari c dan v=a, dan kembali ke langkah 2. 2. Vertek yang adjacent dengan vertek a adalah b, c, dan d (sudah dikunjungi), maka ke langkah 3. 3. v=a, maka selesai.
  • 5. Topik9 Penelusuran dan Optimisasi Pada Graph 9-5 Hasilnya adalah : BFS (Breadth-First Search Algorithm) merupakan algoritma untuk menelusuri vertek-vertek suatu graph, sehingga akan terbentuk suatu spanning tree dari graph tersebut. Perbedaan dengan DFS adalah bahwa pada BFS, pembacaan dilakukan pada seluruh level.yang sama. Oleh karena itu tree yang akan terbentuk cenderung melebar. Algoritma DFS ini adalah : 1. Pilih satu vertek (r) sebagai root, dan masukkan vertek r ke dalam antraian Q. Serta insialisasi tree T dengan T={r}. 2. Hapuskan vertek terdepan dari Q. Untuk setiap i terkecil, 2in, sedemikian sehingga {v,vi}E dan vi belum pernah dikunjungi, masukkan edge {v,vi}ke dalam T. 3. Masukkan vertek yang adjacent dengan vertek v yang dihapus pada langkah (2) tersebut ke dalam Q dengan urutan yang disesuaikan, dan kembali ke langkah 2. Sebagai ilustrasi dari algoritma di atas, maka akan diterapkan untuk graph berikut : Misalkan vertek-vertek diurut sesuai dengan : a, b, c, d, …..,h, i, j, maka hasilnya adalah :  g a   b  d  e  f  h  c  i  j  g a   b  d  e  f  h  c  i  j  g a   b  d  e  f  h  c  i  j
  • 6. Topik9 Penelusuran dan Optimisasi Pada Graph 9-6 Latihan 9.1. 1. Untuk graph berikut lakukan : a. Penelusuran secara inorder b. Penelusuran secara preorder c. Penelusuran secara postorder 2. Perhatikan operasi aritmetika berikut : r l k cb ba ).(   a. Buatlah binary tree untuk operasi aritmetika tersebut ! b. Tentukan notasi infiksnya c. Tentukan notasi prefiksnya d. Tentukan notasi postfiksnya 3. Suatu complete binary T=(V,E) dengan V={a, b, c, …, i, j, k} dan a sebagai root. Jika hasil penelusuran postorder adalah : d, e, b, h, i, f, j, k, g, c, a. Gambarkan tree ini. a. Jika tinggi tree ini adalah 3. b. Jika tinggi subtree kiri dari tree ini adalah 3. a b c f g ja ed i q h k ol p s t r u v w
  • 7. Topik9 Penelusuran dan Optimisasi Pada Graph 9-7 4. Perhatikan graph berikut : Jika vertek diurut dari a, b, …, j, k, tentukan spanning tree dari graph tersebut dengan menggunakan : a. Depth-first search algorithm (DFS) b. Bread-first search algorithm (BFS) 5. Soal seperti nomor (4) untuk graph : 6. Soal seperti nomor (4) untuk graph : 9.3 Optimisasi Optimisasi berkaitan dengan beberapa operasi yang diterapkan pada graph yang terboboti, yaitu graph dengan setiap edge mempunyai bobot yang tidak harus sama. Ada beberapa optimisasi di dalam graph terboboti, yaitu : 1. Algoritma Dijkstra : untuk mencari path terpendek dari satu vertek ke vertek lainnya di dalam graph tersebut. 2. Algoritma Kruskal : Algoritma ini untuk mencari spanning tree dari suatu graph dengan panjang path antar vertek minimum. Hasil dari algoritma ini adalah minimum spanning tree. 3. Algoritma Prim : algortima ini bertujuan sama dengan algoritma Kruskal. a j d e b i h c f g k a d c b g i fe h k j a b f e g dc
  • 8. Topik9 Penelusuran dan Optimisasi Pada Graph 9-8 4. Algoritma Max-Flow Min-Cut : untuk mencari aliran terbesar dari satu vertek ke satu vertek lainnya. Di dalam bagian ini hanya akan dibahas algoritma Dijkstra saja. Algoritma Dijkstra Algoritma Dikstra (Dikstra’s shortest path algorithm) merupakan algoritma untuk mencari lintasan (path) terpendek dari suatu vertek ke vertek-vertek lainnya dalam suatu graph G=(V,E). Di dalam hal ini edge- edge dalam graph G tersebut mempunyai bobot yang berbeda (disebut weighted graph). Algoritma Dikstra ini adalah sebagai berikut : 1. Inisialisasi : i=0, S0={v0}. Beri label vertek v0 dengan (0,-) dan setiap vertek vv0 diberi label (,-). Jika n=1, V={v0} dan selesai. Jika n>1, lanjutkan ke langkah 2. 2. Untuk setiap v iS , gantikan (jika mungkin) label pada v dengan (L(v), y), dengan : y adalah vertek di dalam Si dengan L(v) minimum. 3. Jika setiap vertek di iS (0in-2) berlabel (,-) maka selesai. Jika tidak, maka lakukan : a. Pilih vertek vi+1 dengan label L( vi+1) minimum, lalu : b. Si+1=Si{ vi+1} c. i=i+1, jika i=n-1, maka selesai. Jika tidak, maka kembali ke langkah 2. Sebagai ilustrasi algortima di atas, maka perhatikan contoh dengan graph berikut : L(v) = min {L(v), L(u)+wt(u,v)} uSi  c  a  g  h  f  b 11 7 6 6 11 9 4 7 11 3 5 4 9 4 5 11 17
  • 9. Topik9 Penelusuran dan Optimisasi Pada Graph 9-9 Hasil dari graph tersebut adalah : Latihan 9.2. 1. Perhatikan graph berikut : a. Lakukan operasi dengan algoritma Dijkstra untuk memperoleh jarak terpendek dari vertek a ke setiap vertek lainnya. 2. Soal sama seperti nomor (1) untuk graph berikut : Diketahui bobot edge : {a,c}=10 {a,d}=20 {a,e}=15 {a,g}=5 {b,c}=3 {b,d}=2 {b,f}=1 {c,d}=1 {c,g}=1 {d,e}=2 {e,f}=3 {f,g}=2 5 5 a d c b g i fe h k j 10 20 30 4 10 2 6 15 20 8 4 5 6 10 3 a b f e g dc (22,a)  c  a  g  h  f  b 11 7 6 6 11 9 4 7 11 3 5 4 9 4 5 11 17 (6,c)(0,-) (14,h) (17,f) (10,f)