Langsung ke konten utama

Tree


 Tree

Pengertian

tree terdiri atas kumpulan simpul atau node dimana tiap-tiap simpul dari tree digunakan untuk menyimpan nilai dan sebuah list rujukan ke simpul lain yang disebut simpul anak atau child node.

Tiap-tiap simpul dari tree akan dihubungkan oleh sebuah garis hubung yang dalam istilah teknis disebut edge. Biasanya diimplementasikan menggunakan pointer.

Simpul pada tree bisa memiliki beberapa simpul anak (child node). Namun, jalan menuju sebuah child node hanya bisa dicapai melalui maksimal 1 node. Apabila sebuah node atau simpul tidak memiliki child node sama sekali maka dinamakan leaf node.

Struktur data ini adalah metode khusus untuk mengatur dan menyimpan data di komputer agar dapat digunakan secara lebih efektif.

Jenis tree yang paling umum digunakan adalah Binary Tree, dimana sebuah tree memiliki maksimal 2 child node.

Istilah-istilah pada Tree

Layaknya sebuah pohon yang memiliki akar, cabang, dan daun yang terhubung satu sama lain, pada struktur data tree terdapat beberapa istilah penting yang mirip seperti istilah di dunia nyata, antara lain:

1. Node

Node atau simpul adalah entitas pada struktur data tree yang mengandung sebuah nilai dan pointer yang menunjuk simpul di bawahnya (child node).

2. Child node

Child node atau simpul anak adalah simpul turunan dari simpul di atasnya.

3. Leaf Node

Leaf node atau simpul daun adalah simpul yang tidak memiliki child node dan merupakan node yang paling bawah dalam struktur data tree. Simpul ini biasa disebut juga sebagai external node

4. Root

Root atau akar adalah simpul teratas dari sebuah tree.

5. Internal node

Internal node adalah istilah untuk menyebut simpul yang memiliki minimal satu child node.

6. Edge

Edge merujuk pada garis yang menghubungkan antara dua buah simpul dalam tree. Jika sebuah tree memiliki N node maka tree tersebut akan memiliki (N-1) edge. Hanya ada satu jalur dari setiap simpul ke simpul lainnya.

6. Height of node

Height of node adalah jumlah edge dari sebuah node ke leaf node yang paling dalam.

7. Depth of node

Depth of node adalah banyaknya edge dari root ke sebuah node.

8. Height of tree

Height of tree dapat diartikan sebagai panjang jalur terpanjang dari simpul akar ke simpul daun dari seuah tree.

9. Degree of node

Jumlah cabang yang melekat pada simpul disebut Degree of node atau derajat simpul. Derajat simpul pada sebuah leaf node adalah 0. 

Selain Degree of node, terdapat juga Degree of tree yaitu derajat maksimum simpul di antara semua simpul pada tree.

10. Subtree

Subtree adalah setiap simpul dari tree beserta turunannya.

Karakteristik Tree

Adapun karakteristik dari struktur data tree adalah sebagai berikut:

  • Penjelahan data (traversing) pada tree dilakukan oleh algoritma Depth First Search dan Breadth First Search
  • Tidak ada loop dan circuit
  • Tidak memiliki self-loop
  • Disusun dalam model hierarki

Jenis-jenis Tree

1.General tree

Struktur data tree yang tidak memiliki batasan jumlah node pada hierarki tree disebut General tree. Setiap simpul atau node bebas memiliki berapapun child node. Tree jenis adalah superset dari semua jenis tree.

2.Binary tree  

Binary tree adalah jenis tree yang simpulnya hanya dapat memiliki paling banyak 2 simpul anak (child node). Kedua simpul tersebut biasa disebut simpul kiri (left node) dan simpul kanan (right node). Tree tipe ini lebih populer daripada jenis lainnya.


3.Balanced tree

Apabila tinggi dari subtree sebelah kiri dan subtree sebelah kanan sama atau kalaupun berbeda hanya berbeda 1, maka disebut sebagai balanced tree. 


4.Binary search tree

Binary search tree digunakan untuk berbagai algoritma pencarian dan pengurutan.Struktur data tree jenis ini memiliki nilai pada simpul sebelah kiri lebih kecil daripada induknya. Sedangkan nilai simpul sebelah kanan lebih besar dari induknya.



Fungsi dan Kegunaan Tree

Berikut adalah fungsi dan kegunaan dari struktur data tree

  • Dalam kehidupan nyata, struktur data tree membantu dalam pengembangan game.
  • Membantu pengindeksan pada database.
  • Decision Tree adalah tools yang biasanya digunakan dalam analisis keputusan. Metode ini memiliki struktur seperti diagram alur yang membantu untuk memahami data.
  • Domain Name Server juga menggunakan struktur data tree.
  • Kasus penggunaan tree yang paling umum adalah situs jejaring sosial, seperti Facebook, Instagram, Twitter, dll.


Komentar

Postingan populer dari blog ini

POINTER

 POINTER Pengertian Pointer merupakan tipe data yang berisi alamat memori dari sebuah variabel, untuk lebih mudah memahami ini, Kita akan coba membahas terlebih dahulu bagaimana bahasa pemrograman lain menyimpan nilai dari sebuah variabel. Ketika kita akan mendeklarasikan sebuah variabel (misalkan variabel angka’), bahasa pemrograman akan menyiapkan sebuah tempat di memory komputer. Tempat ini memiliki alamat, yang berfungsi untuk menandai lokasi variabel tersebut. Cara Penggunaan Pointer Untuk dapat membuat pointer, kita harus menyesuaikan dengan variabel yang ingin kita akses Maksudnya seperti ini, Jika kita mendeklarasikan sebuah variabel ‘angka’ : Disini variabel ‘angka’ disiapkan untuk menampung tipe data integer.Disini variabel ‘angka’ Angka : integer disiapkan untuk menampung tipe data integer.Untuk bisa menampung alamat memori dari variabel ‘angka’ ini, kita harus membuat pointer yang juga di-set untuk menampung tipe data pointer integer. Berikut cara penulisannya pointer_a...

Queue

 QUEUE Pengertian Queue adalah salah satu struktur data yang sering digunakan dalam pemrograman. Queue merupakan antrian data yang hanya dapat diakses pada ujung depan atau ujung belakangnya. Data yang pertama kali dimasukkan ke dalam queue akan menjadi data yang pertama kali diambil atau dikeluarkan dari queue. Queue dapat diibaratkan seperti antrian orang yang menunggu untuk melakukan suatu tindakan. Karakteristik FIFO (First In First Out): Data yang pertama kali dimasukkan ke dalam queue akan menjadi data yang pertama kali diambil atau dikeluarkan dari queue. Enqueue: Menambahkan data ke dalam queue. Dequeue: Mengambil data dari queue. Front: Menunjukkan data yang berada pada ujung depan queue. Rear: Menunjukkan data yang berada pada ujung belakang queue. Queue sering digunakan dalam pemrograman untuk menyelesaikan masalah yang membutuhkan urutan data yang spesifik. Contoh penggunaan queue adalah dalam pengolahan data yang membutuhkan urutan waktu, seperti pengolahan data sensor...

Apa Itu Struktur Data

     Struktur Data Pengertian Struktur data adalah pengaturan data di dalam memori komputer. Struktur data adalah cara untuk menyimpan, mengambil, dan menyusun data dengan efisien di dalam komputer, Struktur data memungkinkan data yang ada di komputer lebih mudah diakses dan diperbarui. Apasih Manfaat Dan Fungsi Struktur Data? Manfaat Struktur Data adalah agar diperoleh sebuah pemograman lebih efisien,mudah,dan elegan.Dan supaya data yang disimpan lebih mudah/efisien dalam pengaksesan/pemrosesan data tersebut. Struktur data tidak hanya berfungsi sebagai penyusun data, tetapi juga memiliki peran penting dalam proses pengolahan, pengambilan, dan penyimpanan data. Struktur data bisa digunakan untuk mengelola database, melakukan kompres file, hingga mengolah data lainnya. Struktur data juga akan mempengaruhi ketepatan algoritma pemrograman. Macam-Macam Operasi Dalam Struktur Data 1.Record sebuah nilai yang berisi nilai-nilai lain, biasanya dengan banyak dan urutan nilai yang ...