KUM 6 IMPLEMENTASI BINARY TREE

dokumen-dokumen yang mirip
Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

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

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

IT234 Algoritma dan Struktur Data. Tree

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

Struktur Data dan Algoritma

Tree (Struktur Data) Nisa ul Hafidhoh, MT

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

TREE STRUCTURE (Struktur Pohon)

Pemrograman Algoritma Dan Struktur Data

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

Pohon dan Pohon Biner

KUM 5 IMPLEMENTASI QUEUE

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

MODUL PRAKTIKUM STRUKTUR DATA

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

KUM 3 IMPLEMENTASI LIST

Buku Ajar Struktur Data

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

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

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

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

ALGORITMA DAN STRUKTUR DATA

Struktur Data & Algoritma

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

STRUKTUR POHON & KUNJUNGAN POHON BINER

13/12/2013. Binary Tree. Contoh Tree

Algoritma dan Struktur Data. Linear & Binary Search Tree

6. TREE / BINARY TREE

Algoritma dan Struktur Data. Tree

BAB IX TREE (POHON) ISTILAH DASAR

Struktur Data Tree/Pohon dalam Bahasa Java

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

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

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

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

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Soal Pendahuluan Modul 3

Pohon Biner (Bagian 1)

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Organisasi Berkas Sekuensial Berindeks

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

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

Praktikum Algoritma dan Setruktur Data

Binary Search Tree (BST)

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE

Algoritma Pemrograman & Struktur Data

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

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

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

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

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

Struktur Data & Algoritma

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

Pemodelan dan Pengelolaan Data Klasifikasi Tanaman Menggunakan Pohon

BAB VII POHON BINAR POHON

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

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

Koleksi Hirarkis Tree

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

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

Membuat Binary Search Tree Menggunakan STL Vector C++

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

POHON CARI BINER (Binary Search Tree)

Bab 1 Pengantar Struktur Data

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

A B C E F G K Contoh Tree

Penerapan Pohon Dalam Heap Sort

STRUKTUR DATA. Literatur

HEAP. Heap dan Operasinya. Oleh Andri Heryandi

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

Modul 4: Iteratif & Rekursif, Binary Tree

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

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

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

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

Syarif Abdullah (G )

KUNJUNGAN PADA POHON BINER

BAB XI Manipulasi Binary Tree

Penerapan Pohon Untuk Memanipulasi dan Meritrieve Data

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

KKKF33110 STRUKTUR DATA

BAB IX LINKED LIST (SENARAI BERANTAI)

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

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

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

1. E = a + 2b d + dh f g. Ubah ke dalam notasi postfix: a. Menggunakan Algoritma b. Secara manual c. Dari pohon biner menggunakan Stack

Variasi Pohon Pencarian Biner Seimbang

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

Pohon (Tree) Contoh :

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Politeknik Elektronika Negeri Surabaya

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

Transkripsi:

PRAKTIKUM KUM 6 IMPLEMENTASI BINARY TREE TUJUAN PEMBELAJARAN: 1. Mengimplementasikan struktur data Binary Tree menggunakan linked list. 2. Mampu mengimplementasikan beragam operasi pada struktur data binary tree dengan Linked List. 3. Mampu melakukan pelacakan secara preorder, inorder dan post order pada binary tree. 4. Mampu memanfaatkan struktur data Binary Tree untuk menyelesaikan permasalahan. PENGANTAR: Binary Tree Sebuah binary tree adalah sebuah pengorganisasian secara hirarki dari beberapa buah simpul, dimana masing-masing simpul tidak mempunyai anak lebih dari 2. Simpul yang berada di bawah sebuah simpul dinamakan anak (child) dari simpul tersebut. Simpul yang berada di atas sebuah simpul dinamakan induk(parent) dari simpul tersebut. Masing-masing simpul dalam binary tree terdiri dari tiga bagian : sebuah data dan dua buah pointer yang dinamakan pointer kiri(left) dan kanan(right). Dengan menggunakan tiga bagian ini, kita menampilkan sebuah binary tree dengan melakukan setting pada pointer kiri dan kanan untuk menghubungkan sebuah simpul dengan anak-anaknya. Jika sebuah simpul tidak mempunyai anak pada pointer kiri atau kanan, kita melakukan setting pada pointer tersebut pada NULL, yang menunjukkan akhir dari percabangan adalah pada simpul tersebut. Sebuah percabangan adalah kumpulan dari simpul-simpul yang dimulai dari sebuah root dan diakhiri dengan sebuah simpul terakhir. Simpul terakhir (daun) adalah simpul dari tree yang tidak mempunyai anak. Gambar 6.1 Struktur Binary Tree Abdul Aziz, Jurusan Informatika FMIPA UNS 2012 1

Tabel 6.1 Terminologi Tree Gambar 6.2 Ilustrasi sebuah Pohon Biner dengan Kedalaman 3 Implementasi Binary Tree dengan Linked List Salah satu implementasi dari binary tree adalah Binary Search Tree (BST), dimana BST merupakan sekumpulan elemen yang bernilai unik, dan untuk setiap node X dalam struktur BST Nilai elemen pada sub pohon kiri (left subtree) pasti memiliki nilai yang lebih kecil dari X dan nilai elemen pada sub poon kanan(right sub tree) pasti memiliki nilai yang labih besar. BST dapat disajikan dengan beberapa cara. Dalam praktikum ini akan menggunakan linked list untuk implementasi Binary Search Tree. Linked list yang dipakai adalah double linked list non circular. Abdul Aziz, Jurusan Informatika FMIPA UNS 2012 2

Gambar 6.3 Penyajian Binary Tree dengan Double Linked List Berikut penjelasan detail mengenai implementasi Binary Search Tree dengan linked list: Terdapat setidaknya 8 operasi yakni, insert, findmin, findmax, find, remove, preorder, inorder, postorder. Proses insert dilakukan dengan mengikuti aturan sbb: o Setiap node baru akan menempati posisi sebagai daun (leaf). o Untuk insert kedalam BST dimulai dari root, jika data lebih kecil dari root, node baru harus di masukkan ke dalam left sub tree. Jika data pada node baru lebih besar dari root, node baru harus di masukkan ke dalam right sub tree. o Gunakan rekursif. Operasi findmin akan mencari nilai terkecil dari node yang ada di dalam BST dengan cara menelusuri left subtree sampai ke daun. (gunakan rekursif). Operasi findmax akan mencari nilai terbesar dari node yang ada di dalam BST dengan cara menelusuri right subtree sampai ke daun. (gunakan rekursif). Operasi find akan mencari nilai yang dicari dengan membandingkan dengan data pada root. Jika lebih kecil akan mencari di left sub tree, dan jika lebih besar cari di right sub tree. (gunakan rekursif). Operasi remove dilakukan dengan mengikuti aturan sbb: o Jika node yang dihapus berposisi sebagai daun, dengan sederhana bisa dihapus. o Jika node memiliki satu anak, maka anak tersebut akan menggantikan posisi node yang dihapus. o Jika node memiliki 2 anak [pilih salah satu]: Ganti node yang dihapus dengan node terkecil pada right sub tree. Ganti node yang dihapus dengan node terbesar pada left sub tree. Setiap elemen/node dari BST mempunyai 3 bagian yaitu bagian data yang bernilai dengan data, bagian left untuk menunjuk ke left subtree dan bagian right untuk menunjuk ke right sub tree. Dalam hal, ini setiap data dalam node bersifat unik/beda. Abdul Aziz, Jurusan Informatika FMIPA UNS 2012 3

LANGKAH PERCOBAAN 1: Langkah 1 : Definisikan langkah-langkah yang harus dikerjakan dalam setiap operasi yang tersebut diatas. Langkah 2: Mengkonversi kedalam coding untuk setiap operasinya pada kerangka kelas di bawah ini. class BinaryNode<T> { // Data member private T data; //menyimpan data node bst private BinaryNode left; // Reference ke left subtree private BinaryNode right; // Reference ke right sub tree // Konstruktor, LeftNode dan RightNode di set null BinaryNode(T d) {... } } public class BinaryTree<T> { private BinaryNode<T> root;//akar dari bst public BinaryTree() {...}//konstruktor public BinaryNode<T> insert(t x, BinaryNode<T> t) {...} public BinaryNode<T> remove(t x, BinaryNode<T> t) {...} public BinaryNode<T> find(t x, BinaryNode<T> t) {...} public BinaryNode<T> findmin(binarynode<t> t) {...} public BinaryNode<T> findmax(binarynode<t> t) {...} } public void preorder(...) {...} public void inorder(...) {...} public void postorder(...) {...} Anda diminta untuk mengisi kode java untuk setiap konstruktor dan method yang diimplementasikan (kurung yang kosong) sesuai dengan definisi sebelumnya. Langkah 3: Simpan implementasi binary search tree yang anda buat dengan nama bst.java Langkah 4: Buat class test untuk menguji implementasi bst yang anda buat. Abdul Aziz, Jurusan Informatika FMIPA UNS 2012 4

TUGAS PRAKTIKUM (POST TEST): 1. Modifikasi percobaan diatas dengan menambahkan operasi berikut: a. Menghitung jumlah/size node dalam tree. b. Menghitung height(kedalaman) tree. c. Mencari semua data pada node yang berposisi sebagai leaf(daun). Cat: Tugas praktikum sebisa mungkin dikerjakan di kelas. Asisten dimohon bisa memberikan arahan. LAPORAN PRAKTIKUM BERISI PEMBAHASAN LATIHAN PERCOBAAN DAN SOAL. DIKUMPULKAN MINGGU DEPAN. Abdul Aziz, Jurusan Informatika FMIPA UNS 2012 5