makalah tree struktur data

makalahku10 - makalah tree struktur data




BAB I
PENDAHULUAN

1.1.      Latar Belakang
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yangdisebut Root dan node lainnya terbagi menjadi himpunan-himpeunan yang saling tak berhubungan satu sama lainnya (disebut subtree).
Tree juga adalah suatu graph yangacyclic, simple, connected yang tidak mengandung loop.Sebuah binary search tree (bst) adalah sebuah pohon biner yang boleh kosong,dan setiap nodenya harus memiliki identifier/value. value pada semua node subpohon sebelah kiri adalah selalu lebih kecil dari value dari root, sedangkan value subpohon disebelah kanan adalah sama atau lebih besar dari value pada root, masing–masing subpohon tersebut (kiri&kanan) itu sendiri adalah juga bst.
Struktur data bst sangat penting dalam struktur pencarian, misalkan, dalam kasus pencarian dalam sebuah list, jika list sudah dalam keadaan terurut maka proses pencarian akan sangat cepat, jika kita menggunanan list contigue dan melakukan pencarian biner. akan tetapi, jika kita ingin melakukan perubahan isi list (insert ataudelete), menggunakan list contigue akan sangat lambat, karena proses insert dan delete dalam list contigue butuh memindahkan banyak elemen setiap saat. mungkin kita bisa juga menggunakan linked-list, yang untuk operasi insert atau delete tinggal mengatur–atur pointer, akan tetapi pada n-linked list, kita tidak bisa melakukan pointer sembarangan setiap saat, kecuali hanya satu kali dengan kata lain hanya secara sequential.
1.2.      Tujuan Penulisan
1.         Memahami tentang Tree
2.         Memahami pengertian dari Binary Tree
3.         Mengetahui istilah-istilah dalam Tree
4.         Mengetahui istilah pada pohon Biner
5.         Mengetahui sifat utama pada pohon berakar
6.         Mengetahui cara kunjungan pohon Biner
7.         Mengetahui aplikasi pohon Biner
1.3.      Manfaat Penulisan

Penulis membuat makalah ini agar dapat bermanfaat bagi pembaca, terutama bagi penulis sendiri. Manfaat tersebut antara lain seperti, menjadikan mahasiswa Indonesia menjadi mahasiswa madani yang mampu memanfaatkan potensi individu dalam mengembangkan karya tulis.

BAB II
PEMBAHASAN

2.1.      TREE
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut Root dan node lainnya. Tree juga adalah suatu graph yang acyclic, simple, connected yang tidak mengandung loop.
Sebuah binary search tree (bst) adalah sebuah pohon biner yang boleh kosong, dan setiap nodenya harus memiliki identifier/value. Value pada semua node subpohon sebelah kiiri adalah selalu lebih kecil dari value dari root, sedangkan value subpohon di sebelah kanan adalah sama atau lebih besar dari value pada root, masing-masing subpohon tersebut (kiri dan kanan) itu sendiri adalah juga binary search tree.
Struktur data bst sangat penting dalam struktur pencarian, misalkan dalam kasus pencarian dalam sebuah list, jika list sudah dalam keadaan terurut maka proses pencarian akan semakin cepat, jika kita menggunakan  list contigue dan melakukan pencarian biner,akan tetapi  jika kita ingin melakukan perubahan isi list (insert atau delete), menggunakan list contigue akan sangat lambat, karena prose insert dan delete dalam list contigue butuh memindahkan linked-list, yang untuk operasi insert atau delete tinggal mengatur- atur pointer,akan tetapi pada n-linked list, kita tidak bisa melakukan pointer sembarangan setiap saat, kecuali hanya satu kali dengan kata lain hanya secara squential.
2.2.      BINARY TREE
Binary Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkanhubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut Root dan node lainnya ( disebut subtree).
Dalam tree terdapat jenis-jenis tree yang memiliki sifat khusus, diantaranya adalah binary tree.
Binary tree adalah suatu tree dengan syarat bahawa tiap node (simpul) hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Tiap node dalam binary treee boleh memiliki paling banyak dua child (anak simpul), secara khusus anaknya  dinamakan kiri dan kanan.
Binary Tree merupakan himpunan  vertex-vertex yang terdiri dari 2 subtree (dengan disjoint) yaitu subtree kiri dan subtree kanan. Setiap vertex dalam binary tree mempunyai derajat keluar max = 2.

Sebuah pohon biner adalah grafik asiklis yang terhubung  dimana setiap tingkatan  dari susut tidak lebih dari 3. Ini dapat ditunjukkan bahwa dalam pohon biner manapun, terdapat persis dua atau lebih simpul dengan tingkat satu daripada yang terdapat dengan tingkat tiga, tetapi bisa terdapat angka apa saja dari simpul dengan tingkat dua. Sebuah pohon biner berakar merupakan sebuah grafik yang mempunyai satu dari sudutnya dengan tingkat tidak lebih dari dua sebagai akar.
Dengan akar yang dipilih, setiap sudut akan memiliki ayah khusus,  dan diatas dua anak bagaimanapun juga, sejauh ini terdapat keterbatasan informasi untuk membedakan antara anak kiri atau kanan. Jika kita membuang keperluan yang  tak terkoneksi, membolehkan bermacam  koneksi dalam komponen di grafik, kita memanggil struktur sebuah hutan.
Sebuah jalan lain untuk mendefinisikan pohon biner melalui definisi rekursif pada grafik langsung. Sebuah pohon biner dapat berarti :
ü  Sebuah sudut tunggal.
ü  Sebuah graf yang dibentuk dengan mengambil dua pohon biner, menambahkan sebuah sudut, dan menambahkan sebuah panah langsung dari sudut yang baru ke akar dai setiap pohon biner.
Pohon biner dapat dikontruksi dari bahasa pemrogaraman primitif dalam berbagai  cara. Dalam bahasa yang menggunakan records dan referensi. Pohon biner secara khas dikontruksi dengan mengambil sebuah struktur simpul pohon yang memuat beberapa data dan referensi ke anak kiri dan anak kanan.
Kadang-kadang itu juga memuat sebuah referensi ke ayahnya yang khas. Jika sebuah simpul mempunyai kurang dari dua anak, beberapa penunjuk anak diaatur kedalam nilai nol khusus atau kesebuah simpul sentinel.
Pohon biner dapat juga disimpan sebagai struktur data implisit dalam array, dan jika pohon tersebut merupakan sebuah pohon biner lengkap, metode ini tidak boros tempat. Dalam penyusunan yang rapat ini, jika sebuah simpul memiliki indeks i, anaknya dapat ditemukan pada indeks ke-2i+1 dan 2i+2, meskipun ayahnya (jika ada) ditemukan pada indeks lantai ((i-1)/2) (asumsikan akarnya memiliki indeks kosong). Metode ini menguntungkan dari banyak penyimpanan yang rapat dan memiliki referensi lokal yang lebih baik, teristimewa selama sebuah preordeer traversal.
2.3.      ISTILAH DALAM TREE
1.  Predesesor
Node yang berada diatas node tertentu. (contoh :  B predesesor dari E dan F) 
2.  Succesor
Node yang berada dibawah node tertentu. (contoh :  E dan F merupakan succesor dari B)
3.  Ancestor
Seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama.  (contoh :  A dan B merupakan ancestor dari F)
4.  Descendant
Seluruh node yang terletak sesudah node tertentu dan terletak pada jalur yang sama. (contoh :  F dan B merupakan ancestor dari A)
5.  Parent
Predesesor satu level diatas satu node. (contoh : B merupakan parent dari F)
6.  Child
Succesor satu level dibawah satu node. (contoh : F merupakan child dari B)
7.  Sibling
Node yang memiliki parent yang sama dengan satu node. (contoh : E dan F adalah sibling)
8.  Subtree
Bagian dari tree yang berupa suatu node beserta descendant-nya (contoh : Subtree B, E, F dan  Subtree  D, G, H)
9.  Size
Banyaknya node dalam suatu tree. (contoh : gambar tree diatas memiliki size = 8)
10.  Height 
Banyaknya tingkat/level dalam suatu tree. (contoh : gambar tree diatas memiliki height = 3)
11.  Root (Akar)
Node khusus dalam tree yang tidak memiliki predesesor (Contoh : A)
12.  Leaf (Daun)
Node-node dalam tree yang tidak memiliki daun. (contoh : Node E,F,C,G,H)
13.  Degree (Derajat)
Banyaknya child yang dimiliki oleh suatu node. (contoh : Node A memiliki derajat 3, node B memiliki derajat 2) 
2.4.      ISTILAH PADA POHON BINER
a).  Pohon Biner Penuh   (Full Binary Tree)
Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabang memiliki panjang ruas yang sama.

2.5.      APLIKASI POHON BINER
Notasi Prefix, Infix dan Postfix
Pada bagian ini akan dibahas tentang bagaimana menyusun sebuah Pohon Biner yang apabila dikunjungi secara PreOrder akan menghasilkan Notasi Prefix, kunjungan secara InOrder menghasilkan Notasi Infix, dan kunjungan PostOrder menghasilkan Notasi Postfix.
1. Prefix
Yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada didepan operand.
Contoh :  A + B * C (Infix)
Maka notasi prefixnya adalah  + A*BC
Pemecahannya :
A  +  B  *  C
Diketahaui ada 3 operand yaitu : A, B, C, dan 2 operator yaitu : +, *. Proses dimulai  dengan melihat dari hirarkhi operator. Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh dua operand yaitu B dan C yaitu B * C , prefixnya dengan menggabungkan operand dan memindahkan operator kedepan dari operand, sehingga fungsi B * C, notasi prefixnya menjadi *BC. Sehingga hasil sementara dari notasi prefix adalah
A + *BC
Selanjutnya mencari prefix untuk operator yang berikutnya, yaitu +, cara yang dilakukan sama seperti di atas, operator +, diapit oleh 2 operand, yaitu A dan *BC, gabungkan operand, sehingga menjadi A*BC, lalu pindahkan operator kedepan operand, sehingga hasil akhir menjadi
+ A * B C
Contoh yang lain :
1.  A + B  – C * D
     2     3    1   —–>    hirarkhi level
     A + B – *CD   —–>    1
     + AB – *CD    —–>    2
     – +AB *CD     —–>    3

2.  A * B ^ C – D
     2   1    3      —–>    hirarkhi
     A * ^BC – D     —–>    1
     *A^BC – D       —–>    2
     -*A^BCD          —–>    3
3.  A + ( B – C ) * D
      3      1      2   —–>   hirarkhi
      A + -BC * D —–>  1 (karena diapit tanda paranthesis atau kurung buka/tutup, ( ) )
      A + *-BCD    —–>  2
      + A *-BCD    —–>  3
2.  Infix
Yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada diantara operand. Notasi ini hanya dikenal oleh manusia dan selalu digunakan dalam perhitungan aritmatika.
Contoh :  A + B * C
               ( A + B ) * C
    A – ( B + C ) * D ^ E
3.  Postfix
Yaitu notasi yang terbentuk atas operator dengan operand, dimana operator berada dibelakang operand. Notasi ini hanya dikenal oleh processor dan dipahami dalam ALU.
Contoh :  A + B * C (Infix). Maka notasi postfixnya adalah   ABC*+
BAB III
PENUTUP

3.1.      KESIMPULAN
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut Root dan node lainnya. Tree juga adalah suatu graph yang acyclic, simple, connected yang tidak mengandung loop.
3.2.      SARAN
Makalah ini dibuat agar mahasiswa mengerti definisi dan aplikasi pohon biner dalam program Borland C++.

Unduh dan Baca makalah diatas selengkapnya dalam bentuk word [ DISINI ]
Baca juga  Makalah Penggunaan Metode Representasi Grafik Dalam Permasalahan Matematika Pada Kehidupan Sehari-Hari

Subscribe to receive free email updates:

0 Response to "makalah tree struktur data"

Posting Komentar