Anda di halaman 1dari 20

BAGIAN 2:

SPANNING TREE
ALGORITMA KRUSKAL
ALGORITMA PRIM

Teori Graff 2020 Widjiianto 1


5 Pohon Rentang (Spanning Tree)
Pohon rentang:
1. memuat semua vertex dari graph.
2. tidak boleh ada sirkuit

Banyak digunakan dalam penentuan jaringan PLN untuk


mendapatkan pemakaian kabel minimum
a b c a b c a b c

d e f d e f d e f

a b c a b c

d e f d e f

Teori Graff 2020 Widjiianto


2
Cara membuat pohon rentang
Pilih sembarang sirkuit yang ada
Kemudian menghilangkan salah satu sisi pembentuk sirkuit
Ulangi proses tersebut sampai semua sirkuit hilang
e e e
a a
a
d d d
b f h b f h b f h

c c c
g g g
e e e
a a a
d d d
b f h b f h b f h

c c c
g g g
Teori Graff 2020 Widjiianto 3
6 Pohon Rentang Terkecil
(Minimum Spanning Tree)
Banyak pohon rentang yang dapat dibuat dari suatu graph

Mencari pohon rentang minimum 


mencari pohon rentang dengan jumlah bobot minimum

Ada 2 algoritma yang dapat dipakai yaitu

algoritma Kruskal
algoritma Prim

Teori Graff 2020 Widjiianto 4


7 Algoritma Kruskal
1. Mengurutkan semua sisi berdasarkan bobot dari kecil ke besar
2. Pilih sisi dengan bobot terkecil
Jika ada beberapa nilai yang sama pilih salah satu atau diambil
semua asal tidak membentuk sirkuit.
3. Ulangi langkah ke-2 dari sisa sisi yg tidak mengandung sirkuit
Contoh:
Carilah pohon rentang minimum dgn algoritma Kruskal dari graph
G berikut.
V1 15 V2

5 15 3
V8 V4 5
V3
18 5
15 4

V6 15 V5
15
V7
Teori Graff 2020 Widjiianto 5
V1 15 V2
Jawab:
5 15 3
V8 V4 5
V3
15 18 5
4
V5
V6 15
V7 15

Buat graph T dengan semua vertex G tetapi tidak ada sisi

V1 V2 V1 V2
V8 V8
(1)
V4 V4 3
V3 V3

V7 V6 V7 V6
V5 V5

Pilih sisi dengan bobot terkecil  (v2,v3) = 3 dan tambahkan ke T


Teori Graff 2020 Widjiianto 6
V1 15 V2
5 15
V8 V4 5
V3
18
15 4 5
15
15 V5
V6
V7
V1 V2
V1 V2
V8 3
V8 3
V4 (1)
V4 (1) V3
4 (2)
V3
V7 V6
V7 V6 V5
V5

Kemudian pilih sisi sisa dengan bobot terkecil  (v4,v6) = 4


dan tambahkan ke T.

Teori Graff 2020 Widjiianto 7


V1 15 V2

5 15
V8 5
V4 V3
15 18 5
V5
V6 15
15
V7
V1 V2 V1 V2
(3)
V8 3 V8 3
V4 (1) 5 V4 (3) (1)
4 (2) V3 4 (2) 5 V3
(3)
V7 V6 V7 V6 5
V5 V5

Selanjutnya pilih lagi sisi sisa yang terkecil,


ternyata ada 3 sisi yaitu (v3,v5), (v3,v4), (v1,v8) = 5 
tambahkan semua ke T selama tidak terbentuk sirkuit.
Teori Graff 2020 Widjiianto 8
V1 15 V2
Catatan:
15
V8 V4
Mungkin ada beberapa pohon rentang minimum yang berbeda, V3
tetapi bobot minimumnya tetap sama. Coba 18 pohon rentang
cari
15
V5
minimum lainnya. V6 15
V7 15
V1 V2
(3) V1 (4) V2
V8 (3)
5 3 (1)
V4 (3) V8 15
5 3 (1)
V4 (3)
V3
4 (2) 5
(3) (4) 4 (2) 5 V3
V7 V6 5 (3)
V5 V7 15 V6 5
V5
Setelah itu ada 5 sisi sisa yang berbobot terkecil yaitu
(v1,v2), (v7,v8), (v6,v7), (v5,v6), (v1,v4) = 15  pilih (v1,v2) & (v6,v7)
Tambahkan ke T sampai semua vertex terhubung,
Pohon rentang minimum telah terbentuk dengan bobot =
3 + 4 + 5 +5 + 5 + 15 + 15 = 52.
Teori Graff 2020 Widjiianto 9
8 Algoritma Prim

1. Prim memulai dari graph T yang kosong


2. Pilih sembarang vertex vi.

3. Tambahkan satu sisi G yang menghubungkan vi ke


vertex lain (vj) yang bobotnya minimum ke T

Sekarang T terdiri dari 2 vertex vi dan vj.

4. Ulangi untuk sisi G sisa lainnya dengan bobot terkecil dan


mempunyai hubungan dengan vertex-vertex dalam T.

Teori Graff 2020 Widjiianto 10


Contoh
Carilah pohon rentang minimum dengan algoritma Prim
dimulai dari vertex v1 dari graph G berikut.
V1 15 V2 V1 15 V2

5 15 5 15
3 3
V8 V4 5 V8 (1) V4 5
V3 V3
18 18
15 4 5 15 4 5

V6 15 V5 V6 15 V5
15 15
V7 V7
Jawab:
V(T) = {v1} dan E(T) = { }.
Iterasi I:
Ada 3 sisi dari v1  (v1,v2) = 15, (v1,v8) = 5 dan (v1,v4) = 15.
Pilih sisi terkecil (v1,v8) = 5.
Sekarang V(T) = {v1,v8} dan E(T) = {(v1,v8)}
Teori Graff 2020 Widjiianto 11
V1 15 V2 V1 15 V2
5 15 5 15 (2)
3 3
V8 (1) V4 5 V8 (1) V4 5
V3 V3
18 18
15 4 5 15 4 5

15 V5 V5
V6 V6 15
15 15
V7 V7

Iterasi II: ada 4 sisi yang berhubungan dengan V(T) = {v1, v8} 
(v1,v2) = 15, .(v1,v4) = 15, (v8,v7) = 15 dan (v8, v6) = 18.

Pilih salah satu dari 3 sisi yang terkecil, misal dipilih (v1,v2) = 15.

Sekarang V(T) = {v1, v8, v2} dan E(T) = {(v1,v8), (v1,v2)}

Teori Graff 2020 Widjiianto 12


V1 15 V2 V1 15 V2

5 15 (2) 5 15 (2)
3 (3) 3
V8 (1) V4 5 V8 (1) V4 5
V3 V3
18 18
15 4 5 15 4 5

V6 15 V5 V5
V6 15
15 15
V7 V7

Iterasi III: ada 4 sisi yang berhubungan dengan V(T) = {v1, v8, v2} 
(v1,v4) = 15, (v2,v3) = 3, (v8,v7) = 15 dan (v8, v6) = 18.

Pilih yang terkecil (v2,v3) = 3.

Sekarang V(T) = {v1, v8, v2, v3} dan E(T) = {(v1,v8), (v1,v2), (v2,v3)}

Teori Graff 2020 Widjiianto 13


V1 15 V2 V1 15 V2

5 15 (2) (2)
(3) 3
5 15 (3) 3
V8 (1) V4 5 V8 (1) V4 5
V3 V3
18 18 (4)
15 4 5 15 4 5

V6 15 V5 V5
V6 15
15 15
V7 V7
Iterasi IV:
Ada 5 sisi yang berhubungan dengan V(T) = {v1, v8, v2, v3} 
(v1,v4) = 15, (v3,v5) = 5, (v3,v4) = 5, (v8,v7) = 15 dan (v8, v6) = 18.

Pilih yang terkecil (v3,v4) = 5

Sekarang V(T) = {v1, v8, v2, v3, v4} dan


E(T) = {(v1,v8), (v1,v2), (v2,v3), (v3,v4)}
Teori Graff 2020 Widjiianto 14
V1 15 V2 V1 15 V2

(2) 5 15 (2)
5 15 (3) (3) 3
3 (1)
V8 (1) V4 5 V8 V4 5
V3 V3
(4) (4)
15 (5) 4 5
15 18 4 5 18

V5 V6 15 V5
V6 15
15 15
V7 V7

Iterasi V:
Ada 4 sisi yg berhubungan dengan V(T) = {v1, v8, v2, v3, v4} 
(v3,v5) = 5, (v4,v6) = 4, (v8,v7) = 15 dan (v8, v6) = 18
Pilih yang terkecil (v4,v6) = 4

Sekarang V(T) = {v1, v8, v2, v3, v4, v6} dan


E(T) = {(v1,v8), (v1,v2), (v2,v3), (v3,v4), (v4,v6)}
Teori Graff 2020 Widjiianto 15
V1 15 V2 V1 15 V2

(2) 5 15 (2)
5 15 (3) (3) 3
3 V8 (1) V4 5
V8 (1) V4 5 V3
V3
(4) (4)
15 (5) 4 5
15 18 (5) 4 5 (6)
18

V5 V6 15 V5
V6 15 15
15
V7 V7

Iterasi VI:
Ada 4 sisi yg berhubungan dengan V(T) = {v1, v8, v2, v3, v4,v6} 
(v3,v5) = 5, (v6,v7) = 15, (v6,v5) = 15, (v8,v7) = 15.

Pilih yang terkecil (v3,v5) = 5.

Sekarang V(T) = {v1, v8, v2, v3, v4, v6, v5} dan
E(T) = {(v1,v8), (v1,v2), (v2,v3), (v3,v4), (v4,v6), (v3,v5)}

Teori Graff 2020 Widjiianto 16


V1 15 V2 V1 15 V2

(2) 5 15 (2)
5 15 (3) (3) 3
3 V8 (1) V4 5
V8 (1) V4 5
V3 V3
(4) (4)
(5) 15 (5) 4 5
15 4 (6) 5
18 (6)
18
(7)
V6 15 V5 V6 15 V5
15 15
V7 V7

Iterasi VII:
Ada 2 sisi yg terhubung dengan V(T) = {v1, v8, v2, v3, v4,v6}
(v6,v7) = 15 dan (v8, v7) = 15

Pilih salah satu yang terkecil (v6,v7) = 15


Sekarang V(T) = {v1, v8, v2, v3, v4, v6, v5, v7} dan
E(T) = {(v1,v8), (v1,v2), (v2,v3), (v3,v4), (v4,v6), (v3,v5), (v6,v7)}
Teori Graff 2020 Widjiianto 17
V1 15 V2
V1 15 V2
5 15 (2)
(3) 3 5 (2)
V8 (1) V4 5 (3) 3
V3 V8 (1) V4 5
(4) V3
15 18 (5) 4 5
(4)
(6) (5) 4 5
(6)
(7) V5
V6 15 (7)
15 V6 V5
15
V7
V7

Iterasi selesai sebab semua vertex G sudah masuk ke T.

Pohon rentang minimumnya adalah:

Jumlah bobot minimum = 5 + 15 + 3 + 5 + 4 + 5 + 15 = 52.

Teori Graff 2020 Widjiianto 18


TUGAS 6
Carilah spanning tree minimum dengan algoritma Kruskal
dan Prim
V1 10 V2

5 15
3
V8 V4 5
7
16 V3
4 18 5
12
15 V5
15 V6
20

V7
Teori Graff 2020 Widjiianto 19
Selesai.......

Teori Graff 2020 Widjiianto 20

Anda mungkin juga menyukai