TREE Oleh : Neny silvia Nurhidayah Afny wilujeng Setyorini

Slides:



Advertisements
Presentasi serupa
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009
Advertisements

Tree Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layaknya struktur sebuah pohon. Struktur pohon adalah suatu.
STRUKTUR DATA (10) tree manipulation
JULIAN ADINATA PAUL JHONATAN UKEU PUTRI ROMLI MAULANA
Pertemuan 8 STRUKTUR POHON (TREE).
BAB 9 TREE Tujuan Instruksional Umum:
STRUKTUR DATA TREE (POHON)
7 POHON BINER BAB Definisi Pohon dan Pohon Biner
By : Fitroh Amaluddin & Galih Wasis W.
Algoritma dan Struktur Data
Pertemuan 9 STRUKTUR POHON (TREE) IMAM SIBRO MALISI NIM :
Implementasi Binary Tree
Tree Yuliana S.
STRUKTUR DATA GRAPH dan DIGRAPH
Binary Tree Rangga Juniansyah.
Operasi pada pohon biner
Pertemuan 6 TREE & BINARY TREE
Penelusuran Bab 7 Pohon Biner 219.
Algoritma dan Struktur Data
ADT Tree 2007/2008 – Ganjil – Minggu 8.
Binary Search Tree 2007/2008 – Ganjil – Minggu 9.
Tenia Wahyuningrum, S.Kom. MT
STRUKTUR DATA tree manipulation
BINARY TREE Universitas Ahmad Dahlan
1 Pertemuan Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Algoritma dan Struktur Data
Tree. Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut.
Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1
Organisasi Berkas Sekuensial Berindeks
Struktur Data Tree Eka Rahayu S. (2 Agustus 2011).
Binary Tree.
POHON / TREE.
Menggambar Tree wijanarto.
Defri Kurniawan POHON DAN POHON BINER Defri Kurniawan
TREE STRUCTURE (Struktur Pohon)
STRUKTUR DATA Chapt 6 : TREE Oleh : Yuli Praptomo PHS, S.Kom.
Struktur Data Binary Search Tree (BST)
STRUKTUR POHON ( BINER )
Pohon dan Pohon Biner Anifuddin Azis.
PohonBiner Rachmansyah, S.Kom..
Diagram Pohon (Tree Diagram)
Struktur pohon dan kunjungan pohon biner
Manipulasi Tree.
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
STRUKTUR DATA Tree (Struktur Pohon).
Tree (POHON).
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
NAMA : SITI HAJAR NIM : UNIT : B NO.HP :0852 –
STRUKTUR DATA 2014 M. Bayu Wibisono.
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
POHON (TREE) Pertemuan 6.
Manipulasi Tree.
Tree.
Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
TREE (POHON).
Parts of a Tree.
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
Tree (Pohon).
POHON Pohon (Tree) merupakan graph terhubung tidak berarah dan tidak mengandung circuit. Contoh: (Bukan) (Bukan) (Bukan)
Oleh Shoffin Nahwa Utama, S.Kom
BINARY SEARCH TREE (BST)
IT234 Algoritma dan Struktur Data
Tree.
IT234 Algoritma dan Struktur Data
Pohon Biner.
Algoritma dan Struktur Data
HEAP Bella Wulan N. | Ester Prenatalia A. Mutiara Fitri T. | Risang Nihapsari Purwaning M.S KOMSI 2018 DEFINISI HEAP ALGORITMA HEAP.
IT234 Algoritma dan Struktur Data
5 11/18/2018.
Transcript presentasi:

TREE Oleh : Neny silvia Nurhidayah Afny wilujeng Setyorini Ika Khoirun N. Indah Nur alifia

TREE merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen. Tree secara bentuk menyerupai sebuah pohon, yang terdiri dari  serangkaian Node (simpul) yangsaling berhubungan. Sesuai konvensi ilmu komputer, tree bertumbuh ke bawah, tidak sepertipohon di dunia nyata yang tumbuh ke atas

Structur Tree Root adalah node yang memiliki hirarki tertinggi. Semua node dapat ditelusuri dari root. R ,S dan T adalah Internal Node Level dari sebuah node adalah ukuran jarak node tersebut terhadap akar X merupakan node induk(parent) dari Y dan Z Y dan Z merupakan node anak (Child) dari X Node yang dibawah Root adalah Subtree(cabang). leaf (daun)  adalah Sebuah node yang tidak memiliki anak.

ISTILAH DALAM TREE  Prodecessor : node yang berada diatas node tertentu.  Successor : node yang berada di bawah node tertentu.  Ancestor : seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama.  Descendant : seluruh node yang terletak sesudah node tertentu dan terletak pada jalur yang sama.  Parent : predecssor satu level di atas suatu node.  Child : successor satu level di bawah suatu node.  Sibling : node-node yang memiliki parent yang sama dengan suatu node.  Subtree : bagian dari tree yang berupa suatu node beserta descendantnya dan memiliki semua karakteristik dari tree tersebut.  Size : banyaknya node dalam suatu tree.  Height : banyaknya tingkatan/level dalam suatu tree.  Root : satu-satunya node khusus dalam tree yang tak punya predecssor.  Leaf : node-node dalam tree yang tak memiliki seccessor.  Degree : banyaknya child yang dimiliki suatu node.

Binary Tree Deklarasi Tree Suatu tree dimana tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Pada pohon biner, umumnya kedua node anak disebut dengan posisinya, yaitu Kiri dan kanan . Deklarasi Tree struct node { int data; //menyimpan nilai node struct node *left; struct node *right;}; // kiri dan kanan bertipe left right label a a b c b c

Jenis binary tree: Full Binary Tree Complete Binary Tree Incomplete Binary Tree (Unbalanced Tree)  Skewed Binary Tree

Full Binary Tree Semua node (kecuali leaf) memiliki nol atau 2 anak dan tiap subtree memiliki panjang path yang sama.

Complete Binary Tree mirip dengan full binary tree,tapi tiap subtree boleh memiliki panjang path yang berbeda dan tiap node (kecuali leaf) memiliki 2 anak Seluruh node pada level N-1 terisi seluruhnya dan pada level N node yangkosong adalah node kanan

Full Binary Tree Binary tree yang semua nodenya (kecuali leaf) hanya memiliki satu anak.

Operasi-operasi pada Tree Create: membentuk sebuah tree baru yang kosong. Clear: menghapus semua elemen tree. Empty: mengetahui apakah tree kosong atau tidak. Insert: menambah node ke dalam Tree secara rekursif. Find: mencari node di dalam Tree secara rekursif sampai node tersebut ditemukan dengan menggunakan variable bantuan ketemu. Syaratnya adalah tree tidak boleh kosong. Traverse: yaitu operasi kunjungan terhadap node-node dalam pohon dimana masing-masing node akan dikunjungi sekali. Count: menghitung jumlah node dalam Tree Height : mengetahui kedalaman sebuah Tree Find Min dan Find Max : mencari nilai terkecil dan terbesar pada Tree Child : mengetahui anak dari sebuah node (jika punya)

Menambahkan Node Pada Tree 1. Jika pohon kosong, maka node baru ditempatkan sebagai akar pohon 2. Jika pohon tidak kosong, maka dimulai dari node akar, dilakukan proses pengecekan berikut: a. Jika nilai node baru lebih kecil dari nilai node yang sedang dicek, maka lihat ke kiri node tersebut. Jika kiri node tersebut kosong (belum memiliki kiri), maka node baru menjadi kiri node yang sedang dicek. Seandainya kiri node sudah terisi, lakukan kembali pengecekan a dan b terhadap node kiri tersebut. Pengecekan ini dilakukan seterusnya hingga node baru dapat ditempatkan. 5 Menambahkan node baru nilai 5 : 10 6 8 5 3

b. Jika nilai node baru lebih besar dari nilai node yang sedang dicek, maka lihat ke kanan nodet ersebut. Jika kanan node tersebut kosong (belum memiliki kanan), maka node baru menjadikanan node yang sedang dicek. Seandainya kanan node sudah terisi, lakukan kembali pengecekan  a dan b terhadap node kanan tersebut. Pengecekan ini dilakukan seterusnya hingga node baru dapat ditempatkan 11 Menambahkan node baru nilai 11 : 10 6 8 5 3 11

Proses penambahan ini diimplementasikan secara rekursif pada fungsi berikut: Variabel **root menunjukkan node mana yang sedang dicek saat ini, untuk itu saat pemanggilanfungsi ini, variabel **root kita beri nilai pointer yang menunjuk ke node akar, yaitu pohon

Membaca dan Menampilkan Node Pada Tree Untuk membaca dan menampilkan seluruh node yang terdapat pada pohon biner, terdapat 3 macam cara, atau yang biasa disebut kunjungan (visit). Kunjungan Pre-Order Kunjungan In-Order Kunjungan Post-Order

1.Kunjungan Pre-Order Kunjungan pre-order dilakukan mulai dari akar pohon, dengan urutan: Cetak isi (data) node yang sedang dikunjungi Kunjungi kiri node tersebut Jika kiri bukan kosong (tidak  NULL) mulai lagi dari langkah pertama, terapkan untuk kiri tersebut. Jika kiri kosong (NULL), lanjut ke langkah ketiga. 3. Kunjungi kanan node tersebut, Jika kanan bukan kosong (tidak NULL ) mulai lagi dari langkah pertama, terapkan untuk kanan tersebut. Jika kanan kosong (NULL), proses untuk node ini selesai, tuntaskan proses yang samauntuk node yang dikunjungi sebelumnya.

2.Kunjungan In-Order 1.Kunjungi kiri node tersebut, Jika kiri bukan kosong (tidak NULL) mulai lagi dari langkah pertama, terapkan untuk kiritersebut. Jika kiri kosong (NULL), lanjut ke langkah kedua. 2. Cetak isi (data) node yang sedang dikunjungi 3. Kunjungi kanan node tersebut, Jika kanan bukan kosong (tidak NULL) mulai lagi dari langkah pertama, terapkan untuk kanan tersebut.  Jika kanan kosong (NULL), proses untuk node ini selesai, tuntaskan proses yang samauntuk node yang dikunjungi sebelumnya.

3.Kunjungan Post-Order 1. Kunjungi kiri node tersebut, •Jika kiri bukan kosong (tidak NULL ) mulai lagi dari langkah pertama, terapkan untuk kiri tersebut. •Jika kiri kosong ( NULL), lanjut ke langkah kedua. 2. Kunjungi kanan node tersebut, •Jika kanan bukan kosong (tidak  NULL ) mulai lagi dari langkah pertama, terapkan untuk  kanan tersebut. •Jika kanan kosong (NULL), lanjut ke langkah ketiga. 3. Cetak isi (data) node yang sedang dikunjungi. Proses untuk node ini selesai, tuntaskan proses yang sama untuk node yang dikunjungi sebelumnya GDBHIEFCA

Searching in Tree Pencarian dilakukan secara rekursif, dimulai dari node root, jika data yang dicari lebih kecil daripada data node root, maka pencarian dilakukan di sub node sebelah kiri, sedangkan jika data yang dicari lebih besar daripada data node root, maka pencarian dilakukan di sub node sebelah kanan, jika data yang dicari sama dengan data suatu node berarti kembalikan node tersebut dan berarti data ditemukan.

Keterangan Searching Root = 6 dan 8 > 6, maka akan dicari di sub node bagian kanan root. Root = 10 dan 8 < 10, maka akan dicari di sub node bagian kiri root. Root = 7 dan 8 > 7, maka akan dicari di sub node bagian kanan root. Root = 8, berarti 8 = 8, maka akan dikembalikan node tersebut dan dianggap ketemu!

Jumlah Node Tree Penghitungan jumlah node dalam tree dilakukan dengan cara mengunjungi setiap node, dimulai dari root ke subtree kiri, kemudian ke subtree kanan dan masing-masing node dicatat jumlahnya, dan terakhir jumlah node yang ada di subtree kiri dijumlahkan dengan jumlah node yang ada di subtree kanan ditambah 1 yaitu node root.

Kedalaman (height) Node Tree Penghitungan kedalaman dihitung dari setelah root, yang dimulai dari subtree bagian kiri kemudian ke subtree bagian kanan. Untuk masing-masing kedalaman kiri dan kanan akan dibandingkan, jika ternyata subtree kiri lebih dalam, maka yang dipakai adalah jumlah kedalaman subtree kiri, demikian sebaliknya. Hal ini didasarkan pada prinsip binary tree, dimana tree-nya selalu memiliki maksimal 2 node anak.

Sekian