π§ 1. Pengertian Tree
6
π Definisi
Tree adalah struktur data non-linear yang berbentuk hierarki (bertingkat), terdiri dari node-node yang saling terhubung melalui hubungan parentβchild.
π§ Narasi Konseptual
Bayangkan struktur organisasi perusahaan:
- Direktur β paling atas (root)
- Manajer β cabang di bawahnya
- Karyawan β berada di level terbawah
β‘οΈ Tree merepresentasikan hubungan hierarkis seperti pohon keluarga atau organisasi.
π³ 2. Terminologi Dasar Tree
π Tabel Terminologi
| Istilah | Penjelasan |
|---|---|
| Root | Node paling atas |
| Node | Elemen dalam tree |
| Parent | Node induk |
| Child | Node turunan |
| Leaf | Node tanpa anak |
| Edge | Penghubung antar node |
| Subtree | Bagian tree dari suatu node |
π§ Narasi
Setiap node dalam tree bisa menjadi βroot kecilβ untuk subtree-nya sendiri.
π§© 3. Struktur Tree
7
π Konsep
Tree terdiri dari:
- Root (akar utama)
- Cabang (node turunannya)
- Daun (leaf node)
π² 4. Jenis-Jenis Tree
πΉ A. General Tree
8
π Konsep
Setiap node bisa memiliki lebih dari dua child.
π§ Narasi
Seperti folder komputer:
- Satu folder bisa berisi banyak folder lain
πΉ B. Binary Tree
7
π Konsep
Setiap node maksimal memiliki dua anak (left & right).
πΉ C. Binary Search Tree (BST)
8
π Konsep
BST adalah binary tree dengan aturan:
- Kiri < root
- Kanan > root
π§ Narasi
BST seperti rak buku:
- Kiri β buku lebih kecil
- Kanan β buku lebih besar
πΉ D. Balanced Tree
8
π Konsep
Tree dengan tinggi seimbang agar operasi lebih efisien.
π 5. Operasi pada Tree
π Tabel Operasi
| Operasi | Deskripsi |
|---|---|
| Insertion | Menambah node |
| Deletion | Menghapus node |
| Searching | Mencari node |
| Traversal | Mengunjungi node |
π 6. Tree Traversal (Penelusuran Tree)
πΉ A. Preorder (Root β Left β Right)
6
π§ Narasi
Root dikunjungi terlebih dahulu.
πΉ B. Inorder (Left β Root β Right)
7
π§ Narasi
Hasil BST dengan inorder akan terurut.
πΉ C. Postorder (Left β Right β Root)
5
π§ Narasi
Root dikunjungi terakhir.
βοΈ 7. Kompleksitas Operasi Tree
π Tabel Kompleksitas
| Operasi | BST Seimbang | BST Tidak Seimbang |
|---|---|---|
| Search | O(log n) | O(n) |
| Insert | O(log n) | O(n) |
| Delete | O(log n) | O(n) |
π§ 8. Kelebihan Tree
π Narasi
Tree sangat penting karena:
- Menyimpan data secara hierarki
- Efisien untuk pencarian (BST)
- Digunakan dalam database dan indexing
β οΈ 9. Kekurangan Tree
π Tabel
| Kekurangan | Penjelasan |
|---|---|
| Kompleks | Sulit diimplementasikan |
| Tidak linear | Lebih sulit dipahami |
| Tidak selalu seimbang | Bisa menurunkan performa |
π§ͺ 10. Studi Kasus Nyata
π File System
- Folder β parent node
- File β leaf node
π Database Indexing
- MySQL & PostgreSQL menggunakan B-Tree untuk mempercepat query
π» 11. Implementasi Sederhana BST (C++)
struct Node {
int data;
Node* left;
Node* right;
};Node* createNode(int value){
Node* newNode = new Node();
newNode->data = value;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
π 12. Ringkasan Materi
- Tree adalah struktur data hierarki
- Memiliki root, parent, child, leaf
- Jenis utama: binary tree, BST, balanced tree
- Traversal: preorder, inorder, postorder
- Digunakan dalam sistem nyata seperti database dan file system
π 13. Latihan / Diskusi
βοΈ Soal Teori
- Jelaskan pengertian tree
- Apa itu BST?
- Bedakan preorder, inorder, postorder
π» Soal Praktikum
- Buat struktur node tree
- Implementasikan traversal inorder
- Tambahkan node ke BST
π― Penutup
Tree adalah struktur data penting untuk representasi data hierarki dan pencarian efisien, serta menjadi dasar:
- Database indexing
- Artificial intelligence
- File system