Matematika
Diskrit
Pohon
14
Ilmu Komputer Teknik Informatika MK Harni Kusniyati, ST.,MKom.
Abstract Kompetensi
Pohon adalah graf tak-berarah Setelah membaca modul ini, mahasiswa
terhubung yang tidak mengandung diharapkan mampu memahami tentang
sirkuit. Pohon merentang dari graf pohon, hutan, mampu mencari nilai
terhubung adalah upagraf merentang pohon merentang minimum dengan
menggunakan algoritma prim dan
yang berupa pohon. Pohon merentang algoritma kruskal
diperoleh dengan memutus sirkuit di
dalam graf.
Isi
POHON
a b a b a b a b
c d c d c d c d
e f e f e f e f
Contoh:
14.2 Hutan
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.
5. G tidak mengandung sirkuit dan penambahan satu sisi pada graf akan membuat
hanya satu sirkuit.
6. G terhubung dan semua sisinya adalah jembatan.
G T1 T2 T3 T4
Setiap graf terhubung mempunyai paling sedikit satu buah pohon merentang.
Graf tak-terhubung dengan k komponen mempunyai k buah hutan merentang yang
disebut hutan merentang (spanning forest).
a a
45
55 d d
25 30 25 30
c h c h
b b
40 20 40 20
50
5 15 5 15
g g
e e
35 10 10
f f
1. Algoritma Prim
Langkah 1: Ambil sisi dari graf G yang berbobot minimum, masukkan ke dalam T.
Langkah 2: Pilih sisi (u, v) yang mempunyai bobot minimum dan bersisian dengan simpul di
T, tetapi (u, v) tidak membentuk sirkuit di T. Masukkan (u, v) ke dalam T.
Algoritma
Cari sisi (p,q) dari E yang berbobot terkecil
T {(p,q)}
for i1 to n-2 do
Pilih sisi (u,v) dari E yang bobotnya terkecil namun
bersisian dengan simpul di T
T T {(u,v)}
endfor
Contoh:
1 10 2
50
30 45 40 3
35
4
25
5
20 55
15
1 10
1 2
10 2
2 (2, 6) 25
45 3
25 35
4
25
5
6 20 55
1 10
15
3 (3, 6) 15
6 3
25
15
1 10 2
4 (4, 6) 20
3
4
25
20
15
1 10 2
5 (3, 5) 35
45 3
35
4
25
5
20 55
15
Bobot = 10 + 25 + 15 + 20 + 35 = 105
Pohon merentang yang dihasilkan tidak selalu unik meskipun bobotnya tetap sama.
Ini terjadi jika ada beberapa sisi yang akan dipilih berbobot sama.
Contoh:
a 3 b 4 c 2 d
4 2 3 6
5 f 4 g 4
e h
5 3 5 4
i 4 j 4 k 2 l
a 3 b c 2 d a 3 b c 2 d a 3 b 4 c 2 d
4 2 3 4 2 3 4 2 3
f g h f h f g h
e e e
4 4 4
5 3 4 5 3 4 5 3 4
i j 4 k 2 l i j 4 k 2 l i j k 2 l
2. Algoritma Kruskal
( Langkah 0: sisi-sisi dari graf sudah diurut menaik berdasarkan bobotnya dari bobot kecil
ke bobot besar)
Langkah 2: pilih sisi (u, v) dengan bobot minimum yang tidak membentuk sirkuit di T.
Tambahkan (u, v) ke dalam T.
Algoritma
Contoh:
1 10 2
50
30 45 40 3
35
4
25
5
20 55
15
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
0 1 2 3 4 5 6
1 (1, 2) 10
1 2
2 (3, 6) 15
1 2 3 4 5
3 (4, 6) 20
1 2 3 5
4
6
4 (2, 6) 25
1 2 3 5
5 (1, 4) 30 ditolak
6 (3, 5) 35
1 2
3
5
4
6
1 10 2
45 3
35
4
25
5
20 55
15
a a
b b
d d
c c
e e
f g f g
h i j h i j
(a) Pohon berakar (b) sebagai perjanjian, tanda panah pada sisi dapat dibuang
b sebagai akar e sebagai akar
b e
a e f
b d
g d d f
a c
c
h e b
g h g h
f a c
Pohon dan dua buah pohon berakar yang dihasilkan dari pemilihan dua simpul berbeda
sebagai akar
b
c d
e
f g
k
h i j
l m
2. Lintasan (path)
4. Upapohon (subtree)
b
c d
e
f g
k
h i j
l m
Derajat sebuah simpul adalah jumlah upapohon (atau jumlah anak) pada simpul tersebut.
b
c d
e
f g
k
h i j
l m
Daun (leaf)
Simpul yang berderajat nol (atau tidak mempunyai anak) disebut daun. Simpul h, i, j, f, c, l,
dan m adalah daun.
Simpul yang mempunyai anak disebut simpul dalam. Simpul b, d, e, g, dan k adalah simpul
dalam.
Aras
a
0
b 1
c d
e 2
f g
k 3
h i j
4
l m
Aras maksimum dari suatu pohon disebut tinggi atau kedalaman pohon tersebut. Pohon di
atas mempunyai tinggi 4.
Pohon berakar yang urutan anak-anaknya penting disebut pohon terurut (ordered tree).
1 1
2 4 3 4 2
3
5 6 7 8 9 8 9 6 5 7
10 10
(a) (b)
Pohon m-ary
Pohon berakar yang setiap simpul cabangnya mempunyai paling banyak m buah anak
disebut pohon m-ary.
Pohon m-ary dikatakan teratur atau penuh (full) jika setiap simpul cabangnya mempunyai
tepat m anak.
Pohon Sintaks
Untuk menjelaskan mengenai bahasa secara teoritis dan formal, kita lihat terlebih dahulu
sebuah kalimat sehari-hari dalam bahasa Indonesia, yaitu :
Gambar penguraian kalimat di atas membentuk struktur pohon, yang disebut pohon sintaks
dari kalimat. Disini kalimat dibagi-bagi berdasar jenis dan fungsi kata. Dari pelajaran bahasa
Indonesia kita tahu bahwa kalimat di atas telah benar susunannya, atau telah benar tata
bahasanya.
Contoh 1 : Pohon sintaks dari kalimat SI KUCING KECIL MENENDANG BOLA BESAR. :
Subyek Predikat
Obyek
Kata Sandang Kata Benda Kata Keadaan Kata Kerja Kata Benda Kata Keadaan
Gambar Pohon parsing dari kalimat A tall boy wears a red hat
Soal-Soal Latihan
Jelaskan kenapa satu kalimat seperti di atas dapat dibuat dua macam bentuk
pohon sintaks ?
3. Gambarkan 1 contoh graf (bila ada), dengan spesifikasi seperti di bawah ini:
a). Pohon, terdiri dari 9 titik dan 9 garis.
4. Gambarkan 1 contoh graf (bila ada), dengan spesifikasi seperti di bawah ini:
Bila tidak ada, jelaskan alasan Anda !
c). Graf yang bukan pohon, terdiri dari 6 titik dan 5 garis.
5. Berapa tinggi pohon biner yang memiliki : a). 25 buah daun b). 60 buah daun.
6. Dari Bacaan lain tentang Graf02: Apa perbedaan dan persamaan graf plannar dan
graf bidang ?
7. Dari Bacaan lain tentang Graf02: Sebutkan kriteria bahwa dua graf isomorfis !
8. Dari Bacaan lain tentang Graf02: ada 2 graf pohon yang memenuhi kriteria dua
graf isomorfis, tetapi kedua graf pohon itu tidak isomorfis. Jelaskan, kenapa
demikian ! Berikan gambar ke 2 graf pohon tersebut !