Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009

Slides:



Advertisements
Presentasi serupa
Tree Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layaknya struktur sebuah pohon. Struktur pohon adalah suatu.
Advertisements

STRUKTUR DATA (10) tree manipulation
JULIAN ADINATA PAUL JHONATAN UKEU PUTRI ROMLI MAULANA
Matematika Diskrit Suryadi MT Tree.
Pertemuan 8 STRUKTUR POHON (TREE).
BAB 9 TREE Tujuan Instruksional Umum:
PERTEMUAN 14 POHON (TREE).
STRUKTUR DATA TREE (POHON)
7 POHON BINER BAB Definisi Pohon dan Pohon Biner
Mata kuliah: Struktur Data Created by 12.2G.12 1.Fungsi operasi yang digunakan untuk pengosongan antrian adalah … a. Pushc. ISFULL b. POPd. CLEAR 2.Operasi.
By : Fitroh Amaluddin & Galih Wasis W.
Algoritma dan Struktur Data
Pertemuan 9 STRUKTUR POHON (TREE) IMAM SIBRO MALISI NIM :
Algoritma dan Struktur Data
Implementasi Binary Tree
Disadur dari Materi Kuliah: Annisa, Dept. Ilmu Komputer FMIPA IPB
Tree.
Kuliah ke-9 Struktur Data Pohon/Tree (Bab 6)
Tree Yuliana S.
PART 4 TREE (POHON) Dosen : Ahmad Apandi, ST
P OHON 1. D EFINISI Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit 2.
Pertemuan 6 TREE & BINARY TREE
Algoritma dan Struktur Data
STRUKTUR DATA tree manipulation
Pertemuan 13 Graph + Tree jual [Valdo] Lunatik Chubby Stylus.
Algoritma dan Struktur Data
Tree. Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut.
Organisasi Berkas Sekuensial Berindeks
Struktur Data Tree Eka Rahayu S. (2 Agustus 2011).
Binary Tree.
POHON / TREE.
Menggambar Tree wijanarto.
Defri Kurniawan POHON DAN POHON BINER Defri Kurniawan
TREE STRUCTURE (Struktur Pohon)
STRUKTUR DATA Chapt 6 : TREE Oleh : Yuli Praptomo PHS, S.Kom.
Struktur Data Binary Search Tree (BST)
STRUKTUR POHON ( BINER )
Pohon dan Pohon Biner Anifuddin Azis.
PohonBiner Rachmansyah, S.Kom..
Diagram Pohon (Tree Diagram)
Struktur pohon dan kunjungan pohon biner
Manipulasi Tree.
TREE KELOMPOK 7 HUSNATUL WILDA ( ) MISRIANA ( )
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
STRUKTUR DATA Tree (Struktur Pohon).
Tree (POHON).
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
NAMA : SITI HAJAR NIM : UNIT : B NO.HP :0852 –
STRUKTUR DATA 2014 M. Bayu Wibisono.
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
POHON (TREE) Pertemuan 6.
Manipulasi Tree.
Tree.
Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
TREE (POHON).
Parts of a Tree.
Algoritma dan Struktur Data
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
Tree (Pohon).
POHON Pohon (Tree) merupakan graph terhubung tidak berarah dan tidak mengandung circuit. Contoh: (Bukan) (Bukan) (Bukan)
Oleh Shoffin Nahwa Utama, S.Kom
BINARY SEARCH TREE (BST)
IT234 Algoritma dan Struktur Data
Tree.
IT234 Algoritma dan Struktur Data
Algoritma dan Struktur Data
IT234 Algoritma dan Struktur Data
TREE Oleh : Neny silvia Nurhidayah Afny wilujeng Setyorini
5 11/18/2018.
Transcript presentasi:

Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009 Pertemuan 7 TREE Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009

Tree : Struktur data berhirarkhi Vs Pohon Bener Pohon Biner Akar Cabang Daun Tree : Struktur data berhirarkhi

Why Tree ? Ada problem yang secara alamiah memang berhirarki : Ketua silsilah, kepengurusan organisasi, taksonomi, dsb Pengorganisasian informasi atau data : data / informasi global dibagi-bagi berdasarkan tingkatannya Memudahkan pengambilan dan penyusunan informasi (proses retrieve data) : secara linier  ketua, bendahara, sekretaris1, ketua seksi, anggota seksi, dll……. secara hirarkhi Ketua Bendahara Sekretaris Ketua Seksi

Modus Penggunaan Tree Modus Struktur Tetap Modus Struktur Dinamis Sejak awal sampai akhir program tetap (hampir tidak mengalami perubahan jika mengalami tidak terlalu penting karena tidak merubah susunan). Contoh : Pohon Silsilah Modus Struktur Dinamis Senantiasa berubah dari awal sampai akhir program (perlu dilengkapi dengan fasilitas untuk menangani perubahan susunan) Modus Penggunaan Tree

Terminologi Tree A D B C E F G Tree Sejumlah node yang berhubungan secara hirarkis dimana node-node pada hirarki lebih rendah merupakan cabang dari node dengan hirarki yang lebih tinggi Root Node dari suatu tree yang memiliki hirarki paling tinggi Leaf Node yang tidak mempunyai cabang Inner Node yang bukan leaf Edge Penghubung antara dua buah node A D B C E F G

Terminologi Tree A D B C E F G Predecessor Node yang berada di atas node tertentu Successor Node yang berada di bawah node tertentu Ancestor/nenek moyang Seluruh node yang terletak sebelum node tertentu pada jalur yang sama Descendant/Keturunan Seluruh node yang terletak sesudah node tertentu pada Parent (ayah) Node pada hirarki langsung diatas node tersebut (predecessor satu level) Child Node pada hirarki langsung dibawah node tersebut (successor satu level) A D B C E F G

Terminologi Tree A D B C E F G Sibling Node-node yang satu ayah, sehingga berlevel sama. Dikenal juga istilah sibling yang tepat di kanan dan sibling yang tepat di kiri Subtree Bagian dari tree berupa suatu node beserta descendantnya Size Banyaknya node dalam suatu tree Level (Depth) Hirarki suatu node. Root berhirarki 0, node dibawahnya berhirarki 1 dan seterusnya. Height Selisih hirarki dari level terendah ke level tertinggi/nomor level leaf terbawah. A D B C E F G

Terminologi Tree A D B C E F G Depth/Kedalaman Jumlah edge dari root sampai dengan node tersebut Degree Banyaknya child dari suatu node Forest Himpunan dari sejumlah tree

Binary Tree Tree dengan cabang tidak lebih dari dua (hanya 0, 1, atau 2). Tree dengan seluruh innernya paling banyak berderajat 2. Cabang-cabang binary tree dibedakan menjadi cabang kiri dan cabang kanan. Jika hanya dijumpai satu cabang, harus ditentukan, cabang kiri atau kanan. Complete binary tree, full binary tree, perfect binary tree, skewed binary tree

Full Binary Tree Binary tree yang : Setiap node memiliki tepat 0 atau 2 child

X √ √ Complete Binary Tree Binary tree yang : Setiap leaf memiliki depth n or n-1 Setiap leaf pada depth n / pada level terendah merapat ke kiri X √ √

Perfect Binary Tree Binary tree yang : Setiap inner memiliki tepat dua child Setiap leaf terletak pada depth yang sama

Skewed Binary Tree Binary tree yang semua nodenya kecuali leaf hanya memiliki satu child

Representasi Binary Tree Menggunakan pointer Data Bentuk paling sederhana (one-way) Data Bentuk 2-way Data Bentuk yang lebih lengkap

Representasi dengan Array CBT dan PBT dapat diimplementasikan dalam array Penomoran pada node-nodenya bersifat terurut dan tidak ada yang kosong (melompat). A B I J K C D E F G H 5 4 3 2 1 6 7 8 9 10 Dalam Array A B I C F G J K D E H 1 2 3 4 5 6 7 8 9 10

Representasi dengan Array Contoh beberapa hubungan struktural representasi array : Mendapatkan anak dari suatu node : Anak kiri dari node I : I  2I + 1 Anak kanan dari node I : I  2I + 2 Mendapatkan ayah dari suatu node : Ayah dari node I : I  [(I-1)/2] Sibling dari node ke I : I node genap : I-1 I node ganjil : I+1

Traversal / Kunjungan Traversal : Mengunjungi setiap node pada tree Ada tiga cara mengunjungi node-node pada suatu tree : Preorder : root, kiri, kanan Inorder : kiri, root, kanan Postorder : kiri, kanan, root Note : You may ``pass through'' a node as many times as you like but you must only process the node once.

Preorder : root, kiri, kanan B D C E F G A B D C E F G H A B D E C F G A B D G H C E F

Inorder : kiri, root, kanan B D C E F G H B G D H A E C F

Postorder : kiri, kanan, root B D C E F G H G H D B E F C A

Pre-Order: A-B-D-C-E-F In-Order: B-D-A-E-C-F Post-Order: D-B-E-F-C-A Try This One ! A B C D E F Pre-Order: A-B-D-C-E-F In-Order: B-D-A-E-C-F Post-Order: D-B-E-F-C-A

HEAPTREE Suatu node dikatakan heapordered jika : Nilai pada node tersebut lebih besar sama dengan atau lebih kecil sama dengan nilai child dibawahnya. Lebih kecil sama dengan dan lebih besar sama dengan tergantung dari definisi prioritas. (yang kecil atau yang besar yang diprioritaskan). Suatu tree dikatakan Heaptree Jika tree tersebut binary, complete dan seluruh nodenya heapordered. Binary: Setiap node paling banyak memiliki dua child. Complete: Setiap leaf memiliki depth n or n-1, dan setiap leaf pada depth n / pada level terendah merapat ke kiri. Tidak ada penomoran yang melompat. Heapordered: Setiap node terorganisasi berdasarkan suatu ketentuan prioritas

OPERASI HEAPTREE 10 9 8 5 2 7 1 4 6 3 Operasi Penghapusan Operasi Penghapusan Penghapusan dilakukan pada root. Move node dengan indeks terbesar ke root. Reheapify dari atas. Operasi Penyisipan Penyisipan dilakukan pada indeks terbesar. Reheapify dari bawah.

Penghapusan pada Heaptree I 1 9 2 8 3 4 6 7 5 5 2 6 1 4 8 3 9 7 3 9 8 5 2 7 1 4 6 II

Penghapusan pada Heaptree 9 3 8 5 2 7 1 4 6 III 9 7 8 5 2 3 1 4 6 IV

Penghapusan pada Heaptree 9 V 1 7 2 8 3 4 4 6 5 5 2 6 7 1 3 8 Bentuklah sebuah heap tree dari masukan berikut : 2, 4, 5, 7, 3, 10, 8, 1, 9, 6 dengan prioritas pada nilai yang lebih besar !

Binary Search Tree Binary Search Tree adalah binary tree dimana node-node dari tree berisi nilai yang sudah terurut sebagai berikut : Key node subtree kiri < key dari root < key node subtree kanan 18 10 5 23 14 21 33

Binary Search Tree Insertion Key node subtree kiri < key dari root < key node subtree kanan Insert ke dalam BST yang masih kosong masukan berikut : 12, 15, 13, 9, 5, 11, 20 ! 12 9 15 13 20 5 11 1 6 4 3 2 7

Binary Search Tree Deletion 10 6 13 2 8 12 19 1 7 14 15 16 Langkah penghapusan node : Tentukan lokasi node yang mengandung nilai yang akan dihapus. Lihat jumlah child : 0, 1 atau 2

Binary Search Tree Deletion 10 6 13 2 8 12 19 1 7 14 15 16 Child=0  leaf Hapus : 16 X X X Jika node yang dihapus adalah leaf, maka langsung hapus X

Binary Search Tree Deletion Child=1, kiri atau kanan 10 6 13 2 8 12 19 1 7 14 15 16 Hapus 14 X X Jika node yang dihapus mempunyai satu child kiri atau kanan, maka anak itu akan menempati posisi parentnya

Binary Search Tree Deletion 10 13 6 2 7 12 19 15 1 16

Binary Search Tree Deletion X Child=2, kiri dan kanan Hapus 10 10 6 13 2 8 12 19 1 7 14 15 16

Binary Search Tree Deletion Jika node yang dihapus punya dua child, gantikan posisinya dengan node terbesar yang ada pada subtree kiri. How to find the biggest element in left subtree? Go to the root of the left sub-tree and keep following right pointers until there are no more right pointers to be followed Atau gantikan posisi node yang dihapus itu dengan predecessor inordernya.

Binary Search Tree Deletion 8 6 13 2 7 12 19 1 14 15 16

Kekurangan Binary Search Tree Input : 10, 15, 25, 17, 9, 7, 8 10 9 15 7 8 25 17 10 7 15 8 9 25 17 Bentuk binary tree yang paling ideal adalah perfect binary tree minimal complete binary tree Pada BST terdapat kemungkinan ada node yang terletak jauh dari root Waktu yang dibutuhkan untuk searching menjadi lebih banyak

LATIHAN: Input : ORY, JFK, BRU, DUS, ZRH, MEX, ORD, NRT, ARN, GLA dan GCM

Wassalamu’alaikum … Terima Kasih Departemen Ilmu Komputer FMIPA-IPB 2009