Anda di halaman 1dari 26

POHON / TREE

LUH KESUMA WARDHANI, MT

JURUSAN TEKNIK INFORMATIKA


FAKULTAS SAINS & TEKNOLOGI
UIN SUSKA RIAU
DEFINISI
Pohon adalah graf tak-berarah terhubung yang tidak
mengandung sirkuit.
Contoh pohon:
a b a b

c d d
c

f e f
e

Sifat pohon : hanya ada satu lintasan unik antara setiap


pasang simpul.
Pada cth 1 : dari b ke f b,a,d,f,

m8_matdis / LKW / 2007 2


SIFAT-SIFAT POHON
Jika G=(V,N) adalah graf tak berarah sederhana dan
jumlah simpulnya n, maka semua pernyataan di bawah
ini adalah ekivalen :
1. G adalah pohon
2. Setiap pasang simpul di dalam G terhubung dengan lintasan
tunggal.
3. G terhubung dan memiliki m = n-1 buah sisi.
4. G tidak mengandung sirkuit dan memiliki m = n-1 sisi.
5. G tidak mengandung sirkuti dan penambahan 1 sisi pada graf
akan membuat hanya satu sirkuit.
6. G terhubung dan semua sisinya adalah jembatan.
( jembatan = sisi yang bila dihanpus menyebabkan graf
terpecah menjadi 2 komponen )

m8_matdis / LKW / 2007 3


POHON MERENTANG
Jika G=(V,E) adalah graf tak berarah terhubung
bukan pohon mengandung sirkuit.
G dapat diubah menjadi pohon T=(V,E) dengan cara
memutuskan sirkuit yang ada.
Caranya : pilih sebuah sirkuit, lalu hapus satu sisi dari
sirkuit tersebut. Lakukan proses ini berulang-ulang
sampai semua sirkuit hilang.
Pohon yang terbentuk disebut pohon merentang
(spanning tree).
Pohon merentang adalah pohon yang semua simpul di
pohon T sama dengan semua simpul di graf G, dan sisi
di pohon T sisi di graf G.

m8_matdis / LKW / 2007 4


POHON MERENTANG
Contoh :

Pada graf terhubung, setidaknya terdapat 1


buah pohon merentang.

m8_matdis / LKW / 2007 5


POHON MERENTANG MINIMUM
Pohon merentang minimum adalah pohon
merentang dengan bobot yang paling minimum.
Terapan :
Penghitungancost pada saat membangun rel KA
yang menghubungkan sejumlah kota.
Algoritma membangun pohon merentang
minimum :
Algo. Prim
Algo. Kruskal

m8_matdis / LKW / 2007 6


ALGO. PRIM
1. Ambil sisi dari graf G yang berbobot minimum,
masukkan ke dalam T.
2. 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.
3. Ulangi sebanyak n-2 kali.

Jumlah langkah seluruhnya adalah = n-1 langkah


jumlah sisi di dalam pohon merentang dengan n
simpul.

m8_matdis / LKW / 2007 7


CONTOH SOAL
Carilah pohon merentang minimum dari graf berikut :
1 2
10
50
30
45 40 3
35
4
25
5
20 55

6 15

m8_matdis / LKW / 2007 8


PENYELESAIAN
Langkah Sisi Bobot Pohon Merentang
1 (1,2) 10 1 2
2 (2,6) 25 1 2

6
1 2
3 (3,6) 15
3

m8_matdis / LKW / 2007 9


Langkah Sisi Bobot Pohon Merentang
4. (4,6) 20 1 2

4 3
4

5. (3,5) 35 1 2

3
44
5

Bobot pohon merentang adalah = 10 + 25 + 15+ 20 + 35 = 105

m8_matdis / LKW / 2007 10


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

m8_matdis / LKW / 2007 11


Langkah Sisi Bobot Pohon Merentang
1 2
3 (4,6) 20 3 5
4

6
1 2
4 (2,6) 25 3 5
4

6
3 (1,4) 30 ditolak
1 2

4 (3,5) 35 3
5

4
Bobot = 10 + 25 + 15 + 20 + 35 = 105 6

m8_matdis / LKW / 2007 12


POHON BERAKAR
Pohon berakar pohon yang simpulnya diperlakukan
sebagai akar dan sisi-sisinya diberi arah menjauh dari
akar.
Derajat masuk akar = 0
Derajat masuk simpul lain = 1
Simpul yang derajat keluar = 0 disebut simpul terminal /
daun.
Simpul yang derajat keluar <>0 disebut simpul dalam
atau simpul cabang.

m8_matdis / LKW / 2007 13


PENYELESAIAN (CTH SOAL ALGO. PRIM)
Sisi graf diurutkan 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 Pohon Merentang


0
1 2 3 4 5 6

(1,2) 10 1

(3,6) 15 1 2 3 4 5

m8_matdis / LKW / 2007 14


POHON BERAKAR TERURUT
Pohon berakar yang urutan anak-anaknya
penting disebut pohon berakar terurut.
Urutan dispesifikasikan dari kiri ke kanan.
Pentingnya urutan ini adalah dalam
merepresentasikan pohon di dalam komputer,
karena penelusuran 2 buah pohon yang berbeda
akan menghasilkan urutan simpul yang berbeda
pula.

m8_matdis / LKW / 2007 15


POHON M-ARY
Adalah pohon berakar yang setiap simpul
cabangnya mempunyai paling banyak n buah
anak.
Jika m= 2 pohon biner (binary)
Pohon penuh / pohon teratur tiap simpul
cabangnya mempunyai tepat m buah anak.
Pada pohon m-ary penuh dengan tinggi h, maka
jumlah daun = mh

m8_matdis / LKW / 2007 16


POHON BINER
Pohon biner adalah pohon yang setiap simpul
cabangnya mempunyai paling banyak 2 anak.
Simpul anak disebut anak kiri dan anak kanan.
Pohon yang semua simpulnya terletak di bagian
kiri saja atau di bagian kanan saja disebut pohon
condong.
Pohon biner penuh adalah pohon biner yang
setiap simpulnya tepat 2 anak, kiri dan kanan,
kecuali simpul daun.

m8_matdis / LKW / 2007 17


POHON BINER SEIMBANG
Adalah pohon biner yang perbedaan tinggi
antara level maksimal 1.
Terapan pohon biner :
Pohon ekspresi
Pohon keputusan
Kode prefix
Kode Huffman
Pohon pencarian.

m8_matdis / LKW / 2007 18


POHON EKSPRESI
Definisi : pohon biner dengan daun menyatakan operand
dan simpul dalam (termasuk akar) menyatakan operator.
Contoh : (a+b)*(c/(d+e))
*

+ /

+
a b c

d e

m8_matdis / LKW / 2007 19


POHON EKSPRESI
Ekspresi dapat ditulis dalam notasi :
Infix : operator berada di antara dua buah operand.
Prefix : operator mendahului dua buah operand
Postfix : kedua operand mendahului operator.
(a+b)*(c/(d+e)) infix
Prefix : * + a b / c + d e
Postfix : a b + c d e + / *

m8_matdis / LKW / 2007 20


MEMBANGUN POHON EKSPRESI INFIX
Ekspresi infix dibangun dari bawah ke atas dengan
memperhatikan prioritas pengerjaan operator.
(a+b)*(c/(d+e))
+

/ a b
/
+
c + +
c +
d e
d e a b
d e

m8_matdis / LKW / 2007 21


POHON PENCARIAN
Pohon pencarian = binary search tree.
Banyak diterapkan pada operasi pencarian, penyisipan
dan penghapusan elemen.
Pohon pencarian biner adalah pohon biner yang setiap
kuncinya diatur dengan urutan tertentu :
Jika R adalah akar, dan semua kunci yang tersimpan pada
setiap simpul tidak ada yang sama, maka :
Semua simpul di sub pohon kiri mempunyai kunci lebih kecil

dari kunci R.
Semua simpul di sub pohon kanan mempunyai kunci lebih

besar dari kunci R.

m8_matdis / LKW / 2007 22


CONTOH BST
Buatlah sebuah pohon pencarian dengan urutan kunci
sebagai berikut :
50, 32, 18, 40, 60, 52, 5, 25, 70
50

32 50

18 40 52 70

5 25

m8_matdis / LKW / 2007 23


TRAVERSAL POHON BINER
Misalkan R = akar, T1 = subpohon kiri, T2 = subpohon kanan.

Terdapat 3 skema traversal pohon biner :


Preorder R (proses simpul R), T1, T2
Inorder T1, R (proses simpul R), T2
Postorder T1, T2 , R (proses simpul R)

Proses yang dilakukan terhadap simpul yang dikunjungi : cetak


informasi, manipulasi nilai dsb.

Kunjungan preorder ekspresi prefix


inorder ekspresi infix
postorder ekspresi postfix

m8_matdis / LKW / 2007 24


CONTOH TRAVERSAL BST
Preorder :
A
A,B,D,E,H,C,F,G,I,J

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

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

m8_matdis / LKW / 2007 25


CONTOH TRAVERSAL PADA POHON 4-ARY
a

b c d

e l m
f g h i j k

n o p q

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

m8_matdis / LKW / 2007 26

Anda mungkin juga menyukai