Anda di halaman 1dari 26

POHON RENTANG

MINIMUM
 ALGORITMA KRUSKAL
 ALGORITMA PRIM

ISNAWATI SOPHIA ELFAH


Pohon Rentang Minimum
Definisi

Graf berlabel (weighted graph) adalah suatu graf tanpa garis paralel dimana setiap garisnya
berhubungan dengan suatu bilangan riil tak negarif yang menyatakan bobot garis tersebut.
Bobot garis e biasanya diberi symbol w(e). Jumlah bobot semua garis disebut Total Bobot.

Matriks yang bersesuaian dengan graf berlabel G adalah matrik hubung A=(𝑎𝑖𝑗 ) dengan 𝑎𝑖𝑗
= bobot garis yang menghubungkan titik 𝑣𝑖 dengan titik 𝑣𝑗 . Jika titik 𝑣𝑖 tidak berhubungan lan
gsung dengan titik 𝑣𝑗 , maka 𝑎𝑖𝑗 = ∞, dan 𝑎𝑖𝑗 = 0 jika 𝑖 = 𝑗.
Pohon Rentang Minimum

Aplikasi yang sering dipakai dalam graf berlabel adalah mencari pohon
rentang dengan total bobot seminimum mungkin (sering disebut pohon
rentang minimum).
Pohon Rentang Minimum
Contoh
Garis Kota yang dihubungkan Biaya per satuan
𝑒4 𝑣2 - 𝑣3 3
Dalam suatu provinsi, ada 8 kota 𝑒7 𝑣4 - 𝑣6 4
𝑒2 𝑣1 - 𝑣7 5
( 𝑣1 , 𝑣2 , … … , 𝑣8 ) yang akan dihubungkan 𝑒8 𝑣3 - 𝑣4 5
𝑒9 𝑣3 - 𝑣5 5
dengan jaringan listrik. Biaya pemasangan jari 𝑒1 𝑣1 - 𝑣2 15
𝑒3 𝑣1 - 𝑣4 15
ngan listrik yang mungkin dibuat antra 2 kota 𝑒10 𝑣6 - 𝑣8 15
𝑒5 𝑣7 - 𝑣8 15
adalah sebagai berikut :
𝑒11 𝑣5 - 𝑣6 15
𝑒6 𝑣6 - 𝑣7 18

a. Nyatakan masalah tersebut dalam suatu graf berlabel.


b. Buatlah matriks hubung yang sesuai untuk menyatakan masalah tersebut.
Pohon Rentang Minimum
Penyelesaian

a. Graf berlabel untuk menyatakan jaringan listrik


di 8 kota digambarakan pada Gambar 8.58.
Angka dalam kurung menyatakan bobot garis
yang bersangkutan. Bobot tersebut menyatakan
biaya pengadaan jaringan listrik per satuan.
Pohon Rentang Minimum
Penyelesaian

b. Matriks hubung untuk menyatakan graf berlabel pada Gambar 8.58 adalah matriks A=
(𝑎𝑖𝑗 ) dengan 𝑎𝑖𝑗 =
• Jarak titik 𝑣𝑖 dengan 𝑣𝑗 jika ada garis yang menghubungkan titik 𝑣𝑖 dengan 𝑣𝑗 .
•  jika tidak ada garis yang menghubungkan titik 𝑣𝑖 dengan 𝑣𝑗 .
• 0 jika i = j.
𝑣1 𝑣2 𝑣3 𝑣4 𝑣5 𝑣6 𝑣7 𝑣8
𝑣1 0 15  15   5 
𝑣2 15 0 3     
𝑣3  3 0 5 5   
𝑣 15  5 0  4  
A = 𝑣4
5   5  0 15  
𝑣6    4 15 0 18 15
𝑣7 5     18 0 15
𝑣8      15 15 0
Pohon Rentang Minimum

Masalahnya adalah mencari jalur yang menghubungkan


semua kota (dengan menghapus beberapa garis dalam
graf) sedemikian hingga total biaya pemasangan
jaringan listrik seminimum mungkin. Atau dengan kata
lain, mencari pohon rentang dengan total bobot sem
inimum mungkin.

Mendaftarkan semua pohon rentang yang mungkin dibuat


dan menghitung total bobot tiap-tiap pohon rentang.
Selanjutnya, dipilih pohon rentang dengan total bobot yang Tidak Efisien
paling kecil.
Pohon Rentang Minimum

Pada tahun 1956, Kruskal dan Prim yang bekerja secara terpisah, masing-
masing berhasil menyusun algoritma untuk membuat pohon rentang
minimum secara efisien.
Algoritma Kruskal
Untuk mencari pohon rentang minimum dari graf G dengan algoritma
yang ditemukan Kruskal, mula-mula semua garis dalam G diurutkan
berdasarkan bobotnya dari kecil ke besar.
Kemudian, pilih garis dengan bobot terkecil diantara garis-garis sisanya.
Pada setiap langkah, dipilih garis dengan bobot terkecil, tetapi tidak
membentuk loop dengan garis-garis yang sudah dipilih terdahulu.
Algoritma Kruskal
Misalkan G adalah graf mula-mula dengan n titik, T adalah Pohon Rentang
Minimum.
E adalah himpunan semua garis G.
Secara formal, algoritma yang ditemukan Kruskal dapat dinyatakan sebagai
berikut :
Algoritma Kruskal
1. Isi T dengan semua titik-titik g tanpa garis
2. m = 0
3. Selama m < (n-1) lakukan :
a. Tentukan garis e ∈ E dengan bobot minimum. Jika ada beberapa e
dengan sifat tersebut, pilih salah satu secara sembarang
b. Hapus e dari E
c. jika e ditambahkan ke T mengahsilkan sirkuit maka
i. Tambahkan e ke T
ii. m = m + 1
Algoritma Kruskal
Contoh:

Carilah pohon rentang minimum pada gambar


berikut menggunakan algoritma kruskal.
Berapa bobot minimum totalnya ?
Algoritma Kruskal
Penyelesaian

Ambil garis dalam E dengan bobot minimum.


Diperoleh garis 𝑒4 dengan bobot = 3.
Pohon rentang T yang mula-mula tanpa garis
Algoritma Kruskal
Penyelesaian

Dalam iterasi selanjutnya ditambahkan garis


satu persatu pada T selama penambahan garis
tersebut tidak membentuk sirkuit dengan garis
yang sudah ada sebelumnya. Tambahkan garis
𝑒7 (bobot 4
Algoritma Kruskal
Penyelesaian

Selanjutnya, ada 3 garis dengn bobot terkecil, y


aitu 𝑒2 , 𝑒8 , dan 𝑒9 yang semuanya memiliki bo
bot = 5. Pilih sembarang garis, misalnya bertur
ut 𝑒2 , 𝑒8 , dan 𝑒9 . Oleh karena penambahan keti
ga garis tersebut tidak menghasilkan sirkuit, m
aka ketiganya ditambahkan dalam graf T.
Algoritma Kruskal
Penyelesaian

Selanjutnya, ada 5 garis yang memiliki bobot


sama, yaitu 15. Pilih salah satu sembarang,
misalnya 𝑒1 . Dengan penambahan garis 𝑒1 , maka
T menjadi graf seperti berikut :
Algoritma Kruskal
Penyelesaian

Misalkan dari 4 garis yang meimiliki bobot sisanya adalah 15, dipilih garis e3.
Jika garis e3 ditambahkan pada T, maka akan membentuk sirkuit v1 v2 v3 v4 v1.
Dengan demikan, garis e3 tidak boleh dipilih. Selanjutnya, ada 3 garis yang
memiliki bobot terkecil (=15) lainnya, misalkan dipilih garis e10 Dengan graf
penambahan garis e10, maka T menjadi graf seperti :
Algoritma Kruskal
Penyelesaian
Algoritma Kruskal
Penyelesaian

Oleh karena graf G terdiri dari 8 titik dan 7 garis,


maka iterasi dihentikan.
Bobot total = 3 + 4 + 5 + 5 +5 + 15 + 15 = 52
Algoritma Kruskal

Mungkin ada beberapa pohon rentang minimum berbeda untuk


suatu graf tertentu. Akan tetapi, semua pohon rentang minimum
memiliki total bobot yang sama.
Algoritma Prim
Misalkan G adalah graf berlabel dengan n titik dan T adalah Pohon Rentang Minimum yang akan dibentuk (mula-mula
kosong).
Secara formal, algoritma Prim adalah sebagai berikut:
0. Inisialisasi: Mula-mula T adalah graf kosong.
1. Ambil sembarang v∈V(G). Masukkan v ke dalam V(T).
2. V(G) = V(G) – {v}
3. Untuk i = 1, 2, …, n-1, lakukan :
a. Pilihlah garis 𝑒 ∈ E(G) dan 𝑒 ∉ E(T) dengan syarat:
𝑖. 𝑒 berhubungan dengan satu titik dalam T
𝑖𝑖. 𝑒 memiliki bobot terkecil dibandingkan dengan semua garis yang berhubungan dengan titik-titik dalam T
Misalkan w adalah titik ujung 𝑒 yang tidak berada dalam T
b. Tambahkan 𝑒 ke E(T) dan w ke V(T)
c. V(G) = V(G) – {w}
Algoritma Prim
Contoh:

Gunakan algoritma Prim untuk mencari pohon


rentang minimum dimulai dari titik 𝑣1 .
Algoritma Prim
Penyelesaian

Misalkan G adalah graf mula-mula seperti yang tampak pada Gambar 8.58, dan T adalah
pohon rentang minimum yang akan dibuat. Mula-mula V(T) = {𝑣1 } dan E(T) = { }.
Pada iterasi pertama, pilih garis 𝑒𝑖 ∈ E(G) dan 𝑒𝑖 ∉ E(T) yang berhubungan dengan 𝑣1
dengan bobot terkecil. Ada 3 garis yang berhubungan dengan 𝑣, masing-masing garis 𝑒1 (
dengan bobot 15), 𝑒2 (bobot 5) dan 𝑒3 (bobot 15). Pilih garis dengan bobot terkecil, yaitu
𝑒2 . Tambahkan 𝑒2 ke E(T) dan titik ujung 𝑒2 (= 𝑣7 ) ke V(T).
Sekarang, V(T) = {𝒗𝟏 , 𝒗𝟕 } dan E(T) = {𝒆𝟐 }.
Algoritma Prim
Penyelesaian
Pada iterasi kedua, pilih garis 𝑒𝑗 ∈ E(G) dan 𝑒𝑗 ∉ E(T) yang berhubungan dengan titik-titik d
alam V(T) dengan bobot terkecil. Garis-garis di luar E(T) yang berhubungan dengan titik-titik
dalam V(T) adalah 𝑒1 (dengan bobot 15), 𝑒3 (bobot 15) dan 𝑒5 (bobot 15) dan 𝑒6 (bobot
18). Ada 3 garis dengan bobot terkecil yang sama, yaitu 15. Pilih salah satu sembarang, misal
𝑒1 . Tambahkan 𝑒1 ke E(T) dan titik ujung 𝑒1 (= 𝑣2 ) ke V(T).
Sekarang, V(T) = {𝒗𝟏 , 𝒗𝟕 , 𝒗𝟐 } dan E(T) = {𝒆𝟐 , 𝒆𝟏 }.
Proses iterasi yang sama diulang-ulang hingga V(T) memuat semua titik dalam G (atau
jumlah iterasi adalah (n-1), dengan n adalah jumlah titik dalam G). didapatkan hasil seba
gai berikut (angka di dalam kurung pada kolom kedua menyatakan bobot garis yang terpilih):
Algoritma Prim
Penyelesaian

Titik yang ditamb


Iterasi Garis yang terpilih Keterangan
ahkan
Mula-mula - 𝑣1 -
1 𝑒2 (5) 𝑣7 -
2 𝑒1 (15) 𝑣2 Pilih antara 𝑒1 , 𝑒3 , 𝑒5
3 𝑒4 (3) 𝑣3 -
Pilih antara 𝑒8 dan
4 𝑒8 (5) 𝑣4
𝑒9
5 𝑒7 (4) 𝑣6 -
6 𝑒9 (5) 𝑣5 -
Pilih antara 𝑒5 dan
7 𝑒10 (15) 𝑣8
𝑒10
Algoritma Prim
Penyelesaian

Pohon rentang yang terbentuk setelah semua iterasi


dilalui adalah pohon rentang minimum yang sama
dengan pohon rentang minimum hasil algoritma
Kruskal yang tampak padaGambar 8.62. Namun
secara umum, pohon rentang yang dihasilkan oleh
kedua metode tersebut berbeda meskipun bobot
totalnya sama.
Latihan

Anda mungkin juga menyukai