pertemuan 13 treec2a0

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II

T R E E 

 

Pertemuan 13 
 
Waktu  
 

 

 

 



 menit 


Tujuan Pembelajaran 

: Mahasiswa mampu menjelaskan teknik pemrograman  

Substansi Materi 

: Tree 

 

 

 

  menggunakan Tree. 

Tabulasi Kegiatan Perkuliahan 
 


No 
 

Tahap 
Kegiatan 
Pendahuluan 

 

Penyajian 
Materi 

 

Penutup 

Kegiatan Pengajar 
. Membuka pertemuan
. Mengulang materi pertemuan 
sebelumnya 

. Pengertian Tree
. Jenis Tree 
. Binary Tree 
. Contoh program  
. Contoh soal Tree 
. Menyimpulkan materi pertemuan
. Memberikan tugas kecil 
. Menutup pertemuan 

 

Kegiatan 
Mahasiswa 
Menyimak
Bertanya 
Menyimak
Bertanya 
Menjawab 
Pertanyaan 


Menyimak

Media & Alat 

Waktu 

Papan Tulis

 Menit

Papan Tulis

8  Menit

Papan tulis 

 Menit

M A T E R I    K U L I A H


 

TREE 
Sebelumnya kita sudah mengenal struktur data list, yang berupa obyek‐obyek yang saling 

terkait. Dalam list, satu obyek hanya terkait dengan satu obyek berikutnya melalui sebuah 

pointer.  List  dapat  dikembangkan  menjadi  struktur  data  yang  lebih  kompleks,  misalnya 
dengan  menambah  jumlah  pointer  dalam  obyek.  Misal  dengan  penambahan  satu  pointer 
lagi.  Artinya  bahwa  jika  masing‐masing  obyek  memiliki  dua  pointer,  ada  dua  obyek  lain 

yang  ditunjuknya.  Struktur  yang  demikian  dikenal  sebagai  binary  tree  atau  dikenal  juga 
sebagai Tree Node. 
 
 
V3/2009‐2010  1 
 

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II


T R E E 

 

 
 
 
 
 
 
 

Gambar  . )lustrasi Binary Tree 

)stilah‐istilah umum dalam Binary Tree : 






Successor  



jalur yang sama 



jalur yang sama 



: seluruh node yang terletak sebelum node tertentu dan terletak pada 

Descendant   : seluruh node yang terletak sesudah node tertentu dan terletak pada 
Parent  

: predecessor satu level diatas suatu node 


Subtree 

: bagian dari tree yang berupa suatu node beserta descendantnya dan 




memiliki semua karakteristik dari tree tersebut 





 

Ancestor  

: node yang berada dibawah node tertentu 

Child    




 

Predecessor   : node yang berada di atas node tertentu 

Size 

 

: successor satu level diatas suatu node 
: Banyaknya node dalam suatu tree 

(eight  

: Banyaknya tingkatan / level dalam suatu tree 

Leaf   


: Node‐node dalam tree yang tak memiliki successor 

Root   
Degree 

: Satu‐satunya node khusus dalam tree yang tak punya predecessor 

: Banyaknya child yang dimiliki suatu node 

V3/2009‐2010  2 

DIKTA
AT KULIAH
ALLGORITMA d
dan STRUKTU
UR DATA II

T R E E 

 


 

Contoh : 
 

Subtree 

 

A
B

C

 

D

 

E

F

G

 
Jenis­jen
nis Tree  
. Binary Tree 
B

B
Binary 
Tree  adalah  treee  dengan  syarat  bah
hwa  tiap  no
ode  hanya  boleh  mem
miliki 
m
maksimal 
du
ua  subtree  dan  kedua  subtree  tersebut  haru
us  terpisah.  Sesuai  dengan 
definisi  terseebut,  makaa  tiap  node  dalam  binaary  tree  haanya  boleh  memiliki  paling 
banyak dua cchild. 
 

Jeenis‐jenis Biinary Tree :: 


Full B
Binary Tree 

Binarry  Tree  yan
ng  tiap  nod
denya  kecu
uali  leaf   memiliki  duaa  child  dan  tiap 
subtree harus meempunyai p
panjang path
h yang samaa. 


 

Comp
plete Binary
y Tree 

Mirip  dengan  Fu
ull  Binary  Tree, 
T
namun
n  tiap  subtrree  boleh  memiliki 
m
pan
njang 
path y
yang berbed
da. Node kecuali leaf m
memiliki   attau   child. 


 

Tree 
Skewed Binary T

Yaknii  Binary  Tree  yang  sem
mua  noden
nya  kecualii  leaf   hany
ya  memiliki  satu 

child. 
 

V3/200
09‐2010  3 

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II

T R E E 

 

 
 

Deklarasi Binary Tree 
 

 

 

Node = record 

 

 

 

Isi : TipeData; 

 

 

 

Left, Right : Tree; 

 

 

End; 

Type  Tree = ^node; 

 

Operasi‐operasi pada Binary Tree 






Create  

: Membuat binary tree baru yang masih kosong 

Clear   

: Mengosongkan binary tree yang sudah ada 

)nsert   

:  Memasukan  sebuah  node  ke  dalam  tree.  Ada  tiga  pilihan 

Empty  

: Function untuk memeriksa apakah binary tree masih kosong. 

insert,  yaitu  ROOT,  LEFT  C()LD,  atau  R)G(T  C()LD.  Khusus  insert  sebagai 



ROOT, TREE harus dalam keadaan kosong. 



node. Tree tidak boleh dalam kedaan kosong. 



Tree tidak boleh dalam keadaan kosong. 



Tree tidak boleh dalam kedaan kosong. 

Find    

:  Mencari  root,  parent,  left  child,  atau  right  child  dari  suatu 

Update 

:  Mengubah  isi  dari  node  yang  ditunjuk  oleh  pointer  current. 

Retrieve 

: Mengetahui isi dari node yang ditunjuk oleh pointer  kosong. 

DeleteSub 

:  Menghapus  sebuah  subtree 

node  beserta  seluruh 

descendant‐nya   yang  ditunjuk  oleh  current.  Tree  tidak  boleh  kosong. 
Setelah itu pointer current akan berpindah ke parent dari node yang telah di 



hapus. 

Characteristic: Mengetahui karakteristik dari suatu tree, yakni : size, height, 
serta average dari length‐nya. Tree tidak boleh kosong. 

V3/2009‐2010  4 
 

DIKTAT KULIAH
ALGORITMA dan STRUKTUR DATA II

T R E E 

 



Traverse 

:  Mengunjungi  seluruh  node‐node  pada  tree,  masing‐masing 

sekali. (asilnya adalah urutan informasi secara linier yang tersimpan dalam 

tree. Ada tiga cara traverse : Pre Order, )n Order, dan Post Order. 

 

Langkah melakukan traverse : 
¾ PreOrder 

:  cetak  isi  node  yang  dikunjungi,  kunjungi  Left  Child, 

¾ )nOrder 

:  Kunjungi  Left  Child,  cetak  isi  node  yang  dikunjungi, 

¾ PostOrder 

:  Kunjungi  Left  Child,  kunjungi  Right  Child,  cetak  isi 

kunjungi Right Child. 
kunjungi Right Child. 

node yang dikunjungi. 
 

V3/2009‐2010  5