biner

23
STRUKTUR DATA POHON BINER

Upload: ayulestari

Post on 21-Jan-2017

93 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

STRUKTUR DATA

POHON BINER

Definisi PohonPohon Adalah Struktur Berisi Sekumpulan Elemen Dimana Salah Satu Elemen Adalah Akar Root Dan Elemen-Elemen Lain Adalah Bagian - Bagian Pohon Yang Membentuk Susunan Hirarki Dengan Akar Sebagai Awal Mula. Elemen - Elemen Pohon Disebut Simpul ( Node ).

Sifat - Sifat Pohon Adalah :1. Hanya Terdapat Satu Jalur Untuk Tiap Pasang Simpul Di Pohon2. Jumlah Simpul Di Pohon Satu Lebih Banyak Dibanding Jumlah Busur3. Pohon Dengan Dua Simpul Atau Lebih Mempunyai Sedikitnya Dua Daun

Sifat Utama Pohon Berakar Adalah

1. Jika Pohon Mempunyai Simpul Sebanyak N, Maka Banyaknya Ruas Atau Edge Adalah (N-1).2. Mempunya Simpul khusus yang disebut root, jika simpul tersebut memiliki derajat keluar >= 0, dan derajat masuk = 0.3. Mempunya Simpul Yang Disebut Dengan Daun Atau Leaf, Jika Simpul Tersebut Berderajat Keluar = 0, Dan Berderajat Masuk = 1.4. Setiap Simpul mempunyai tingkatan atau level yang dimulai dari root yang levelnya = 1 sampai dengan level ke -n pada daun paling bawah.

Simpul yang mempunyai level sama disebut bersaudara atau brother atau stribling.

Definisi Pohon BinerPohon Biner Adalah Bentuk Graf Yang Terhubung Yang Tidak Memiliki Sirkuit Dan Pohon Biner Selalu Terdapat Path Atau Jalur Yang Menghubungkan Dua Simpul Dalam Pohon

Definisi Pohon Biner Menurut Wikipediaadalah sebuah pohon struktur data di mana setiap simpul memiliki paling banyak dua anak. Secara khusus anaknya dinamakan kiri dan kanan. Penggunaan secara umum pohon biner adalah Pohon biner terurut, Yang Kata Lainnya Adalah Heap Biner

Terminologi Pohon BinerTerminologi Pada Pohon Biner Dapat Kita Lihat Pada Terminologi Pada Hubungan KeluargaBeberapa Terminologi Pada Pohon Biner :1.Simpul Akar (Root) Simpul Pohon Dengan Tingkatan Tertinggi ( Dinyatakan Sebagai Tingkat 1).2.Simpul daun (Leaf) Simpul-Simpul Pada Pohon yang tidak lagi memiliki Simpul Anak (child).3.Induk (Parent) Simpul Yang Merupakan Induk Dari Children-nya 4.Anak Dari Simpul x Akar-Akar (Root) Dari Sub-Sub Pohon Dari Simpul x Adalah Anak Dari x

Algoritma Pembentukan Pohon Biner

Ilustrasi Struktur Pohon Biner

A

B C

D E

J I K

G F H

L M

N O

Tingkat / level :

1

2

3

4

5

Simpul satu dengan lainnya dapat dianalogikan seperti dalam keluarga, yaitu ada anak, bapak, paman dll.Tingkat/levelsuatu simpul ditentukan dengan petama kali menentukan akar sebagai tingkat 1, jika akar simpul adalah N maka tingkat anak adalah N+1.

Binary TreeSuatu tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Node Pada Binary Jumlah maksimum node pada setiap tingkat adalah 2n

Node pada binary tree maksimum berjumlah 2n-1

Tree dapat dibuat dengan menggunakan linked list secara rekursif.

Linked list yang digunakan adalah double linked list non circular

Data yang pertama kali masuk akan menjadi node root.

Data yang lebih kecil dari data node root akan masuk dan menempati node kiri dari node root, sedangkan jika lebih besar dari data node root, akan masuk dan menempati node di sebelah kanan node root.

Implementasi Program

Implementasi Program

Insert: menambah node ke dalam Tree secara rekursif. Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika lebih kecil maka akan diletakkan di node sebelah kiri. Untuk data pertama akan menjadi elemen root.

Find: mencari node di dalam Tree secara rekursif sampai node tersebut ditemukan dengan menggunakan variable bantuan ketemu. Syaratnya adalah tree tidak boleh kosong.

Traverse: yaitu operasi kunjungan terhadap node-node dalam pohon dimana masing-masing node akan dikunjungi sekali.

Count: menghitung jumlah node dalam Tree Height : mengetahui kedalaman sebuah Tree Find Min dan Find Max : mencari nilai terkecil dan terbesar pada Tree Child : mengetahui anak dari sebuah node (jika punya)

Operasi-operasi Tree

DEKLARASI POHON BINER

Searching in TreeTree *cari(Tree *root,int data){

if(root==NULL) return NULL;else if(data < root->data) return (cari(root->left,data));else if(data > root->data) return (cari(root-

>right,data));else if(data == root->data) return root;

}

Pencarian dilakukan secara rekursif, dimulai dari node root, jika data yang dicari lebih kecil daripada data node root, maka pencarian dilakukan di sub node sebelah kiri, sedangkan jika data yang dicari lebih besar daripada data node root, maka pencarian dilakukan di sub node sebelah kanan, jika data yang dicari sama dengan data suatu node berarti kembalikan node tersebut dan berarti data ditemukan.

Ilustrasi Searching

Tree adalah sebuah struktur linier, biasanya digunakan untuk menggambarkan hubungan yang bersifat hirarkis antara elemen-elemen yang ada. 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.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.

KESIMPULAN

1. Apa Manfaat Struktur Data Pohon Biner Dan Implementasinya Untuk Apa?Jawab : Manfaat Struktur Data Pohon Biner Adalah Implementasi umum: 1. multilevel marketing Jika diketahui urutan simpul, maka dapat diketahui top level anggota. Anggota bersumber dari siapa. 2. klasifikasi mahluk hidup. 3. susunan silsilah keluarga. 4. hirarki direktori dalam sistem file. 5. Sistem penyimpanan file FAT juga mengadopsi struktur ini. 

2. Sifat Utama Root Pada Pohon Berakar Adalah

1. Jika Pohon Mempunyai Simpul Sebanyak N, Maka Banyaknya Ruas Atau Edge Adalah (N-1).2. Mempunya Simpul khusus yang disebut root, jika simpul tersebut memiliki derajat keluar >= 0, dan derajat masuk = 0.3. Mempunya Simpul Yang Disebut Dengan Daun Atau Leaf, Jika Simpul Tersebut Berderajat Keluar = 0, Dan Berderajat Masuk = 1.4. Setiap Simpul mempunyai tingkatan atau level yang dimulai dari root yang levelnya = 1 sampai dengan level ke -n pada daun paling bawah.

3. Cara Menentukan Root, Child Dan Parent

Jawab :

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 pengecekan a dan b terhadap node kanan tersebut. Pengecekan ini dilakukan seterusnya hingga node baru dapat ditempatkan.

4. Cara Menentukan Tinggi ( Height ) Dan Lebar ( Weight )

Jawab :

Tinggi (Height) atau Kedalaman (Depth) dari suatu pohon adalah tingkat(level) maksimum dari suatu pohon dikurangi dengan satu. Dengan demikian pohon diatas mempunyai tinggi atau kedalaman sama dengan 4.

Lebar ( Weight ) daris sebuah simpul adalah jumlah keturunan termasuk simpul itu sendiri.