Anda di halaman 1dari 60

MATEMATIKA DISKRIT

UNIVERSITAS MURIA KUDUS 2015

POHON (TREE)
Syafiul Muzid, ST., M.Cs.

Program Studi Sistem Informasi


Fakultas Teknik Universitas Muria Kudus
UNIVERSITAS MURIA KUDUS

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 f e f e f e f

pohon pohon bukan pohon bukan pohon


sirkuit Tak terhubung

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Hutan (Forest)
adalah :
kumpulan pohon yang saling lepas, atau
graf tidak terhubung yang tidak mengandung sirkuit.
Setiap komponen di dalam graf terhubung tersebut
adalah pohon.

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Sifat-sifat (properti) Pohon:


Teorema : Misalkan G = (V, E) adalah graf tak-berarah
sederhana dan jumlah simpulnya n. Maka, semua
pernyataan di bawah ini adalah ekivalen:
G adalah pohon.
Setiap pasang simpul di dalam G terhubung dengan lintasan
tunggal.
G terhubung dan memiliki m = n 1 buah sisi.
G tidak mengandung sirkuit dan memiliki m = n 1 buah sisi.
G tidak mengandung sirkuit dan penambahan satu sisi pada graf
akan membuat hanya satu sirkuit.
G terhubung dan semua sisinya adalah jembatan.

Teorema di atas dapat dikatakan sebagai definisi lain


dari pohon.
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS
Pohon Merentang (Spanning
Tree)
Pohon merentang adalah :

Subgraf dari graf terhubung berbentuk pohon

G T1 T2 T3 T4
Graf lengkap G dengan 4 buah pohon merentangnya, T 1, T2, T3 dan T4

Setiap graf terhubung mempunyai paling sedikit 1 buah pohon


merentang
Cabang (branch) adalah :
Sisi dari graf semula (sisi pada pohon merentang)
Tali-hubung (chord atau link) dari pohon adalah :
Sisi dari graf yang tidak terdapat di dalam pohon merentang
Komplemen pohon adalah :
Himpunan tali-hubung beserta simpul yang bersisian dengannya

Matematika Diskrit Program Studi Sistem Informasi


Pohon Merentang (Spanning
UNIVERSITAS MURIA KUDUS

Tree)
Jika n buah simpul dan m buah sisi maka :
Untuk graf terhubung :
Jumlah cabang : n 1
Jumlah tali hubung : m n + 1
Untuk graf tak-terhubung dengan k komponen :
Jumlah cabang : n k
Jumlah tali-hubung : m n + k
Rank graf G adalah :
Jumlah cabang pada pohon merentang dari sebuah graf G
Nullity graf G adalah :
Jumlah tali hubung pada graf G
Sehingga :
jumlah sisi graf G = rank + nullity
Nullity graf sering diacu sebagai bilangan siklomatik atau
bilangan Betti pertama
Sirkuit fundamental (fundamental circuit) adalah :
Sirkuit yang terbentuk dengan penambahan sebuah tali-hubung
pada pohon merentang

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Router Subnetwork

Jaringan komputer Pohon merentang multicast

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Pohon Merentang Minimum


(Minimum Spanning Tree)
Adalah pohon merentang yang berbobot
minimum
Aplikasi misalnya pada :
Jalur rel kereta api yang menghubungkan
sejumlah kota
Algoritma yang digunakan :
1. Algoritma Prim
2. Algoritma Kruskal

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Pohon Merentang Minimum


a 45 a 45
55 d d
25 30
c c 25 30
h h
b b
20
40 50 20
5 40 50
15 5
15
e g g
e
35 10 35 10
f f

Graf yang menyatakan jaringan Pohon merentang yang mempunyai


jalur rel kereta api jumlah jarak minimum

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS
Algoritma Prim
Algoritma Prim :
Ambil sisi dari graf G
yang berbobot minimum,
masukkan ke dalam T
Pilih sisi e yang
mempunyai bobot
minimum dan bersisian
dengan simpul di T, tetapi
e tidak membentuk
sirkuit di T. Masukkan e
ke dalam T
Ulangi langkah-2
sebanyak n 2 kali

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh
a 10 b a 10 b
30 50
d 45 d
c c
35 35
25 25
20 20
e e
55 15 15

f f
Graf G Pohon merentang minimum dari graf G

Bobot pohon merentang minimum yang diperoleh


dengan menggunakan algoritma Prim :
10 + 25 + 15 + 20 + 35 = 105

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Tabel Pembentukan Pohon Merentang Minimum


Dengan Menggunakan Algoritma Prim
Langkah Sisi Bobot Pohon merentang
a 10 b
1 (a,b) 10
a 10 b
2 (b,f) 25

25

f
3 (c,f) 15 a 10 b

25

15

f
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

Lanjutan Tabel
Langkah Sisi Bobot Pohon merentang
4 (d,f) 20 a 10 b

d c

25
20

15

f
a 10 b
5 (c,e) 35

d c
35
25
20
e
15

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Algoritma Kruskal
Algoritma Kruskal :
(Asumsi : sisi-sisi dari
graf sudah diurut
menaik berdasarkan
bobotnya)
1. T masih kosong
2. Pilih sisi e yang
mempunyai bobot
minimum yang tidak
membentuk sirkuit di
T. Masukkan e ke
dalam T
3. Ulangi langkah-2
sebanyak n 1 kali

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh
Selesaikan dengan menggunakan algoritma Kruskal
a 10 b a 10 b
30 50
d 45 d
c c
35 35
25 25
20 20
e e
55 15 15

f f
Graf G Pohon merentang minimum dari graf G

Sisi-sisi graf diurut menaik berdasarkan bobotnya :

Sisi (a,b) (c,f) (d,f) (b,f) (a,d) (c,e) (b,e) (a,e) (b,c) (e,f)

Bobot 10 15 20 25 30 35 40 45 50 55

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS
Tabel Pembentukan Pohon Merentang Minimum
Dengan Menggunakan Algoritma Kruskal
Langkah Sisi Bobot Pohon merentang
0 a b c d e f

a b c d e f
1 (a,b) 10

a b c d e
2 (c,f) 15

3 (d,f) 20 a b c e

f
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

Lanjutan Tabel
Langkah Sisi Bobot Pohon merentang
a b c e
4 (b,f) 25
d

f
5 (a,d) 30 ditolak
a b
6 (c,e) 35 c
d e

Bobot pohon merentang minimum yang diperoleh dengan


menggunakan algoritma Kruskal :
10 + 25 + 15 + 20 + 35 = 105

Matematika Diskrit Program Studi Sistem Informasi


LATIHAN
A B
a
35 b
a b
25
15 30
25 35
c
30 d
35 35
d 40
35 c
30 26
20
20
e
40
25 f e

f
UNIVERSITAS MURIA KUDUS

Pohon berakar (rooted tree)


Pohon yang satu buah simpulnya diperlakukan sebagai
akar dan sisi-sisinya diberi arah sehingga menjadi graf
berarah dinamakan pohon berakar (rooted tree).

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Terminologi pada Pohon Berakar


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

b
c d

e
f g

k
h i j

l m

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

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

3. Saudara kandung (sibling) b


c d
f adalah saudara kandung e,
tetapi g bukan saudara e
kandung e, karena f g
orangtua mereka berbeda.
k
h i j

l m

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

b
c d

e
f g

k
h i j

l m
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

5. Derajat (degree)
Derajat sebuah simpul adalah jumlah
upapohon (atau jumlah anak) pada simpul a
tersebut.
Derajat a adalah 3, derajat b adalah 2,
Derajat d adalah satu dan b
derajat c adalah 0. c d

Jadi, derajat yang dimaksudkan e


f g
di sini adalah derajat-keluar.
Derajat maksimum dari semua
k
simpul merupakan derajat h i j
pohon itu sendiri.
Pohon di atas berderajat 3
l m
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

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

b
c d
7. Simpul Dalam (internal nodes)
Simpul yang mempunyai anak e
disebutsimpul dalam. f g
Simpul b, d, e, g,
dan k adalah simpul dalam. h i j
k

l m

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

8. Aras (level) atau Tingkat Aras

a
0

b 1
c d

e 2
f g

k 3
h i j

4
l m

9. Tinggi (height) atau Kedalaman (depth)


Aras maksimum dari suatu pohon disebut tinggi atau kedalaman
pohon tersebut. Pohon di atas mempunyai tinggi 4.

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Pohon Terurut (lanjutan)


Sistem universal dalam pengalamatan simpul-simpul
pada pohon terurut adalah dengan memberi nomor
setiap simpulnya seperti penomoran bab (beserta
subbab) di dalam sebuah buku
0

1 2 3

1.1 1.2 2.1 2.2 2.3 3.1 3.2 3.3 3.4

2.2.1 2.2.2

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Pohon n-ary

Matematika Diskrit Program Studi Sistem Informasi


Contoh
UNIVERSITAS MURIA KUDUS

Penggunaan pohon m-ary :


Penurunan kalimat (dalam bidang bahasa)
Direktori arsip di dalam komputer
Struktur organisasi
Silsilah keluarga (dalam bidang genetika)
Struktur bab atau daftar isi di dalam buku
Bagan pertandingan antara beberapa tim sepak bola
C:/

My Documents Program Windows


Files

My My Music Prop.doc VB6 Office Winz Adobe Cookies


Pictures ip

Struktur direktori arsip di


Fall.jpg
dalam sistem operasi Windows
Winter.bmp

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Pohon Biner (binary tree)


adalah pohon n-ary dengan n = 2.
Pohon yang paling penting karena banyak aplikasinya.
Setiap simpul di dalam 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 Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

a a

b c b c

d d
Gambar Dua buah pohon biner yang berbeda

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

a a

b b

d c

c d

(a) (b)
Gambar (a) Pohon condong-kiri, dan (b) pohon condong kanan

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Gambar Pohon biner penuh

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS
Pohon Biner Seimbang

Matematika Diskrit Program Studi Sistem Informasi


MATEMATIKA DISKRIT
UNIVERSITAS MURIA KUDUS 2015

Terapan Pohon Biner

Program Studi Sistem Informasi


Fakultas Teknik Universitas Muria Kudus
UNIVERSITAS MURIA KUDUS

1. Pohon Ekspresi
Adalah pohon biner dengan daun menyatakan
operand dan simpul dalam (termasuk akar)
menyatakan operator
Tanda kurung tidak lagi diperlukan bila suatu *
ekspresi aritmetik direpresentasikan sebagai
pohon biner
Pohon ekspresi digunakan oleh compiler bahasa + /
tingkat tinggi untuk mengevaluasi ekspresi
yang ditulis dalam notasi :
Infix
Operator berada di antara 2 buah operand +
Prefix (polish notation)
Operator mendahului 2 buah operand-nya a b c
Postfix (inverse polish notation)
Kedua operand mendahului operatornya
d e
Contoh :
(a + b)*(c/(d + e)) Pohon ekspresi dari
infix
(a + b)*(c/(d + e))
* + a b / c + d e prefix
a b + c d e + / * postfix

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh
Pembentukan pohon ekspresi (a + b)*(c/(d + e))
*
/
+ + /
+ +
c +
a b a b c
d e d e
(i) d e
(ii) (iii) (iv)

Urutan prioritas pengerjaan operator :


1. Perkalian (*) dan pembagian (/) lebih tinggi
2. Penjumlahan (+) dan pengurangan (-)

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Pembentukan Pohon Ekspresi dari Notasi


Postfix
1. Setiap elemen (operand dan operator) dari notasi postfix yang
panjangnya n disimpan di dalam tabel sebagai elemen P1 , P2 , ,

Pn
1 2 3 4 5 6 7 8 n=9

a b + c d e + / *

2. Tumpukan S menyimpan pointer ke simpul pohon biner


(tumpukan tumbuh dari kiri ke kanan)
Arah pertumbuhan tumpukan

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Algoritma pembentukan pohon ekspresi dari


notasi postfix

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh (1)
Terapkan algoritma BangunPohonEkspresiDariPostfix untuk
membangun pohon ekspresi dari notasi postfix a b + c d e + / *
1. Mulai dari elemen postfix pertama, P1 , karena P1= a = operand,
buat simpul untuk P1, push pointer-nya ke dalam tumpukan S

a
2. Baca P2 , karena P2 = b = operand, buat simpul untuk P2 ,
push pointer-nya ke tunpukan S

a b
3. Baca P3 , karena P3 = + = operator, buat pohon T dengan a
dan b sebagai child (anak)

a b Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

4. Baca P4 , P5 , P6 , karena P4 , P5 , P6 = operand, buat pohon P4 ,


P5 , P6 Push pointer-nya ke dalam tumpukan S

+
c d e

a b
5. Baca P7 , karena P7 = + = operator, buat pohon T dengan d
dan e sebagai child (anak)

+ +
c

a b d e
6. Baca P8 , karena P8 = / = operator, buat pohon T dengan c
dan + sebagai child (anak)

+ /

+
a b c

d e Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

7. Baca P9 , karena P9 = * = operator, buat pohon T dengan +


dan * sebagai child (anak)

+ /

+
a b c

d e

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS
Contoh (2)
Evaluasi pohon ekspresi berikut :
*

+ /

+
3 4 24

4 8
Penyelesaian :
Pohon ekspresi dievaluasi mulai dari bawah, tahapan
evaluasi sbb :
*
* *
14
+ / + /
7 2
+
3 24 3 4 24 12
4

8 4

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

2. Pohon Keputusan
a : b
a > b b > a

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

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

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

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

Gambar: Pohon keputusan untuk mengurutkan 3 buah elemen

Matematika Diskrit Program Studi Sistem Informasi


Contoh UNIVERSITAS MURIA KUDUS

Diketahui 8 buah koin uang logam. Satu dari delapan koin 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

Penyelesaian :
Misalkan 8 koin itu dinamai a,b,c,d,e,f,g,h. Daun menyatakan koin yang
palsu. Pohon keputusan untuk mencari koin yang palsu ditunjukkan sbb :

ab : cd
ab = cd ab cd
{abcd asli} {efgh asli, palsu ada diantara abcd}

ab : ef ab : ef
ab = ef ab ef
ab = ef ab ef {cd palsu} {ab palsu}
{gh palsu} {ef palsu}
a:g c:e a:e
a:e
a=g c=e ce a=e ae
a ga = e ae

d c b a
{h palsu}h g f e
{d palsu}
{e palsu} {a palsu}
{c palsu}{b palsu}
{g palsu}
{f palsu}

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

3. Prefix Code (Kode Awalan)


Adalah himpunan kode (misalnya kode biner) sedemikian
hingga tidak ada anggota kumpulan yang merupakan awalan
dari anggota yang lain
Mempunyai pohon biner yang bersesuaian
Sisi diberi label 0 atau 1, semua sisi kiri diberi label 0 saja
(atau 1 saja) sedangkan sisi kanan diberi label 1 saja (atau 0
saja)
Barisan sisi-sisi yang dilalui oleh lintasan dari 0 1
akar ke daun menyatakan kode awalan
(ditulis di daun)
Keguanaan untuk : 0 1 0 1
mengirim pesan pada komunikasi data
Setiap karakter di dalam pesan
01 10 11
0 1
direpresentasikan dengan
barisan angka 0 dan 1
Untuk pembentukan kode Huffman 000 001

dalam pemampatan data Pohon biner dari kode prefiks


(000, 001, 01, 10, 11)
(data compression)
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

4. Kode Huffman
Pemampatan data dilakukan dengan mengkodekan setiap
karakter di dalam pesan atau di dalam arsip dikodekan
dengan kode yang lebih pendek
Sistem kode yang banyak digunakan adalah kode ASCII
(setiap karakter dikodekan dalam 8 bit biner)
Cara pembentuka kode Huffman dengan membentuk pohon
biner (dinamakan dengan pohon Huffman) yaitu :
1. Pilih 2 simbol dengan peluang (probability) paling kecil
sebagai child kemudian kedua simbol tersebut
dikombinasikan sebagai parent peluang penjumlahan dari
kedua simbol tersebut
2. Pilih 2 simbol berikutnya termasuk simbol baru yang
mempunyai peluang kecil sebagai child kemudian kedua
simbol tersebut dikombinasikan sebagai parent peluang
penjumlahan dari kedua simbol tersebut
3. Prosedur yang sama dilakukan pada 2 simbol berikutnya
yang mempunyai peluang terkecil sebagai child kemudian
kedua simbol tersebut dikombinasikan sebagai parent
peluang penjumlahan dari kedua simbol tersebut

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Kode Huffman (Lanj.)


Kode Huffman tidak bersifat unik, artinya kode
untuk setiap karakter berbeda-beda pada setiap
pesan bergantung pada kekerapan kemunculan
karakter tersebut di dalam pesan

Keputusan apakah suatu simpul pada pohon


Huffman diletakkan di kiri atau di kanan
menentukan kode yang dihasilkan (tetapi tidak
mempengaruhi panjang kodenya)

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh (1)
Representasikan string ABACCDA dalam kode ASCII dan kode
Huffman
Kode ASCII
Simbol Kode ASCII

A 01000001

B 01000010

C 01000011

D 01000100

String ABACCDA direpresintasikan menjadi rangkaian :


01000001010000100100000101000011010000110100010001000001

Representasi 7 huruf tersebut membutuhkan 7 x 8 bit = 56 bit (7


byte)

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS
Kode Huffman
Simbol Kekerapan Peluang

A 3 3/7

B 1 1/7

C 2 2/7

D 1 1/7

Cara pembentukan kode Huffman :


1. Pilih 2 simbol dengan peluang paling kecil, yaitu simbol B
dan D. Simbol tersebut dikombinasikan menjadi simbol BD
dengan peluang 1/7 + 1/7 = 2/7
2. Pilih 2 simbol dengan peluang paling kecil, yaitu simbol C
dan BD. Simbol tersebut dikombinasikan menjadi simbol
CBD dengan peluang 2/7 + 2/7 = 4/7
3. Pilih 2 simbol dengan peluang paling kecil, yaitu simbol A
dan CBD. Simbol tersebut dikombinasikan menjadi simbol
ACBD dengan peluang 4/7 + 3/7 = 7/7 = 1

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Pohon Huffman untuk pesan ABACCDA


ACBD (7/7) String ABACCDA direpresintasikan
menjadi rangkaian :
0 1
0110010101110
CBD (4/7)
A (3/7)
0 1 Representasi 7 huruf tersebut
membutuhkan 13 bit
BD (2/7)
C (2/7) 1
0

B (1/7) D (1/7)

Simbol Kekerapan Peluang Kode Huffman

A 3 3/7 0

B 1 1/7 110

C 2 2/7 10

D 1 1/7 111

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

5. Binary Search Tree (Pohon Pencarian


Biner)
Adalah pohon biner yang setiap key diatur dalam suatu urutan tertentu
Digunakan untuk melakukan operasi
Pencarian
Penyisipan
Penghapusan elemen
Simpul pada pohon pencarian berupa field kunci (key) pada :
Data record atau
Data itu sendiri
Key (kunci) adalah :
Nilai yang membedakan setiap simpul dengan simpul yang lainnya
Key harus unik, karena itu tidak ada 2 buah simpul atau lebih yang
mempunyai kunci yang sama
Jika R adalah akar dan semua key yang tersimpan pada setiap simpul
tidak ada yang sama maka : :
Semua simpul pada subpohon kiri mempunyai key lebih kecil dari key R
Semua simpul di subpohon kanan mempunyai key nilai lebih besar dari key R

R
Key T1 < key R
Key T2 > key R
T1 T2
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

Contoh
Gambarkan ke dalam pohon biner pencarian untuk data masukan
dengan urutan sbb :
50, 32, 18, 40, 60, 52, 5, 25, 70
Simpul di subpohon kiri 50 mempunyai
50 key lebih kecil dari 50 dan simpul di
subpohon kanan mempunyai key lebih
besar dari 50
Pencarian selalu dimulai dari simpul
32 60
akar
Simpul di akar dibandingkan dengan
nilai yang dicari (x).
18 40 52 70 Jika kunci di simpul akar tidak sama
dengan x, pencarian dilanjutkan di
subpohon kiri atau subpohon kanan,
5
bergantung pada nilai x lebih kecil dari
25 key di akar atau x lebih besar dari key
Skema pohon pencarian di akar
Pembandingan dilakukan sampai nilai x
sama dengan nilai suatu key atau
tercapai sebuah daun
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS
Traversal Pohon Biner
Misalkan T adalah pohon biner, akarnya R, subpohon kiri T 1
dan subpohon kanan T2 maka ada skema mengunjungi simpul-
simpul di dalam pohon biner T :
1. Preorder
Kunjungi R (sekaligus memproses simpul R)
Kunjungi T1 secara preorder
Kunjungi T2 secara preorder
2. Inorder
Kunjungi T1 secara inorder
Kunjungi R (sekaligus memproses simpul R)
Kunjungi T2 secara inorder
3. Postorder
Kunjungi T1 secara postorder
Kunjungi T2 secara postorder
Kunjungi R (sekaligus memproses simpul R)
Proses yang dilakukan terhadap simpul yang dikunjungi
misalnya
mencetak informasi yang disimpan di dalam simpul
Memanipulasi nilai, dll
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

Skema Mengunjungi Pohon Biner


PREORDER R Langkah 1 : Kunjungi R

T1 T2
INORDER R Langkah 2 : Kunjungi R
Langkah 2 : Langkah 3 :
Kunjungi T1 secara Kunjungi T2 secara
preorder preorder
T1 T2
Langkah 1 : Langkah 3 :
Kunjungi T1 secara Kunjungi T2 secara
inorder inorder

POSTORDER R Langkah 3 : Kunjungi R

T1 T2
Langkah 1 : Langkah 2 :
Kunjungi T1 secara Kunjungi T2 secara
postorder postorder
Matematika Diskrit Program Studi Sistem Informasi
UNIVERSITAS MURIA KUDUS

Penulusuran Pohon m-ary


Preorder :
Kunjungi R
Kunjungi T1, T2, , Tn secara preorder
Inorder :
Kunjungi T1 secara inorder
Kunjungi R
Kunjungi T2, T3, , Tn secara inorder
Postorder :
Kunjungi T1, T2, , Tn secara postorder
Kunjungi R R

Skema pohon m-ary


T1 T2 Tn

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh (1)
Tinjau pohon biner T di bawah ini :
A

B C

D E F G

H I J
Lintasan :
Preorder : A, B, C, D, E, F, G, H, I, J
Inorder : D, B, H, E, A, F, C, I, G, J
Postorder : D, H, E, B, F, I, J, G, C, A

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh (2)
Tinjau pohon ekspresi di bawah ini :
*

+ -

a / d *

b c e f

Lintasan :
Preorder : * + a / b c d * e f (prefix)
Inorder : a + b / c * d - e * f (infix)
Postorder : a b c / + d e f * - * (postfix)

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Contoh (3)
Tentukan hasil kunjungan preorder, indorder dan
postorder pada pohon 4-ary berikut :
a

b c
d

e f g h i l
j k m

n o p q

Lintasan :
Preorder : a,b,e,n,o,f,g,c,h,i,d,j,k,l,p,q,m
Inorder : n,e,o,b,f,g,a,h,c,i,j,d,k,p,l,q,m
Postorder : n,o,e,f,g,b,h,i,c,j,k,p,q,l,m,d,a

Matematika Diskrit Program Studi Sistem Informasi


UNIVERSITAS MURIA KUDUS

Ada Pertanyaan?

Matematika Diskrit Program Studi Sistem Informasi

Anda mungkin juga menyukai