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 :
- Antony Pranata, Pemrograman Borland C++, Andi Offset, Yogyakarta
- Moh. Sjukani, Algoritma dan Struktur data dengan C, C++, dan Java, Mitra Wacana Media , 2005
- Walter Savitch , Problem Solving With C++: The Object of Programming, forth edition, Addison Wesley
- Lamhot Sitorus & David J.M. Sembiring, Konsep dan Implementasi Struktur Data dengan C++, Andi Offset, Yogyakarta
- Online Reading, www://cplusplus.com
Share dan Klik Salah Salah satu Iklan untuk Mensupport Website Ini :