10
POHON BINER 1. Definisi pohon biner dan pohon biner lengkap Misalkan T sebuah pohon dan v sebuah titik T. jika v berderajat tidak lebih dari dua dan titik T yang lain berderajat tidak lebih dari tiga, maka T disebut pohon biner dengan akar titik v. Pohon biner T berakar di titik v dikatakan pohon biner lengkap jika derajat titik v adalah dua atau nol dan setiap titik yang lain berderajat satu atau tiga atau setiap simpulnya mempunyai tepat dua buah anak, kiri dan kanan. Selanjutnya titik yang berderajat satu disebut titik terminal dan titik yang lain disebut titik internal. Sebagai contoh perhatikan gambar graph dibawah ini : v 1 u 1 w 1 v 5 v 2 u 2 w 2 w 3 v 6 v 3 v 4 u 3 u 4 w 5 w 6 w 6 w 7 w 8 w 9 T 1 T 2 T 3 Gambar 1. T 1 pohon biner tak lengkap dengan akar v 1 T 2 pohon biner tak lengkap dengan akar u 1 T 3 pohon biner lengkap dengan akar w 1

pohon-biner-presentasi

Embed Size (px)

Citation preview

Page 1: pohon-biner-presentasi

POHON BINER

1. Definisi pohon biner dan pohon biner lengkap

Misalkan T sebuah pohon dan v sebuah titik T. jika v berderajat tidak

lebih dari dua dan titik T yang lain berderajat tidak lebih dari tiga, maka T disebut

pohon biner dengan akar titik v.

Pohon biner T berakar di titik v dikatakan pohon biner lengkap jika derajat

titik v adalah dua atau nol dan setiap titik yang lain berderajat satu atau tiga atau

setiap simpulnya mempunyai tepat dua buah anak, kiri dan kanan. Selanjutnya titik

yang berderajat satu disebut titik terminal dan titik yang lain disebut titik internal.

Sebagai contoh perhatikan gambar graph dibawah ini :

v1 u1 w1

v5 v2 u2 w2 w3

v6 v3v4 u3 u4 w5 w6 w6 w7

w8 w9

T1 T2 T3

Gambar 1. T1 pohon biner tak lengkap dengan akar v1

T2 pohon biner tak lengkap dengan akar u1

T3 pohon biner lengkap dengan akar w1

T1 adalah pohon biner dengan akar v1. titik-titik v2 dan v5 adalah titik-titik internal,

sedangkan titik-titik v3, v4, dan v6 adalah titik terminal. Pohon T2 adalah pohon biner

dengan akar titik u1, u2 disebut titik internal, dan titik-titik u3 dan u4 disebut titik

terminal. Pohon T3 adalah pohon biner dengan akar w1. karena titik akar berderajat

dua dan setiap titik yang lain di T3 berderajat satu atau tiga, maka T3 adalah pohon

biner lengkap. Pohon biner T1 tidak lengkap karena titik internal v5 berderajat dua,

sedangkan pohon biner T2 tidak lengkap karena titik akarnya berderajat satu.

Sebagai akibat teorema jabat tangan dan definisi pohon biner lengkap, maka

banyaknya titik pohon biner lengkap selalu bilangan ganjil dan selisih antara

banyaknya titik terminal dan banyaknya titik internal adalah satu.

Page 2: pohon-biner-presentasi

Pohon biner seimbang adalah pohon biner yang perbedaan tinggi antara anak kiri

dan anak kanan maksimal 1. Pada pohon biner seimbang dengan tinggi h, semua daun

berada pada aras h atau h – 1 . untuk 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 anak kiri dan setengah dari

jumlah simpul di anak kanan.

T1 T2 T3

Pohon T1 dan T2 pada gambar diatas adalah pohon seimbang, sedangkan T3 bukan

pohon seimbang karena perbedaan anak kiri dan anak kanan tidak maksimal 1.

Teorema 1. Jika T pohon biner lengkap dengan n titik, maka

i. n ganjil

ii. banyaknya titik terminal

iii. banyaknya titik internal

Bukti :

Misalkan T pohon biner lengkap dengan titik akar v. berdasarkan definisi, maka v

satu-satunya titik di T yang berderajat genap. Sedangkan sebanyak n-1 titik yang

lainnya masing-masing berderajat ganjil. Karena banyaknya titik yang berderajat

ganjil dalam graph adalah genap, maka n-1 genap. Akibatnya, n ganjil. Misalkan

banyaknya titik-titik terminal di T adalah t. maka terdapat n-t titik internal dan

sebanyak n-t-1 titik diantaranya masing-masing berderajat 3. sehingga jumlah derajat

semua titik T adalah

……….. (1)

Karena T pohon dengan n titik, berdasarkan teorema 2.2

|E(T)| = n – 1

Page 3: pohon-biner-presentasi

Berdasarkan teorem jabat tangan

…………. (2)

Dari (1) dan (2) dieproleh,

2 + 3(n – t – 1) + t = 2 (n -1)

t = terbukti

selanjutnya banyak titik internal T adalah

n – t = n - = terbukti

jadi teorema 1. terbukti

Misalkan T sebuah pohon biner dengan titik akar v. titik x di T dikatakan

mempunyai tingkat (level) l jika panjang lintasan dari titik v ke titik x di T adalah l.

tingkat titik x, dilambangkan dengan l(x). tinggi pohon T, dilambangkan dengan h(T),

dedefinisikan sebagai berikut :

h(T) = maksimum {l(x) | x є V(T)}

contoh :

Perhatikan pohon biner T3 pada Gambar 1. diatas. Titik akar w1 terletak pada level 0,

titik-titik w2 dan w3 pada level 1, titik-titik w4, w5, w6, dan w7 pada level 2, titik-titik

w8 dan w9 terletak pada level 3. sehingga tinggi pohon biner T3 adalah 3. pohon biner

T1 dan T2 masing-masing tingginya 2.

Teorema 2. Jika T pohon biner dengan n titik dan tinggi h, maka

h ≥ [log 2 (n + 1) – 1]

2. Terapan Pohon Biner

2.1. Pohon Pencarian Biner

Salah satu cara untuk menyimpan data agar data tersebut mudah untuk

dicari (ditemukan) kembali adalah dengan menggunakan tehnik “pohon pencarian

biner”. Pohon pencarian biner adalah pohon biner T yang berakar di titik v

sedemikian sehingga setiap data berkorespondensi dengan titik T. data dilabel

menggunakan bilangan asli, sesuai urutan alphabetic. Data diatur atau diletakkan pada

Page 4: pohon-biner-presentasi

titik-titik pohon biner T, sedemikian sehingga jika suatu data dengan label tertentu

sudah diletakkan di titik u pada T, data yang berlabel lebih kecil harus diletakan

disebelah kiri titik u, dan data yang berlabel lebih besar diletakkan disebelah kanan

titik u.

Contoh :

Misalkan kita mempunyai data yang berupa kata-kata dalam kalimat berikut :

“ Old Programmers Never Die They Just Lose Their Memories”

Dalam kalimat ini terdapat 9 kata. Kata-kata : Die, Just, Lose, Memories, Never,

Old, Programmers, Their, They, secara berturut-turut dilabel dengan bilangan 1,

2, 3, 4, 5, 6, 7, 8, 9. jika kata “Old” berkorespondensi dengan akar pohon biner,

maka kata-kata dalam kalimat tersebut dapat ditempatkan dalam sebuah pohon

biner berikut

Gambar 2.

Old (6)

Never (5) Programmers (7)

Die (1)

Just (2)

Lose (3)

Memories (4)

They (9)

Their (8)

Page 5: pohon-biner-presentasi

Jika kata “Never” diletakkan pada akar pohon biner, maka didapat pohon pencarian

biner berikut :

Gambar 3.

Mislnya, dari diagram yang terakhir ini, kita akan mencari kata “Old”. Karena label

kata “Old” adalah 6, dan lebih besar dari kata “Never” sebagai akar yaitu 5, maka dari

akar kita akan mencari ke arah kanan, kata pertama yang kita jumpai adalah

“Programmer” berlabel 7. karena label kata “Old” lebih kecil dari label kata

“Programmer”, maka kita lanjutkan ke arah kiri dan akhirnya kita jumpai kata “Old”

di titik tersebut. Jadi kita hanya perlu dua step untuk mendapatkan kta “Old” dimana

pencarian dimulai dari akar pohon biner tersebut.

Dari contoh diatas, karena banyaknya item data (banyaknya kata dalam kalimat)

adalah 9, maka tinggi pohon biner yang bisa dibuat adalah

= h ≥ [log 2 (9 + 1) – 1]

= h ≥ [log 2 9]

= h ≥ 3

Karena pohon biner dengan cara yang kedua memiliki tinggi 3, maka cara yang

kedua diatas merupakan salah satu cara yang paling efisien.

2.2. Pohon Keputusan

Pohon keputusan digunakan untuk memodelkan persoalan yang terdiri dari

rangkaian keputusan yang mengarah ke solusi. Sebagai contoh, kita ingin

mengurutkan tiga buah bilangan N1, N2, N3. pohon keputusan untuk persoalan ini

ditunjukkan pada Gambar 4.

Memories (4)

Never (5)

Just (2)

Lose (3)Die (1)

Programmers (7)

Old (6) Their (8)

They (9)

Page 6: pohon-biner-presentasi

Simbol elips menandai tes, dan simbol kotak menandai keputusan. Dari elips dibuat

sisi ke kiri jika jawaban tes adalah “ya”, dan ke kanan jika jawaban tes adalah

“tidak”. Perhatikan bahwa titik terminal pohon, sedangkan setiap komparasi

berkorespondensi dengan titik internal pohon biner. Dalam contoh ini, terdapat 6

(=3!) keputusan yang mungkin.

Perhatikan bahwa, dalam setiap pohon keputusan T untuk mengurutkan n buah

bilangan berbeda, terdapat sebanyak n! titik terminal. Sehingga, berdasarkan Teorem.

1, banyaknya titik T adalah 2n! – 1. sehingga berdasarkan Teorema 2, tinggi pohon T

adalah h(T) dengan

h(T) ≥ [log2 (2n! – 1 + 1) – 1]

= [log2 (2n!) – 1]

= [log2 n!]Karena untuk bilangan bulat positif n berlaku

n! = 1,2,3,… , maka

log2 n! ≥

tetapi untuk n ≥ 4,

Teorema 3. :

N1<N2<N3 N1<N2<N3 N1< N3

N1< N2

N2< N3 N1< N3

N2< N3

N1<N3<N2 N3<N1<N2 N2<N3<N1 N3<N2<N1

Page 7: pohon-biner-presentasi

a. setiap pohon keputusan untuk mengurut n bilangan berbeda mempunyai tinggi

minimal log2 n!.

b. algoritma mengurutkan n bilangan berbeda dengan cara komparasi,

memerlukan paling sedikit ¼ n log2 n komparasi.

2.3 Pohon Ekspresi

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 dipresentasikan sebagai pohon

biner.

Contoh :

Pohon ekspresi aritmatika (a + b)*(c / (d + e))

*

+ /

a b c +

d e