Anda di halaman 1dari 28

A.

Pohon (Tree)

POHON (TREE)
Defenisi Pohon (Tree) adalah graf terhubung yang tidak mengandung
sirkuit. Karena merupakan graf terhubung maka pada pohon selalu terdapat
path atau jalur yang menghubungkan kedua simpul di dalam pohon.

Pohon (tree) merupakan salah satu bentuk khusus dari struktur suatu
graf. Misalkan A merupakan sebuah himpunan berhingga simpul (vertex)
pada suatu graf G yang terhubung. Untuk setiap pasangan simpul di A dapat
ditentukan suatu lintasan yang menghubungkan pasangan simpul tersebut.
Untuk itu perlu diingat kembali bahwa :

 Suatu Graf G disebut terhubung apabila untuk setiap dua simpul dari graf
G selalu terdapat jalur yang menghubungkan kedua simpul tersebut.
 Sirkuit atau cycle adalah suatu lintasan tertutup dengan derajat setiap
simpul dua.
Suatu graf terhubung yang setiap pasangan simpulnya hanya dapat
dihubungkan oleh suatu lintasan tertentu, maka graf tersebut dinamakan
pohon (tree). Dengan kata lain, pohon (tree) merupakan graf tak-berarah yang
terhubung dan tidak memiliki sirkuit.

Contoh:
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 (G1) pohon (G2) bukan pohon (G3) bukan pohon (G4)
Karena defenisi pohon mengacu dari teori graf, maka sebuah pohon dapat
mempunyai hanya sebuah simpul tanpa sebuah sisipun. Dengan kata lain, jika
G=(V,E) adalah pohon, maka V tidak boleh berupa himpunan kosong, namun
E boleh kosong. Pada sebagian literatur, pohon yang dimaksudkan oleh
Defenisi pohon di atas sering juga disebut pohon bebas (free tree) untuk
membedakannya dengan pohon berakar (rooted tree). Pohon berakar akan
dibahas lebih lanjut pada materi berikutnya.

Pohon juga seringkali didefinisikan sebagai graf tak-berarah dengan sifat


bahwa hanya terdapat sebuah lintasan unik antara setiap pasangan simpul.
Tinjau kembali graf G1 di atas. Setiap simpul di G 1 terhubung dengan lintasan
tunggal. Sebagai contoh, dari b ke f hanya ada satu lintasan, yaitu b, a, d, f.
demikian juga untuk setiap pasangan simpul manapun di G1

Teorema 1

Jika T pohon, maka untuk setiap dua titik u dan v yang berbeda di T terdapat
tepat satu lintasan (path) yang menghubungkan kedua titik tersebut.

Bukti

Misalkan ada lintasan (path) berbeda yang menghubungkan titik u dan titik v
di T, katakanlah e1 dan e2, dengan e1≠e2. Maka e1 dan e2 akan
menghubungkan titik u dan titik v, sehingga ada dua lintasan yang terhubung
pada kedua titik tersebut dan membentuk sikel. Berdasarkan definisi, T tidak
memiliki sikel. Dengan demikian, haruslah e1=e2. Hal ini bertentangan
dengan pemisalan bahwa e1≠e2. Jadi, terbukti bahwa setiap dua titik yang
berbeda di T memiliki tepat satu lintasan yang menghubungkan kedua titik
tersebut.
Teorema 2

Banyaknya titik dari sebuah pohon T sama dengan banyaknya sisi ditambah
satu atau ditulis:

Jika T pohon, maka |V (T)| = |E (T)| +1

Bukti

Kita buktikan teorema di atas dengan induksi pada |V(T)|. Jika pohon T
mempunyai satu titik, jelas banyak sisi T adalah nol. Jadi teorema benar
untuk pohon T dengan satu titik. Asumsikan bahwa pernyataan dalam
teorema benar untuk pohon dengan k titik, artinya jika pohon T mempunyai
paling banyak k titik, maka |V(T)| = |E(T)| + 1. Akan ditunjukkan bahwa jika
pohon T mempunyai k + 1 titik maka |V(T)| = |E(T)| + 1. Misalkan T adalah
pohon dengan k + 1 titik dan l adalah sebuah sisi T. Maka T – l memiliki
tepat dua komponen T1 dan T2 , dan masing-masing komponen adalah pohon
dengan titik kurang dari k + 1. Sehingga menurut asumsi, |V(Ti)| = |E(Ti)| +
1 ; i = 1,2.

Selanjutnya |E(T)| = |E(T1)| + |E(T2)| + 1, sehingga

|V(T)| = |V(T1)| + |V(T2)|

= |E(T1)| + 1 + |E(T2)| + 1

= (|E(T1)| + |E(T2)| + 1) + 1

= |E (T)| + 1

Dengan demikian teorema terbukti.

Teorema 3

a. Bila suatu sisi dihapus dari pohon (dan titiknya tetap), maka diperoleh
graph yang tidak terhubung, dan karenanya graph itu bukan pohon.
b. Bila sebuah sisi ditambahkan pada pohon (tanpa menambah titik baru),
diperoleh graph yang memiliki sikel, dan karena itu graph tersebut bukan
pohon.
Bukti

Jika sebuah sisi ditambahkan atau dihapuskan dari pohon, graph baru yang
diperoleh tidak lagi merupakan pohon, berdasarkan teorema 2. Karena
penghapusan sebuah sisi menjadikan graph itu tidak terhubung, dan
penambahan sisi membentuk sikel, maka teorema terbukti.

Hutan (forest) merupakan kumpulan pohon yang saling lepas. Dengan kata
lain, hutan merupakan graf tidak terhubung yang tidak mengandung sirkuit.
Setiap komponen di dalam graf terhubung tersebut adalah pohon. Dengan
kata lain kita dapat katakana (forest) adalah

- kumpulan pohon yang saling lepas, atau

- graf tidak terhubung yang tidak mengandung sirkuit. Setiap komponen


di dalam graf terhubung tersebut adalah pohon.

Pada gambar berikut adalah hutan yang terdiri dari 3 buah pohon
B. Sifat-sifat Pohon
Misalkan G = (V, E) 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 buah sisi.
5. G tidak mengandung sirkuit dan penambahan satu sisi pada graf akan
membuat hanya satu sirkuit.
6. G terhubung dan semua sisinya adalah jembatan. (jembatan adalah sisi
yang bila dihapus menyebabkan graf terpecah menjadi dua komponen)

C. Pewarnaan Pohon
Dalam pewarnaan pohon, dua buah warna sudah cukup mewarnai simpul-
simpul dalam pohon sedemikian sehingga tidak ada dua buah simpul
bertetangga mempunyai warna sama

Pewarnaan pada pohon T dilakukan dengan cara berikut:

1. Petakan warna pertama pada sembarang simpul.


2. Petakan warna kedua pada simpul-simpul yang bertetangga dengan simpul
pertama tadi.
3. Petakan warna pertama ke semua simpul yang bertetangga dengan simpul-
simpul yang telah diwarnai.
Sebagai contoh tinjau graf G1. Simpul-simpul pada graf G1 akan diberi warna
dengan warna kuning dan biru. Simpul a dipilih pertama kali untuk diberi
warna kuning. Kemudian simpul-simpul tetangga a, yaitu b dan d diberi warna
biru. Selanjutnya simpu-simpul yang bertetangga dengan d yaitu c, e dan f
diberi warna kuning. Jadi simpul yang berwarna kuning yaitu a, c, e dan f.
Sedangkan simpul yang berwarna biru yaitu b dan d.
D. Pohon Merentang (spanning tree)
Definisi Misalkan G adalah sebuah graph. Sebuah pohon di G yang memuat
semua titik G disebut pohon rentang (spanning tree) dari G.

Contoh

Misalkan kita mempunyai graph G seperti pada gambar 4.6 di bawah ini.
Terdapat 3 pohon rentang dari graph G, yaitu graph A, B, dan C. Tampak
jelas bahwa graph A, B, dan C masing-masing memuat semua simpul dari
graph G serta mengandung sisi-sisi dari G demikian sehingga tidak terbentuk
sikel.

Teorema 6

Graph G terhubung jika dan hanya jika G memuat pohon rentang.

Bukti

Jika graph G memuat pohon rentang, jelas G terhubung. Kita buktikan


konvers pernyataan ini dengan induksi pada |E(G)|. Jika G terhubung dan |
E(G)| = 0, maka G = K1, sehingga jelas G memuat pohon rentang.

Asumsikan: setiap graph terhubung dengan k + 1 sisi, maka G memuat pohon


rentang.

Pandang sebuah graph terhubung G dengan k + 1 sisi. Jika G tidak memuat


sikel, maka G sebuah pohon rentang. Jika G memuat sikel, dan misalkan e
adalah sebuah sisi dari sikel di G, maka graph G1 = G - e terhubung dengan k
sisi. Sehingga berdasarkan asumsi, G1 memuat pohon rentang. Sebut T,
pohon rentang di G1. Jelas, T adalah juga pohon rentang dari G. Teorema
terbukti.

Sebuah graph terhubung mungkin memuat lebih dari satu pohon rentang,
seperti terlihat pada Gambar. Graph G memuat pohon rentang T1, T2, dan
T3.

Jadi, pohon merentang:

 Pohon merentang dari graf terhubung adalah subgraf merentang yang


berupa pohon.

 Pohon merentang diperoleh dengan memutus sirkuit di dalam graf.

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).
Pohon Rentang Minimum

 Graf terhubung-berbobot mungkin mempunyai lebih dari 1 pohon merentang

 Pohon rentang yang berbobot minimum – dinamakan pohon merentang


minimum (minimum spanning tree)

Dalam kehidupan nyata, salah satu contoh aplikasi spanning tree adalah
menentukan rangkaian jalan dengan jarak total seminimum mungkin yang
menghubungkan semua kota sehingga setiap kota tetap terhubung satu sama
lain.

Dalam menentukan suatu minimum spanning tree dari suatu graf terhubung,
kita dapat menentukannya dengan mengunakan dua cara yaitu algoritma Prim
dan algoritma Kruskal.

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

Langkah 3: ulangi langkah 2

Contoh:

1 10 2
50
30 45 40 3
35
4
25
5
20 55
15

6
Langkah Sisi Bobot Pohon rentang

Pohon merentang minimum yang dihasilkan:


Pohon merentang minimum yang dihasilkan:

1 10 2

45 3
35
4
25
5
20 55
15

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

Algoritma Kruskal

( Langkah 0: sisi-sisi dari graf sudah diurut menaik berdasarkan bobotnya – dari
bobot kecil ke bobot besar)

Langkah 1: T masih kosong

Langkah 2: pilih sisi (u, v) dengan bobot minimum yang tidak membentuk sirkuit
di T. Tambahkan (u, v) ke dalam T.

Langkah 3: ulangi langkah 2

Contoh:

1 10 2
50
30 45 40 3
35
4
25
5
20 55
15

6
Sisi-sisi diurut 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 Hutan merentang

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

5 (1, 4) 30 ditolak

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

4 (2, 6) 25
1 2 3 5

4
Pohon merentang minimum yang dihasilkan:

1 10 2

45 3
35
4
25
5
20 55
15

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

E. Pohon Berakar
Pada kebanyakan aplikasi pohon, simpul tertentu diperlakukan sebagai akar
(root). Sekali sebuah simpul ditetapkan sebagai akar, maka simpul-simpul lainnya
dapat dicapai dari akar dengan memberi arah pada sisi-sisi pohon yang
mengikutinya.

Definisi:

Pohon yang sebuah simpulnya diperlakukan sebagai akar dan sisi-sisinya


diberi arah menjauh dari akar dinamakan pohon berakar (rooted tree).

Akar mempunyai derajat-masuk sama dengan nol dan simpul-simpul


lainnya derajat-masuk sama dengan satu. Simpul yang mempunyai derajat-keluar
sama dengan nol disebut daun atau simpul terminal. Simpul yang mempunyai
derajat-keluar tidak sama dengan nol disebut simpul dalam atau simpul cabang.
Setiap simpul di pohon dapat dicapai dari akar dengan sebuah lintasan tunggal
(unik). Gambar 9.9(a) adalah contoh pohon berakar dengan a adalah simpul
akarnya. Sebagai konvensi, arah sisi di dalam pohon tidak perlu digambar, karena
setiap simpul di dalam pohon berakar selalu dari atas ke bawah. Gambar 9.9(b)
menunjukkan hal ini

Gambar 9.9 (a) pohon berakar, (b) sebagai konvensi, arah panah pada sisi dapat
dibuang.

Sembarang pohon tak-berakar dapat diubah menjadi pohon berakar dengan


memilih sebuah simpul sebagai akar. Pemilihan simpul yang berbeda menjadi
akar menghasilkan pohon berakar yang berbeda pula. Gambar 9.10
memperlihatkan dua pohon akar yang berbeda dari pengubahan sebuah pohon tak-
berakar. Pohon berakar pertama memilih b sebagai akar sedangkan pohon akar
kedua memilih e sebagai akar.

Gambar 9.10 (kiri) Pohon dan (kanan) dua buah pohon berakar yang dihasilkan
dari pemilihan dua simpul berbeda sebagai akar.
F. Terminologi Pada Pohon Berakar
Keseluruhan sisa bab ini akan menggunakan istilah “pohon berakar” untuk
membedakannya dengan “pohon” tidak berakar (free tree).

Sebagaimana pada graf, kita akan sering menggunakan terminologi yang


berhubungan dengan pohon. Di bawah ini didaftarkan beberapa terminologi yang
penting pada pohon berakar. Untuk ilustrasi, pohon pada Gambar 9.12 dipakai
sebagai untuk menjelaskan terminologi yang dimaksudkan. Simpul-simpul pada
pohon diberi label untuk mengacu simpul mana yang dimaksudkan. Kebanyakan
terminologi pohon yang ditulis di bawah ini diadopsi dari terminologi botani dan
silsilah keluarga.

Anak (child atau children) dan Orangtua (parent)

Misalkan Xx adalah sebuah simpul di dalam pohon berakar. Simpul y


dikatakan anak simpul x jika ada sisi dari simpul x ke y. Dalam hal demikian, x
disebut orangtua (parent) y. Pada Gambar 9.11, b, c, dan d adalah anak-anak
simpul a, dan a adalah orang tua dari anak-anak itu. e dan f adalah anak-anak
simpul b, dan b adalah orangtua dari e dan f . g adalah anak simpul d, dan d
adalah orangtua dari g. Simpul h, i, j, l, dan m tidak mempunyai anak

Gambar 9.11 Pohon berakar yang digunakan untuk menjelaskan terminologi


pohon.
Lintasan (path)

Lintasan dari simpul v1 ke simpul v k adalah runtutan simpul v1 , v 2, ..., v k


sedemikian sehingga vi adalah orang tua dari vi +1 untuk 1 ≤i<k. Dari pohon pada
Gambar 9.11, lintasan dari a ke j adalah a, b, e, j. Panjang lintasan adalah
jumlah sisi yang dilalui dalam suatu lintasan, yaitu k −1. Panjang lintasan dari a
ke j adalah 3.

Keturunan (descendant) dan Leluhur (ancestor)

Jika terdapat lintasan dari simpul x ke simpul y di dalam pohon, maka x


adalah leluhur dari simpul y, dan y adalah keturunan dari simpul x. Pada gambar
9.11, b adalah leluhur simpul h, dan dengan demikian h adalah keturunan dari b.

Saudara Kandung (sibling)

Sampul yang berorangtua sama adalah saudara kandung e. Tetapi, g bukan


saudara kandung e, karena orangtua mereka berbeda.

Upa Pohon (subtree)

Misalkan x adalah simpul di dalam pohon T . Yang dimaksud dengan


upapohon dengan x sebagai akarnya ialah upagraf T ' =( V ' , E' ) sedemikian
sehingga V ' mengandung x dan semua keturunannya dan E' mengandung sisi-sisi

dalam semua lintasan yang berasal dari x. Sebagai contoh, T ' =( V ' , E' ) adalah

upapohon dari pohon pada gambar 9.12 dengan V ' = {b ,e , f , h ,i , j } dan

E' = { ( b , e ) , ( b , f ) , ( e , h ) , ( e ,i ) , ( e , j ) } dan b adalah simpl akarnya. Terdapat banyak


upapohon T . Dengan pengertian di atas, jika x adalah simpul, maka akar tiap-tiap
upapohon dari x disebut anak, dan x adalah orangtua setiap akar pohon.

Gambar 9.12 Upapohon T ' =( V ' , E' ) dengan b sebagai akarnya.

Derajat (degree)

Ada perbedaan definisi derajat pada pohon berakar dengan definisi derajat
pada graf (termasuk pohon tidak berakar). Derajat sebuah simpul pada pohon
berakar adalah jumlah upa pohon (atau jumlah anak) pada simpul tersebut. Pada
gambar 9.11, derajat a adalah 3, derajat b adalah 2, derajat d adalah 1 dan derajat c
adalah 0. Jadi, derajat yang dimaksudkan di sini adalah derajat-keluar.

Derajat maksimum dari sebuah simpul merupakan derajat pohon itu sendiri.
Pohon pada Gambar 9.11 berderajat 3, karena derajat tertinggi dari seluruh
simpulnya adalah 3.

Daun (leaf)

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

Simpul Dalam (internal nodes)


Simpul yang mempunyai anak disebut simpul dalam. Simpul d, e, g, dan k pada
gambar 9.11 adalah simpul dalam.

Aras (level) atau Tingkat

Akar mempunyai aras = 0, sedangkan aras simpul lainnya = 1 + panjang lintasan


dari akar ke simpul tersebut. Beberapa literature memulai nomor aras dari 0,
literature lainnya dari 1. Sebagai konvensi, kita memulai penomoran aras dari 0.

Lihat gambar 9.13

Gambar 9.13 Pendefinisian aras tiap simpul

Tinggi ( height) atau kedalaman (depth)

Aras maksimum dari suatu pohon disebut tinggi atau kedalaman pohon
tersebut. Atau, dapat juga dikatakan, tinggi pohon adalah panjangmaksimum
lintasan dari akar ke daun. Pohon pada gambar 9.13 mempunyai tinggi 4.

G. Pohon Berakar Terurut


Definisi 9.3. pohon berakar yang urutan anak-anak panahnya penting
disebut pohon terurut (ordered tree)

Pada pohon terurut, urutan anak-anak dari simpul dalaam dispesifikasi dari
kiri ke kanan. Sebagi contoh, dua buah pohon pada gambar 9.14 adalah pohon
yang berakar yang sama, tetapi sebagai pohon terurut, keduanya berbeda.
Misalnya urutan anak-anak dari simpul 1 pada gambar 9.14(a) adalah 2, 3, 4,
sedangkan urutan anak-anak dari simpul 1 pada gambar 9.14(b) adalah 4, 3, 2.

Perbedaan ini menjadi penting bila kita mempresentasikan pohon dalam


computer, karena penelusuran dua buah pohon terurut yang bereda akan
menghasilkan urutan simpul yang berbeda pula. Jika pohon berakar terurut pada
simpul x yang mempunyai p buah upa pohon, kita akan mengacunya sebagai
upapohon pertama, upa pohon kedua, …, upa pohon ke-p.

1 1
2
4 2
3 4
5 3
7 9 7
6 8 8 9 6 5
10
(a) 10
(b)

Gambar 9.14 Dua buah pohon terurut yang berbeda.

Sistem yang universal dalam pengalamatan simpul-simpul pada pohon


terurut adalah dengan emberi omor setiap simpulnyaseperti penomoran bab
(beserta upa babnya)di dalam sebuah buku. Simpul akar diberi nomor 0, simpul
lain yang segera mengikuti akar diberi nomor 1, 2, 3, dan seterusnya. Anak-anak
simpul 1 diberi nomor 1.1, 1.2, …; anak-anak simpul 2 diberi nomor 2.1, 2.2, …;
demikian seterusnya (Gambar 9.15). semua penomoran dimulai dengaan aturan
dari kiri ke kanan.

Gambar 9.15 Sistem pengalamatan universal pada pohon terurut.

h. Pohon n-ary (ener)


Definisi :
Pohon n-ary adalah pohon berakar yang setiap simpul cabangnya
mempunyai paling banyak buah anak.
Jika n=2, pohon tersebut disebut pohon biner. Pohon n-ary dikatakan pohon
penuh jika setiap simpul cabangnya mempunyai tepat n buah anak.
Pohon n-ary banyak digunakan di berbagai bidang ilmu maupun dalam
kehidupan sehari-hari. Dalam terapannya, pohon n-ary digunakan sebagai model
yang merepresentasikan suatu struktur. Dua contoh penggunaaan pohon n-ary
dikemukakan di bawah ini, yaitu penurunan kalimat (dalam bidang bahasa) dan
direktori arsip di dalam komputer. Contoh penggunaan pohon n-ary lainnya
adalah struktur organisasi, silsilah keluarga (dalam bidang genetika), struktur bab
atau daftar isi di dalam buku, bagan pertandingan antara beberapa tim sepak bola
dan sebagainya.
Contoh :
Pohon n-ary digunakan untuk merepresentasikan struktur kalimat dalam
bahasa alam (natural language) maupun dalam bahasa pemrograman. Pohon
penurunan kalimat disebut pohon parsing. Gambar 9.16 memperlihatkan cara
penurunan kalimat dalam bahasa inggris yang berbunyi
A tall boy wears a red hat
Akar mneyatakan kalimat (sentence), daun menyatakan setiap kata-kata
yang menyusun kalimat, sedangkan simpul menyatakan cara pembagian kalimat
menjadi unsur-unsur pembentuknya. Sebuah kalimat (sentence) dalam bahasa
inggris disusun oleh subject, verb, dan object. Subject dapat terdiri dari sebuah
article dan noun phrase. Seb noun phrase dapat terdiri dari adjective dan noun.
Begitu juga object dapat terdiri dari sebuah article dan noun phrase.
(sentence)

(subject) (verb) (object)

(article) (noun phrase) (wears) (article) (noun phrase)

A (adjective) (noun) a (adjective) (noun)

Tall Boy Red Hat

Gambar 9.16 Pohon parsing dari kalimat “A tall boy wears a red hat"
Contoh 9.6
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. Suatudirektori dapat mengandung beberapa
direktori. Struktur direktori dimodelkan dalam pohon n-ary. Di sini akar
menyatakan sistem arsip keseluruhan, simpul dalam menyatakan upa direktori dan
daun menyatakan arsip atau direktori kosong. Gambar 9.17 memperlihatkan
struktur direktori dalam platform sistem operasi windows.

My document Program files Windows

My My Proposal Borland Norton Webshot Winzip Cookies


Picture Music
Gambar 9.17 Struktur direktori arsip dalam sistem operasi windows

Jumlah Daun Pada Pohon N-Ary Penuh


Pohon n-ary penuh adalah pohon yang setiap simpulnya tepat mempunyai n
buah anak. Pada pohon n –ary penuh dengan tingkat h, jumlah daun adalah nh.
Perhatikan bahwa jika T bukan pohon n-ary penuh maka jumlah daun ≤ nh.
Gambar 9.18 adalah pohon 3-ary penuh dengan jumlah daun = 32= 9

Gambar 9.18 Pohon 3-ary penuh dengan jumlah daun = 32=9


Jumlah Seluruh Simpul Pada Pohon N-Ary Penuh
Pada pohon n-ary penuh dengan tinggi h,
aras 0 jumlah simpul = m0=1
aras 1 jumlah simpul = m1
aras 2 jumlah simpul = m2
...........

...........

aras h jumlah simpul = mh


maka jumlah seluruh simpul adalah:
0 1 2 h m h+1 −1
S=m + m +m +…+m =
m−1
mh+1−1
Jika T bukan pohon n-ary penuh maka S ≤
m−1
Hubungan Jumlah Daun dan Simpul Dalam pada Pohon N-Ary Penuh
Misalkan pada suatu turnamen tenis diikuti oleh t orang tim dengan sistem
pertandingan gugur (pemain yang kalah langsung tersingkir,pemain yang menang
melawan pemenang pertandingan lainnya). Berapa banyak pertnadingan yang
terjadi?
Persoalan di atas dimodelkan dalam bentuk pohon. Daun menyatakan
pemain, simpul dalam (termasuk akar) menyatakan para pemenang pertandingan
(jumlah seluruh simpul dalam berarti juga total banyak pertandingan yang
dilakukan sampai mencapai juara)
Misalkan i adalah banyaknya simpul dalam dan t adalah banyaknya simpul
daun di dalam pohon. Karena pertandingan adalah sistem gugur yang
menggugurkan seorang pemain dan diakhir pertandingan yang dimainkan semua
peserta telah gugur kecuali sang juara, maka banyaknya pertandingan yang terjadi
satu lebih sedikit daripada jumlah pemain. Jadi diperoleh hubungan
i=t −1
Gambar berikut adalah sebuah pohon yang memodelkan sistem gugur untuk
t=8 orang pemain. Banyak pertandingan yang terjadi adalah i=8−1=7 kali
juara
pemenang
putaran 2
Pemenang
putaran 1

1 2 3 4 5 6 7 8 para
pemain
i. Pohon Biner

Pohon n-ary yang paling penting adalah pohon biner. Pohon biner adalah
pohon n-ary jika n=2. Pohon biner adalah pohon yang setiap simpul cabangnya
mempunyai paling banyak 2 buah anak. Alih-alih menyebutnya anak pertama dan
anak kedua dari suatu simpul dalam, kita menyebutnya anak kiri dan anak kanan.
Pohon yang akarnya adalah anak kiri disebut upapohon kiri, sedangkan pohon
yang akarnya adalah anak kanan disebut upapohon kanan. Karena adanya
perbedaan anak/upapohon kiri dan anak/upapohon kanan maka pohon biner
adalah pohon terurut. Pohon yang semua simpulnya di bagian kiri saja atau di
bagian kanan saja disebut pohon condong. Pohon yang condong ke kiri disebut
pohon condong kiri dan pohon yang condong ke kanan dosebut pohon condong
kanan.

Perhatikan gambar berikut!


a a
b
b

c c

d d
(pohon condong kiri) (pohon condong kanan)

Pohon biner penuh adalah pohon biner yang setiap simpulnya mempunyai tepat
dua buah anak, kiri dan kanan, kecuali simpul pada aras bawah

Perhatikan gambar berikut!

Gambar: pohon biner penuh


Pohon biner penuh dengan tinggi h memiliki jumlah daun sebanyak 2h.
Sedangkan jumlah seluruh simpulnya adalah S=20+ 21+22 +…+ 2h=2h+ 1−1
Pohon biner seimbang adalah pohon biner dengan perbedaan tinggi antara
upapohon kiri dengan upapohon kanan maksimal 1. Pada pohon biner seimbang
dengan tinggi h, semua daun berada pada aras h atau h−1. Untung membuat
pohon seimbang, tinggi pohon secara keseluruhan harus dibuat seminimal
mungkin. Untuk memperoleh tinggi minimum, setiap aras harus mengandung
jumlah simpul sebanyak mungkin. Hal ini dapat dibuat dengan menyebarkan
setengah dari jumlah simpul di upapohon kiri dan setengah dari jumlah simpul di
upapohon kanan.
Pohon T1 dan Pohon T2 pada gambar berikut adalah pohon seimbang,
sedangkan pohon T3 bukan pohon seimbang karena perbedaan upapohon kiri dan
upapohon kanan tidak maksimal satu.
Pohon ekspresi adalah pohon biner dengan daun menyatakan operand dan
simpul dalam (termasuk akar) menyatakan operator. Perhatikan bahwa tanda
kurung tidak lagi diperlukan bila suatu ekspresi aritmetik dipresentasukan sebagai
pohon biner. Sebagai contoh, ekspresi dari (a+b)*(c/(d+e)) dinyatakan dalam
pohon biner pada gambar berikut. Daun menyatakan operand a,b,c,d dan e,
sedangkan simpul dalam menyatakan operator +,* dan /.
*

+ /

a b c +

d e

Gambar : pohon ekspresi dari (a+b)*(c/(d+e))

Contoh :
Gambarlah pembentukan pohon ekspresi dari ekspresi (a-b)*(c/(d-e))!
Jawab :
*

+ /

b
a c +
d e

Contoh:
Evaluasi nilai dari pohon ekspresi berikut!

+ /

3 4 24 +

8 4

Jawab:

s
* *

*
+ / + /
14
7 2

3 4 24 + 4
3 24 12
8 4
Jadi nilai evaluasi dari pohon ekspresi tersebut adalah 14.

Pohon keputusan adalah bentuk pohon yang digunakan untuk


memodelkan persoalan yang terdiri dari serangkaian keputusan yang mengarah ke
solusi. Tiap simpul dalam menyatakan keputusan, sedangkan daun menyatakan
solusi. Sebagai contoh, kita ingin mengurutkan tiga buah bilangan a, b, dan c.
pohon keputusan untuk persoalan ini ditunjukkan pada gambar berikut.

a:b

a:c b:c

a>b b>a

b:c a:c c >c>b


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

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

Contoh:

ab:cd
ab=cd (abcd asli) ab≠cd (efgh asli)

ab:ef ab:ef
ab≠ef
ab=ef (gh palsu) ab≠cd ab=ef (cd palsu)
(ab palsu)
(ef palsu)
a:g c:e a:e
a:e

h g f e dd c b a
a=g a≠g a=e a≠e c=e c≠e a=e
a≠e

palsu palsu palsu palsu palsu palsu palsu palsu

Anda mungkin juga menyukai