Transcript File

Pohon (bagian ke 6)
Matematika Diskrit
1
Definisi

Pohon adalah graf tak-berarah terhubung
yang tidak mengandung sirkuit
a
b
a
b
a
b
a
b
c
d
c
d
c
d
c
d
e
pohon
f
e
f
pohon
e
f
bukan pohon
Matematika Diskrit
e
f
bukan pohon
2
H u ta n (fo rest) ad alah
- k u m p u lan p o h o n y an g salin g lep as, atau
- g raf tid ak terh u b u n g y an g tid ak m en g an d u n g sirk u it. S etiap
k o m p o n en d i d alam g raf terh u b u n g terseb u t ad alah p o h o n .
H u tan y an g terd iri d ari tig a b u ah p o h o n
Matematika Diskrit
3
Sifat-sifat (properti) pohon
 T eo rem a . M isalk an G = (V , E ) ad alah g raf tak -b erarah
sed erh an a d an ju m lah sim p u ln y a n . M ak a, sem u a p ern y ataan
d i b aw ah in i ad alah ek iv alen :
1 . G ad alah p o h o n .
2 . S etiap p asan g sim p u l d i d alam G terh u b u n g d en g an
lin tasan tu n g g al.
3 . G terh u b u n g d an m em ilik i m = n – 1 b u ah sisi.
4 . G tid ak m en g an d u n g sirk u it d an m em ilik i m = n – 1 b u ah
sisi.
5 . G tid ak m en g an d u n g sirk u it d an p en am b ah an satu sisi
p ad a g raf ak an m em b u at h an y a satu sirk u it.
6 . G terh u b u n g d an sem u a sisin y a ad alah jem b atan .
 T eo rem a d i atas d ap at d ik atak an seb ag ai d efin isi lain d ari
pohon.
Matematika Diskrit
4
Pohon Merentang (spanning tree)
 P o h o n m eren tan g d ari g raf
m eren tan g y an g b eru p a p o h o n .
terh u b u n g
ad alah
 P o h o n m eren tan g d ip ero leh d en g an m em u tu s
d alam g raf.
G
T1
T2
Matematika Diskrit
T3
u p ag raf
sirk u it d i
T4
5
 S etiap g raf terh u b u n g m em p u n y ai p alin g sed ik it satu b u ah
p o h o n m eren tan g .
 G raf tak -terh u b u n g d en g an k k o m p o n en m em p u n y ai k b u ah
h u tan m eren tan g y an g d iseb u t h u tan m eren tan g ( sp a n n in g
fo rest).
Matematika Diskrit
6
Aplikasi Pohon Merentang
1 . Ju m lah ru as jalan sem in im u m m u n g k in y an g
m en g h u b u n g k an sem u a k o ta seh in g g a setiap k o ta tetap
terh u b u n g satu sam a lain .
2 . P eru tean (ro u tin g ) p esan p ad a jarin g an k o m p u ter.
(a)
(b)
R outer
Subnetw or k
(a) Jarin g an k o m p u ter, (b ) P o h o n m eren tan g m u ltica st
Matematika Diskrit
7
Pohon Merentang Minimum
 G raf terh u b u n g -b erb o b o t m u n g k in m em p u n y ai leb ih d ari 1
p o h o n m eren tan g .
 P o h o n m eren tan g y an g b erb o b o t m in im u m – d in am ak an p o h o n
m eren ta n g m in im u m (m in im u m sp a n n in g tree ).
a
a
45
55
d
25
c
d
30
25
c
h
b
30
h
b
40
20
40
20
50
5
15
5
15
g
g
e
e
35
10
10
f
f
Matematika Diskrit
8
A lg o ritm a P rim
L an g k ah 1 : am b il sisi d ari g raf G y an g b erb o b o t m in im u m ,
m asu k k an k e d alam T .
L an g k ah 2 : p ilih sisi (u , v) y an g m em p u n y ai b o b o t m in im u m d an
b ersisian d en g an sim p u l d i T , tetap i (u , v) tid ak
m em b en tu k sirk u it d i T . M asu k k an (u , v) k e d alam T .
L an g k ah 3 : u lan g i lan g k ah 2 seb an y ak n – 2 k ali.
Matematika Diskrit
9
procedure Prim(input G : graf, output T : pohon)
{ Membentuk pohon merentang minimum T dari graf terhubungberbobot 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 i 1 to n-2 do
Pilih sisi (u,v) dari E yang bobotnya terkecil namun
bersisian dengan simpul di T
T  T  {(u,v)}
endfor
Matematika Diskrit
10
C o n to h :
1
10
2
50
30
45
40
3
35
4
25
5
55
20
15
6
Matematika Diskrit
11
L angkah
1
S isi
(1, 2)
(2, 6)
2
B obot
P ohon rentang
1
10
2
1
10
2
10
25
25
3
(3, 6)
6
1
15
10
3
25
15
6
4
1
(4, 6)
10
2
20
3
4
25
20
15
6
5
(3, 5)
1
10
2
35
45
3
35
4
25
5
55
20
15
6
Matematika Diskrit
12
P o h o n m eren tan g m in im u m y an g d ih asilk an :
1
10
2
45
3
35
4
25
5
55
20
15
6
B obot = 10 + 25 + 15 + 20 + 35 = 105
Matematika Diskrit
13

Pohon merentang yang dihasilkan tidak
selalu unik meskipun bobotnya tetap sama.

Hal ini terjadi jika ada beberapa sisi yang
akan dipilih berbobot sama.
Matematika Diskrit
14
C o n to h :
a
3
b
4
c
5
e
f
5
4
4
h
4
5
j
6
6
g
3
i
d
3
2
4
2
4
k
l
2
T ig a b u ah p o h o n m eren tan g m in im u m n y a:
a
b
3
4
c
2
d
2
a
3
4
g
f
b
3
c
2
e
a
3
j
3
g
h
4
4
4
2
k
2
l
d
2
e
4
3
i
c
4
f
h
e
5
b
3
4
f
h
d
2
5
4
3
i
j
4
4
k
2
l
5
3
i
j
4
k
2
l
B o b o tn y a sam a y aitu = 3 6
Matematika Diskrit
15
A lg o ritm a K ru sk a l
( L an g k ah 0 : sisi-sisi d ari g raf su d ah d iu ru t m en aik b erd asark an
b o b o tn y a – d ari b o b o t k ecil k e b o b o t b esar)
L an g k ah 1 : T m asih k o so n g
L an g k ah 2 : p ilih sisi (u , v) d en g an b o b o t m in im u m y an g tid ak
m em b en tu k sirk u it d i T . T am b ah k an (u , v) k e d alam
T.
L an g k ah 3 : u lan g i lan g k ah 2 seb an y ak n – 1 k ali.
Matematika Diskrit
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
Matematika Diskrit
17
C ontoh:
1
10
2
50
30
45
40
3
35
4
25
5
55
20
15
6
Matematika Diskrit
18
S isi-sisi diurut m enaik:
S isi
B obot
(1,2)
10
L angkah
(3,6)
15
(4,6)
20
S isi
(2,6)
25
(1,4)
30
B obot
0
1
(1, 2)
(3, 6)
2
(3,5)
35
(2,5)
40
(1,5)
45
(2,3)
50
(5,6)
55
H utan m erentang
1
2
1
2
1
2
3
4
5
4
5
6
10
15
3
6
3
(4, 6)
20
1
2
3
5
4
6
4
(2 , 6 )
25
1
2
3
5
4
Matematika Diskrit
19
5
(1, 4)
30
6
(3, 5)
35
ditolak
1
2
3
5
4
6
P o h o n m eren tan g m in im u m y an g d ih asilk an :
1
2
10
45
3
35
4
4
25
(2 , 6 )
25
5
55
20
1
2
3
5
15
4
6
B obot = 10 + 25 + 15 + 20 + 35 = 105
Matematika Diskrit
20
Pohon berakar (rooted tree)
 P o h o n y an g satu b u ah sim p u ln y a d ip erlak u k an seb ag ai ak ar d an
sisi-sisin y a d ib eri arah seh in g g a m en jad i g raf b erarah
d in am ak an p o h o n b era k a r (ro o ted tree).
a
a
b
b
d
d
c
c
e
e
f
h
i
g
j
(a) P ohon berakar
f
h
i
g
j
(b) sebagai perjanjian, tanda panah pada sisi dapat
dibuang
Matematika Diskrit
21
b
e
a
b
e
f
d
g
d
a
d
f
c
c
h
e
b
g
h
g
h
f
b sebagai akar
a
c
e sebagai akar
P ohon dan dua buah pohon berakar y ang dihasilkan dari pem ilihan
dua sim pul berbeda sebagai akar
Matematika Diskrit
22
Terminologi pada Pohon Berakar
A n ak (ch ild atau ch ildren ) d an O ran gtu a (paren t)
b, c, dan d adalah anak -anak sim pul a,
a adalah orangtua dari anak -anak itu
a
b
c
e
h
d
f
i
g
k
j
l
m
Matematika Diskrit
23
2 . L in ta sa n (p a th )
L in tasan d ari a k e j ad alah a , b , e, j.
a
P an jan g lin tasan d ari a k e j ad alah 3 .
b
3 . S a u d a ra k a n d u n g (sib lin g )
f ad alah sau d ara k an d u n g e, tetap i g b u k an
c
e
f
sau d ara k an d u n g e, k aren a o ran g tu a m erek a
b erb ed a.
h
d
i
g
k
j
l
Matematika Diskrit
m
24
4 . U p a p o h o n (su b tree)
a
b
c
d
e
f
g
k
h
i
j
l
m
Matematika Diskrit
25
5 . D era ja t (d eg ree)
D era ja t seb u ah sim p u l ad alah ju m lah u p ap o h o n (atau ju m lah
an ak ) p ad a sim p u l terseb u t.
D erajat a ad alah 3 , d erajat b ad alah 2 ,
D erajat d ad alah satu d an d erajat c ad alah 0 .
Jad i, d erajat y an g d im ak su d k an d i sin i ad alah d erajat -k elu ar.
D erajat m ak sim u m d ari sem u a sim p u l m eru p ak an d erajat p o h o n itu
sen d iri. P o h o n d i atas b erd erajat 3
a
b
c
d
e
f
g
k
h
i
j
l
m
Matematika Diskrit
26
6 . D a u n (lea f)
S im p u l y an g b erd erajat n o l (atau tid ak m em p u n y ai an ak ) d iseb u t
d a u n . S im p u l h , i, j, f, c, l, d an m ad alah d au n .
7 . S im p u l D a la m (in tern a l n o d es)
S im p u l y an g m em p u n y ai an ak d iseb u t sim p u l d a la m . S im p u l b , d ,
e, g , d an k ad alah sim p u l d alam .
a
b
c
e
h
d
f
i
g
k
j
l
Matematika Diskrit
m
27
8. A ras (level) atau T in gk at
A ras
a
0
b
1
c
d
e
2
f
g
k
h
i
3
j
4
l
m
9 . T in g g i (h eig h t) a ta u K ed a la m a n (d ep th )
A ras m ak sim u m d ari su atu p o h o n d iseb u t tin g g i atau k ed a la m a n
p o h o n terseb u t. P o h o n d i atas m em p u n y ai tin g g i 4 .
Matematika Diskrit
28
Pohon Terurut (ordered tree)
P o h o n b erak ar y an g u ru tan an ak -an ak n y a p en tin g d iseb u t p o h o n
teru ru t (o rd ered tree ).
1
1
2
4
3
4
2
3
5
6
7
8
9
8
9
6
10
5
7
10
(a)
(b )
(a) d an (b ) ad alah d u a p o h o n teru ru t y an g b erb ed a
Matematika Diskrit
29
Pohon n-ary
 P o h o n b erak ar y an g setiap sim p u l cab an g n y a m em p u n y ai
p alin g b an y ak n b u ah an ak d iseb u t p o h o n n -a ry.
< sen ten ce>
< su b ject>
< a rticle>
A
< v erb >
< n o u n p h ra se>
< a d jectiv e>
ta ll
<noun>
w ea rs
< o b ject>
< a rticle>
a
<noun>
< a d jectiv e>
boy
red
<noun>
hat
G am b ar P ohon parsing dari kalim at A tall boy w ears a red hat
 P o h o n n -a ry d ik atak an tera tu r atau p en u h (fu ll) jik a setiap
sim p u l cab an g n y a m em p u n y ai tep at n an ak .
Matematika Diskrit
30
Pohon Biner (binary tree)





Adalah pohon n-ary dengan n = 2.
Pohon yang paling penting karena banyak
aplikasinya.
Setiap simpul di adlam pohon biner mempunyai
paling banyak 2 buah anak.
Dibedakan antara anak kiri (left child) dan anak
kanan (right child)
Karena ada perbedaan urutan anak, maka pohon
biner adalah pohon terurut.
Matematika Diskrit
31
a
b
d
a
c
b
c
d
Gambar Dua buah pohon biner yang berbeda
Matematika Diskrit
32
a
a
b
b
d
c
c
d
G am b ar (a) P ohon condong -kiri, dan (b) pohon condong kanan
Matematika Diskrit
33
G a m b a r P o h o n b in er p en u h
Matematika Diskrit
34
P o h o n B in er S eim b a n g
P ad a b eb erap a ap lik asi, d iin g in k an tin g g i u p ap o h o n k iri d an tin g g i
u p ap o h o n k an an y an g seim b an g , y aitu b erb ed a m ak sim al 1 .
T1
T2
T3
G a m b a r T 1 d an T 2 ad alah p o h o n seim b an g , sed an g k an T 3 b u k an p o h o n
seim b an g .
Matematika Diskrit
35
Terapan Pohon Biner
1 . P o h o n E k sp resi
*
+
/
+
a
b
c
d
e
G a m b a r P o h o n ek sp resi d ari (a + b )* (c/(d + e))
daun  operand
simpul dalam  operator
Matematika Diskrit
36
2 . P o h o n K ep u tu sa n
a :b
a > b
b > a
a :c
a >c
c > a
b :c
b > c
a > b > c
b :c
b > c
c > a > b
c > b
a > c > b
c > b
a :c
a >c
b > a > c
c > b > a
c > a
b > c > a
G a m b a r P o h o n k ep u tu san u n tu k m en g u ru tk an 3 b u ah elem en
Matematika Diskrit
37
3. K od e A w alan
0
0
1
1
01
0
1
0 00
0 01
0
10
1
11
G am b ar P ohon biner dari kode prefiks { 000, 001, 01, 10, 11}
Matematika Diskrit
38
4 . K o d e H u ffm a n
T a b el K o d e A S C II
S im b o l
A
B
C
D
K o d e A S C II
01000001
01000010
01000011
01000100
ran g k aian b it u n tu k strin g ‘A B A C C D A ’:
01000001010000010010000010100000110100000110100010001000001
atau 7  8 = 5 6 b it (7 b yte).
Matematika Diskrit
39
T ab el T abel kekerapan (frekuensi) dan kode H uffm an
untuk string A B A C C D A
S im bol
A
B
C
D
K ekerapan
3
1
2
1
P eluang
3/7
1/7
2/7
1/7
K ode H uffm an
0
110
10
111
D engan kode H ufm an, rangkaian bit untuk ’A B A C C D A ’:
0110010101110
hanya 13 bit!
Matematika Diskrit
40

Algoritma pembentukan pohon Huffman
1.
Pilih dua simbol dengan peluang (probability) paling
kecil (pada contoh di atas simbol B dan D). Kedua
simbol tadi dikombinasikan sebagai simpul orangtua dari
simbol B dan D sehingga menjadi simbol BD dengan
peluang 1/7 + 1/7 = 2/7, yaitu jumlah peluang kedua
anaknya.
2.
Selanjutnya, pilih dua simbol berikutnya, termasuk
simbol baru, yang mempunyai peluang terkecil.
3.
Ulangi langkah 1 dan 2 sampai seluruh simbol habis.
Matematika Diskrit
41
A B C D , 7/7
0
1
A , 3/7
C B D , 4 /7
0
1
B D , 3/7
C , 2/7
0
B , 3 /7

1
D , 3/7
A = 0, C = 10, B = 110, D = 111
Matematika Diskrit
42
5 . P o h o n P en ca ria n B in er
R
K u n c i(T 1 ) < K u n c i(R )
K u n c i(T 2 ) > K u n c i(R )
T1
T2
Matematika Diskrit
43
D ata:
50, 32, 18, 40, 60, 52, 5, 25, 70
50
50
32
18
5
40
52
70
25
Matematika Diskrit
44
Penelusuran (traversal) Pohon Biner
1 . P reo rd er :
- k u n ju n g i
- k u n ju n g i
- k u n ju n g i
R , T 1, T 2
R
T 1 secara p reo rd er
T 2 secara p reo rd er
2 . In o rd er : T 1 , R , T 2
- k u n ju n g i T 1 secara in o rd er
- k u n ju n g i R
- k u n ju n g i T 2 secara in o rd er
3 . P o sto rd er : T 1 , T 2 , R
- k u n ju n g i T 1 secara p o sto rd er
- k u n ju n g i T 2 secara p o sto rd er
- k u n ju n g i R
Matematika Diskrit
45
R
T1
L a n g k a h 2 : k u n ju n g iT 1
s e c a ra p re o rd e r
R
L a n g k a h 1 : k u n ju n g i R
T1
T2
L a n g k a h 3 : k u n ju n g iT 2
s e c a ra p re o rd e r
L a n g ka h 1 : ku n ju n g i T 1
se ca ra in o rd e r
(a) p reo rd er
L a n g ka h 2 : ku n ju n g i R
T2
L a n g ka h 3 : ku n ju n g i T 2
se ca ra in o rd e r
(b ) in o rd er
L a n g k a h 3 : k u n ju n g i R
R
T1
L a n g k a h 1 : k u n ju n gTi 1
s e c a ra p o s to rd e r
T2
L a n g k a h 2 : k u n ju n gTi 2
s e c a ra p o s to rd e r
(c) p o sto rd er
Matematika Diskrit
46
preorder
inorder
postorder
: *+ a /b c-d* ef
: a+ b /c* d-e* f
: abc/+ def* -*
(prefix)
(infix)
(postfix)
*
+
-
a
d
/
b
c
*
e
Matematika Diskrit
f
47
Soal latihan
1.
Diketahui 8 buah koin uang logam. Satu dari
delapan koin itu ternyata palsu. Koin yang palsu
mungkin lebih ringan atau lebih berat daripada
koin yang asli. Misalkan tersedia sebuah
timbangan neraca yang sangat teliti. Buatlah
pohon keputusan untuk mencari uang palsu
dengan cara menimbang paling banyak hanya 3
kali saja.
Matematika Diskrit
48
2 . T en tu k an h asil k u n ju n g an p reo rd er, in o rd er, d an p o sto rd er p ad a p o h o n 4 a ry b erik u t in i:
a
b
e
n
f
o
c
g
h
d
i
j
l
k
p
Matematika Diskrit
m
q
49
3.
Gunakan pohon berakar untuk menggambarkan
semua kemungkinan hasil dari pertandingan
tenis antara dua orang pemain, Anton dan Budi,
yang dalam hal ini pemenangnya adalah pemain
yang pertama memenangkan dua set berturutturut atau pemain yang pertama memenangkan
total tiga set.
Matematika Diskrit
50
4 . T en tu k an d an g am b ark an p o h o n m eren tan g m in im u m d ari g raf d i b aw ah
in i (tah ap an p em b en tu k an n y a tid ak p erlu d itu lis).
a
2
b
5
3
5
7 e
d
6
6
4
3
1
8
g
c
4
f
3
h
4
2
4
i
Matematika Diskrit
51
6. D iberikan m asukan berupa rangkaian karakter dengan urutan
sebagai berikut:
P , T , B , F , H , K , N , S, A , U , M , I, D , C , W , O
(a) G am barkan pohon pencarian (search tree ) yang terbentuk.
(b) T entukan hasil penelusuran preorder, inorder, dan postorder,
dari pohon jaw aban (a) di atas.
Matematika Diskrit
52