510 likes | 770 Views
8. Pohon m- ary Pohon berakar yang setiap simpul cabangnya mempunyai paling banyak n buah anak disebut pohon m- ary . Jika m = 2 maka pohon disebut pohon biner ( binary tree ). Gambar 10 adalah gambar pohon 3- ary .
E N D
8. Pohon m-ary Pohonberakar yang setiapsimpulcabangnyamempunyai paling banyaknbuahanakdisebutpohonm-ary. Jikam = 2 makapohondisebutpohonbiner (binary tree). Gambar 10 adalahgambarpohon 3-ary. Pohon m-arydikatakanpohonpenuh (full) ataupohonteraturjikasetiapsimpulcabangnyamempunyaitepat mbuahanak. Pohon m-arybanyakdigunakandiberbagaibidangilmumaupundlamkehidupansehari-hari. Dalamterapannya, pohon m-arydigunakansebagai model yang merepresentasikansuatustruktur.
Berikutdiberikanduacontohpenerapanpohon m-ary, yaitupenurunankalimat (dalambidangbahasa) dandirektoriarsipdidalamkomputer. Contohpenggunaanpohon m-arylainnyaadalahstrukturorganisasi, silsilahkeluarga (dalambidanggenetika), strukturbabataudaftarisididalambuku, baganpertandinganantarabeberapatimsepakboladll. Contoh 4. Buatpohonpenurunan (parsing tree) yang menurunkankalimat: A tall boy wears a red hat Penyelesaian:
Akarmenyatakankalimat (sentence), daun menyatakansetiapkata-kata yang menyusunkalimat, sedangkansimpuldalammenyatakancarapembagian kalimatmenjadiunsur-unsurpembentuknya. SebuahkalimatdlambahasaInggrisdisusunoleh subject, verb, danobject. Subjectdapatterdiridarisebuaharticledannoun phrase. Noun phrasedapatterdiriatasadjectivedannoun. Objectdapatterdiridarisebuaharticledannoun phrase.
<sentence> <verb> <object> <subject> noun phrase wears article noun phrase article A <adjective> noun noun a <adjective> – boy tall red hat
Contoh 5. Sistempengarsipankomputer. C:\ My document Windows Program Files Webshot Norton Utility Winzip My picture Borland My picture Proposal.doc Windows Anak.bmp Gedung.jpg
Jumlahdaunpohonm-arypenuh Pohonm-arypenuhadalahpohon yang setiapsimpulnyatepatmempunyaimanak. Pohonm-arypenuhdengantinggihmempunyaijumlahdaunmh. Jikasebuahpohonbukanpohon m-arypenuh, makajumlahdaun mh Gambar 11 Pohon 3-ary penuh denganjumlah daun = 32 = 9
Jumlahseluruhsimpulpadapohonm-arypenuh Padapohonm-arypenuhdengantinggih, aras 0 jumlahsimpul = m0 = 1 aras 1 jumlahsimpul = m1 aras 2 jumlahsimpul = m2 ….. arash jumlahsimpul = mh Gambar 11 Pohon 3-ary penuhdengan jumlahdaun = 32 = 9
Makajumlahseluruhsimpulpadapohonm-aryadalah: Jika T bukanpohonm-arypenuh, maka:
9. PohonBiner Pohonbinermerupakanpohonm-aryjikam = 2. Pohonbineradalahpohon yang setiapsimpulcabangnyamempunyai paling banyakduabuahanak, yaituanakkiri (left child) dananakkanan (right child). Pohon yang akarnyamerupakananakkiridisebutupapohonkiri (left subtree). Sedangkanpohon yang akarnyaadalahanakkanandisebutupapohonkanan (right subtree). Karenaadanyaperbedaananak/upaohonkiridan anak/upapohonkanan, makapohonbineradalahpohon terurut.
a a c c b b d d Gambar 12 Duapohonbiner yang berbeda.
Pohon yang semuasimpulnyaterletakdibagiankirisajaataudibagiankanansajadisebutpohoncondong (skewed tree). Pohon yang condongkekiridisebutpohoncondong-kiri (skew left). Pohon yang condongkekanandisebutpohoncondong- kanan (skew left). a a Gambar 12 Pohoncondongkiri Pohoncondongkanan b b c c (b) (a) d d
Pohonbinerpenuh (full binary tree) Adalahpohonbiner yang setiapsimpulnyamempunyai tepatduaanak, kiridankanan, kecualisimpulpada arasbawah. Pohonbinerpenuhdengantinggi h memilikijumlahdaunsebanyak 2h, sedangkanjumlah simpulnyaadalah : Gambar 13 Pohonbinerpenuh
Pohonbinerseimbang (balanced binary tree) Pohonbinerseimbangadalahpohonbiner yang setiapdaunnyamempunyaiaras (level) hatauh – 1. T3 T2 T1 Gambar 14
T1adalahpohonbinerseimbang, karenaseluruhdaunnyaberadapada level 3 dan 4. T2adalahpohonbinertakseimbang, karenadaun-daunnyaberadapada level 2, 3, dan 4. Sedangka T3seimbang, karenaseluruhdaunnyaberadapada level 3. T3 T2 T1 Gambar 14
10. PohonEkspresi Pohonekspresiadalahpohonbinerdengandaunmenyatakanoperanddansimpuldalamtermasukakarmenyatakanoperator. Tandakurungtidaklagidiperlukanbilasuatuekspresiaritmatikdirepresentasikansebagaipohonbiner. Sebagaicontoh, ekspresi (a+b)*(c/(d+e)) dinyatakan dalampohonbinerpadaGambar 15. Daunmenyatakanoperand a, b, c, d, dane, sedangkansimpuldalam, termasukakar, menyatakanoperator +, *, dan /.
* / + + c a b e d Gambar 15 Pohonekspresidari (a+b)*(c/(d+e))
Pohonekspresidigunakanolehcompilerbahasatingkat tinggiuntukmengevaluasiekspresi yang ditulisdalam notasiinfix, prefix (polish notation) , danpostfix (inverse polish notation). Dalamnotasiinfix, operator beradadiantaradua buahoperand. Padanotasi prefix, operator mendahuluiduabuah operand-nya. Padanotasipostfix, keduaoperand mendahului operatornya.
Contoh 6 Notasidalambentukinfix : (a + b)*(c/(d + e)) Notasidalambentukprefix : * + a b / c + d e Notasidalambentukpostfix : a b + c d e + / * Contoh 7 Gambarkanpohonekspresidari ekspresi (a + b)*(c/(d + e)) Penyelesaian: Pohonekspresidarinotasiprefixdibangundaribawah keatasdenganmemperhatikanurutanprioritas pengerjaan operator. Operator / dan * mempunyaiprioritaslebihtinggidari Operator + dan –.
Mula-muladibentukupapohonuntuk (a + b), kemudian upapohonuntuk (d + e), laluc(/(d + e), danterakhirgabungkanupapohonuntuk (a + b) denganupapohonc(/(d + e). * / / + + + + + a a c c b b e d e e d d Gambar 16 Pembentukanpohonekspresi dari(a + b)*(c/(d + e))
PembentukanPohonEkspresidariNotasiPostfix (Dua operand mendahuluisatuoperator, mulaidari yang terkiri) Contoh 7 Bangunpohonekspresidarinotasipostfix a b + c d e + / * Penyelesaian
PembentukanPohonEkspresidariNotasiPostfix (Dua operand mendahuluisatuoperator, mulaidari yang terkiri) Contoh 7 Bangunpohonekspresidarinotasipostfix a b + c d e + / * Penyelesaian
PembentukanPohonEkspresidariNotasiPostfix (Dua operand mendahuluisatuoperator, mulaidari yang terkiri) Contoh 7 Bangunpohonekspresidarinotasipostfix a b + c d e + / * Penyelesaian + a b
PembentukanPohonEkspresidariNotasiPostfix (Dua operand mendahuluisatuoperator, mulaidari yang terkiri) Contoh 7 Bangunpohonekspresidarinotasipostfix a b + c d e + / * Penyelesaian + a b
+ a b
+ a b + d e
+ a b + + a d b e
+ a b + + a d b e
+ a b + + a d b e / c + e d
+ a b + + a d b e / + c + a b e d
+ a b + + a d b e / + c + a b e d
/ + c + a b e d
/ + + c d a b e * / + c + a b e d
PembentukanPohonEkspresidariNotasiPrefix (Sebuah operator mendahuluiduaoperand, mulaidari yang terkiri) Contoh 8 Bangunpohonekspresidarinotasiprefix * + a b / c + d e Penyelesaian
PembentukanPohonEkspresidariNotasiPrefix (Sebuah operator mendahuluiduaoperand, mulaidari yang terkiri) Contoh 8 Bangunpohonekspresidarinotasiprefix * + a b / c + d e Penyelesaian
PembentukanPohonEkspresidariNotasiPrefix (Sebuah operator mendahuluiduaoperand, mulaidari yang terkiri) Contoh 8 Bangunpohonekspresidarinotasiprefix * + a b / c + d e Penyelesaian + a b
PembentukanPohonEkspresidariNotasiPrefix (Sebuah operator mendahuluiduaoperand, mulaidari yang terkiri) Contoh 8 Bangunpohonekspresidarinotasiprefix * + a b / c + d e Penyelesaian + a b
PembentukanPohonEkspresidariNotasiPrefix (Sebuah operator mendahuluiduaoperand, mulaidari yang terkiri) Contoh 8 Bangunpohonekspresidarinotasiprefix * + a b / c + d e Penyelesaian + a b
+ a b
+ a b
+ + a a b b
+ + + a a a b b b
+ + + a d a b e b
+ + + + / a d a d c b e b e
+ + + / + + a a d a d c b e e b b
+ / + d c a e b
/ + + + + / c c d d a a b e e b *
Tugas 6: Nyatakanekspresiberikutkedalampohonbiner! a. ((x+2) 3) * ( y – (3 + x) ) – 5 b. (x + y) 2) + ((x – 4)/3) 2. Nyatakanekspresipadasoal 1 kedalambentuk prefix dan postfix! 3. Tentukannilaidariekpresi: a. + – * 2 3 5 / 2 3 4 b. 7 2 3 * – 4 9 3 / +