(a)
(b)
(c)
(d)
Gambar 2.4. (a)-(d) Tahap-tahap membuat pohon merentang dari graf yang bukan pohon.
Algoritma yang biasa digunakan untuk membuat pohon merentang pada sebuah graf G antara lain:
Depth-First Search (DFS)
Penelusuran graf yang arah penelusurannya mendahulukan ke arah kedalaman graf tersebut.
Ilustrasi algoritma DFS dapat diamati pada Gambar 2.5. Angka menunjukkan urutan pemilihan
simpul berikutnya yang terpilih.
14
(a)
(b)
15
(c)
Gambar 2.6. Penerapan formua Cayleys pada nila n yang berbeda-beda. (a)
nilai n=2. (b) nilai n=3. (c) nilai n=4.
Contoh:
Carilah pohon merentang minimum pada graf dibawah ini dengan algoritma Prims dimana simpul A
adalah simpul awal. Bobot pada busur menyatakan biaya untuk menghubungkan endpoint pada
masing-masing busur.
16
Jawab:
Step
Edge(u,v)
{}
{A}
V-U
Graf
{A, B, C, D, E, F}
(A-B) = 6
(A-C) = 3 V
{ B, C, D, E, F}
(A-B) = 6
2
{A, C}
(C-B) = 2 V
(C-D) = 6
{ B, D, E, F}
(C-E) = 4
(A-B)= 6 cycle
3
{A, C, B}
(B-D) = 5
(C-D) = 6
{D, E, F}
(C-E) = 4 V
(A-B)= 6 cycle
(B-D) = 5
4
{A, C, B, E}
(C-D) = 6
{D,F}
(E-D) = 1 V
(E-F) = 3
(A-B)= 6 cycle
(B-D) = 5 cycle
5
{A, C, B, E, D}
(C-D) = 6 cycle
{F}
(E-F) = 3 V
(D-F) = 7
(A-B)= 6 cycle
6
{A, C, B, E, D, F}
(B-D) = 5 cycle
(C-D) = 6 cycle
{}
(D-F) = 7 cycle
Total biaya minimum untuk membuat pohon merentang adalah 3+2+4+1+3 = 13.
2. Algoritma Kruskals
Algoritma Kruskals diusulkan oleh Joseph Kruskal pada tahun195.. Algoritma Kruskals dimulai
dengan mengurutkan seluruh busur dari bobot terkecil hingga terbesar. Bobot terkecil yang tidak
membuat sirkuit diambil hingga pohon merentang terbentuk. Algotritma Kruskals dapat dilihat pada
fungsi di bawah ini.
17
+
function Kruskal(G = <N, A>: graph; length: A
): set of edges
Define an elementary cluster C(v)
v}
Initialize a priority queue Q to contain all edges in G, using the weights as keys.
Define a forest T
Contoh:
Carilah pohon merentang minimum pada graf dibawah ini dengan algoritma Kruskals. Bobot pada
busur menyatakan biaya untuk menghubungkan endpoint pada masing-masing busur.
Jawab:
Edge(u,v)
Bobot
(D,E)
Keterangan
Pilih
(B,C)
Pilih
(A,C)
Pilih
(E,F)
Pilih
(C,E)
Pilih
(B,D)
Cycle
(A,B)
Cycle
(C,D)
Cycle
(D,F)
Cycle
1
2
3
4
5
Total biaya minimum untuk membuat pohon merentang adalah 1+2+3+3+4 = 13.
18
2. Carilah pohon merentang minimum dengan algoritma Prims dan Kruskals dari graf di bawah ini:
a.
b.
19