Post on 29-Oct-2020
1
Pohon Merentang
Matematika Diskrit
Imam Suharjo
FTI Universitas Mercu Buana Yogyakarta
Pengantar
Berikut ini adalah Tree dalam implementasi algoritma.
Mencari Spaning Tree dengan menggunakan Algoritma
Materi Video bisa dilihat disini : https://s.id/tree2
Atau https://www.youtube.com/watch?v=vqsSEKaSU-M&feature=youtu.be&t=25m25s
2
3
Pohon Merentang (spanning tree)
Pohon merentang dari graf terhubung adalah upagraf
merentang yang berupa pohon.
Pohon merentang diperoleh dengan memutus sirkuit di
dalam graf.
G T1 T2 T3 T4
4
Setiap graf terhubung mempunyai paling sedikit satu buah
pohon merentang.
Graf tak-terhubung dengan k komponen mempunyai k buah
hutan merentang yang disebut hutan merentang (spanning
forest).
Aplikasi Pohon Merentang
5
1. Jumlah ruas jalan seminimum mungkin yang
menghubungkan semua kota sehingga setiap kota tetap
terhubung satu sama lain.
2. Perutean (routing) pesan pada jaringan komputer.
(a) (b)
Router
Subnetwork
(a) Jaringan komputer, (b) Pohon merentang multicast
Pohon Merentang Minimum
6
Graf terhubung-berbobot mungkin mempunyai lebih dari 1
pohon merentang.
Pohon merentang yang berbobot minimum –dinamakan pohon
merentang minimum (minimum spanning tree ).
a
bc
d
e
f
g
h
55
5
40
25
45
30
5020
15
35 10
a
bc
d
e
f
g
h
5
40
25 30
20
15
10
Algoritma Prim dan Kruskal
Apabila terdapat sebuah G suatu graf berbobot (suatu Network), maka Minimun Spanning Tree dari G adalah Spanning Tree dengan jumlah bobot terkecil.
Kedua algoritma (Algoritma Prim dan Kruskal) ini sama-sama, mencari minimum spanning tree ( jarak terpendek ) dengan mencegah graf membentuk sikuit.
7
8
Algoritma Prim
Langkah 1: ambil sisi dari graf G yang berbobot minimum,
masukkan ke dalam T.
Langkah 2: pilih sisi (u, v) yang mempunyai bobot minimum dan
bersisian dengan simpul di T, tetapi (u, v) tidak
membentuk sirkuit di T. Masukkan (u, v) ke dalam T.
Langkah 3: ulangi langkah 2 sebanyak n – 2 kali.
9
procedure Prim(input G : graf, output T : pohon)
{ Membentuk pohon merentang minimum T dari graf terhubung-
berbobot G.
Masukan: graf-berbobot terhubung G = (V, E), dengan V= n Keluaran: pohon rentang minimum T = (V, E’)
}
Deklarasi
i, p, q, u, v : integer
Algoritma
Cari sisi (p,q) dari E yang berbobot terkecil
T {(p,q)}
for i1 to n-2 do
Pilih sisi (u,v) dari E yang bobotnya terkecil namun
bersisian dengan simpul di T
T T {(u,v)} endfor
Algoritma Prim
Langkah 1: ambil sisi dari graf G yang berbobot minimum, masukkan ke dalam T.
Langkah 2: pilih sisi (u, v) yang mempunyai bobot minimum dan bersisian dengan simpul di T, tetapi (u, v) tidak membentuk sirkuit di T. Masukkan (u, v) ke dalam T.
Langkah 3: ulangi langkah 2 sebanyak n – 2 kali.
10
1 2
3
4
5
6
1050
4530
2015
35
55
25
40
11
Langkah Sisi Bobot Pohon rentang
1 (1, 2) 101 210
2 (2, 6) 25
1 2
6
10
25
3 (3, 6) 151
3
6
10
15
25
4 (4, 6) 201 2
3
4
6
10
2015
25
5 (3, 5) 351 2
3
4
5
6
10
45
2015
35
55
25
12
Pohon merentang minimum yang dihasilkan:
Bobot = 10 + 25 + 15 + 20 + 35 = 105
1 2
3
4
5
6
10
45
2015
35
55
25
13
Pohon merentang yang dihasilkan tidak selalu unik meskipun bobotnyatetap sama.
Hal ini terjadi jika ada beberapa sisi yang akan dipilih berbobot sama.
14
Contoh:
Tiga buah pohon merentang minimumnya:
a b c d
ef g h
i j k l
3 2
4 2 3
5 4
4 2
4
a b c d
ef h
i j k l
3 2
4 2 3
5 3 4
4 2
4
a b c d
ef g h
i j k l
3 4 2
4 2 3
5 3 4
2
43
Bobotnya sama yaitu = 36
a b c d
ef g
h
i j k l
3
5
6
5 3 5 4
4 2
4 4
4 2
6324
15
Algoritma Kruskal
( Langkah 0: sisi-sisi dari graf sudah diurut menaik berdasarkan
bobotnya – dari bobot kecil ke bobot besar)
Langkah 1: T masih kosong
Langkah 2: pilih sisi (u, v) dengan bobot minimum yang tidak
membentuk sirkuit di T. Tambahkan (u, v) ke dalam
T.
Langkah 3: ulangi langkah 2 sebanyak n – 1 kali.
16
procedure Kruskal(input G : graf, output T : pohon)
{ Membentuk pohon merentang minimum T dari graf terhubung –
berbobot G.
Masukan: graf-berbobot terhubung G = (V, E), dengan V= n Keluaran: pohon rentang minimum T = (V, E’)
}
Deklarasi
i, p, q, u, v : integer
Algoritma
( Asumsi: sisi-sisi dari graf sudah diurut menaik
berdasarkan bobotnya – dari bobot kecil ke bobot
besar)
T {}
while jumlah sisi T < n-1 do
Pilih sisi (u,v) dari E yang bobotnya terkecil
if (u,v) tidak membentuk siklus di T then
T T {(u,v)} endif
endfor
17
Contoh:
1 2
3
4
5
6
1050
4530
2015
35
55
25
40
18
Sisi-sisi diurut menaik:
Sisi (1,2) (3,6) (4,6) (2,6) (1,4) (3,5) (2,5) (1,5) (2,3) (5,6)
Bobot 10 15 20 25 30 35 40 45 50 55
Langkah Sisi Bobot Hutan merentang
1 (1, 2) 10
2 (3, 6) 15
3 (4, 6) 20
0 1 2 3 4 5 6
1 2
1 2 3
6
4 5
1 2 3
6
4
5
4 (2, 6) 251 2 3
4
5
Pohon merentang minimum yang dihasilkan:
Bobot = 10 + 25 + 15 + 20 + 35 = 105
19
4 (2, 6) 251 2 3
4
5
5 (1, 4) 30 ditolak
6 (3, 5) 351 2
3
6
4
51 2
3
4
5
6
10
45
2015
35
55
25
Penerapan Tree Dalam Penelitian (Skripsi/Tesis)
20
IMPLEMENTASI ALGORITMA KRUSKAL UNTUK OPTIMASI PENGANGKUTAN SAMPAH
Meilidyaningtyas Cantika Ryadiani
Abstract
Kesadaran masyarakat akan kebersihan lingkungan kian lama kian menurun. Hal inibisa dilihat dari banyaknya sampah yangberserakan di jalan. Kurangnya kesadaran masyarakat akan kebersihan lingkungan berbanding terbalik denganperkembangan duniamodern dimanapembangunantempatpembelanjaan khususnya mall bertambah setiap tahunnya. Semakinbanyaknyamall yang dibangun, maka semakinbanyak sampah yangdihasilkansetiap hari.
Permasalahan sampah ini kurang mendapat perhatian khusus, terutama mengenai proses pengangkutan sampah. Waktu danjarak tempuh dari tempat perbelanjaan menujutempat pembuangan akhir sampah (TPA) menjadi faktor pertimbanganpengambilkeputusan dalam penentuan jalur yang digunakan, karena semakin cepat sampah diangkut maka mengurangi tumpukan sampahyang membuat wilayah sekitar terlihat kotor dan tidak rapi.
Untuk itu perlu adanya suatumetode yang dapatmengoptimalkan pengangkutan sampah. Dalam kasus ini, metode yang digunakanadalah algoritma kruskal. Cara kerja dari algoritma kruskal adalah pengurutkan bobotdari sebuah jalur dari yang terkecil sampaiyang terbesar dan penentuan jalur tidak membuat sirkuit. Algoritma kruskal mampu menemukan jalur terpendek sehinggamampumengatasi permasalahan yang ada. Tempat pembelanjaan dan Bantargebang diasumsikan sebagai vertex sedangkanjaluradalahedge. Untuk menggambarkan perbandinganantara jalur satu dengan yang laindigunakan bantuan aplikasi berbasismultimedia yaitu Adobe Flash Profesional CS5. Dengan begitu akan terlihat jalur mana yang tepat untuk mempercepatproses pengangkutansampah sehingga mampu menekan biaya operasional dan sumber daya manusia.
21
22
23
24
25
Tugas
1. Kerjakan salah satu dari soal (A atau B), bisa pilih salah satu soal.
2. Tulisah langkah-langkahnya untuk tiap algoritma
3. Jawaban di kirimkan lewat email ke :
4. Gunakan Subject : EL14-Madis222-Nama (Kelas malam)
5. Kelas (Malam) Batas akhir pengumpulan maksimal Senin jam : 08.00 WIB Tanggal 19 Juni 2017
26
Soal A
1. Tentukan dan gambarkan
pohon merentang minimum
dari graf ini dengan salah satu
algoritma diatas. Tulis
Kesimpulan anda
2. Carilah sebuah contoh
publikasi hasil
penelitian/skripsi terkait tema
Graf/Tree. (boleh bahasa
Indonesia/Enggris Selain judul
diatas)27
a b c
de
f
g h i
5 4
2 3 5 6 37 1
6 8 3 4 4
4 2
Soal di Kelas
28
a b c
de
f
g h i
5 4
2 3 5 6 37 1
6 8 3 4 4
4 2
Soal B
1. Tentukan dan gambarkan pohon merentang minimum dari graf ini
dengan salah satu algoritma diatas. Tulis Kesimpulan singkat anda
2. Carilah sebuah contoh publikasi hasil penelitian/skripsi terkait tema
Graf/Tree. boleh bahasa Indonesia/Enggris Selain judul diatas)
29
Bahan Bacaan1. Rinaldi Munir, Buku Matematika Disktrit, Informatika Bandung.
2. http://ejournal.gunadarma.ac.id/index.php/kommit/article/view/572
3. Graph Minimum Spanning Tree www.geeksforgeeks.org/algorithms-gq/graph-minimum-spanning-tree-gq/
30