IT234 Algoritma dan Struktur Data. Tree

dokumen-dokumen yang mirip
DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

Tenia Wahyuningrum, S.Kom. MT Sisilia Thya Safitri, S.T.,M.T.

MODUL PRAKTIKUM STRUKTUR DATA

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

KUM 6 IMPLEMENTASI BINARY TREE

TREE STRUCTURE (Struktur Pohon)

Pohon dan Pohon Biner

Tree (Struktur Data) Nisa ul Hafidhoh, MT

ALGORITMA DAN STRUKTUR DATA

13/12/2013. Binary Tree. Contoh Tree

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Tree. Perhatikan pula contoh tree di bawah ini : Level. Level 2. Level 3. Level 4. Level 5

Algoritma dan Struktur Data. Linear & Binary Search Tree

Politeknik Elektronika Negeri Surabaya

Soal Pendahuluan Modul 3

Buku Ajar Struktur Data

BAB IX TREE (POHON) ISTILAH DASAR

Algoritma dan Struktur Data. Tree

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree)

HEAP. Heap dan Operasinya. Oleh Andri Heryandi

BAB XI Manipulasi Binary Tree

A B C E F G K Contoh Tree

Pemodelan dan Pengelolaan Data Klasifikasi Tanaman Menggunakan Pohon

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

MAKALAH DESAIN DAN ANALISIS ALGORITMA BINARY TREE DISUSUN OLEH : 1. Nadim Achmad ( ) 2. Dzurratul Ulya ( )

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW ( Download Dari :

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

Pemrograman Algoritma Dan Struktur Data

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

STRUKTUR POHON & KUNJUNGAN POHON BINER

Struktur Data & Algoritma

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Struktur Data dan Algoritma

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen

6. TREE / BINARY TREE

Algoritma dan Struktur Data. Click to edit Master subtitle style Konsep Tree

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 10 & 11

ANALISIS ALGORITMA BINARY SEARCH

Organisasi Berkas Sekuensial Berindeks

Syarif Abdullah (G )

Pohon Biner (Bagian 1)

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

DEFINISI. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon 2

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

JURUSAN SISTEM INFORMASI

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

Politeknik Elektronika Negeri Surabaya

Penerapan Pohon Dalam Heap Sort

Struktur Data Tree/Pohon dalam Bahasa Java

METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE

Koleksi Hirarkis Tree

Definisi. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

Binary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree

Struktur Data & Algoritma

Praktikum Algoritma dan Setruktur Data

TREE. Definisi. Istilah-istilah Umum dalam Tree

Binary Search Tree (BST)

Algoritma Pemrograman & Struktur Data

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

KONSEP POINTER DAN LINKED LIST

PENCARIAN KITAB BESERTA PASAL PADA ALKITAB BERDASARKAN KATA DENGAN MENGGUNAKAN STRUKTUR DATA TRIE

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

KONSEP POINTER DAN LINKED LIST

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

Binary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree

Pohon. Bahan Kuliah IF2120 Matematika Diskrit. Program Studi Teknik Informatika ITB. Rinaldi M/IF2120 Matdis 1

Data Structure TREE & BINARY TREE. Chapter 5b. Dahlia Widhyaestoeti, S.Kom

TUGAS MAKALAH INDIVIDUAL. Mata Kuliah : Matematika Diskrit / IF2153 Nama : Dwitiyo Abhirama NIM :

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Definisi. Pohon adalah graf tak-berarah, terhubung, dan tidak mengandung sirkuit. pohon pohon bukan pohon bukan pohon (ada sikuit) (tdk terhubung)

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

MODUL PRAKTIKUM STRUKTUR DATA. Dosen Pengampu M.Bahrul Ulum, S.Kom., M.Kom. Asisten Lab Mia Kastina PROGRAM STUDI TEKNIK INFORMATIKA

BAB VII POHON BINAR POHON

Pohon (TREE) Matematika Deskrit. Hasanuddin Sirait, MT 1

STRUKTUR DATA. Literatur

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

SORTING (Pengurutan)

Matematika Diskret (Pohon) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Array VS Linked List

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS

Modul 4: Iteratif & Rekursif, Binary Tree

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

MODUL PRAKTIKUM STRUKTUR DATA

Pertemuan 9 STRUKTUR POHON (TREE) Sifat utama Pohon Berakar ISTILAH-ISTILAH DASAR

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

Politeknik Elektronika Negeri Surabaya

Penerapan Teori Pohon Dalam Kajian Struktur Data

LIST. Dewi Sartika, M.Kom

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI

Heap Tree dan Kegunaannya dalam Heap Sort

Penerapan Pohon Untuk Memanipulasi dan Meritrieve Data

Transkripsi:

IT234 Algoritma dan Struktur Data Tree Fakultas Teknologi Informasi Universitas Kristen Satya Wacana @2008

Tree Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu cara merepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari atas ke bawah.

Tree Example

Tree Tree Statik : isi node-nodenya tetap karena bentuk pohonnya sudah ditentukan. Tree Dinamik : isi nodenya berubah-ubah karena proses penambahan (insert) dan penghapusan (delete)

Node Root Node root dalam sebuah tree adalah suatu node yang memiliki hiarki tertinggi dan dapat juga memiliki nodenode anak. Semua node dapat ditelusuri dari node root tersebut. Node root adalah node khusus yang tercipta pertama kalinya. Node-node lain di bawah node root saling terhubung satu sama lain dan disebut subtree

Terminologi Tree

Sebuah Tree

Binary Tree Binary Tree Suatu tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Binary Tree

Tipe2 Binary Tree

Tipe2 Binary Tree

Tipe2 Binary Tree

Node pada binary tree Jumlah maksimum node pada setiap tingkat adalah 2 n Node pada binary tree maksimum berjumlah 2 n -1

Implementasi Program Tree dapat dibuat dengan menggunakan linked list secara rekursif. Data yang pertama kali masuk akan menjadi node root. Data yang lebih kecil dari data node root akan masuk dan menempati node kiri dari node root, sedangkan jika lebih besar dari data node root, akan masuk dan menempati node di sebelah kanan node root.

Operasi-operasi 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. Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika lebih kecil maka akan diletakkan di node sebelah kiri. Untuk data pertama akan menjadi elemen root. Find: mencari node di dalam Tree secara rekursif sampai node tersebut ditemukan dengan menggunakan variable bantuan ketemu. Syaratnya adalah tree tidak boleh kosong.

Operasi-operasi Tree 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)

Recursive Insert void tambah(tree **root,int databaru) {if((*root) == NULL) { Tree *baru; baru = new Tree; baru->data = databaru; baru->left = NULL; baru->right = NULL; (*root) = baru; (*root)->left = NULL; (*root)->right = NULL; } else if(databaru < (*root)->data) tambah(&(*root)->left,databaru); else if(databaru > (*root)->data) tambah(&(*root)->right,databaru); else if(databaru == (*root)->data) printf("data sudah ada!"); }

Jenis Transverse PreOrder: cetak node yang dikunjungi, kunjungi left, kunjungi right (tengah, kiri, kanan) InOrder: kunjungi left, cetak node yang dikunjungi, kunjungi right (kiri, tengah, kanan) PostOrder: kunjungi left, kunjungi right, cetak node yang dikunjungi (kiri, kanan, tengah)

Ilustrasi Kunjungan

Ilustrasi Kunjungan

Ilustrasi Kunjungan 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.

Ilustrasi Searching

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.

Contoh 13 1 6 89 4 8 22 5 9 12 Dari data di atas buatlah treenya 13 1 89 6 22 4 8 5 9 12