pohon - ledyaldn.staff.telkomuniversity.ac.id

36
POHON

Upload: others

Post on 25-Oct-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pohon - ledyaldn.staff.telkomuniversity.ac.id

POHON

Page 2: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon

adalah graf tak-berarah terhubung yang tidakmengandung sirkuit

pohon pohon bukan pohon bukanpohon

a b

c d

e f

a b

c d

e f

a b

c d

e f

a b

c d

e f

Page 3: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Hutan (forest)

kumpulan pohon yang saling lepasgraf tidak terhubung yang tidak mengandung sirkuit. Setiap komponen di dalam graf terhubung tersebutadalah pohon.

Hutan yang terdiri dari tiga buah pohon

Page 4: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Sifat-sifat PohonMisalkan G = (V, E) adalah graf tak-berarah sederhana danjumlah simpulnya n. Maka, semua pernyataan di bawah iniadalah ekivalen:

G adalah pohon.Setiap pasang simpul di dalam G terhubung denganlintasan tunggal.G terhubung dan memiliki m = n – 1 buah sisi.G tidak mengandung sirkuit dan memiliki m = n – 1 buahsisi.G tidak mengandung sirkuit dan penambahan satu sisipada graf akan membuat hanya satu sirkuit.G terhubung dan semua sisinya adalah jembatan.

Page 5: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Merentang (spanning tree)

Pohon merentang dari graf terhubung adalah upagraf merentangyang berupa pohon.Pohon merentang diperoleh dengan memutus sirkuit di dalam graf.

Setiap graf terhubung mempunyai paling sedikit satu buah pohonmerentang.Graf tak-terhubung dengan k komponen mempunyai k buah hutanmerentang yang disebut hutan merentang (spanning forest).

G T1 T2 T3 T4

Page 6: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Aplikasi Pohon Merentang

Jalan-jalan seminimummungkin yang menghubungkan semuakota sehingga setiap kotatetap terhubung satusama lain.Perutean (routing) pesanpada jaringan komputer.

Contoh

(a) (b)Router

Subnetwork

Page 7: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Rentang Minimum

Graf terhubung-berbobot mungkin mempunyai lebih dari1 pohon merentang.Pohon rentang yang berbobot minimum –dinamakanpohon merentang minimum (minimum spanning tree).

a

bc

d

e

f

g

h55

5

40

25

45

30

5020

15

35 10

a

bc

d

e

f

g

h

5

40

25 30

20

15

10

Page 8: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Algoritma Prim

Langkah 1: ambil sisi dari graf G yang berbobotminimum, masukkan ke dalam T.

Langkah 2: pilih sisi (u, v) yang mempunyai bobotminimum 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.

Page 9: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Algoritma Prim

Graph Pohon merentangminimum

1 2

3

4

5

6

10

45

2015

35

55

25

1 2

3

4

5

6

1050

4530

2015

35

55

25

40

Page 10: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Algoritma Kruskal

Langkah 0: sisi-sisi dari graf sudah diurut menaikberdasarkan bobotnya – dari bobot kecil kebobot besar

Langkah 1: T masih kosongLangkah 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.

Page 11: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Algoritma Kruskal

Graph Pohon merentangminimum

1 2

3

4

5

6

10

45

2015

35

55

25

1 2

3

4

5

6

1050

4530

2015

35

55

25

40

Page 12: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Berakar

Pohon yang satu buahsimpulnya diperlakukansebagai akar dan sisi-sisinya diberi arahsehingga menjadi grafberarah dinamakanpohon berakar (rooted tree).

a bPohon berakar panah dibuang

Page 13: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Berakar

Pohon dan dua buah pohon berakar yang dihasilkan daripemilihan dua simpul berbeda sebagai akar

a

b

c

d

e f

g

h

f

g

a

b

cd

e

f

g h

d

e

hb

a c

b sebagai akar e sebagai akar

Page 14: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terminologi pada Pohon Berakar

1. Anak (child atau children) dan Orangtua (parent)b, c, dan d adalah anak-anaksimpul a, a adalah orangtua dari anak-anak itu

2. Lintasan (path)Lintasan dari a ke j adalah a, b, e,

j. Panjang lintasan dari a ke j

adalah 3.

a

b

k

g

j

f

c d

ml

i

e

h

Page 15: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terminologi pada Pohon Berakar

Saudara kandung (sibling)f adalah saudara kandung

e, tetapi, g bukan saudara

kandung e, karenaorangtua merekaberbeda.

Upapohon (subtree)

a

b

k

g

j

f

c d

ml

i

e

h

Page 16: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terminologi pada Pohon Berakar

a

b

k

g

j

f

c d

ml

i

e

h

Derajat (degree)Derajat sebuah simpul adalah jumlah

upapohon (atau jumlah anak) pada simpultersebut.

Derajat a adalah 3, derajat b adalah 2, Derajat d adalah satu dan derajat c adalah 0. Jadi, derajat yang dimaksudkan disini adalah

derajat-keluar.Derajat maksimum dari semua simpul

merupakan derajat pohon itu sendiri. Pohon di samping berderajat 3

Page 17: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terminologi pada Pohon Berakar

a

b

k

g

j

f

c d

ml

i

e

h

Daun (leaf)Simpul yang berderajat nol(atau tidak mempunyai anak) disebut daun. Simpul h, i, j, f, c, l, dan madalah daun.

Simpul Dalam (internal nodes)Simpul yang mempunyai anakdisebut simpul dalam. Simpul b, d, e, g, dan k adalahsimpul dalam.

Page 18: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terminologi pada Pohon Berakar

Aras (level) atau Tingkat Tinggi (height) atauKedalaman (depth)

Aras maksimum darisuatu pohon disebuttinggi atau kedalamanpohon tersebut. Pohon disebelah mempunyaitinggi 4.

a

b

k

g

j

f

c d

ml

i

e

h

0

1

2

3

4

Aras

Page 19: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Terurut

Pohon berakar yang urutan anak-anaknya pentingdisebut pohon terurut (ordered tree).

1

2

6 87

34

9

10

5

1

2

68 7

3 4

9

10

5

Page 20: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon m-ary

Pohon berakar yang setiap simpulcabangnya mempunyai paling banyak mbuah anak disebut pohon m-ary. Jika m = 2, pohonnnya disebut pohonbiner (binary tree. Pohon m-ary dikatakan teratur ataupenuh (full) jika setiap simpul cabangnyamempunyai tepat m anak.

Page 21: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terminologi pada Pohon Berakar

Pohon parsing dari kalimat A tall boy wears a red hat

<subject> <verb> <object>

<article> <noun phrase> wears article> <noun>

A <adjective> <noun> a <adjective> <noun>

tall boy red hat

< sentence>

Page 22: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon m-ary Teratur

Jumlah daun pada pohon n-ary teraturdengan tinggi h adalah nh

Jumlah seluruh simpul pada pohon n-aryteratur dengan tinggi h

S= n0+n1+n2+…..+nh

111

−−

=+

nnh

Page 23: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Binera

b c

d

a

b c

d

Gambar Dua buah pohon biner yang berbeda

Page 24: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Biner

a

b

c

d

a

b

c

d

Pohon condong-kiri pohon condong kanan Pohon biner penuh

Page 25: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Pohon Biner Seimbang

Pada beberapa aplikasi, diinginkan tinggi upapohon kiridan tinggi upapohon kanan yang seimbang, yaituberbeda maksimal 1.

T1 T2 T3

T1 dan T2 adalah pohon seimbang, sedangkan T3 bukan pohonseimbang.

Page 26: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terapan Pohon Biner

Pohon Ekspresi

Pohon ekspresi dari (a + b)*(c/(d + e))

*

+ /

a b+

d e

c

Page 27: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terapan Pohon Biner

Pohon Keputusan

Pohon keputusan untuk mengurutkan 3 buah elemen

a : b

a : c b : c

b : c c > a > b a : c c > b > b

a > b > c a > c > b b > a > c b > c > a

Page 28: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terapan Pohon Biner

Kode Awalan

Pohon biner dari kode prefiks { 000, 001, 01, 10, 11}

1

11

1

0

0

0

0

111001

001000

Page 29: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terapan Pohon Biner

Kode Huffmanrangkaian bit untuk string ‘ABACCDA’: 01000001010000010010000010100000110100000110100010001000001atau 7 × 8 = 56 bit (7 byte).

1000100D

1000011C

1000010B

1000001A

Kode ASCIISimbol

Page 30: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terapan Pohon Biner

Kode Huffmanrangkaian bit untuk’ABACCDA’:0110010101110hanya 13 bit!

1111/71D

102/72C

1101/71B

03/73A

KodeHuffman

PeLuang

Kekera

pan

Simbol

Page 31: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terapan Pohon Biner

Pohon Pencarian Biner

R

T1 T2

Kunci(T1) < Kunci(R)

Kunci(T2) > Kunci(R)

Page 32: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Terapan Pohon Biner

Data: 50, 32, 18, 40, 60, 52, 5, 25, 7050

32

4018

50

52 70

5 25

Page 33: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Penelusuran Pohon Biner

1. Preorder : R, T1, T2- kunjungi R- kunjungi T1 secara

preorder- kunjungi T2 secara

preorder

R

T1 T2

Langkah 1: kunjungi R

Langkah 2: kunjungi T1secara preorder

Langkah 3: kunjungi T2secara preorder

Page 34: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Penelusuran Pohon Biner

2. Inorder : T1 , R, T2- kunjungi T1 secara

inorder- kunjungi R- kunjungi T2 secara

inorder

R

T1 T2

Langkah 2: kunjungi R

Langkah 1: kunjungi T1secara inorder

Langkah 3: kunjungi T2secara inorder

Page 35: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Penelusuran Pohon Biner

Postorder : T1, T2 , R- kunjungi T1 secara

postorder- kunjungi T2 secara

postorder- kunjungi R

R

T1 T2

Langkah 3: kunjungi R

Langkah 1: kunjungi T1secara postorder

Langkah 2: kunjungi T2secara postorder

Page 36: Pohon - ledyaldn.staff.telkomuniversity.ac.id

Penelusuran Pohon Biner

preorder : * + a / b c - d * e f(prefix)

inorder : a + b / c * d - e * f(infix)

postorder : a b c / + d e f * - *(postfix)

*

+ -

a / d *

b c e f