410 likes | 998 Views
PERTEMUAN KE-11. STRUKTUR DATA TREE (POHON). Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Palangka Raya. TREE ( Pohon ). Pohon atau tree adalah salah satu bentuk graph terhubung yang tidak mengandung sirkuit .
E N D
PERTEMUAN KE-11 STRUKTUR DATATREE (POHON) Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Palangka Raya
TREE (Pohon) • Pohonatautree adalahsalahsatubentuk graph terhubung yang tidakmengandungsirkuit. • Karena merupakan graph terhubung, maka pada pohon selalu terdapat path atau jalur yang menghubungkansetiapduasimpuldalampohon.
SifatUtamaPohonBerakar (Rooted Tree) • Jikapohonmempunyaisimpulsebanyak n, makabanyaknyaruasatauedge adalah(n-1). • Mempunyaisimpulkhusus yang disebut “root,” yang merupakansimpul yang memilikiderajatkeluar >= 0, danderajatmasuk = 0. • Mempunyaisimpul yang disebutsebagai “daun” atau “leaf,” yang merupakansimpulberderajatkeluar 0, danberderajatmasuk = 1. • SetiapSimpulmempunyaitingkatanataulevel, yang dimulaidari root yang levelnya= 0, sampaidenganlevel n padadaun paling bawah.
SifatUtamaPohonBerakar (Rooted Tree) • “Simpul yang mempunyailevel samadisebut “bersaudara” atau “brother” atau“siblings”. • Pohonmempunyaiketinggianataukedalamanatau “height,” yang merupakan level tertinggi + 1. • Pohonmempunyaiberatataubobotatau “weight,” yang merupakanbanyaknyadaunpadapohon.
BINARY TREE (PohonBinar) • Sebuahpohonbinar T didefinisikanterdiriatassebuahhimpunanhinggaelemen yang disebutsimpul (node), sedemikiansehingga : • T adalahhampa (disebutpohonnull) atau; • T mengandungsimpul R yang dipilih (dibedakandari yang lain), disebut “akar” atau “root” dari T, dansimpulsisanyamembentuk 2 pohonbinar (subpohonkiridansubpohonkanandariakar R) T1 dan T2 yang salinglepas.
PohonBinarLengkap Suatupohonbinar T dikatakanlengkapataucomplete, bilasetiaptingkatnya, kecualimungkintingkat yang terakhir, mempunyaisemuasimpul yang mungkin, yakni 2rsimpuluntuktingkatke-r, danbilasemuasimpulpadatingkatterakhirmunculdibagiankiripohon.
Pohon-2 • Pohonbinar T dikatakanpohon-2ataupohonbinar yang dikembangkan (extended binary tree) bilasetiapsimpulmempunyai 0 atau 2 anak. • Simpuldengan 2 anakdisebutsimpul internal, sedangkansimpultanpaanakdisebutsimpuleksternal. • Dalamdiagramnya, seringkalidiadakanpembedaanantarasimpul internal daneksternal. Simpul internal digambarsebagailingkaran, sedangkansimpuleksternalsebagaibujursangkar.
Pohon-2 • Sebuahpemakaianpentingdari pohon-2 adalahuntukmenyajikansuatuekspresiaritmetik yang mengandungoperasibinar. • Di sinisimpuleksternalmenyajikanoperand (variabel) sedangkansimpul internal menyajikan operator yang bekerjaterhadapkeduasubpohonnya.
PenyajianPohonBinardalamMemori • Tiapsimpulmencatattigajenisinformasi, yaitu: INFO, LEFT dan RIGHT • INFO merupakanseluruhinformasiutamapadasimpultersebut. • LEFT merupakanalamatkeanakkiri (sub pohonkiri) • RIGHT merupakanalamatkeanakkanan (sub pohonkanan) • Suatuvariabel ROOT digunakanuntukmencatatalamatsimpulakar (root).
Penyajian Binary Tree • Cobabuatkantabeluntukmenyajikanpohonbinarberikut.
PohonKetinggianSeimbang(Height Balanced Tree) • Pohonbinar yang mempunyaisifatbahwaketinggiansubpohonkiridansubpohonkanandari pohon tersebut berbeda paling banyak 1, disebut pohon ketinggian seimbang atau height balanced tree (HBT).
Ketinggian Minimum PohonBinar • Jikasuatupohonbinarmemiliki N simpul, makaketinggian minimum = Hmin = int (2 log N) + 1 Contoh: N = 5 int(2 log 5)+1 = int(2,32)+1 = 2 + 1 = 3 N = 15 int(2log 15)+1 = int(3,9)+1 = 3+1 = 4 N = 16 int(2log 16)+1 = int(4)+1 = 4 + 1 = 5 N = 100 int(2log 100)+1 = int(6,64)+1 = 6+1 = 7
KetinggianMaksimumPohonBinar • Jikasuatupohonbinarmemiliki N simpul, makaketinggian maximum = Hmax = N Contoh : N = 5 Hmax = 5 N = 500 Hmax = 500
PenyajianSekuensial • Jikasuatupohonbinarlengkapdisajikankedalambentuk array, makaalamatmasing-masinganakdarisimpulke-iadalah: Anakkiripadaalamat2*i Anakkananpadaalamat2*i + 1
PenyajianBerkait A B C D E F G H I J K L M N O
PenyajianPohonBinar • Penyajiansekuensialdaripohonbinardenganketinggiandakanmembutuhkanarray denganbanyakelemenmendekati 2d+1 tidakefisien • Contoh: padapohonini N = 11 , ketinggian = 5 Array ygdiperlukan = 25+1 = 64
PenelusuranPohon(TRAVERSING) Ada 3 metodepenelusuranpohon : • Metode PRE-ORDER • Metode IN-ORDER • Metode POST-ORDER
PenelusuranPohon Penelusuran PRE-ORDER padaPohonBinar • KunjungiSimpulAkar • Telusurisubpohonkiri • Telusurisubpohonkanan Hasilpenelusuran : A B C A B C
PenelusuranPohon Penelusuran IN-ORDER padaPohonBinar • Telusurisubpohonkiri • KunjungiSimpulAkar • Telusurisubpohonkanan Hasilpenelusuran : B A C A B C
PenelusuranPohon Penelusuran POST-ORDER padaPohonBinar • Telusurisubpohonkiri • Telusurisubpohonkanan • KunjungiSimpulAkar Hasilpenelusuran : B C A A B C
PenelusuranPohon • Padapohonberikut, lakukanpenelusurandenganmetode pre-order, in-order, post-order. Pre-Order: B-D-H-I-E-J-K In-Order: H-D-I-B-J-E-K Post-Order: H-I-D-J-K-E-B B D E H I J K
Notasi Prefix, Infix, Postfix • Jikapohonbinardigunakanuntukmenuliskanekspresimatematik, makadenganmetodepenelusuran yang berbedadihasilkannotasi yang berbedajuga, yaitu • Penelusuransecara pre-order notasi prefix • Penelusuransecara in-order notasi infix • Penelusuransecara post-order notasi postfix
Notasi Prefix, Infix, Postfix • Notasi prefix : + B C • Notasi infix : B + C • Notasi postfix : B C + + B C
Notasi Prefix, Infix, Postfix • Notasi prefix : * + A B – C D • Notasi infix : A + B * C - D • Notasi postfix : A B + C D - * * + - A B C D