Pohon - ebook.repo.mercubuana-yogya.ac.idebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc... ·...

Post on 29-Oct-2020

8 views 0 download

Transcript of Pohon - ebook.repo.mercubuana-yogya.ac.idebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc... ·...

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