materi-pohon-lengkap

37
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.

description

goood

Transcript of materi-pohon-lengkap

Page 1: materi-pohon-lengkap

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:

Pohon (G1) pohon (G2) bukan pohon (G3) bukan pohon (G4)

Page 2: materi-pohon-lengkap

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 G1 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.

Page 3: materi-pohon-lengkap

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.

Page 4: materi-pohon-lengkap

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

Page 5: materi-pohon-lengkap

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.

Page 6: materi-pohon-lengkap

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,

Page 7: materi-pohon-lengkap

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

Page 8: materi-pohon-lengkap

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:

Page 9: materi-pohon-lengkap

Langkah Sisi Bobot Pohon rentang

Pohon merentang minimum yang dihasilkan:

Page 10: materi-pohon-lengkap

Pohon merentang minimum yang dihasilkan:

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:

Page 11: materi-pohon-lengkap

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

Page 12: materi-pohon-lengkap

Pohon merentang minimum yang dihasilkan:

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

Page 13: materi-pohon-lengkap

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.

Page 14: materi-pohon-lengkap

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.

Page 15: materi-pohon-lengkap

Lintasan (path)

Lintasan dari simpul v1 ke simpul vk adalah runtutan simpul v1, v2, ..., vk

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

Page 16: materi-pohon-lengkap

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)

Page 17: materi-pohon-lengkap

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

Page 18: materi-pohon-lengkap

7

4

9 6

3

1

8

2

5

10 10

7 9

4

6

3

1

8

2

5

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.

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, …;

(a) (b)

Page 19: materi-pohon-lengkap

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.

Page 20: materi-pohon-lengkap

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"

Page 21: materi-pohon-lengkap

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.

C

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

Page 22: materi-pohon-lengkap

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:

S=m0+m1+m2+…+mh=mh+1−1m−1

Jika T bukan pohon n-ary penuh maka S ≤ mh+1−1

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

Page 23: materi-pohon-lengkap

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

c

d

c

d

b

Page 24: materi-pohon-lengkap

(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.

Page 25: materi-pohon-lengkap

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 :

a b c +

+ /

*

Page 26: materi-pohon-lengkap

Contoh:

Evaluasi nilai dari pohon ekspresi berikut!

Jawab:

s

d e

*

+ /

3 4 24 +

8 4

* *

*

+ /

3 4 24 +

+ /

3 4 24 12

7 214

Page 27: materi-pohon-lengkap

c > b> ac > a> b

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

h

b

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 b>a

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

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

Gambar: pohon keputusan untuk mengurutkan 3 buah elemen

Contoh:

8 4

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

ab=ef (gh palsu) ab≠cd

(ef palsu)

ab=ef (cd palsu)ab≠ef

(ab palsu)

Page 28: materi-pohon-lengkap

a=g a≠g a=e a≠e c=e c≠e a=e

a≠e

palsu palsu palsu palsu palsu palsu palsu palsu