TREE STRUCTURE (Struktur Pohon)

dokumen-dokumen yang mirip
Pohon dan Pohon Biner

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

Soal Pendahuluan Modul 3

Tree (Struktur Data) Nisa ul Hafidhoh, MT

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

Pemrograman Algoritma Dan Struktur Data

ALGORITMA DAN STRUKTUR DATA

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

STRUKTUR POHON & KUNJUNGAN POHON BINER

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.

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

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

BAB VII POHON BINAR POHON

IT234 Algoritma dan Struktur Data. Tree

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

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

MODUL PRAKTIKUM STRUKTUR DATA

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

6. TREE / BINARY TREE

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

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

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

KUM 6 IMPLEMENTASI BINARY TREE

BAB IX TREE (POHON) ISTILAH DASAR

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

Organisasi Berkas Sekuensial Berindeks

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

Buku Ajar Struktur Data

Pertemuan 15 REVIEW & QUIS

13/12/2013. Binary Tree. Contoh Tree

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

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

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

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

JURUSAN SISTEM INFORMASI

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

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

A B C E F G K Contoh Tree

Algoritma dan Struktur Data. Tree

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

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

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

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

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

Politeknik Elektronika Negeri Surabaya

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

Struktur Data Tree/Pohon dalam Bahasa Java

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

Struktur Data & Algoritma

Pohon Biner (Bagian 1)

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

METODE AVL TREE UNTUK PENYEIMBANGAN TINGGI BINARY TREE

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

HEAP. Heap dan Operasinya. Oleh Andri Heryandi

TREE. Definisi. Istilah-istilah Umum dalam Tree

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

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

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

Politeknik Elektronika Negeri Surabaya

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

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

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

BAB III METODE PENELITIAN. Berikut langkah-langkah yang dilakukan dalam penelitian ini :

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

SOAL TUGAS STRUKTUR DATA

POHON CARI BINER (Binary Search Tree)

Algoritma Pemrograman & Struktur Data

ALGORITMA PENCARIAN (1)

Struktur dan Organisasi Data 2 POHON BINAR

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

BAB XI Manipulasi Binary Tree

Penerapan Pohon Untuk Menyelesaikan Masalah Labirin

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

Bab 1 Pengantar Struktur Data

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

BAB 7 POHON BINAR R S U

Penerapan Pohon Dalam Heap Sort

I. PENDAHULUAN. 1.1 Permainan Rush Hour

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

Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem

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

Penerapan BFS dan DFS dalam Garbage Collection

KUNJUNGAN PADA POHON BINER

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

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

TERAPAN POHON BINER 1

Syarif Abdullah (G )

Binary Search Tree (BST)

Praktikum Algoritma dan Setruktur Data

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Pemodelan dan Pengelolaan Data Klasifikasi Tanaman Menggunakan Pohon

Transkripsi:

TREE STRUCTURE (Struktur Pohon) Dalam ilmu komputer, tree adalah sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling berhubungan. Node-node tersebut dihubungkan oleh sebuah vektor. Setiap node dapat memiliki 0 atau lebih node anak (child). Sebuah node yang memiliki node anak disebut node induk (parent). Sebuah node anak hanya memiliki satu node induk. Sesuai konvensi ilmu komputer, tree bertumbuh ke bawah, tidak seperti pohon di dunia nyata yang tumbuh ke atas. Dengan demikian node anak akan digambarkan berada di bawah node induknya. Node yang berada di pangkal tree disebut node root (akar), sedangkan node yang berada paling ujung pada piramida tree disebut node leaf (daun). Ilustrasi Tree: Binary Tree (Pohon Biner) Dalam mata kuliah struktur data, secara khusus akan dipelajari mengenai pohon biner. Pohon biner adalah sebuah tree yang pada masing-masing simpulnya hanya dapat memiliki maksimum 2 (dua) simpul anak. Tidak boleh lebih. Pada pohon biner, umumnya kedua node anak disebut dengan posisinya, yaitu kiri dan kanan. Beberapa istilah pada pohon biner: Size (ukuran): jumlah total node yang terdapat pada pohon biner tersebut. Depth (kedalaman): panjang jalur yang menghubungkan sebuah node sampai ke node anaknya yang paling ujung (leaf). Depth biasa juga disebut height. 1 STMIK Mercusuar - 2010

Full Binary Tree (Pohon Biner Penuh) adalah pohon biner yang setiap nodenya pasti memiliki 0 atau 2 node anak. Perfect Binary Tree (Pohon Biner Sempurna) adalah pohon biner yang semua node leafnya berada pada kedalaman yang sama dari node root. Juga disebut sebagai Complete Binary Tree (Pohon Biner Lengkap) Almost Complete Binary Tree (Pohon Biner Hampir Lengkap) adalah pohon biner yang setiap nodenya dapat memiliki 0 node anak, atau memiliki kiri, atau jika memiliki kanan harus memiliki kiri. Tidak boleh memiliki kanan saja. Ilustrasi Binary Tree: Implementasi Implementasi dalam pemrograman, dalam pokok bahasan ini akan dibicarakan untuk pohon biner saja. Asumsi awal adalah data yang hendak dimasukkan ke dalam node, bertipe data integer. 1. Deklarasi Tree Karena tree tersusun oleh node-node, maka yang perlu kita deklarasikan adalah komponen node itu sendiri. Dalam contoh dibawah, akan kita namai Node. Sebelumnya perlu kita lihat bahwa untuk mewujudkan implementasi node ke dalam bahasa pemrograman, diperlukan sebuah struktur yang memiliki susunan berikut ini: 2 STMIK Mercusuar - 2010

Variabel data digunakan untuk menyimpan nilai angka node tersebut, sedangkan kiri dan kanan, bertipe pointer, masing-masing mewakili vektor yang akan menunjuk ke node anak kiri dan kanan. 2. Inisialisasi Tree Untuk pertama kali, saat kita akan membuat sebuah pohon biner, asumsi awal adalah pohon itu belum bertumbuh, belum memiliki node sama sekali, sehingga masih kosong. Oleh karena itu perlu kita tambahkan kode berikut pada baris awal fungsi Main: Kita mendeklarasikan sebuah pointer yang akan menunjuk ke akar pohon yang kita buat, dengan nama *pohon. Pointer ini ditujukan untuk menunjuk struktur bertipe Node, yang telah dibuat pada bagian 1. Karena pohon tersebut sama sekali belum memiliki node, maka pointer *pohon ditunjukkan ke NULL. 3. Menambahkan Node Pada Tree Karena pohon yang kita buat merupakan sebuah pohon biner, maka untuk menambahkan sebuah node, secara otomatis penambahan tersebut mengikuti aturan penambahan node pada pohon biner: 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. b. Jika nilai node baru lebih besar dari nilai node yang sedang dicek, maka lihat ke kanan node tersebut. Jika kanan node tersebut kosong (belum memiliki kanan), maka node baru menjadi kanan node yang sedang dicek. Seandainya kanan node sudah terisi, lakukan kembali 3 STMIK Mercusuar - 2010

pengecekan a dan b terhadap node kanan tersebut. Pengecekan ini dilakukan seterusnya hingga node baru dapat ditempatkan. Proses penambahan ini diimplementasikan secara rekursif pada fungsi berikut: Variabel **root menunjukkan node mana yang sedang dicek saat ini, untuk itu saat pemanggilan fungsi ini, variabel **root kita beri nilai pointer yang menunjuk ke node akar, yaitu pohon. Untuk selengkapnya dapat dilihat pada bagian 5, kode program lengkap. 4. 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). Semua kunjungan diawali dengan mengunjungi akar pohon. Karena proses kunjungan ini memerlukan perulangan proses yang sama namun untuk depth (kedalaman) yang berbeda, maka ketiganya diimplementasikan dengan fungsi rekursif. a. Kunjungan Pre-Order. Kunjungan pre-order dilakukan mulai dari akar pohon, dengan urutan: 1. Cetak isi (data) node yang sedang dikunjungi 2. Kunjungi kiri node tersebut, - Jika kiri bukan kosong (tidak NULL) mulai lagi dari langkah pertama, terapkan untuk kiri 4 STMIK Mercusuar - 2010

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 sama untuk node yang dikunjungi sebelumnya. b. Kunjungan In-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. 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 sama untuk node yang dikunjungi sebelumnya. 5 STMIK Mercusuar - 2010

c. 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. Variabel **root pada setiap fungsi diatas menunjukkan node mana yang sedang dikunjungi saat ini, untuk itu saat pemanggilan, variabel **root kita beri nilai pointer yang menunjuk ke node akar, yaitu pohon. Untuk selengkapnya dapat dilihat pada bagian 5, kode program lengkap. 5. Kode Program Lengkap Berikut ini kode program keseluruhan, termasuk menu tampilan, di mana di dalamnya terdapat Deklarasi Tree, Inisialisasi Tree, Penambahan Node, dan Pembacaaan serta Menampilkan Node dengan 6 STMIK Mercusuar - 2010

3 macam kunjungan. Kode ditulis dengan C++ 3.00. 7 STMIK Mercusuar - 2010