PART 4 TREE (POHON) Dosen : Ahmad Apandi, ST To replace this picture, just select and delete it. Then use the Insert Picture icon to replace it with one of your own! Dosen : Ahmad Apandi, ST
OBJECTIVE Mengenal bentuk graph pohon (tree) & jenis-jenisnya Memahami beberapa sifat graph pohon Memahami pengertian pohon rentangan, pohon berakar dan pohon biner Mengenal beberapa masalah dalam konteks graph pohon Mampu membuat model masalah ke dalam bentuk masalah
DEFINISI Pohon (Tree) adalah graf tak-berarah terhubung yang tidak mengandung sirkuit
DEFINISI Hutan (forest) adalah kumpulan pohon yang saling lepas, atau graf tidak terhubung yang tidak mengandung sirkuit. Setiap komponen di dalam graf terhubung tersebut adalah pohon
SIFAT – SIFAT POHON Teorema. Misalkan G = (V, E) adalah graf tak-berarah sederhana dan jumlah simpulnya n. Maka, semua pernyataan di bawah ini adalah ekivalen: G adalah pohon. Setiap pasang simpul di dalam G terhubung dengan lintasan tunggal. G terhubung dan memiliki m = n – 1 buah sisi. G tidak mengandung sirkuit dan memiliki m = n – 1 buah sisi. G tidak mengandung sirkuit dan penambahan satu sisi pada graf akan membuat hanya satu sirkuit. G terhubung dan semua sisinya adalah jembatan. Teorema di atas dapat dikatakan sebagai definisi lain dari pohon.
TERMINOLOGI (1) Anak (child atau children) & Orangtua (parent) b, c, dan d adalah anak-anak simpul a, a adalah orangtua dari anak-anak itu Lintasan (path) Lintasan dari a ke j adalah a, b, e, j. Panjang lintasan dari a ke j adalah 3. Saudara kandung (sibling) f adalah saudara kandung e, g bukan saudara kandung e, karena orangtua mereka berbeda. Subgrapgh
TERMINOLOGI (2) Derajat (degree) Derajat sebuah simpul adalah jumlah subgraph(atau jumlah anak) pada simpul tersebut. Deg(a)= 3, Deg(b)= 2, Deg(d)= 1 dan Deg(c)= 0. Derajat maksimum dari semua simpul merupakan derajat pohon itu sendiri. Pohon di samping berderajat 3 Daun (leaf) Simpul yang berderajat nol (atau tidak mempunyai anak) disebut daun. Simpul h, i, j, f, c, l, dan m adalah daun. Simpul Dalam (internal nodes) Simpul yang mempunyai anak disebut simpul dalam. Simpul b, d, e, g, dan k adalah simpul dalam.
TERMINOLOGI (3) Aras (level) atau Tingkat Tinggi (height) atau Kedalaman (depth) Aras maksimum dari suatu pohon disebut tinggi atau kedalaman pohon tersebut. Pohon di atas mempunyai tinggi 4
POHON MERENTANG (SPANNING TREE) Pohon merentang dari graf terhubung adalah subgraph merentang yang berupa pohon Pohon merentang diperoleh dengan memutus sirkuit di dalam graf Setiap graf terhubung mempunyai paling sedikit satu buah pohon merentang
POHON BERAKAR (ROOTED TREE) Definisi : Pohon yang satu buah simpulnya diperlakukan sebagai akar dan sisi-sisinya diberi arah sehingga menjadi graf berarah Contoh: Tanda panah pada tree bisa dihilangkan
POHON BINER (BINARY TREE) Pohon biner Adalah pohon yang maksimum memiliki 2 cabang Pohon Biner penuh adalah pohon biner yang semua cabangnya terisi
PEMODELAN MASALAH GRAF POHON Masalah Pohon Rentangan Minimal (Minimum Spanning Tree) Penyelesaian Masalah Pohon Rentangan Minimal menggunakan Algoritma Solin dan Algoritma Kruskal Penerapan Pohon pada Sintaksis Kalimat
MINIMUM SPANNING TREE (MST) Graf terhubung-berbobot mungkin mempunyai lebih dari 1 pohon merentang Pohon rentang yang berbobot minimum – dinamakan pohon merentang minimum (minimum spanning tree) Untuk mendapatkan Minimum Spanning Tree, dapat digunakan algoritma : Algoritma Solin & Algoritma Kruskal
MINIMUM SPANNING TREE (MST) Contoh Ini adalah graf berbobot awal. Angka- angka dekat garis penghubung/ruas adalah bobotnya. Nilai bobot dari Graf tesebut adalah : 86 Kita akan mencari MST dengan menggunakan Algoritma Solin dan Kruskal untuk Graf diatas.
ALGORITMA SOLIN Urutkan ruas dari Graf G menurut bobotnya, dari besar ke kecil. Lakukan penghapusan ruas berdasarkan urutan yang sudah dilakukan, dengan ketentuan bahwa penghapusan ruas tersebut tidak menyebabkan graf menjadi tidak terhubung atau membentuk sirkuit.
ALGORITMA KRUSKAL Urutkan ruas dari G menurut bobotnya, dari kecil ke besar. Lakukan penambahan ruas berdasarkan urutan yang sudah dilakukan, dengan ketentuan bahwa penambahan ruas tersebut tidak menyebabkan adanya sirkuit.
IMPLEMENTASI POHON BINER Untuk menyajikan pohon binar, simpul akar adalah simpul yang digambar pada bagian paling atas. Sedangkan suksesor kiri (left successor) digambarkan sebagai garis ke kiri bawah dan suksesor kanan (right successor) sebagai garis ke kanan bawah.
MEMBUAT POHON BINER (1) Contoh : Jika kita akan membentuk pohon biner dari untai ’HKACBLJ’ maka pohon biner yang dihasilkan adalah sebagai berikut :
MEMBUAT POHON BINER (2) Diketahui nilai-nilai sbb : 50, 32, 18, 40, 60,52, 5, 25, 70 Gambarkan Binary Tree yang dihasilkan !!!
KUNJUNGAN PADA POHON BINER (1) 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 tersimpan di dalam pohon biner. Terdapat tiga jenis kunjungan pada pohon biner, yaitu : PREORDER INORDER POSTORDER
KUNJUNGAN PADA POHON BINER (2) Preorder : R, T1, T2 kunjungi R kunjungi T1 secara preorder kunjungi T2 secara preorder Inorder : T1, R, T2 kunjungi T1 secara inorder kunjungi T2 secara inorder Postorder : T1, T2, R kunjungi T1 secara postorder kunjungi T2 secara postorder
KUNJUNGAN PADA POHON BINER (3) Contoh Soal
LATIHAN Buatlah Minimum Spanning Tree (MST) dan Nilai Bobotnya dari Graf berikut ini dengan menggunakan Algoritma Kruskal
LATIHAN Diketahui nilai-nilai sbb : 60, 28, 19, 40, 50, 80, 5, 25, 70 Gambarkan Binary Tree yang dihasilkan !!!
LATIHAN Tuliskan ekspresi dari graf berikut ke dalam bentuk prefix, infix, postfix