Anda di halaman 1dari 16

PROGRAM TREE DINAMIS

Sebuah Simpul dapat mengandung sebuah nilai atau suatu


kondisi atau menggambarkan sebuah struktur data terpisah
atau sebuah bagian pohon itu sendiri. Setiap simpul dalam
sebuah pohon memiliki nol atau lebih simpul anak (child
nodes), yang berada dibawahnya dalam pohon (menurut
perjanjian, pohon berkembang ke bawah, tidak seperti yang
dilakukannya di alam). Sebuah simpul yang memiliki anak
dinamakan simpul ayah (parent node) atau simpul leluhur
(ancestor node) atau superior. Sebuah simpul paling
banyak memiliki satu ayah. Tinggi dari pohon adalah
panjang maksimal jalan ke sebuah daun dari simpul
tersebut. Tinggi dari akar adalah tinggi dari pohon.
Kedalaman dari sebuah simpul adalah panjang jalan ke
akarnya dari simpul tersebut.
[sunting] kar (!oot nodes)
Simpul yang paling atas dalam pohon adalah akar (root
node). "enjadi simpul teratas, simpul akar tidak akan
memiliki orang tua. #ni merupakan simpul di mana biasanya
merupakan tempat untuk memulai operasi dalam pohon
(walaupun beberapa algoritma dimulai dengan daun dan
berakhir pada akar). Semua simpul yang lain dapat dicapai
dari akar dengan menelusuri pinggiran atau pranala.
($alam de%inisi resmi, setiap jalan adalah khas). $alam
diagram, ini secara khusus di gambar paling atas. $i
beberapa pohon, seperti heap, akar memiliki si%at khusus.
Setiap simpul dalam sebuah pohon dapat dilihat sebagai
akar dari sub pohon yang berakar pada simpul tersebut.
[sunting] $aun (&ea% nodes)
', (), (', *+ dan +* adalah daun.
Semua simpul yang berada pada tingkat terendah dari pohon
dinamakan daun (lea% node). Sejak mereka terletak pada
tingkat paling bawah, mereka tidak memiliki anak satupun.
Seringkali, daun merupakan simpul terjauh dari akar.
$alam teori gra%ik, sebuah daun adalah sebuah sudut
dengan tingkat ( selain akar (kecuali jika pohonnya hanya
memiliki satu sudut, maka akarnya adalah daunnya juga).
Setiap pohon memiliki setidaknya satu daun.
$alam pohon berdasarkan genetic programming sebuah daun
(juga dibilang terminal) adalah bagian terluar dari
sebuah program pohon. -ika dibandingkan dengan %ungsinya
atau simpul dalam, daun tidak memiliki argumen. $i banyak
kasus dalam daun./0 input ke programnya.
[sunting] Simpul dalam (#nternal nodes)
Sebuah simpul dalam adalah semua simpul dari pohon yang
memiliki anak dan bukan merupakan daun. 1eberapa pohon
hanya menyimpan data didalam simpul dalam, meskipun ini
mempengaruhi dinamika penyimpanan data dalam pohon.
Sebegai contoh, dengan daun yang kosong, seseorang dapat
menyimpan sebuah pohon kosong dengan satu daun.
1agaimanapun juga dengan daun yang dapat menyimpan data,
tidak dimungkinkan untuk menyimpan pohon kosong kecuali
jika seseorang memberikan beberapa jenis penanda data di
daun yang menandakan bahwa daun tersebut seharusnya
kosong (dengan demikian pohon itu seharusnya kosong
juga).
Sebaliknya, beberapa pohon hanya menyimpan data dalam
daun, dan menggunakan simpul dalam untuk menampung
metadata yang lain, seperti jarak nilai dalam sub pohon
yang berakar pada simpul tersebut. -enis pohon ini
berguna untuk jarak yang meragukan.
[sunting] Sub pohon (Subtrees)
Sebuah sub pohon adalah suatu bagian dari pohon struktur
data yang dapat dilihat sebagai sebuah pohon lain yang
berdiri sendiri. Simpul apapun dalam pohon 0, bersama
dengan seluruh simpul dibawahnya, membentuk sebuah sub
pohon dari 0. Sub pohon yang terhubung dengan akar
merupakan keseluruhan pohon tersebut. Sub pohon yang
terhubung dengan simpul lain manapun dinamakan sub pohon
asli (proper subtree).
[sunting] 0enyusunan pohon
Terdapat dua jenis pohon. Sebuah pohon tidak terurut
(unordered tree) adalah sebuah pohon dalam arti
struktural semata.mata, yang dapat dikatakan memberikan
sebuah simpul yang tidak memiliki susunan untuk anak dari
simpul tersebut. Sebuah pohon dengan suatu susunan
ditentukan, sebagai contoh dengan mengisi bilangan asli
berbeda ke setiap anak dari simpul tersebut, dinamakan
sebuah pohon terurut (ordered tree), dan struktur data
yang dibangun didalamnya dinamakan pohon terurut struktur
data (ordered tree data structures). Sejauh ini pohon
terurut merupakan bentuk umum dari pohon struktur data.
0ohon biner terurut merupakan suatu jenis dari pohon
terurut.
[sunting] 2utan
Sebuah hutan adalah sebuah himpunan yang terdiri dari
pohon terurut. &intasan inorder, preorder, dan postorder
dide%inisikan secara rekursi% untuk hutan.
3 inorder
(. lewati inorder hutan yang dibentuk oleh sub pohon yang
pertama dalam hutan, jika ada
4. kunjungi akar dari pohon pertama.
5. lewati inorder hutan yang dibentuk oleh sisa pohon
dalam hutan, jika ada.
3 preorder
(. kunjungi akar dari pohon pertama.
4. lewati preorder hutan yang dibentuk oleh sub pohon
yang pertama dalam hutan, jika ada
5. lewati preorder hutan yang dibentuk oleh sisa pohon
dalam hutan, jika ada.
3 postorder
(. lewati postorder hutan yang dibentuk oleh sub pohon
yang pertama dalam hutan, jika ada
4. lewati postorder hutan yang dibentuk oleh sisa pohon
dalam hutan, jika ada.
5. kunjungi akar dari pohon pertama.
[sunting] 0enggambaran pohon
da banyak cara untuk menggambarkan pohon, pada umumnya
penggambaran mewakili simpul sebagai rekor yang
dialokasikan pada heap (bedakan dengan heap struktur
data) yang mengacu pada anaknya, ayahnya, atau keduanya,
atau seperti data materi dalam array, dengan hubungan
diantaranya ditentukan oleh posisi mereka dalam array
(contoh binary heap)
[sunting] 0ohon sebagai gra%ik
Contoh program dari turbo pascal
Gambar:
Gambar:!
Gambar:"
Gambar:#
Gambar:$
%asil program
&isting porgram
us's crt(
t)p' pohon*+nod'(
nod'*r'cord
data:char(
,iri-,anan:pohon(
'nd(
.ar T:pohon(
in/o:char(
01111111111111111111111111111111111111111111111112
proc'dur' 3uat 4in/o :char(.ar T:pohon5 (
.ar
b:pohon(
b'gin
i/ T*nil th'n
b'gin
n'6 4b5(
b+7data:*in/o(b+7,iri:*nil(b+7,anan:*nil(
t:*b(
'nd
'ls'
b'gin
i/ T+7data8in/o th'n
buat 4in/o-T+7,anan5(
i/ T+7data9in/o th'n
buat 4in/o-T+7,iri5(
'nd(
'nd(
01111111111111111111111111111111111111111111111111111112
proc'dur' 3aca:pr'4b:pohon5 (
b'gin
i/ 4b89nil5 th'n
b'gin
6rit'4b+7data5(
3aca:pr'4b+7,iri5(
3aca:pr'4b+7,anan5(
'nd(
'nd(
01111111111111111111111111111111111111111111111111111112
proc'dur' 3aca:in4b:pohon5(
b'gin
i/ 4b89nil5 th'n
b'gin
3aca:in4b+7,iri5(
6rit'4b+7data5(
3aca:in4b+7,anan5(
'nd(
'nd(
0111111111111111111111111111111111111111111111111111112
proc'dur' 3aca:post4b:pohon5(
b'gin
i/ 4b89nil5 th'n
b'gin
3aca:post4b+7,iri5(
3aca:post4b+7,anan5(
6rit'4b+7data5
'nd(
'nd(
0111111111111111111111111111111111111111111111111111112
b'gin
clrscr(
n'64T5(T+7;iri:*nil(T+7,anan:*nil(
6rit'ln4<masu,an dta ,' dalam tr''<5(
r'p'at
6rit'4<Nilai
data :<5(in/o:*upcas'4r'ad,')5(6rit'ln4in/o5(
i/ in/o89=" th'n 3uat4in/o-T5(
until in/o*="(
6rit'ln(
r'adln(
6rit'ln4<P'mbacaan s'cara pr' ord'r<5(
baca:pr' 4t5(
6rit'ln(
r'adln(
6rit'ln4<P'mbacaan s'cara in ord'r<5(
baca:in 4T5(
6rit'ln(
r'adln(
6rit'ln4<p'mbacaan s'cara post ord'r<5(
baca:post4T5(
r'adln(
'nd7
PROGRAM TREE DINAMIS
Sebuah Simpul dapat mengandung sebuah nilai atau suatu
kondisi atau menggambarkan sebuah struktur data terpisah
atau sebuah bagian pohon itu sendiri. Setiap simpul dalam
sebuah pohon memiliki nol atau lebih simpul anak (child
nodes), yang berada dibawahnya dalam pohon (menurut
perjanjian, pohon berkembang ke bawah, tidak seperti yang
dilakukannya di alam). Sebuah simpul yang memiliki anak
dinamakan simpul ayah (parent node) atau simpul leluhur
(ancestor node) atau superior. Sebuah simpul paling
banyak memiliki satu ayah. Tinggi dari pohon adalah
panjang maksimal jalan ke sebuah daun dari simpul
tersebut. Tinggi dari akar adalah tinggi dari pohon.
Kedalaman dari sebuah simpul adalah panjang jalan ke
akarnya dari simpul tersebut.
[sunting] kar (!oot nodes)
Simpul yang paling atas dalam pohon adalah akar (root
node). "enjadi simpul teratas, simpul akar tidak akan
memiliki orang tua. #ni merupakan simpul di mana biasanya
merupakan tempat untuk memulai operasi dalam pohon
(walaupun beberapa algoritma dimulai dengan daun dan
berakhir pada akar). Semua simpul yang lain dapat dicapai
dari akar dengan menelusuri pinggiran atau pranala.
($alam de%inisi resmi, setiap jalan adalah khas). $alam
diagram, ini secara khusus di gambar paling atas. $i
beberapa pohon, seperti heap, akar memiliki si%at khusus.
Setiap simpul dalam sebuah pohon dapat dilihat sebagai
akar dari sub pohon yang berakar pada simpul tersebut.
[sunting] $aun (&ea% nodes)
', (), (', *+ dan +* adalah daun.
Semua simpul yang berada pada tingkat terendah dari pohon
dinamakan daun (lea% node). Sejak mereka terletak pada
tingkat paling bawah, mereka tidak memiliki anak satupun.
Seringkali, daun merupakan simpul terjauh dari akar.
$alam teori gra%ik, sebuah daun adalah sebuah sudut
dengan tingkat ( selain akar (kecuali jika pohonnya hanya
memiliki satu sudut, maka akarnya adalah daunnya juga).
Setiap pohon memiliki setidaknya satu daun.
$alam pohon berdasarkan genetic programming sebuah daun
(juga dibilang terminal) adalah bagian terluar dari
sebuah program pohon. -ika dibandingkan dengan %ungsinya
atau simpul dalam, daun tidak memiliki argumen. $i banyak
kasus dalam daun./0 input ke programnya.
[sunting] Simpul dalam (#nternal nodes)
Sebuah simpul dalam adalah semua simpul dari pohon yang
memiliki anak dan bukan merupakan daun. 1eberapa pohon
hanya menyimpan data didalam simpul dalam, meskipun ini
mempengaruhi dinamika penyimpanan data dalam pohon.
Sebegai contoh, dengan daun yang kosong, seseorang dapat
menyimpan sebuah pohon kosong dengan satu daun.
1agaimanapun juga dengan daun yang dapat menyimpan data,
tidak dimungkinkan untuk menyimpan pohon kosong kecuali
jika seseorang memberikan beberapa jenis penanda data di
daun yang menandakan bahwa daun tersebut seharusnya
kosong (dengan demikian pohon itu seharusnya kosong
juga).
Sebaliknya, beberapa pohon hanya menyimpan data dalam
daun, dan menggunakan simpul dalam untuk menampung
metadata yang lain, seperti jarak nilai dalam sub pohon
yang berakar pada simpul tersebut. -enis pohon ini
berguna untuk jarak yang meragukan.
[sunting] Sub pohon (Subtrees)
Sebuah sub pohon adalah suatu bagian dari pohon struktur
data yang dapat dilihat sebagai sebuah pohon lain yang
berdiri sendiri. Simpul apapun dalam pohon 0, bersama
dengan seluruh simpul dibawahnya, membentuk sebuah sub
pohon dari 0. Sub pohon yang terhubung dengan akar
merupakan keseluruhan pohon tersebut. Sub pohon yang
terhubung dengan simpul lain manapun dinamakan sub pohon
asli (proper subtree).
[sunting] 0enyusunan pohon
Terdapat dua jenis pohon. Sebuah pohon tidak terurut
(unordered tree) adalah sebuah pohon dalam arti
struktural semata.mata, yang dapat dikatakan memberikan
sebuah simpul yang tidak memiliki susunan untuk anak dari
simpul tersebut. Sebuah pohon dengan suatu susunan
ditentukan, sebagai contoh dengan mengisi bilangan asli
berbeda ke setiap anak dari simpul tersebut, dinamakan
sebuah pohon terurut (ordered tree), dan struktur data
yang dibangun didalamnya dinamakan pohon terurut struktur
data (ordered tree data structures). Sejauh ini pohon
terurut merupakan bentuk umum dari pohon struktur data.
0ohon biner terurut merupakan suatu jenis dari pohon
terurut.
[sunting] 2utan
Sebuah hutan adalah sebuah himpunan yang terdiri dari
pohon terurut. &intasan inorder, preorder, dan postorder
dide%inisikan secara rekursi% untuk hutan.
3 inorder
(. lewati inorder hutan yang dibentuk oleh sub pohon yang
pertama dalam hutan, jika ada
4. kunjungi akar dari pohon pertama.
5. lewati inorder hutan yang dibentuk oleh sisa pohon
dalam hutan, jika ada.
3 preorder
(. kunjungi akar dari pohon pertama.
4. lewati preorder hutan yang dibentuk oleh sub pohon
yang pertama dalam hutan, jika ada
5. lewati preorder hutan yang dibentuk oleh sisa pohon
dalam hutan, jika ada.
3 postorder
(. lewati postorder hutan yang dibentuk oleh sub pohon
yang pertama dalam hutan, jika ada
4. lewati postorder hutan yang dibentuk oleh sisa pohon
dalam hutan, jika ada.
5. kunjungi akar dari pohon pertama.
[sunting] 0enggambaran pohon
da banyak cara untuk menggambarkan pohon, pada umumnya
penggambaran mewakili simpul sebagai rekor yang
dialokasikan pada heap (bedakan dengan heap struktur
data) yang mengacu pada anaknya, ayahnya, atau keduanya,
atau seperti data materi dalam array, dengan hubungan
diantaranya ditentukan oleh posisi mereka dalam array
(contoh binary heap)
[sunting] 0ohon sebagai gra%ik
Contoh program dari turbo pascal
Gambar:
Gambar:!
Gambar:"
Gambar:#
Gambar:$
%asil program
&isting porgram
us's crt(
t)p' pohon*+nod'(
nod'*r'cord
data:char(
,iri-,anan:pohon(
'nd(
.ar T:pohon(
in/o:char(
01111111111111111111111111111111111111111111111112
proc'dur' 3uat 4in/o :char(.ar T:pohon5 (
.ar
b:pohon(
b'gin
i/ T*nil th'n
b'gin
n'6 4b5(
b+7data:*in/o(b+7,iri:*nil(b+7,anan:*nil(
t:*b(
'nd
'ls'
b'gin
i/ T+7data8in/o th'n
buat 4in/o-T+7,anan5(
i/ T+7data9in/o th'n
buat 4in/o-T+7,iri5(
'nd(
'nd(
01111111111111111111111111111111111111111111111111111112
proc'dur' 3aca:pr'4b:pohon5 (
b'gin
i/ 4b89nil5 th'n
b'gin
6rit'4b+7data5(
3aca:pr'4b+7,iri5(
3aca:pr'4b+7,anan5(
'nd(
'nd(
01111111111111111111111111111111111111111111111111111112
proc'dur' 3aca:in4b:pohon5(
b'gin
i/ 4b89nil5 th'n
b'gin
3aca:in4b+7,iri5(
6rit'4b+7data5(
3aca:in4b+7,anan5(
'nd(
'nd(
0111111111111111111111111111111111111111111111111111112
proc'dur' 3aca:post4b:pohon5(
b'gin
i/ 4b89nil5 th'n
b'gin
3aca:post4b+7,iri5(
3aca:post4b+7,anan5(
6rit'4b+7data5
'nd(
'nd(
0111111111111111111111111111111111111111111111111111112
b'gin
clrscr(
n'64T5(T+7;iri:*nil(T+7,anan:*nil(
6rit'ln4<masu,an dta ,' dalam tr''<5(
r'p'at
6rit'4<Nilai
data :<5(in/o:*upcas'4r'ad,')5(6rit'ln4in/o5(
i/ in/o89=" th'n 3uat4in/o-T5(
until in/o*="(
6rit'ln(
r'adln(
6rit'ln4<P'mbacaan s'cara pr' ord'r<5(
baca:pr' 4t5(
6rit'ln(
r'adln(
6rit'ln4<P'mbacaan s'cara in ord'r<5(
baca:in 4T5(
6rit'ln(
r'adln(
6rit'ln4<p'mbacaan s'cara post ord'r<5(
baca:post4T5(
r'adln(
'nd7