STRUKTUR DATA 2014 M. Bayu Wibisono.

Slides:



Advertisements
Presentasi serupa
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2009
Advertisements

Tree Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layaknya struktur sebuah pohon. Struktur pohon adalah suatu.
STRUKTUR DATA (10) tree manipulation
JULIAN ADINATA PAUL JHONATAN UKEU PUTRI ROMLI MAULANA
Matematika Diskrit Suryadi MT Tree.
Binary Tree Traversal.
Pertemuan 8 STRUKTUR POHON (TREE).
BAB 9 TREE Tujuan Instruksional Umum:
STRUKTUR DATA TREE (POHON)
7 POHON BINER BAB Definisi Pohon dan Pohon Biner
By : Fitroh Amaluddin & Galih Wasis W.
Pertemuan 9 STRUKTUR POHON (TREE) IMAM SIBRO MALISI NIM :
Pertemuan Struktur Data *Pohon Ekspresi *
Tree Yuliana S.
PART 4 TREE (POHON) Dosen : Ahmad Apandi, ST
Binary Tree Rangga Juniansyah.
Definisi Pohon (tree) adalah : Hutan (forest) adalah :
Penelusuran Bab 7 Pohon Biner 219.
ADT Tree 2007/2008 – Ganjil – Minggu 8.
Tenia Wahyuningrum, S.Kom. MT
4. Pohon (Tree) 4.1. Definisi Rekurens Dari Pohon
STRUKTUR DATA tree manipulation
BINARY TREE Universitas Ahmad Dahlan
1 Pertemuan Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
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
Binary Search Tree. Sebuah node di Binary Search Tree memiliki path yang unik dari root menurut aturan ordering – Sebuah Node, mempunyai subtree kiri.
Struktur Data Tree Eka Rahayu S. (2 Agustus 2011).
Binary Tree.
POHON / TREE.
Binary 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.
Diagram Pohon (Tree Diagram)
Manipulasi Tree.
TREE KELOMPOK 7 HUSNATUL WILDA ( ) MISRIANA ( )
POHON.
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 –
Tim Struktur Data Program Studi Teknik Informatika UNIKOM
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.
Review Struktur Data Nisa’ul Hafidhoh, MT.
Transcript presentasi:

STRUKTUR DATA 2014 M. Bayu Wibisono

Struktur Data ...1 Pengenalan STD EDT Algorithma Algorithma Review Array Structure Stack Queue UTS Pengenalan Struktur Data ALGORITHMA Algorithma UTS EDT Struktur Data Queue Alg Stack Array Struct

Struktur Data ...2 Pembahasan UTS Pointer Algorithma LinkList Tree Graph Sorting Searching UAS Pembahasan UTS ALGORITHMA Algorithma UAS Pointer Struktur Data Searching LinkList Sorting Tree Graph

Pembahasan Tree Contoh Penerapan Terminologi Tree Traversal Binary Tree Search Binary Tree

Structur Data : TREE PENDAHULUAN Dalam struktur data, pohon (TREE) memegang peranan yang cukup penting. Struktur ini biasanya digunakan untuk menyajikan data yang mengandung hubungan hierarkykal antara elemen-elemen mereka. banyak aplikasi menggunakan informasi dan data yang secara alami memiliki struktur hirarkis berguna dalam membantu memecahkan banyak masalah algoritmis Contoh struktur pohon (Tree) yang biasa digunakan dalam kehidupan sehari-hari adalah :  Silsilah keluarga  Daftar isi buku  Struktur organisasi  Pohon keputusan

Structur Data : TREE PARENT (ayah) CHILD TERMINOLOGI TREE TREE Sejumlah node yang berhubungan secara hirarkis dimana node pada suatu hirarki merupakan cabang dari node dengan hirarki yang lebih tinggi dan juga memiliki cabang ke beberapa node lainnya pada hirarki yang lebih rendah. ROOT: Node dari suatu tree yang memiliki hirarki paling tinggi LEAF Node yang tidak mempunyai cabang PARENT (ayah) Node pada hirarki langsung diatas node tersebut (predecessor satu level) CHILD Node pada hirarki langsung dibawah node tersebut (successor satu level)

Structur Data : TREE TERMINOLOGI TREE 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 Jalur yang sama Inner Node yang bukan leaf Edge Penghubung antara dua buah node

Structur Data : TREE Sibling Subtree TERMINOLOGI TREE 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 ertinggi/nomor level leaf terbawah.

Structur Data : TREE Depth/Kedalaman TERMINOLOGI TREE Depth/Kedalaman Jumlah edge dari root sampai dengan node tersebut Degree Banyaknya child dari suatu node Forest Himpunan dari sejumlah tree

CONTOH PENERAPAN TERMINOLOGI TREE B C D F G H I J M K L N O

CONTOH PENERAPAN TERMINOLOGI TREE Parent B, C, D dan E adalah A, sehingga B, C, D, E adalah saudara (siblings) Semua node di bawah suatu node induk hanya dapat diakses melalui induknya Lintasan (path) sebuah node X adalah urutan akses untuk mendapatkan X yang dimulai dari Akar. Contoh : Path(M) = [A – B – G – M] Panjang lintasan (path length) X adalah jumlah node yang harus diakses untuk mendapatkan X; sehingga |Path(M)| = 4. (Ada juga yang menyatakan panjang lintasan sebuah node adalah jumlah garis dari akar sampai node tersebut Tinggi (height) dari sebuah pohon adalah panjang lintasan terpanjang , jadi tinggi pohon di disamping adalah = 4 Jika ada sebuah lintasan dari node a ke node b, maka a adalah pendahulu (ancestor) dari b dan b disebut keturunan (descendent) dari a Kedalaman (depth) dari sebuah node adalah panjang lintasan dari akar ke node tersebut. Depth (G) = 3 B C D E F G H I J M K L N O

CONTOH PENERAPAN TERMINOLOGI TREE

Bagian-bagian Tree nodes

Bagian-bagian Tree parent node

Bagian-bagian Tree child nodes parent node

Bagian-bagian Tree child nodes parent node

Bagian-bagian Tree leaf nodes root node

Bagian-bagian Tree sub-tree

Bagian-bagian Tree sub-tree

Bagian-bagian Tree sub-tree

Karakteristik Khusus Terdapat 1 node yang unik, yang tidak memiliki predecessor, yang disebut dengan root (akar) Terdapat satu atau beberapa node yang tidak memiliki successor yang disebut dengan leaf (daun) Setiap node kecuali root pasti memiliki satu predecessor Setiap node kecuali leaf pasti memiliki 1 atau lebih successor

Binary TREE Bentuk struktur data Tree memiliki bentuk yang umum. Tetapi untuk dapat digunakan dalam proses komputer yang efisien, maka dibentuklah Binary Tree atau atau biasa disebut sebagai B-Tree Sifat-sifat Khusus yang dimiliki B-Tree adalah 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. Bentuk-bentuk B-Tree : 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 Tree

Representasi Tree Notasi Tingkat Notasi Kurung (A(B(D,E(I,J)),C(F,G,H)))

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

Operasi-operasi Tree 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)

Tree Traversal (Tree Search) Dalam ilmu komputer , tree traversal  (juga dikenal sebagai pencarian pohon – tree search ) adalah suatu proses untuk mengunjungi (memeriksa dan / atau memperbarui) setiap node dalam sebuah struktur data pohon , tepat sekali, dengan cara yang sistematis.  Traversals tersebut diklasifikasikan berdasarkan urutan node yang dikunjungi. Algoritma ini digunakan untuk pohon biner dan dapat juga digeneralisasi untuk pohon lain. Nama metode traversal berkaitan dengan cara kunjungan terhadap node. Untuk semua traverse berlaku kunjungan “the left subtree before the right subtree”.

Metode TRAVERSAL Tree Search DFS IN-ORDER -INFIX PRE-ORDER - PREFIX POST-ORDER - POSTFIX BFS Nama yang diberikan untuk Metode Traversal berasal dari urutan node yang dikunjungi.  Pencarian ke Dalam (Depth- first-search/DFS) - mudah dilaksanakan melalui stack Preorder, Inorder, Postorder Pencarian Melebar (Breadth-first-Search/BFS) - mudah dilaksanakan melalui antrian

Example: Preorder 43 43 31 64 31 64 20 20 40 56 89 40 56 89 28 33 47 59 28 33 47 59

Inorder Traversal Traverse the left subtree. Visit the node. Traverse the right subtree.

Example: Inorder 43 43 31 64 31 64 20 20 40 56 89 40 56 89 28 33 47 59 28 33 47 59

Postorder Traversal Traverse the left subtree. Traverse the right subtree. Visit the node.

Example: Postorder 43 43 31 64 31 64 20 20 40 56 89 40 56 89 28 33 47 59 28 33 47 59

Expression Tree A Binary Tree built with operands and operators. Also known as a parse tree. Used in compilers.

Example: Expression Tree + / / 1 3 * 4 6 7 1/3 + 6*7 / 4

Notation Preorder Inorder Postorder Prefix Notation Infix Notation Postfix Notation

Example: Infix + + / / / / 1 1 3 * 4 3 * 4 6 7 6 7

Example: Postfix 1 Recall: Reverse Polish Notation + + / / / / 1 3 * 4 6 7 6 7 Recall: Reverse Polish Notation

Example: Prefix + / / 1 3 * 4 6 7 + / 1 3 / * 6 7 4

Binary Search Tree A Binary Tree such that: Every node entry has a unique key. All the keys in the left subtree of a node are less than the key of the node. All the keys in the right subtree of a node are greater than the key of the node.

Example 1: key is an integer 43 31 64 20 40 56 89 28 33 47 59

Insert Create new node for the item. Find a parent node. Attach new node as a leaf.

Insert 57 Example: 43 31 64 20 40 56 89 28 33 47 59

Insert 57 Example: 43 31 64 20 40 56 89 28 33 47 59 57

Search: Checklist if target key is less than current node’s key, search the left sub-tree. else, if target key is greater than current node’s key, search the right sub-tree. returns: if found, pointer to node containing target key. otherwise, NULL pointer.

Search Example: 59 43 31 64 20 40 56 89 28 33 47 59 57 found 50

Search Example: 61 43 31 64 20 40 56 89 28 33 47 59 57 failed 51

Sumber : Dr. Ir. Fahren Bukhari, M.Sc.   Kymberly Fergusson