Anda di halaman 1dari 13

MAKALAH STRUKTUR DATA

TREE (POHON)

DISUSUN OLEH :

KELOMPOK 4
1. ZAINNANUR (160170066)
2. MAULANA AMRI (160170072)
3. JIHAN TAMARA PUTRI S (160170073)
4. MARTUNIS (160170077)
5. SANASRI (160170078)

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS MALIKUSSALEH
TAHUN AJARAN 2017/2018
Abstrak
DAFTAR ISI
DAFTAR PROGRAM
BAB I
PENDAHULUAN

1.1 Latar Belakang


Tree merupakan salah satu bentuk struktur data non-linear yang
menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara
elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu
elemen khusus yang disebut Root dan node lainnya terbagi menjadi himpunan-
himpunan yang saling tak berhubungan satu sama lainnya (disebut subtree).
Tree juga adalah suatu graph yang cyclic, simple, connected yang tidak
mengandung loop. Sebuah Binary Search Tree (BST) adalah sebuah pohon biner
yang boleh kosong, dan setiap node nya harus memiliki identifier/value. Value pada
semua node subpohon sebelah kiri adalah selalu lebih kecil dari value pada root,
sedangkan value subpohon disebelah kanan adalah sama atau lebih besar dari value
pada root, masing-masing subpohon tersebut (kiri&kanan) itu sendiri adalah juga
BST.
Struktur data BST sangat penting dalam struktur pencarian, misalkan dalam
kasus pencarian dalam sebuah list, jika list sudah dalam keadaan terurut maka
proses pencarian akan sangat cepat, jika kita menggunakan list contigue dan
melakukan pencarian biner. Akan tetapi, jika kita ingin melakukan perubahan isi
list (insert atau delete), menggunakan list contigue akan sangat lambat, karena
proses insert dan delete dalam list contigue butuh memindahkan banyak elemen
setiap saat. Mungkin kita juga bisa menggunakan linked-list, yang untuk operasi
insert atau delete tinggal mengatur-atur pointer, akan tetapi pada n-linked list, kita
tidak bisa melakukan pointer sembarangan setiap saat, kecuali hanya satu kali
dengan kata lain hanya secara sequential.
1.2 Tujuan Penulisan
1. Memahami tentang Tree dan Struktur Tree
2. Memahami tentang Binary Tree
3. Mengetahui Penomoran Node Pohon Biner
4. Memahami tentang Operasi Pada Pohon Biner
5. Memahami tentang Proses Inisialisasi
6. Mengetahui cara Membaca Binary Tree
7. Mengetahui cara Kunjungan pada Pohon Biner
8. Mengetahui Aplikasi Pohon Biner

1.3 Manfaat Penulisan


Penulis membuat makalah ini agar dapat bermanfaat bagi pembaca, terutama bagi
penulis sendiri. Manfaat tersebut antara lain, dapat membantu mahasiswa untuk
lebih memahami dasar-dasar dan operasi pada Tree ataupun Binary Tree dalam
mata kuliah struktur data, dapat mengerjakan soal-soal tentang Tree ataupun Binary
Tree, dan dapat membuat program yang berguna tentang Tree ataupun Binary Tree.
BAB II
PEMBAHASAN

2.1 Struktur Tree


Tree merupakan struktur data non-linear. Struktur data dalam bentuk pohon
(tree) dapat diartikan sebuah struktur data yang secara bentuk menyerupai sebuah
pohon, yang terdiri dari serangkaian simpul (node) yang saling berhubungan.
Simpul-simpul atau node tersebut dihubungkan oleh sebuah vektor. Setiap simpul
dapat memiliki 0 atau lebih node anak (child). Sebuah node yang memiliki node
anak disebut node induk (parent). Sebuah node anak hanya memiliki satu node
induk. Sesuai konvensi ilmu komputer, tree bertumbuh kebawah, dengan demikian
node anak akan digambarkan berada di bawah node induknya. Node yang berada
dipangkal tree disebut node akar (root), sedangkan node yang berada paling ujung
pada piramida tree disebut node daun (leaf).

Semua bulatan disebut simpul (node).


Node G adalah node induk dari H,I,J.
Node H,I,J adalah node anak dari G.
Akar (root) adalah simpul yang tidak memiliki superordinat. Untuk pohon
yang dicontohkan diatas, maka root adalah node A.
Daun (leaf) adalah simpul yang tidak memiliki subordinat. Untuk pohon
yang dicontohkan diatas, maka leafadalah node D,E,F,H,I,J.
1. Superordinat dan Subordinat

 Node B merupakan superordinat node E dan node F.


 Node E dan F mempunyai superordinat yang sama yaitu node B.
 Node B memiliki subordinat, yaitu node E (left child) dan F (right child).
 Node E dan node F merupakan subordinat simpul B.
2. Tingkat (Level) dan Kedalaman (Depth)

 Tingkat (Level)
Root dinyatakan berada pada level 0 (namun ada juga di beberapa buku
literatur lain menyebutnya level 1).
 Kedalaman (Depth)
Tree yang mempunyai posisi paling atas atau level teratas.
3. Derajat (Degree) Sebuah Node

Degree pada sebuah node menyatakan jumlah subordinat dari node tersebut.
Untuk tree yang dicontohkan pada gambar di atas:
 Node A : degree = 3
 Node B : degree = 2
 Node C : degree = 0
 Node D : degree = 3

2.2 Binary Tree (Pohon Biner)


Pohon biner adalah sebuah tree yang pada masing-masing simpulnya hanya dapat
memiliki maksimum 2(dua) simpul anak, tidak boleh lebih. Pada pohon biner, umumnya
kedua node anak (child) disebut dengan posisinya, yaitu subordinat kiri (left child) dan
subordiat kanan (right child).

1. Pohon Biner dengan Depth 3


2. Stricly Binary Tree
Stricly Binary Tree adalah pohon biner yang semua node-nya (kecuali simpul leaf)
mempunyai lengkap node subordinat kiri dan node subordinat kanan.

Sebuah strictly binary tree bila mempunyai n leaf maka akan mempunyai 2n-1 buah
node. Perhatikan contoh gambar strictly binary tree di atas, maka dapat dihitung:
Jumlah leaf : 8
Jumlah node : 2*8-1 = 15

3. Completely Binary Tree


Completely Binary Tree dengan depth = d adalah pohon biner strictly binary tree,
dimana semua leaf hanya berada pada level d. Maka, pada completely binary tree
berlaku :
 Pada level k jumlah node…………………………………………………....:n = 2^k
 Untuk tree dengan depth d, maka jumlah node ……………...………: n = 2^(d+1)-1
 Untuk tree dengan depth d, maka jumlah node leaf………………………..: n = 2^d
 Untuk tree dengan depth d, maka jumlah node bukan leaf……………...:n = (2^d)-1
 Bila jumlah node seluruh node = n, maka depth tree adalah……….:d = log2(n+1)-1
Completely Binary Tree dengan depth=d, memiliki ciri-ciri :
 Setiap node yang berada dibawah d-1, memiliki dua subordinat.
 Jika pada level d-1 subtree kanan ada node yang mempunyai subordinat,
maka setiap node pada level d-1 subtree kiri harus memiliki subordinat kiri
dan kanan.

4. Balanced Binary Tree


Balanced Binary Tree (pohon biner seimbang) atau biasa disebut dengan pohon
AVL adalah pohon biner yang ketinggian subtree kiri dan subtree kanan untuk
setiap node superordinat paling banyak selisih 1.
2.3 Penomoran Node Pohon Biner
Untuk melakukan konvensi telah disepakati cara penomoran setiap node
dalam binary tree sebagai berikut :
 Jika sebuah node bernomor n, maka subordinat kiri bernomor 2n dan subordinat
kanan bernomor 2n+1.
 Node root diberi nomor 1.

Dengan mengetahui dari nomor setiap node maka sebuah binary tree dapat di
representasikan ke dalam sebuah array satu dimensi.

Dengan menggunakan penomoran diatas, maka untuk menyimpan sebuah binary


tree dengan depth = d, perlu disiapkan array satu dimensi dengan jumlah elemen
minimal sebanyak 2^(d+1)-1 elemen.

Contoh: untuk d = 3 perlu disiapkan minimal 2^4 = 16 elemen.


Misal dengan int[16];
2.4 Operasi pada Pohon Biner

Anda mungkin juga menyukai