Anda di halaman 1dari 37

MATEMATIKA DISKRIT

Teorema
Pohon

MUHAMMAD AKBAR HARIYONO, S.T


POLITEKNIK UNGGULAN KALIMANTAN

DEFINISI POHON

Pohon adalah graf yang khusus.

Pohon adalah graf tak berarah terhubung yang tidak


mengandung sirkuit.

b a
d

e
G1

pohon

ba
c

c
f

e
G2

e
G3

bukan pohon

G4

Beberapa pohon dapat membentuk hutan. Hutan (forest)


adalah kumpulan pohon yang saling lepas.

Hutan yang terdiri dari tiga pohon

Pohon Merentang
Disebut pohon merentang karena semua simpul pada
pohon T sama dengan semua simpul pada graf G

Setiap graf terhubung mempunyai paling sedikit


satu buah pohon merentang.

Graf yang tidak mengandung sirkuit adalah pohon


merentang itu sendiri.

Pada graf yang mempunyai sirkuit, pohon


merentangnya diperoleh dengan cara
memutuskan sirkuit yang ada.

Contoh Graf lengkap G dengan


beberapa pohon merentangnya T

T1

T2

T3

G
Aplikasi pohon merentang misalnya pada pemeliharaan
Jalan raya.
Graf G gambar adalah peta jaringan jalan raya yang
menghubungkan 4 buah kota.
Karena dana pemeliharaan terbatas, pemerintah daerah
hanya memelihara jalan-jalan sesedikit mungkin sedemikian
sehingga ke 4 kota masih tetap terhubung satu sama lain.

T4

subnetwork

router

(a) Jaringan komputer

(b) Pohon merentang multicast

Menghitung jumlah cabang dan


tali hubung
Untuk

graf terhubung dengan n buah


simpul dan m buah sisi :
Jumlah cabang = n 1
Jumlah tali hubung = m n + 1

Untuk

graf tidak terhubung dengan k


komponen, m buah sisi dan n buah
simpul :
Jumlah cabang = n k
Jumlah tali hubung m n + k

Pohon Merentang Minimum.


Di

antara semua pohon merentang di G,


pohon merentang yang berbobot
minimum dinamakan pohon merentang
minimum yang merupakan pohon
merentang yang paling penting.
Terdapat 2 buah algoritma
membangun pohon merentang
minimum, yaitu :
Algoritma Prim.
Algoritma Kruskal.

(a) Graf yang menyatakan jaringan jalur rel kereta api. Bobot pada tiap sisi
menyatakan panjang rel KA (x 100 km).
(b) Pohon merentang yang mempunyai jumlah jarak minimum.

a
55

45

25

40

a
30

50

20

15

e
35

(a)

d
25

40

20

15
10

(b)

10

30

Algoritma Prim
Algoritma

Prim membentuk pohon


merentang minimum langkah per langkah.

Pada

setiap langkah diambil sisi dari graf G


yang mempunyai bobot minimum namun
terhubung dengan pohon merentang
minimum T yang telah terbentuk.

Bobot pohon merentang minimum adalah :

10+25+15+20+35 = 105

10

1
35

40

45

25
6

10

1
3

5
55

20

2 50

25

35
4
15

2
35
5

20
6

15

10

10

(1,2) 10

25

(2,6) 25

1
3

(3,6) 15

6
10

2
3

25

15

10

1
4

(4,6) 20

25
4

2
3

20

15

10

1
5

(3,5) 35

25
4

2
3

35
5

20
6

15

Algoritma Kruskal
Pada

Algoritma Kruskal, sisi-sisi graf


diurutkan terlebih dahulu berdasarkan
bobotnya dari kecil ke besar.
Perbedaan prinsip antara algoritma
Prim dan Kruskal adalah :
Jika pada algoritma Prim, sisi yang
dimasukkan ke dalam T harus bersisian
dengan sebuah simpul di T, maka pada
algoritma Kruskal sisi yang dipilih tidak
perlu bersisian dengan sebuah simpul di
T asalkan penambahan sisi tersebut tidak
membentuk sirkuit.

Langkah-langkah Algoritma Kruskal


Sisi-sisi dari graf diurutkan menaik berdasarkan
bobotnya, dari bobot kecil ke bobot besar.
1.

T masih kosong.

2.

Pilih sisi (u, v) dengan bobot minimum yang


tidak membentuk sirkuit di T. Tambahkan
(u, v) ke dalam T.

3.

Ulangi langkah ke 2 sebanyak n 1 kali.

10

1
35

40

45

2 50
3
5

55

20
6

35
15

Sisi-sisi graf diurut menaik berdasarkan bobotnya :


sisi
bobot

(1,2
)

(3,6
)

(4,6
)

(2,6
)

(1,4
)

(3,5
)

(2,5
)

(1,5
)

(2,3
)

(5,6
)

10

15

20

25

30

35

40

45

50

55

Bobot pohon merentang minimum adalah :

10+25+15+20+35 = 105

0
1

(1,2) 10

(3,6) 15


2 3 4 5 6


2 3 4 5

6

1 2 3

(4,6) 20
4

(2,6) 25
4

(1,4) 30

(3,5) 35


2 3

ditolak

1
4

Pohon Berakar
Definisi

: Pohon yang
sebuah simpulnya
diperlakukan sebagai akar
dan sisi-sisinya diberi arah
menjauh dari akar
dinamakan pohon berakar
(rooted tree).

akar

a
cabang

c
daun

g
daun

Akar

mempunyai derajat
masuk sama dengan nol dan
h
i
simpul-simpul lainnya
daun
berderajat masuk sama
dengan satu.

e
b

f
g

h
b

e
d

c
e

f
b sebagai akar

f
b

a
c
e sebagai akar

Terminologi pada Pohon


Berakar
Anak dan Orang tua.

Misalkan x adalah simpul di


y anak
dalam pohon berakar,
simpul y dikatakan anak
simpul x jika ada sisi dari
simpul x ke simpul y dan
simpul x disebut orang tua
simpul y.
Saudara kandung

Orang tua

Upapohon (Subtree)
Pohon T dengan
upapohon T pada
bagian yang dilingkari.

b
Pohon T dengan akar a
dan upapohon T
dengan akar b.

Derajat (degree)
sebuah simpul pada pohon
berakar adalah jumlah upapohon
atau jumlah anak pada simpul
tersebut

Derajat

Derajat

maksimum dari semua


simpul merupakan derajat pohon
itu sendiri.

a berderajat 3
b berderajat 2

Aras (level) atau Tingkat

Akar mempunyai aras 0, sedangkan aras simpul


lainnya = 1 + panjang lintasan dari akar ke
simpul tersebut.
0

1
2

3
4

Pohon n-ary

Pohon berakar yang setiap simpul cabangnya mempunyai paling


banyak n buah anak disebut pohon n-ary.
Jika n=2, pohon disebut pohon biner (binary tree).
Pohon n-ary dikatakan teratur atau penuh jika setiap simpul
cabangnya mempunyai tepat n buah anak.

Dalam sistem pengarsipan komputer (computer file system),


arsip-arsip di dalam media penyimpanan sekunder (seperti
floppy disk, compact disk, hard disk), disusun dalam bentuk
direktori.

Struktur direktori dimodelkan dalam pohon n-ary. Disini akar


menyatakan sistem arsip keseluruhan, simpul dalam menyatakan
upa-direktori, dan daun menyatakan arsip atau direktori kosong.

C:/

My Documents

Program Files

Proposal. Borland
My
My
doc
Pictures Music

Tree.jpg

Ibu.bmp

Norton
Utilities

Windows

Webshots

Winzip

cookies

Pohon Ekspresi

Pohon ekspresi ialah pohon biner dengan daun


menyatakan operand dan simpul dalam
(termasuk akar) menyatakan operator.

Tanda kurung tidak diperlukan bila suatu ekspresi


aritmetik direpresentasikan sebagai pohon biner.

Sebagai contoh, ekspresi (a+b)*(c/(d+e))


dinyatakan dalam pohon biner.

Daun menyatakan operand a, b, c, d, dan e,


sedangkan simpul dalam termasuk akar
menyatakan operator +, *, dan / .

( a + b ) * ( c / ( d + e ))
d

a.

x
xy

z
zy
b.

Kode Awalan
Kode

awalan (prefix code) adalah himpunan


kode, misalnya kode biner, sedemikian
sehingga tidak ada anggota kumpulan yang
merupakan awalan dari anggota yang lain.
Contoh :

{000,
{1,

001, 01, 10, 11 } adalah kode awalan.

00, 01, 000, 0001} bukan kode awalan,


sebab 00 adalah prefix dari 0001.

Kode

awalan mempunyai pohon biner yang


bersesuaian. Sisi diberi label 0 atau 1.

Pelabelan

harus sama, jika sisi kiri diberi


label 0 maka semua sisi kiri harus berlabel 0
dan semua sisi kanan harus berlabel 1.

Barisan

sisi-sisi yang dilalui lintasan dari akar


ke daun menyatakan kode awalan.

Kode

awalan ditulis pada daun.

0
01

000

001

10

1
11

Kode Huffman

Simbol

Kode ASCII

01000001

01000010

01000011

01000100

Dengan mengikuti pengkodean diatas, string ABACCDA


direpresentasikan menjadi rangkaian bit :
01000001 01000010 01000001 01000011 01000011 01000100 01000001

Simbol

Kekerapa
n

Peluang

Kode Huffman

A
B
C

3
1
2

3/7
1/7
2/7

0
110
10

1/7

111

ABCD, 7/7
0

A, 3/7

CBD, 4/7
0

B = 110
1

C, 2/7

BD, 2/7
0

B, 1/7

D, 1/7

Dengan membuat lintasan dari akar ke daun, akan


dihasilkan kode untuk setiap simbol.
A = 0,
Simbol
A
B
C
D

B = 110,
Kekerapa
n
3
1
2
1

C = 10,

D = 111

Peluang

Kode Huffman

3/7
1/7
2/7
1/7

0
110
10
111

Dengan menggunakan kode Huffman di dalam tabel, pesan


A B AC C D A
menjadi rangkaian bit :
0110010101110

TERIMA KASIH

Anda mungkin juga menyukai