Daftar Isi :

  1. MEMAHAMI KONSEP TREE DALAM STRUKTUR DATA Lengkap Dengan Source CODE PROGRAM
  2. Contoh KONSEP TREE DALAM STRUKTUR DATA
  3. TABEL TERMINOLOGI TREE BESERTA PENJELASANNYA
  4. Ilustrasi Perhitungan Konsep Tree dalam Tingkatanya
  5. CONTOH DEKLARASI VARIABEL TREE DAN CONTOH MODELNYA dalam Struktur data
  6. Ilustrasi FUNGSI INSERT DAN ALGORITMA DALAM KONSEP TREE STURKTUR DATA
  7. CONTOH ILUSTRASI FUNGSI PREORDER DAN ALGORITMANYA DALAM KONSEP TREE
  8. CONTOH ILUSTRASI FUNGSI INORDER DAN ALGORITMANYA DALAM KONSEP TREE
  9. CONTOH ILUSTRASI FUNGSI POSTORDER DAN ALGORITMANYA DALAM KONSEP TREE
  10. Full Source Code Konsep TREE pada Pemrograman CPP

Tree dalam bahasa inggris diartikan Pohon. Dalam Struktur Data Konsep Tree mirip seperti pohon yaitu kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layaknya struktur sebuah pohon. Struktur Tree adalah suatu cara merepresentasikan suatu struktur hirarki ( one – to many ) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan – node – node dari atas ke bawah. Konsep Tree Di seuah struktur data yang tidak linier yang menggambarkan hubungan yang hirarkis ( one to many ) dan tidak linier antara elemen – elemennya.  Di struktur Data Konsep Tree terbagi menjadi 2 yaitu :

1.      Tree Statik
2.      Tree Dinamik

Tree Statik adalah konsep struktur pohon yang isi node – nodenya tetap karena bentuk pohonnya sudah ditentukan.

Tree Dinamik adalah konsep struktur pohon yang isi nodenya berubah – ubah karena proses penambahan ( insert ) dan pengurangan / penghapusan ( delete )

Dalam Konsep Tree di sebuah Node ada namanya Node Root. Node Root dalam sebuah tree yang dimaksud adalah suatu node yang memiliki hirarki tertinggi dan dapat juga memiliki node – node anak atau yang disebut child node. jadi semua node yang dapat ditelurusan dari node root tersebut. Node Root dicirikan adalah suatu node khusus yang tercipta pertama kalinya. Sedangkan Node – Node lain dibawah node root saling terhubung satu sama lain disebut sebagai Subtree

Dalam Konsep Tree ini bisa dikorelasikan dalam Contoh kehidupan dunia nyata seperti berikut :

1.      Silsilah keluarga 
2.      Parse Tree (pada compiler)
3.      Struktur File
4.      Pertandingan

Berikut Salah Satu Contoh Konsep Tree seperti Silsilah Keluarga  dalam gambar berikut : 
Konsep Tree dalam Struktur data memiliki Istilah Istilah Terminologinya. Berikut Istilah dan Pengertian dari istilah terminologi Tree dalam struktur data dalam gambar berikut :

Jadi Dari Istilah – Istilah Tersebut memiliki Pemahaman yang berbeda – beda. Tentu selain istilah tersebut adanya Konsep Tingkatan dalam Tree di struktur data. Dalam Node di Tree ada konsep binary yang dimana Jumlah maksimum node pada setiap tingkat adalah 2 pangkat n. Sedangkan banyak Node dalam Sebuah Tree berjumlah dari 2 pangkat ( jumlah tingkatan) -1. Berikut Ilustrasi Perhitungan Konsep Tree dalam Tingkatanya dalam bentuk gambar.

Jadi Dari Contoh Diatas untuk tingkat ke 0 hanya dapat membuat 1 Node karena jika diperhatikan dengan Rumus 2 pangkat n maka hasil yang didapat adalah 2 pangkat 0 = 1. Sedangkan pada Tingkat Ke 1 hanya dapat membuat 2 node karena 2 pangkat 1 = 2. Sedangkan untuk mengetahui berapa banyak node dalam sebuah tree dari contoh diatas yaitu ada 3 tingkatan ( 0,1,2) maka bisa didapat jumlah semua node dalam tree yaitu 2 pangkat 3 -1 = 7.

Dari Pemahaman Konsep Tree yang sudah dijelaskan untuk mengimplementasikannya dalam Program, Tree dapat dibuat dengan menggunakan linked list secara rekrusif. Rekrusif adalah sebuah proses yang memanggil dirinya sendiri. Untuk Linked List yang digunakan adalah double linked list yang Non circular. Adapun  Proses dari Implementasi Program terkait Konsep Tree seperti berikut :

1.      data yang pertama kali masuk akan menjadi Node Root. 
2.      data yang lebih kecil dari node root akan masuk dan menempati node kiri dari node Root
3.      Jika ada Data yang lebih besar dari Node Root maka akan masuk dan menempati node sebelah kanan dari Node Root

Berikut Deklarasi Variabel Terkait Konsep Tree dalam Struktur data dan Contoh Modelnya : 
Untuk Operasi Operasi Tree dalam Struktur Data ada beberapa Operasi yaitu :

1.      Create()
2.      Clear()
3.      Empty()
4.      Insert()
5.      Traverse()
6.      PreOrder
7.      InOrder
8.      PostOrder

 

Create()

Fungsi ini merupakan fungsi untuk membentuk sebuah tree baru yang kosong biasanya berisi inisialisasi variable tree yang bernilai Null seperti penulisan berikut :

Pohon = NULL;

Clear()

Fungsi ini merupakan fungsi untuk menghapus semua elemen tree dalam implementasinya cukup tambahkan syntax pohon = NULL; dalam fungsi Clear()

Empty()

Fungsi ini mengetahui apakah tree kosong atau tidak di sebuah pemrograman. Untuk Syntax Empty dalam Pemrograman C++ dapat ditulist seperti berikut :

int isEmpty(Tree *pohon){

if(pohon == NULL) return 1; 

else return 0;



Insert 

Fungsi ini merupakan fungsi yang menambah node ke dalam tree secara rekursif. Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika data lebih kecil maka akan diletakkan di node sebelah kiri. Sedangkan untuk data pertama akan menjadi elemen root. Berikut gambar Ilustrasi Insert  :

Traverse

Fungsi ini merupakan operasi kunjungan ( mengunjungi data ) terhadap node – node dalam tree yang dimana masing – masing node akan dikunjungi sekali. Adapun Jenis Traverse dalam Konsep Tree seperti berikut :

1.      PreOrder
2.      InOrder
3.      PostOrder

PreOrder

Proses Traverse yang melakukan tahapan cetak node yang dikunjungi, kunjungi left node , kunjungi right node. Berikut Ilustrasi PreOrder dan Algoritma dalam Fungsi Traverse :

InOrder

Proses Traverse yang melakukan tahapan kunjungi left node, cetak node yang dikunjungi, kunjungi right node. Berikut Ilustrasi InOrder dan Algoritma dalam Fungsi Traverse :

PostOrder

Proses Traverse yang melakukan tahapan kunjungi left node, kunjungi right node, cetak node yang dikunjungi. Berikut Ilustrasi PostOrder dan Algoritma dalam Fungsi Traverse :

Dan berikut Full Source Code Konsep Tree dalam Struktur Data di Bahasa Pemrograman Bahasa C++ :

Demikian Mengenai Pengenalan Konsep Tree dalam Struktur data Semoga bermanfaat

Referensi :

  1. Antony Pranata, Pemrograman Borland C++, Andi Offset, Yogyakarta
  2. Moh. Sjukani, Algoritma dan Struktur data dengan C, C++, dan Java, Mitra Wacana Media , 2005
  3. Walter Savitch , Problem Solving With C++: The Object of Programming, forth edition,  Addison  Wesley
  4. Lamhot  Sitorus  &  David  J.M.  Sembiring,  Konsep   dan  Implementasi  Struktur  Data dengan C++, Andi Offset, Yogyakarta
  5. Online Reading, www://cplusplus.com