MODUL PRAKTIKUM STRUKTUR DATA

dokumen-dokumen yang mirip
ALGORITMA DAN STRUKTUR DATA

BAB IX TREE (POHON) ISTILAH DASAR

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

A B C E F G K Contoh Tree

Syarif Abdullah (G )

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

Tree (Struktur Data) Nisa ul Hafidhoh, MT

STRUKTUR POHON & KUNJUNGAN POHON BINER

IT234 Algoritma dan Struktur Data. Tree

TREE STRUCTURE (Struktur Pohon)

Pohon dan Pohon Biner

Algoritma dan Struktur Data. Tree

MODUL PRAKTIKUM STRUKTUR DATA

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

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

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

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

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

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Struktur Data Tree/Pohon dalam Bahasa Java

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

METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE

Soal Pendahuluan Modul 3

KUM 6 IMPLEMENTASI BINARY TREE

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

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

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

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

Pemodelan dan Pengelolaan Data Klasifikasi Tanaman Menggunakan Pohon

TREE. Definisi. Istilah-istilah Umum dalam Tree

Pemrograman Algoritma Dan Struktur Data

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

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

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

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

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

13/12/2013. Binary Tree. Contoh Tree

JAWABAN TUGAS MATRIKULASI STRUKTUR DATA. DOSEN Bpk. Krisna Adiyarta, M.Sc

Algoritma dan Struktur Data. Linear & Binary Search Tree

BAB XI Manipulasi Binary Tree

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

Organisasi Berkas Sekuensial Berindeks

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

6. TREE / BINARY TREE

BAB VII POHON BINAR POHON

Buku Ajar Struktur Data

Binary Search Tree (BST)

MODUL PRAKTIKUM STRUKTUR DATA

Struktur Data & Algoritma

Konsep Pohon (Tree) Binary Tree Penyajian Tree dengan Array Penyajian Tree dengan Linked List Metode Traversal (Kunjungan Node pada Tree)

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan

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

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

Pohon Biner (Bagian 1)

Algoritma Pemrograman & Struktur Data

DIG1G3 Implementasi Struktur Data

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

Politeknik Elektronika Negeri Surabaya

Struktur Data & Algoritma

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

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

Variasi Pohon Pencarian Biner Seimbang

Koleksi Hirarkis Tree

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Linked List 6.3 & 7.3 NESTED LOOP

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

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

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

ALGORITMA DAN STRUKTUR DATA

Politeknik Elektronika Negeri Surabaya

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

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

STRUKTUR DATA. Literatur

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Pohon Biner dan Aplikasinya

Membuat Binary Search Tree Menggunakan STL Vector C++

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

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

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

ANALISIS ALGORITMA BINARY SEARCH

Struktur Data dan Algoritma

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

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

Algoritma Pemrograman & Struktur Data

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

Praktikum Algoritma dan Struktur Data

Red-Black Tree Deletion. Rules for BST Deletion. Tujuan Top-Down Deletion. Terminology. Men-delete X dari BST: Men-delete X dari RB Trees: No problem

Penerapan BFS dan DFS dalam Garbage Collection

BUANA. Distribusi 01 September 2017

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

Transkripsi:

MODUL PRAKTIKUM STRUKTUR DATA TREE (POHON) Oleh : SUPRAPTO, S.Kom PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PGRI RONGGOLAWE (UNIROW) TUBAN 2012/2013

MODUL V TREE (POHON) 5.1. TREE (POHON) Struktur pada tree (pohon) tidak linear seperti pada struktur linked list, stack, dan queue. Setiap node pada tree mempunyai tingkatan, yaitu orang tua (parent) dan anak (child). Struktur ini sebenarnya merupakan bentuk khusus dari struktur tree yang lebih umum, setiap orang tua hanya memiliki dua anak sehingga disebut pohon biner (binary tree), yaitu anak kiri dan anak kanan. Untuk lebih jelasnya, dibawah ini akan diuraikan istilah-istilah umum dalam tree. Predecessor : node yang berada di atas node tertentu Successor : node yang dibawah node tertentu Ancestor : seluruh node yang terletak sebelum node tertentu dan terletak sesudah pada jalur yang sama Descendant : seluruh node yang terletak sesudah node tertentu dan terletak sesudah pada jalur yang sama Parent : predecessor satu level diatas suatu node Child : successor satu level dibawah 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 tidak mempunyai predecessor Leaf : node-node dalam tree yang tidak memiliki successor Degree : banyaknya child yang dimiliki suatu node

5.2. Jenis-jenis Tree Full Binary Tree Jenis binary tree ini tiap nodenya (kecuali leaf) memiliki dua child dan tiap subtree harus mempunyai panjang path yang sama. Complete Binary Tree Jenis ini mirip dengan Full Binary Tree, namun tiap subtree boleh memiliki panjang path yang berbeda dan setiap node kecuali leaf hanya boleh memiliki 2 child. Skewed Binary Tree Skewed Binary Tree adalah Binary Tree yang semua nodenya (kecuali leaf) hanya memiliki satu child. Implementasi Binary Tree Binary tree dapat diimplementasikan dalam C++ dengan menggunakan double linkedlist. 5.3. Operasi-operasi pada Binary Tree Create Membentuk binary tree baru yang masih kosong Clear Mengosongkan binary tree yang sudah ada Empty Function untuk memeriksa apakah binary tree masih kosong Insert Memasukkan sebuah node ke dalam tree. Ada tiga pilihan insert : sebagai root, left child, atau right child. Khusus insert sebagai root, tree harus dalam keadaan kosong Find Mencari root, parent, left child, atau right child dari suatu node. (tree tidak boleh kosong). Update Mengubah isi dari node yang ditunjuk oleh pointer curret (Tree tidak boleh kosong) Retrieve Mengetahui isi dari node yang ditunjuk oleh pointer current (Tree tidak boleh kosong) DeleteSub Menghapus sebuah subtree (node beserta seluruh descendantnya) yang ditunjuk current. Tree tidak boleh kosong. Setelah itu, pointer current dakan berpindah ke parent dari node yang dihapus. Characteristic Mengetahui karakteristik dari suatu tree, yakni: size, height, serta average length. Tree tidak boleh kosong.

Traverse Mengunjungi seluruh node-node pada tree, masing-masing sekali. Hasilnya adalah urutan informasi secara linear yang tersimpan dalam tree. Ada tiga cara traverse,yaitu PreOrder, InOrder, dan PostOrder. Langkah-langkah Tranverse : PreOrder : cetak isi node yang dikunjungi, kunjungi Left Child, kunjungi Right Child InOrder : kunjungi Left Child, cetak isi node yang dikunjungi, kunjungi Right Child PostOrder : kunjungi Left Child, kunjungi Right Child cetak isi node yang dikunjungi. 5.4. Binary Search Tree Binary Tree ini memiliki sifat dimana semua left child harus lebih kecil dari pada right child dan parentnya. Semua right child juga harus lebih besar dari left child serta parentnya. Binary search tree dibuat untuk mengatasi kelemahan pada binary tree biasa, yaitu kesulitan dalam searching / pendarian node tertentu dalam binary tree. Pada dasarnya operasi dalam Binary Search Tree sama dengan Binary Tree biasa, kecuali pada operasi insert, update, dan delete. Insert Pada Binary Search Tree insert dilakukan setelah lokasi yang tepat ditemukan (lokasi tidak ditentukan oleh user sendiri ). Update Update ini seperti yang ada pada Binary Tree biasa, namun di sini update akan berpengaruh pada posisi node tersebut selanjutnya. Bila update mengakibatkan tree tersebut bukan Binary Search Tree lagi, harus dilakukan perubahan pada tree dengan melakukan rotasi supaya tetap menjadi Binary Search Tree. Delete Seperti halnya update, delete dalam Binary Search Tree juga turut mempengaruhi struktur dari tree tersebut.

AVL Tree AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi/ level maksimal 1 antara subtree kiri dan subtree kanan. AVL Tree muncul untuk menyeimbangkan Binary Search Tree. Dengan AVL Tree, waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan. Selain AVL Tree, terdapat pula Height Balanced n Tree, yakni Binary Search Tree yang memiliki perbedaan level antara subtree kiri dan subtree kanan maksimal adalah n sehingga dengan kata lain AVL Tree adalah Height Balanced 1 Tree. Untuk memudahkan dalam menyeimbangkan tree, digunakan simbol-simbol Bantu : - (tanda minus) : digunakan apabila Subtree kiri lebih panjang dari Subtree kanan. + (tanda plus) : digunakan apabila Subtree kanan lebih panjang dari Subtree kiri. 0 (nol) : digunakan apabila Subtree kiri dan Subtree kanan mempunyai height yang sama. Latihan 1 program tree.cpp #include <stdio.h> #include <malloc.h> struct nod { struct nod *left; char data; struct nod *right; ; typedef struct nod NOD; typedef NOD POKOK; NOD *NodBaru(char item) { NOD *n; n = (NOD*) malloc(sizeof(nod)); if(n!= NULL) { n->data = item; n->left = NULL; n->right = NULL; return n; void BinaPokok(POKOK **T) { *T = NULL; typedef enum { FALSE = 0, TRUE = 1 BOOL; BOOL PokokKosong(POKOK *T) {

return((bool)(t == NULL)); void TambahNod(NOD **p, char item) { NOD *n; n = NodBaru(item); *p = n; void preorder(pokok *T) { if(!pokokkosong(t)) { printf("%c ", T->data); preorder(t->left); preorder(t->right); void inorder(pokok *T) { if(!pokokkosong(t)) { inorder(t->left); printf("%c ", T->data); inorder(t->right); void postorder(pokok *T) { if(!pokokkosong(t)) { postorder(t->left); postorder(t->right); printf("%c ", T->data); int main() { POKOK *kelapa; char buah; BinaPokok(&kelapa); TambahNod(&kelapa, buah = 'M'); TambahNod(&kelapa->left, buah = 'E'); TambahNod(&kelapa->left->right, buah = 'I'); TambahNod(&kelapa->right, buah = 'L'); TambahNod(&kelapa->right->right, buah = 'O'); TambahNod(&kelapa->right->right->left, buah = 'D'); printf("tampilan secara PreOrder: "); preorder(kelapa); printf("\ntampilan secara InOrder: "); inorder(kelapa); printf("\ntampilan secara PreOrder: "); postorder(kelapa); printf("\n\n"); return 0;

A. Tugas Pendahuluan : 1. Buatlah Tree dari deret abjad di bawah ini dan tentuakan standard tree F, G, H, I, J, K, L, M, N. 2. Buatlah tree dari angka 18, 10, 25, 5, 14, 21, 33, 6, 7, 38. 3. Jelaskan pengertian Tree serta perbedaannya dengan Binary Tree. 4. Sebutkan dan jelaskan jenis kunjungan yang terdapat pada binary tree. 5. Bagaimana kunjungan secara Preorder, Inorder dan Postorder? Jelaskan dan beri contoh. B. Tugas Praktikum 1. Buatlah program untuk menampilkan node baru ke dalam pohon dengan menggunakan prosedur preorder, inorder, dan postorder. Sehingga akan didapatkan hasil : Tampilan secara PreOrder : R A S I T E Tampilan secara InOrder : I S T A R E Tampilan secara PostOrder : I T S A E R 2. Buatlah program untuk menampilkan contoh gambar dibawah C. BUAT LAPORAN PRAKTIKUM MODUL 5