Dr. Ernastuti
Dr. Nola Marina
Dr. Aini Suri Talita
LINGKUP MATERI
Penyelesaian Masalah
Pohon Rentangan Minimal :
1. Algortma Kruskal 1 Pengertian Pohon pada Graf
2. Algoritma Prims
6
Pohon Berakar
2
(Rooted Tree)
Pemodelan Masalah 5
dengan graf Pohon: 3
Masalah Pohon 4 Penerapan Pohon
Rentangan Minimal Berakar
Pohon Rentangan
(Spanning Tree)
G raf
Adalah struktur diskrit yang terdiri
atas simpul dan ruas yang
menghubungkan simpul-simpul.
G raf
Secara umum graf dapat didefinisikan sebagai
kumpulan simpul yang dihubungkan dengan ruas
Pohon ( Tree )
Pohon (Tree) adalah graf terhubung yang tidak mengandung sirkuit.
T1 T2 a
a b
b
a b a b
c d
c d
c d c d
e f
e f
e f e f
bukan pohon
pohon pohon bukan pohon
Graf Terhubung & Sirkuit
o Suatu Graf G disebut terhubung apabila untuk
setiap dua simpul dari graf G selalu terdapat jalur
yang menghubungkan kedua simpul tersebut.
T4
T3
T1 T2 a
a b
b
a b a b
c d
c d
c d c d
e f
e f
e f e f
a b a b
c d
c d
c d c d
e f e f
e f e f
a b a b
c d
c d
c d c d
e f e f
e f e f
a b a b
c d
c d
c d c d
e f e f
e f e f
3 d c v w
G1 G2 G3
G1 G2
G1 G2 G3
w
T1 u T2
T1 & T2 bukan Graf Pohon
x
y Karena Mengandung Sirkuit
T5 T6 w
u
Graf Pohon
1. terhubung
x 2. tidak mengandung sirkuit.
y
v
w
T1 u T2
T1 & T2 bukan Graf Pohon
x
y Karena Mengandung Sirkuit
T3 u T4 w
T5 T6 w
u
Graf Pohon
1. terhubung
x 2. tidak mengandung sirkuit.
y
v
w
T1 u T2
T1 & T2 bukan Graf Pohon
x
y Karena mengandung Sirkuit
T5 T6 w
u
e1 e2
PERIKSA !!
e7 Apakah Graf T adalah POHON ?
e3
e6 e5 e4
Graf T
dengan 8 simpul (n = 8) & 7 ruas (n-1)
1
T adalah Pohon
T terhubung & tidak mengandung sirkuit
e1 e2
e7 e3
e6 e5 e4
Graf T
dengan 8 simpul (n = 8) & 7 ruas (n-1)
1
T adalah Pohon
T terhubung & tidak mengandung sirkuit
e1 e2
e7 e3 2
e7 e3 2
T1 T2
POHON
POHON
d c
c d
Suatu Graf G adalah Pohon jika dan hanya
jika terdapat satu dan hanya satu jalur
diantara setiap pasang simpul dari Graf G.
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c
Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,d
a b
T1
d c
Suatu Graf G adalah Pohon jika dan hanya
jika terdapat satu dan hanya satu jalur
diantara setiap pasang simpul dari Graf G.
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c
Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,d
a b
T1
d c
Suatu Graf G adalah Pohon jika dan hanya
jika terdapat satu dan hanya satu jalur
diantara setiap pasang simpul dari Graf G.
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c
Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,d
a b
T1
d c
G bukan pohon
Suatu Graf G adalah Pohon jika dan hanya a b
jika terdapat satu dan hanya satu jalur Pasangan simpul (a,b)
1 Jalur a,c,b
diantara setiap pasang simpul dari Graf G. 2 Jalur a,d,b
3 Jalur a,d,c,b G
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b d c
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c
Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,d
a b
T1
d c
G bukan pohon
Suatu Graf G adalah Pohon jika dan hanya a b
jika terdapat satu dan hanya satu jalur Pasangan simpul (a,b)
1 Jalur a,c,b
diantara setiap pasang simpul dari Graf G. 2 Jalur a,d,b
3 Jalur a,d,c,b G
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b d c
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c
Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,d
a b
T1
d c
G bukan pohon
Suatu Graf G adalah Pohon jika dan hanya a b
jika terdapat satu dan hanya satu jalur Pasangan simpul (a,b)
1 Jalur a,c,b
diantara setiap pasang simpul dari Graf G. 2 Jalur a,d,b
3 Jalur a,d,c,b G
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b d c
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c
Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,d
a b
T1
d c
G bukan pohon
Suatu Graf G adalah Pohon jika dan Pasangan simpul (a,b) a b
hanya jika terdapat satu dan hanya Jalur a,c,b
satu jalur diantara setiap pasang Jalur a,d,b
Jalur a,d,c,b
simpul dari Graf G. G
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b d c
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c T2 adalah pohon
Pasangan simpul (b,d) Jalur b,d Pasangan simpul (a,b) Jalur a,d,b
Pasangan simpul (c,d) Jalur c,d Pasangan simpul (a,c) Jalur a,c
a b b
a
T1 T2
d c
c d
G bukan pohon
Suatu Graf G adalah Pohon jika dan Pasangan simpul (a,b) a b
hanya jika terdapat satu dan hanya Jalur a,c,b
satu jalur diantara setiap pasang Jalur a,d,b
Jalur a,d,c,b
simpul dari Graf G. G
T1 adalah pohon
Pasangan simpul (a,b) Jalur a,d,b d c
Pasangan simpul (a,c) Jalur a,d,c
Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,c) Jalur b,d,c
Pasangan simpul (b,d) Jalur b,d T2 adalah pohon
Pasangan simpul (c,d) Jalur c,d Pasangan simpul (b,c) Jalur b,d,a,c
a b b
a
T1 T2
d c
c d
G bukan pohon
Suatu Graf G adalah Pohon jika dan Pasangan simpul (a,b) a b
hanya jika terdapat satu dan hanya Jalur a,c,b
satu jalur diantara setiap pasang Jalur a,d,b
Jalur a,d,c,b
simpul dari Graf G. G
BUKAN
T1 adalah pohon POHON
Pasangan simpul (a,b) Jalur a,d,b T2 adalah pohon d c
Pasangan simpul (a,c) Jalur a,d,c Pasangan simpul (a,b) Jalur a,d,b
Pasangan simpul (a,d) Jalur a,d Pasangan simpul (a,c) Jalur a,c
Pasangan simpul (b,c) Jalur b,d,c Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,d) Jalur b,d Pasangan simpul (b,c) Jalur b,d,a,c
Pasangan simpul (c,d) Jalur c,d Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,a,d
a b b
a
T1 T2
POHON
POHON
d c
c d
G bukan pohon
Suatu Graf G adalah Pohon jika dan Pasangan simpul (a,b) a b
hanya jika terdapat satu dan hanya Jalur a,c,b
satu jalur diantara setiap pasang Jalur a,d,b
Jalur a,d,c,b
simpul dari Graf G. G
BUKAN
T1 adalah pohon POHON
Pasangan simpul (a,b) Jalur a,d,b T2 adalah pohon d c
Pasangan simpul (a,c) Jalur a,d,c Pasangan simpul (a,b) Jalur a,d,b
Pasangan simpul (a,d) Jalur a,d Pasangan simpul (a,c) Jalur a,c
Pasangan simpul (b,c) Jalur b,d,c Pasangan simpul (a,d) Jalur a,d
Pasangan simpul (b,d) Jalur b,d Pasangan simpul (b,c) Jalur b,d,a,c
Pasangan simpul (c,d) Jalur c,d Pasangan simpul (b,d) Jalur b,d
Pasangan simpul (c,d) Jalur c,a,d
a b b
a
T1 T2
POHON
POHON
d c
c d
Kesimpulan
Sifat-sifat (properti) pohon
Misalkan G = (V, E) adalah graf terhubung dan tak-berarah dan jumlah simpulnya n.
b
c d
e
f g
k
h i j
l m
Terminologi pada Pohon Berakar
a
2 Lintasan (path)
b
c d
Lintasan dari a ke j adalah a, b, e, j.
Panjang lintasan dari a ke j adalah 3. e
f g
k
h i j
3 Saudara kandung (sibling)
f adalah saudara kandung e, tetapi g bukan l m
b
c d
e
f g
k
h i j
l m
Terminologi pada Pohon Berakar
4 Derajat (degree)
Derajat sebuah simpul
adalah jumlah upapohon (atau jumlah anak)
pada simpul tersebut.
8 Tingkat (level) b 1
c d
e 2
f g
k 3
h i j
4
l m
R: pohon Berakar
Pohon Berakar (rooted tree)
Simpul bukan akar, yang berderajat nol Akar (root) dari R
disebut daun.
r
Simpul d, h, f, i & j
disebut simpul DAUN
(Berderajat Nol)
R: pohon Berakar
KEDALAMAN (LEVEL)
Level 1
Level 2
Level 3
R: pohon Berakar
Pohon & 2 buah pohon berakar POHON BERAKAR
yang dihasilkan dari pemilihan dua Simpul Akar : b
simpul berbeda sebagai akar ( b & d)
POHON
POHON BERAKAR
Simpul Akar : e
Simpul D A U N Simpul Akar : b
Simpul bukan akar, yang berderajat nol
disebut daun.
Simpul Daun:
a, c, f, g & h
Simpul Akar : e
Simpul Daun:
g, h, a, c & f
pohon 4-ary
Pohon n-ary
Pohon berakar yang setiap simpul
cabangnya mempunyai paling banyak p
pohon 3-ary
pohon 2-ary
Pohon Biner ( pohon 2-ary/ Binary Tree )
A. Adalah pohon n-ary dengan n = 2
B. Setiap simpul di dalam pohon biner mempunyai
paling banyak 2 buah anak
C. Dibedakan antara anak kiri (left child) dan anak
kanan (right child)
Pohon Biner ( pohon 2-ary/ Binary Tree )
A. Adalah pohon n-ary dengan n = 2
B. Setiap simpul di dalam pohon biner mempunyai
paling banyak 2 buah anak
C. Dibedakan antara anak kiri (left child) dan anak
kanan (right child)
B1 B2
B1 & B2 adalah dua buah pohon biner yang berbeda
B1 B2
daun → operand
simpul dalam → operator
a:c b:c
a >c c>a b>c c>b
KT BENDA KT KEADAAN
G T1 T2 T3 T4
Pohon Rentangan (spanning tree)
❖ Setiap graf terhubung mempunyai paling sedikit satu
buah pohon rentangan.
❖ Pohon Rentangan dari graf terhubung
adalah upagraf (subgraph) merentang
yang berupa pohon.
Graf G
4 Simpul
6 Ruas
Pohon Rentangan Minimum
❖ Graf terhubung-berbobot mungkin mempunyai lebih dari 1 pohon rentangan.
❖ Pohon rentangan yang berbobot minimum –dinamakan pohon rentangan
minimum (minimum spanning tree).
a a
45
55 d d
25 30 25 30
c h c h
b b
40 20 40 20
50
5 15 5 15
g g
e e
35 10 10
f f
Aplikasi Pohon Rentangan
1. Jumlah ruas jalan seminimum mungkin yang
menghubungkan semua kota sehingga setiap kota
tetap terhubung satu sama lain.
Bagaimana membangun suatu jaringan pipa sistem pengiriman air untuk beberapa
desa. Jaringan pipa tersebut akan dibangun di antara desa-desa tersebut dengan
biaya seekonomis mungkin.
Pemodelan Masalah
Pohon Rentangan Minimal
Kita dapat memodelkan masalah ini menggunakan graf berbobot, dengan:
simpul mewakili desa
ruas mewakili jalur pipa yang mungkin dipasang di antara dua desa,
bobot mewakili biaya pembuatan pipa pada jalur yang diwakili oleh
ruasnya.
1. Graf haruslah terhubung karena seluruh desa harus dilalui pipa tersebut.
2. Graf tidak boleh mengandung sirkuit, karena alasan ekonomis, sehingga graf ini harus
berupa pohon rentang.
3. Pilih salah satu dari pohon rentang yang dapat dibuat, yang paling ekonomis (jumlah
total bobotnya paling kecil: pohon rentang minimal)
Pemodelan Masalah
Pohon Rentangan Minimal
Masalah 2:
“Sebuah perusahaan berencana membangun jaringan komunikasi yang
menghubungkan 5 komputer pusat nya. Setiap pasang komputer pusat ini dapat
dihubungkan dengan saluran telepon yang disewa. “
Kita bisa mengatasi masalah ini dengan mencari pohon rentangan yang menghasilkan jumlah bobot ruas
pohon minimal. Pohon rentangan seperti itu disebut
a 𝑒4 d
a 5 d
𝑉 = {a, b, c, d}
3
1 2 2 6
4 4
b c b c
3 2 4 6
a 5 d a 5 d
Jumlah bobot= 11 Jumlah bobot= 15
Masalah Pohon Rentangan Minimal
b c b 4 c
5 6 3
2 6 2
a 5 d a d
Jumlah bobot= 13 Jumlah bobot= 9
b c
3
7 6 Maka pohon rentangan minimal
dari graf G1 adalah subpohon yang ke 6,
a 5 d dengan jumlah bobot paling kecil, yaitu
Jumlah bobot=14 2+3+4=9
Masalah Pohon Rentangan Minimal
Algoritma
Penyelesaian Masalah Pohon
Rentangan Minimal
Dua algoritma untuk membangun pohon rentangan
minimal.
Algoritma Prim Algoritma greedy adalah prosedur yang membuat
pilihan optimal di setiap langkahnya.
Algoritma Kruskal
Konsep greedy tidak menjamin bahwa solusi optimal
global/keseluruhan dihasilkan. Namun algoritma
Keduanya dilakukan dengan secara berturut-turut Prim dan Kruskal adalah algoritma greedy yang
menambahkan ruas dengan bobot terkecil dari ruas menghasilkan solusi optimal.
pohon tersebut dengan syarat tertentu.
Keduanya merupakan algoritma greedy.
Algoritma Prim dan Kruskal
1. Konsep dasar yang digunakan dalam algoritma Prim adalah pada setiap langkah,
pilih ruas dari graf G yang berbobot minimal yang terhubung dengan pohon yang
telah terbentuk, dan tidak membentuk sirkuit.
2. Konsep dasar yang digunakan dalam algoritma Kruskal adalah pada setiap
langkah, pilih ruas dari graf G yang berbobot minimal (tidak harus terhubung
dengan pohon yang sudah tebentuk), dan ruas tersebut tidak membentuk sirkuit.
3. Mungkin ada lebih dari satu pohon rentangan minimal untuk suatu graf berbobot
terhubung, tapi bobotnya tetap sama.
4. Algoritma Prim dan Kruskal akan selalu berhasil menemukan pohon rentangan
minimal tetapi pohon rentangan minimal yang dihasilkan tidak selalu unik
Algoritma Prim
1. Mulai dengan memilih ruas dengan bobot terkecil.
2. Secara berturut-turut, tambahkan ruas pohon dengan bobot terkecil
yang bersisian dengan simpul yang sudah ada di pohon (yang tidak
membentuk sirkuit sederhana jika ruas tersebut ditambahkan).
3. Hentikan proses jika n - 1 ruas telah ditambahkan.
Pseudocode Algoritma Prim
procedure Prim(G: weighted connected undirected graph with n
vertices)
T := a minimum-weight edge
for i := 1 to n − 2
e := an edge of minimum weight incident to a vertex in T
and not forming a simple circuit in T if added to T
T := T with e added
return T {T is a minimum spanning tree of G}
Contoh Penerapan Algoritma Prim
Terapkan algoritma Prim
terhadap soal pada slide 9
b 4 c
3
G1 2 6
Jumlah bobot = 2+3+4=9
a 5 d
Contoh Penerapan Algoritma Prim
Graf G2
𝑉 = {a, b, c, d, e, f, g, h, 𝑖, j, k, l }
𝑛 − 1 = 12 − 1 = 11 → 𝑆𝑇𝑂𝑃
Contoh Penerapan Algoritma Prim
Pohon Rentangan Minimal dari graf G2 yang dihasilkan menggunakan algoritma Prim,
dengan total bobot=24:
Algoritma Kruskal
1. Pilih ruas dalam graf dengan bobot minimal.
2. Berturut-turut tambahkan ruas dengan bobot minimal yang tidak
membentuk sirkuit sederhana jika ruas tersebut ditambahkan.
3. Hentikan proses jika n - 1 ruas telah dipilih.
Pseudocode Algoritma Kruskal
procedure Kruskal(G: weighted connected undirected graph with n
vertices)
T := empty graph
for i := 1 to n − 1
e := any edge in G with smallest weight that does not form
a simple circuit when added to T
T := T with e added
return T {T is a minimum spanning tree of G}
Contoh Penerapan Algoritma
Kruskal pilihan ruas bobot
Contoh Penerapan Algoritma
Kruskal
Pohon Rentangan Minimal dari graf G2 yang dihasilkan menggunakan algoritma Kruskal,
dengan total bobot=24:
Daftar Pustaka
Suryadi, H.S. Teori Graf Dasar, Jakarta: Gunadarma
Discrete Mathematics and Its Applications (3rd edition). Kenneth H Rosen. McGraw-Hill Inc.
Singapore, 1995
L Toscano, S Stella, and E Milotti, Using graph theory for automated electric circuit solving, [tersedia:
https://core.ac.uk/download/pdf/53745212.pdf]