Algoritma Kruskal, mungkin algoritma jenis yang satu ini kurang familiar ditelinga kita, bahkan tidak sedikit juga orang yang belum pernah mendengar istilah tersebut sebelumnya.
Algoritma Kruskal adalah algoritma untuk mencari pohon merentang minimum secara langsung didasarkan pada algoritma MST (Minimum Spanning Tree) umum. Pada algoritma Kruskal sisi-sisi di dalam graf diurut terlebih dahulu berdasarkan bobotnya dari kecil ke besar. Sisi yang dimasukkan ke dalam himpunan T adalah sisi graf G sedemikian sehingga T adalah pohon. Pada keadaan awal, sisi-sisi sudah diurut berdasarkan bobot membentuk hutan (forest). Hutan tersebut dinamakan hutan merentang (spanning forest). Sisi dari graf G ditambahkan ke T jika tidak membentuk sirkuit di T.
Langkah-langkah dalam algoritma Kruskal adalah sebagai berikut:
1. Lakukan
pengurutan terhadap setiap sisi di graf mulai dari sisi dengan bobot terkecil
sampai terbesar.
2. Pilih
sisi yang mempunyai bobot minimum yang tidak membentuk sirkuit di pohon.
Tambahkan sisi tersebut ke dalam pohon.
3. Ulangi
langkah 2 sampai pohon merentang minimum terbentuk, yaitu ketika sisi di dalam
pohon merentang minimum berjumlah n-1 (n adalah jumlah simpul di graf).
Berdasarkan gambar di atas, maka
dilakukan pengurutan sisi pada graf mulai dari sisi
dengan bobot terkecil sampai terbesar dapat dilihat pada tabel berikut:
Bobot
|
Sisi
|
10
|
(F,G)
|
14
|
(G,H)
|
15
|
(A,C)
|
20
|
(D,H)
|
25
|
(B,E)
|
30
|
(D,E)
|
35
|
(A,D)
|
40
|
(A,B)
|
45
|
(C,E)
|
48
|
(E,F)
|
50
|
(E,G)
|
Untuk lebih memahami perbedaan
algoritma Prim dan algoritma Kruskal yang keduanya merupakan algoritma untuk
pohon merentang minimum, maka dari gambar di atas dapat dicari pohon merentang
minimumnya dengan menggunakan kedua algoritma tersebut. Langkah-langkah
pembentukan pohon merentang minimumnya dapat dilihat pada gambar berikut ini:



0 komentar: