6. TREE / BINARY TREE

dokumen-dokumen yang mirip
BAB IV POHON. Diktat Algoritma dan Struktur Data 2

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

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

Pemrograman Algoritma Dan Struktur Data

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

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1

STRUKTUR POHON & KUNJUNGAN POHON BINER

Lab. Teknik Informatika Struktur Data 1

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

TREE STRUCTURE (Struktur Pohon)

4. STACK / TUMPUKAN TEORI PENUNJANG

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

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Pohon Biner (Bagian 1)

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

Tree (Struktur Data) Nisa ul Hafidhoh, MT

BAB VII POHON BINAR POHON

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

Pohon dan Pohon Biner

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

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

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

Politeknik Elektronika Negeri Surabaya

POHON CARI BINER (Binary Search Tree)

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

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

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

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

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

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

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

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

Buku Ajar Struktur Data

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

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

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

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

KUNJUNGAN PADA POHON BINER

KUM 6 IMPLEMENTASI BINARY TREE

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

BAB XI Manipulasi Binary Tree

IT234 Algoritma dan Struktur Data. Tree

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

ALGORITMA DAN STRUKTUR DATA

Struktur dan Organisasi Data 2 POHON BINAR

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Pertemuan 15 REVIEW & QUIS

TERAPAN POHON BINER 1

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

MODUL PRAKTIKUM STRUKTUR DATA

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

A B C E F G K Contoh Tree

BAB 7 POHON BINAR R S U

Double linked list. Gambar 1. Double linket list dengan empat simpul Deklarasi Double Linked List di dalam Pascal :

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

Optimalisasi Algoritma Pencarian Data Memanfaatkan Pohon Biner Terurut

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

BAB IX LINKED LIST (SENARAI BERANTAI)

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

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

BAB II STACK Atau TUMPUKAN

Pohon Biner. Tim Pengajar IF2030 Semester I/ /8/2009 FNA/IF2030/Sem

BAB IX TREE (POHON) ISTILAH DASAR

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

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

Algoritma dan Struktur Data. Tree

TREE. Definisi. Istilah-istilah Umum dalam Tree

Soal Pendahuluan Modul 3

MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Deskripsi: Senarai, Traversal

Tipe Rekursif: POHON (TREE)

KLASIFIKASI BINARY TREE

Struktur Data & Algoritma

SOAL TUGAS STRUKTUR DATA

Algoritma dan Struktur Data. Linear & Binary Search Tree

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

BAB 7 POHON BINAR. Contoh : Pohon berakar T R S U

MODUL PRAKTIKUM STRUKTUR DATA

Pohon Biner dan Aplikasinya

Struktur Data. Queue (Antrian)

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

ALGORITMA & PEMROGRAMAN

Bab 1 Pengantar Struktur Data

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

ALGORITMA DAN STRUKTUR DATA

13/12/2013. Binary Tree. Contoh Tree

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

POHON BINAR 7.1 POHON. Gambar 7.1. Contoh pohon berakar

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Pohon (Tree) Contoh :

KERUGIAN DAN KEUNTUNGAN LINKED LIST

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

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

Pohon Biner Bagian 2 (Pohon Seimbang, Pohon Biner Terurut, Pembangunan Pohon Biner dari Pita Karakter/String)

Transkripsi:

6. TREE / BINARY TREE TUJUAN PRAKTIKUM 1. Praktikan mengenal Struktur data Tree. 2. Praktikan mengenal jenis-jenis tree, seperti binary tree. 3. Praktikan mengenal istilah-istilah yang terdapat didalam tree, serta kunjungan antar simpul (traversal) apa saja yang terdapat di dalam tree. 4. Praktikan diharapkan mampu membuah sebuah program binary tree sederhana. TEORI PENUNJANG Tree bisa didefinisikan sebagai suatu kumpulan elemen salah satu elemennya disebut dengan akar (root), dan sisa elemen lainnya (yang disebut simpul) terpecah menjadi sejumlah himpunan yang paling tidak berhubungan satu sama lain, yang disebut dengan subpohon (subtree), atau disebut juga cabang. Jika kita melihat pada subpohon, maka subpohon inipun juga mempunyai akar dan sub-subpohonnya masing-masing. Dalam kehidupan sehari-hari, tree dapat dilihat dari pohon silsilah keluarga. Tingkat yang tertinggi disebut juga sebagai root. Untuk lebih jelasnya lihat gambar 6.1 merupakan contoh dari sebuah tree. A Tingkat / Level 1 B C 2 D E F G H 3 I J K L M 4 N O 5 Lab. Teknik Informatika Struktur Data 1

Gambar 6.1 Contoh Tree dengan 15 simpul Jika kita memperhatikan gambar ditas, sebenarnya yang disebut dengan simpul (node atau vertex) adalah elemen pohon yang berisi informasi / data dan petunjuk percabangan. Pada pohon diatas memiliki 15 simpul yang berisi informasi berupa huruf A, B, C, D sampai O lengkap dengan percabangannya. Akar / Root dari pohon diatas berisi huruf A. Tingkat (level) suatu simpul ditentukan dengan pertama kali menentukan akar sebagai bertingkat 1. jika suatu simpul dinyatakan sebagai tingkat N, maka simpul-simpul yang merupakan anaknya dikatakan berada dalam tingkat N+1. pada pohon diatas merupakan tree dengan 5 level. Selain tingkat, dikenal juga istilah derajad (degree) dari suatu simpul. Derajad suatu simpul dinyatakan sebagai banyaknya anak atau turunan dari simpul tersebut. Contoh, dari gambar 6.1 simpul A mempunyai derajad 2, simpul B mempunyai derajad 2, simpul C berderajad 3. simpul-simpul F, H, I, J, K, L, N, O yang semuanya berderajad nol, disebut dengan daun (leaf). A B C D E F G H I J K L M N O Gambar 6.2 Simpul-simpul yang disebut daun Lab. Teknik Informatika Struktur Data 2

Tinggi (Height) atau Kedalaman (Depth) dari suatu pohon adalah tingkat maksimum dari suatu pohon dikurangi dengan satu. Dengan demikian pohon diatas mempunyai tinggi atau kedalaman sama dengan 4. Hutan (Forest) adalah kumpulan sejumlah pohon yang tidak saling berhubungan. Dari gambar diatas jika kita menghapus simpul A maka akan terbentuk sebuah hutan. 6.1. Pohon Biner (Binary Tree) Pohon biner bisa didefinisikan sebagai suatu kumpulan simpul yang mungkin kosong atau mempunyai akar dan dua subpohon yang saling terpisah yang disebut dengan subpohon kiri dan sub pohon kanan. Subpohon disebut juga sebagai cabang. Karakteristik dari pohon biner ialah bahwa setiap simpul paling banyak hanya mempunyai dua buah anak. Dengan kata lain derajat tertinggi dari sebuah pohon biner adalah dua. Pengertian daun, root, level, tinggi dan derajad yang berlaku pada pohon juga berlaku pada binary tree. Penyajian binary tree pada komputer di gunakan double link list. 6.2. Deklarasi Pohon Setiap simpul pada pohon biner selalu berisi dua buah pointer yang menunjuk ke cabang kiri dan cabang kanan dengan melihat hal tersebut maka struktur double link list sangat cocok untuk di terapkan di dalam tree ini. Gambar 6.3 merupakan penyajian pohon biner menggunakan double link list. Deklarasi Double Linked List di dalam Pascal : Type Tree = ^Simpul Simpul = Record Info : Tipe Data; Kiri : Tree; Kanan : Tree; Lab. Teknik Informatika Struktur Data 3

Akar A B C D E F G H I J K Gambar 6.3 Penyajian Pohon Biner dengan Double Link List 6.3. Membuat Pohon Biner Untuk membuat pohon biner, terdapat aturan dalam penempatan simpulnya. Berikut ini merupakan algoritma penempatan sebuah simpul dalam pohon biner : Simpul yang berisi informasi yang nilainya lebih besar dari simpul diatasnya akan ditempatkan sebagai cabang kanan dan jika lebih kecil akan ditempatkan di cabang kiri. Sebagai contoh jika kita akan membentuk pohon biner dari untai HKACBLJ maka pohon biner yang dihasilkan adalah sebagai berikut : H A K C J L B Gambar 6.4 Pohon Biner Untai HKACBLJ Lab. Teknik Informatika Struktur Data 4

Proses untuk memperoleh pohon biner diatas adalah sebagai berikut : Karakter pertama H ditempatkan sebagai Akar. Karakter K karena lebih besar dari H diletakkan dicabang kanan. Karakter A karena lebih kecil dari H akan menempati cabang kiri dari H. kemudian, karena karakter C lebih kecil dari H dan lebih besar dari A maka ia di letakkan sebagai cabang kanan dari A. demikian seterusnya sampai semua masukkan di proses. Untuk mengalokasikan simpul baru seperti diatas biasanya digunakan fungsi rekursif, untuk itu ada baiknya jika kita membuat fungsi baru agar proses rekursif untuk simpul dapat berlangsung sukses. Fungsi untuk mengalokasikan simpul baru tersaji dibawah ini : Function BARU(Hrf : Char) : Tree; Var Temp : Tree; New(Temp); Temp^.Info := Hrf; Temp^.Kiri := NIL; Temp^.Kanan := NIL; BARU := Temp; Setelah simpul kita alokasikan saatnya kita tempatkan didalam pohon biner dengan menggunakan prosedur dibawah ini : Procedure MASUK(Var Pohon : Tree; Hrf : Char); If Pohon = NIL Then Pohon := BARU(Hrf) Else If Pohon^.Info > Hrf kiri} kanan} {Jika pohon masih kosong} {Jika Hrf lebih kecil, cabang MASUK(Pohon^.Kiri,Hrf) Else If Pohon^.Info < Hrf {Jika Hrf lebih besar, cabang MASUK(Pohon^.Kanan,Hrf) Else Lab. Teknik Informatika Struktur Data 5

Writeln( Karakter, Hrf, Sudah ada di Tree ); 6.4. Kunjungan Pada Pohon Biner Sebuah pohon biner memiliki operasi traversal yaitu suatu kunjungan pada suatu simpul tepat satu kali. Dengan melakukan kunjungan lengkap kita akan memperoleh urutan informasi secara linier yang tersinpan di dalam pohon biner. Terdapat tiga jenis kunjungan pada pohon biner, yaitu : 1. PREORDER Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut : - Cetak isi simpul yang dikunjungi. - Kunjungi cabang kiri. - Kunjungi cabang kanan. Dari gambar 6.4 jika kita melakukan traversal secara PREORDER pada pohon biner tersebut maka akan menghasilkan untai : HACBKJL. Prosedur untuk melakukan traversal secara PREORDER adalah sebagai berikut : Procedure PREORDER(Temp : Tree); If Temp <> NIL Then Write(Temp^.Info, ); PREORDER(Temp^.Kiri); PREORDER(Temp^.Kanan); {Cetak isi simpul} {Kunjungi cabang kiri} {Kunjungi cabang kanan} 2. INORDER Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut : - Kunjungi cabang kiri. - Cetak isi simpul yang dikunjungi. - Kunjungi cabang kanan. Lab. Teknik Informatika Struktur Data 6

Dari gambar 6.4 jika kita melakukan traversal secara INORDER pada pohon biner tersebut maka akan menghasilkan untai : ABCHJKL. Prosedur untuk melakukan traversal secara INORDER adalah sebagai berikut : Procedure INORDER(Temp : Tree); If Temp <> NIL Then INORDER(Temp^.Kiri); Write(Temp^.Info, ); INORDER(Temp^.Kanan); {Kunjungi cabang kiri} {Cetak isi simpul} {Kunjungi cabang kanan} 3. POSTORDER Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut : - Kunjungi cabang kiri. - Kunjungi cabang kanan. - Cetak isi simpul yang dikunjungi. Dari gambar 6.4 jika kita melakukan travarsal secara POSTORDER pada pohon biner tersebut maka akan menghasilkan untai : BCAJLKH. Prosedur untuk melakukan traversal secara POSTORDER adalah sebagai berikut: Procedure POSTORDER(Temp : Tree); If Temp <> NIL Then POSTORDER(Temp^.Kiri); POSTORDER(Temp^.Kanan); Write(Temp^.Info, ); {Kunjungi cabang kiri} {Kunjungi cabang kanan} {Cetak isi simpul} Lab. Teknik Informatika Struktur Data 7

Dalam pengembangan nantinya, tiga jenis kunjungan ini dapat digunakan sebagai pencarian notasi infix, postfix dan prefix. Kunjungan Preorder untuk mencari prefix, kunjungan Inorder untuk mencari postfix dan kunjungan Postorder untuk mencari infix. LAPORAN PENDAHULUAN 1. Jelaskan pengertian Tree serta perbedaannya dengan Binary Tree. 2. Jelaskan istilah-istilah pada Tree: a. Daun b. Root c. Level d. Tinggi e. Derajad. 3. Sebutkan dan jelaskan jenis kunjungan yang terdapat pada binary tree. 4. Bagaimana kunjungan secara Preorder, Inorder dan Postorder? Jelaskan dan beri contoh! MATERI PRAKTIKUM 1. Praktikan dapat menjelaskan secara teoritis mengenai Tree, terutama tentang Binary tree. 2. Praktikan dapat menjelaskan bagaimana cara menerapkan double link list untuk membentuk sebuah tree. 3. Praktikan dapat membuat contoh bagaimana cara melakukan kunjungan secara Preorder, Inorder dan Postorder dari sebuah tree. 4. Praktikan dapat membuat program-program sederhana Tree, diusahakan menggunakan program untuk mencari sebuah simpul didalam tree atau dapat juga program untuk melakukan kunjungan secara Preorder, Inorder dan Postorder dari sebuah tree. 5. Nilai K (Keterampilan) didapat jika praktikan melengkapi program tentang kunjungan pada Tree. Contohnya praktikan diberi sepenggal Lab. Teknik Informatika Struktur Data 8

program untuk kunjungan secara Preorder dan Inorder sedangkan untuk Postorder praktikan mengerjakannya sendiri LAPORAN AKHIR 1. Buat Algoritma dari kunjungan secara Preorder, Inorder dan Postorder dari sebuah tree (ditambah dengan ringkasan tentang operasi Queue). 2. Buat program parkir mobil dengan menggunakan teori antrian yang telah diajarkan menggunakan single link list. Lab. Teknik Informatika Struktur Data 9