BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

dokumen-dokumen yang mirip
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)

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

6. TREE / BINARY TREE

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

TREE STRUCTURE (Struktur Pohon)

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

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

Pohon dan Pohon Biner

KUNJUNGAN PADA POHON BINER

Tree (Struktur Data) Nisa ul Hafidhoh, MT

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

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

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

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

Politeknik Elektronika Negeri Surabaya

Termilogi Pada Pohon Berakar 10 Pohon Berakar Terurut

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

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

BAB VII POHON BINAR POHON

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

KLASIFIKASI BINARY TREE

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

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

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

ALGORITMA DAN STRUKTUR DATA

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

STRUKTUR POHON & KUNJUNGAN POHON BINER

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

BAB IX TREE (POHON) ISTILAH DASAR

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

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

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

Soal Pendahuluan Modul 3

Pohon Biner (Bagian 1)

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

MODUL PRAKTIKUM STRUKTUR DATA

Buku Ajar Struktur Data

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

TERAPAN POHON BINER 1

Algoritma dan Struktur Data. Tree

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

Implementasi Skema Pohon Biner yang Persistent dalam Pemrograman Fungsional

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

KUM 6 IMPLEMENTASI BINARY TREE

Pemrograman Algoritma Dan Struktur Data

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

Bab 1 Pengantar Struktur Data

Struktur Data & Algoritma

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

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

IT234 Algoritma dan Struktur Data. Tree

SOAL TUGAS STRUKTUR DATA

A B C E F G K Contoh Tree

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Pertemuan 15 REVIEW & QUIS

FAKULTAS TEKNOLOGI KOMUNIKASI DAN INFORMATIKA UNIVERSITAS NASIONAL

POHON CARI BINER (Binary Search Tree)

POHON BINAR 7.1 POHON. Gambar 7.1. Contoh pohon berakar

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

Pohon Biner dan Aplikasinya

Pemodelan dan Pengelolaan Data Klasifikasi Tanaman Menggunakan Pohon

Struktur dan Organisasi Data 2 POHON BINAR

13/12/2013. Binary Tree. Contoh Tree

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

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

BAB 7 POHON BINAR R S U

S TA C K Sunu Wibirama

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

Mata Kuliah : Matematika Diskrit Program Studi : Teknik Informatika Minggu ke : 8

Penerapan Pohon Dalam Heap Sort

Optimalisasi Algoritma Pencarian Data Memanfaatkan Pohon Biner Terurut

Struktur Data Tree/Pohon dalam Bahasa Java

Representasi Objek Gambar Dengan Quad Tree

Pohon (Tree) Contoh :

TREE. Definisi. Istilah-istilah Umum dalam Tree

Koleksi Hirarkis Tree

Organisasi Berkas Sekuensial Berindeks

BAB 2. STRUKTUR DATA

Aplikasi Pohon pada Pohon Binatang (Animal Tree)

BAB 2 LANDASAN TEORI

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

ARNA FARIZA YULIANA SETIOWATI

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

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

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

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

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

BAB II LANDASAN TEORI

Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (

Penerapan BFS dan DFS dalam Garbage Collection

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

Penerapan Pohon Biner dalam Proses Pengamanan Peer to Peer

Pertemuan 10. Tumpukan (Stack) Dipersiapkan oleh : Boldson Herdianto. S., S.Kom., MMSI.

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Transkripsi:

A VII Tree Tujuan 1. Mempelajari variasi bagian-bagian dari tree sebagai suatu bentuk struktur tak linier 2. Mempelajari beberapa hubungan fakta yang direpresentasikan dalam sebuah tree, sehingga mampu merepresentasikan tree dalam permasalahan aslinya 3. Memahami bagaimana menulis program untuk tree, dan bagaimana mengartikannya kembali dalam bentuk permasalahan aslinya Dalam bab ini kita akan mempelajari satu bentuk struktur data tak linier yang mempunyai sifat-sifat khusus, yang dinamakan pohon (tree). Struktur ini biasanya digunakan untuk menggambarkan hubungan yang bersifat hirarkis antara elemen-elemen yang ada. Silsilah keluarga, hasil pertandingan yang berbentuk turnamen, atau struktur organisasi dari sebuah perusahaan adalah contoh dalam organisasi tree. Dalam pemrograman, sebuah pohon terdiri dari elemen-elemen yang dinamakan node(simpul) yang mana hubungan antar simpul bersifat hirarki. Simpul yang paling atas dari hirarki dinamakan root. Simpul yang berada di bawah root secara langsung, dinamakan anak dari root, yang mana biasanya juga mempunyai anak di bawahnya. Sehingga bisa disimpulkan, kecuali root, masing-masing simpul dalam hirarki mempunyai satu induk (parent). Jumlah anak sebuah simpul induk sangat bergantung pada jenis dari pohon. Jumlah anak dari simpul induk ini dinamakan faktor percabangan. Pada bab ini pembahasan difokuskan pada binary tree, yaitu pohon yang mempunyai faktor percabangan 2. 7.1 Deskripsi dari inary Tree Sebuah binary tree adalah sebuah pengorganisasian secara hirarki dari beberapa buah simpul, dimana masing-masing simpul tidak mempunyai anak lebih dari 2. Simpul 73

yang berada di bawah sebuah simpul dinamakan anak dari simpul tersebut. Simpul yang berada di atas sebuah simpul dinamakan induk dari simpul tersebut. Masing-masing simpul dalam binary tree terdiri dari tiga bagian : sebuah data dan dua buah pointer yang dinamakan pointer kiri dan kanan. 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 adalah simpul dari tree yang tidak mempunyai anak. Kadang-kadang ketika kita bekerja dengan beberapa pohon dalam satu waktu, maka pohon-pohon tersebut dinamakan sebuah hutan. 7.2 Istilah-Istilah Dasar Simpul juga mempunyai sibling, descendants, dan ancestors. Sibling dari sebuah simpul adalah anak lain dari induk simpul tersebut. Descendants dari sebuah simpul adalah semua simpul-simpul merupakan cabang (berada di bawah) simpul tersebut. Anchestors dari sebuah simpul adalah semua simpul yang berada di atas antara simpul tersebut dengan root. Penampilan dari sebuah tree akan ditampilkan dengan berat dari tree tersebut, angka yang menunjukkan jumlah level yang ada di dalamnya. Tingkat suatu simpul ditentukan dengan pertama kali menentukan akar sebagai bertingkat 1. Jika suatu simpul dinyatakan sebagai tingkat N, maka simpul-simpul yang merupakan anaknya akan berada pada tingkatan N 1. Tinggi atau kedalaman dari suatu pohon adalah tingkat maksimum dari simpul dalam pohon dikurangi dengan 1. Selain tingkat, juga dikenal istilah derajad (degree) dari suatu simpul. Derajad suatu simpul dinyatakan sebagai banyaknya anak atau turunan dari simpul tersebut 74

Level 0 44 Level 1 39 67 Level 2 20 42 60 75 Level 3 03 25 59 65 72 89 Keterangan: simpul root simpul daun induk dari 60 & 75 ancestor dari 03 & 25 anak dari 67 descendant dari 67 siblings cabang Gambar 7.1 Ilustrasi Sebuah Pohon iner dengan Kedalaman 3 7.3 Penyajian Pohon iner Implementasi pohon biner dalam pemrograman dapat dilakukan dengan beberapa cara. Cara pertama adalah dengan menggunakan link list dan cara lain adalah dengan menggunakan cara berurutan. Dalam bab ini kita lebih banyak mempelajari cara implementasi biner menggunakan link list. 7.3.1 Deklarasi Pohon Jika kita memperhatikan setiap simpul dalam pohon biner, kita bisa menyusun struktur data yang tepat dari simpul-simpul tersebut. Kita dapat melihat bahwa dalam setiap simpul selalu berisi dua buah pointer untuk menunjuk ke cabang kiri dan cabang kanan, dan informasi yang akan disimpan dalam simpul tersebut. Dengan memperhatikan hal ini, simpul dalam pohon biner disajikan sebagai berikut: Kiri Info Kanan Gambar 7.1 Simpul Pada Pohon iner Sesuai dengan gambar 7.1, maka deklarasi list yang sesuai adalah: typedef char TypeInfo; typedef struct Simpul *Tree; 75

struct Simpul { TypeInfo Info; tree Kiri, /* cabang kiri */ Kanan; /* cabang kanan */ }; Program 7.1 Deklarasi dari Tree 7.3.2 Membuat Pohon iner Tabel 7.1 memperlihatkan bagaimana proses pembentukan pohon biner dari sebuah persamaan. Tabel 7.1 Pembentukan Pohon iner dari Persamaan: (A)*((-C)D) Karakter yang Tumpukan Tumpukan dibaca operator operand Pohon biner yang terbentuk ( ( A ( A ( A ( A ) A * * ( *( ( *(( *(( - *((- C *((- C ) (* - - A C *( - D *( -D 76

) * - D A C 7.4 Metode Traversal Proses traversing dari sebuah binary tree artinya melakukan kunjungan pada setiap simpul pada suatu pohon biner tepat satu kali. Dengan melakukan kunjungan secara lengkap, kita akan memperoleh informasi secara linear yang tersimpan dalam pohon biner. Dalam melakukan kunjungan pada sebuah pohon biner, kita akan memperlakukan hal yang sama pada setiap simpul pada cabang-cabangnya. Urutan informasi yang tersimpan dalam pohon biner akan berbeda jika letak simpulnya ditukar. Dalam melakukan kunjungan kita perlu memperhatikan hal ini. Dengan alasan inilah kita bisa melakukan kunjungan dengan tiga cara, yaitu kunjungan secara preorder, inorder, dan secara postorder. Selain itu, berdasarkan kedudukan setiap simpul dalam pohon, juga bisa dilakukan kunjungan secara levelorder. Ketiga macam kunjungan yang pertama bisa dilaksanakan secara rekursif. Kunjungan preorder, juga disebut dengan depth first order, menggunakan urutan: - Cetak isi simpul yang dikunjungi - Kunjungi cabang kiri - Kunjungi cabang kanan Kunjungan secara inorder, juga sering disebut dengan symmetric order, menggunakan urutan: - Kunjungi cabang kiri - Cetak isi simpul yang dikunjungi - Kunjungi cabang kanan Kunjungan secara postorder menggunakan urutan: - Kunjungi cabang kiri - Kunjungi cabang kanan - Cetak isi simpul yang dikunjungi 7.5 Kesimpulan 1. Tree adalah sebuah struktur linier, biasanya digunakan untuk menggambarkan hubungan yang bersifat hirarkis antara elemen-elemen yang ada. 77

2. Ada beberapa istilah dalam tree ini, yang mana masing-masing istilah mempunyai arti dalam kaitannya dengan hirarki antar elemen dalam tree tersebut, seperti sibling, descendant dsb. 7.6 Latihan 1. Tuliskan binary tree yang terbentuk dari ekspresi-ekspresi di bawah ini: a. (ab)/(c-d*e)eg*h/a b. x-y*z(abc/d*e) 2. Gambarkan lintasan yang dilalui dari tree yang terbentuk pada soal di atas jika dikunjungi secara preorder untuk soal a dan postorder untuk soal b. Tuliskan juga hasil notasi prefix (soal a) dan postfix (soal b) 3. Perhatikan data dari sebuah tree tentang sebuah silsilah keluarga di bawah ini: Data set : {Ahmad, Zulaikha, Zahro, Salman, Salsabila, Zaki, Sholahuddin} Root : {Ahmad} Anchestor dari Sholahuddin : {Zaki, Ahmad} {Zulaikha, Zahro, Zaki} adalah siblings {Salman, Salsabila} adalah descendant dan keduanya anak (children) dari Zahro Dari keterangan di atas, bentuklah tree dari silsilah keluarga di atas! 78