Pertemuan Ke-5 - Binary Search Tree - LIUS PASKALIS TANAKA - 2101662612

Binary Tree, Ternary, Graph
Perbedaan dari ketiga hal diatas adalah sebagai berikut :
Binary tree hanya mempunyai anak maximum 2, dan tidak boleh ada looping
Ternary anaknya bisa lebih dari 2
Graph boleh ada looping

Apa itu Binary Search Tree ? (BST)
Tujuannya mencari kemudahan dalam pencariannya agar tidak looping.

Didalam Binary Search Tree ada 3 operation yaitu :
1. Find ()/Search() : Artinya Mencari Nilai pada BST
2. Insert() : untuk memasukan nilai pada BST
3. Remove : untuk menghapus nilai pada BST


Cara memasukan nilai dari Binary Search Tree
Sebelah kiri lebih kecil kanan lebih besar binary search tree atau
Boleh saja kiri lebih besar dan kanan lebih kiri, tetapi kebanyakan orang memakai yang kiri lebih kecil dan kanan lebih besar.


Berikut gambar dan penjelasan cara memasukan nilai pada binary search tree :

Disini kita akan memasukan nilai 35 pada BST, sudah dijelaskan bahwa jika nilai yg dimasukan lebih besar dari akarnya, maka dia akan ke kanan.





Disini angka 35 bertemu dengan angka 37, maka 35 lebih kecil dari 37, maka 35 ditaruh disebelah kiri

Setelah itu angka 35 bertemu dengan angka 32, dan 35 lebih besar dari 32, maka ditempatkan dikanan

Dan hasil akhirnya sebagai berikut 




Selanjutnya saya akan menjelasan tentang bagaimana delete nilai pada Binary Search Tree

Jika kita ingin menghapus nilai paling bawah, maka tinggal hapus saja


Jika kita ingin menghapus salah satu nilai yang kanan atau kiri, maka kita harus mengganti nilai yg telah dihapus sesuai prosedur BST. Disini yg kita pilih untuk menggantikan 37 adalah 35, kenapa ? karena 45 lebih besar dari 35, maka dia dikanan, dan 32 lebih kecil dari 35, maka dia dikiri. Kalo misalnya 32 yg kita pilih untuk menggantikan 37, sangatlah tidak cocok karena 35 lebih besar dari 32.





Jika kita ingin menghapus nilai dari akarnya sendiri maka kita mengambil data yang paling besar dari kiri, disini kita ambil 26 untuk menggantikan 30, karena 26 lebih besar dari antara yang lain dari posisi sebelah kiri.










Pertemuan ke-4 - Introduction to Tree, Binary Tree And Expression Tree - 2101662612 - LIUS PASKALIS TANAKA

Apa itu Tree Concept ?

Tree Concept adalah bentuk struktur data yang berkonsep berbentuk seperti pohon, mereka saling berhubungan antara elemen-elemen, dan turunan dari pohon tersebut bisa lebih dari 2

Contoh Tree Concept



Dari gambar diatas kita bisa mengambil istilah yaitu :

1. Degree of tree yaitu ada berapa banyak turunan dari Tree konsep tersebut, dari gambar diatas kita bisa menjawab ada 3 turunan yaitu (A,B,E), (A,C,F), (A,C,G)

2. Degree of C yaitu berupa anakdari elemen yang kita sebut, dari gambar diatas kita bisa menjawab ada 2 anakdari C, yaitu F dan G

3. Height yaitu jumlah hubungan turunan yang panjang, dari gambar diatas kita bisa menjawab yaitu ada 3, karena paling panjang ada 3 turunan, contohnya A,B,E

4. Parent of C yaitu atasan dari turunan C, dari gambar diatas kita bisa menjawab atasan dari C yaitu A

5. Children of A yaitu anak- anak pertama yang dia turunkan, dari gambar diatas kita bisa mejawab children dari A adalah B,C,D

6. Sibling of F yaitu saudara yang ada disebelahnya setelah diturunkan, dari gambar diatas kita bisa menjawab sibling dari F adalah G

7.  Ancestor of F yaitu atasan sampai yang atas selama masih berhubungan, dari gambar diatas kita bisa menjawab ancestor dari F yaitu A dan C

8. Descendant of C yaitu turunan sampai turunan sampai akhir , dari gambar diatas kita menjawab descendant dari C yaitu F dan G, dan kalau descendant dari A yaitu semua kita tulis  B, C, D dan seterusnya, karena mereka dalah turunan dari A


Apa Itu Binary Tree ?
Binary Tree adalah Struktur data yang berhubungan dengan berbentuk seperti pohon, Binary tree hanya bisa mempunyai turunan maximal 2, tidak boleh lebih dari 2


Binary Tree terbagi 4 macam yaitu 

1. Perfect Binary Tree yaitu mempunyai tingkat turunan yang sama dana mempunyai 2 child



2. Complete Binary Tree yaitu pohon biner yang mempunyai turunan 2 child dan 1 child



3. Skewed Binary Tree yaitu pohon biner yang hanya mempunyai turunan dengan 1 child saja



4. Balanced Binary Tree yaitu pohon biner yang jarak antara turunan tidak jauh






Apa itu Representasi Binary Tree ?

Representasi Binary Tree bisa dibilang, memasukan data dari bentuk pohon itu ke dalem tabel



(+) 0 1 2 merupakan isi dari Parent A dan parent A mempunyai 2 anak yaitu B dan C
(+) 3 tidak terisi, mengapa ? karena parent dari B hanya mempunyai 1 anak yaitu D, dan D terisi pada nomor 4
(+) 4 isinya D yang berasal dari anak B
(+) 5 6 merupakan isi anak dari C yaitu E dan F
(+) 7 8 9 10 tidak terisi, mengapa ? karena parent D tidak mempunyai anak, dan parent F juga tidak mempunyai anak
(+) 11 12 merupakan isi dari anak E yaitu G dan H




Apa itu Expression Tree Concept ?

yaitu cara menghubungkan notasi operasi dari bentuk pohon tersebut dengan cara prefix, postfix dan infix. Pengertian prefix, postfix dan infix sudah dijelaskan pada blog sebelumnya, tetapi saya akan menjelaskannya lagi setelah gambar ini.



Hasil dari :
Prefix : *+ab/-cde = operator di belakang operand
Postfix : ab+cd-e/* = operator dikanan operand
Infix : (a+b)*((c-d)/e) = operator ditengah-tengah operand

*NOTE : Penulisan Infix yang benar yaitu dengan pakai tanda kurung () jika bertemu operator kali *, contoh penulisan yang salah = a+b*c-d/e

Pertemuan Ke-3 - Linked List Implementation II - 2101662612 - LIUS PASKALIS TANAKA

STACK CONCEPT
Konsep Stack pada data strucktur yaitu seperti menyusun piring, yang pertama masuk maka dia yang teraKhir keluar, begitu sebaliknya, dia yang terakhir masuk maka dia yang awal keluar (LIFO = LAST IN FIRST OUT)




Ada 3 tipe stack oeprator :
1. Push() : menambahkan item kebagian atas tumpukan
2. Pop() : hapus item dari tumpukan
3. Top() : mengembalikan item teratas dari stack





Stack memiliki 2 variable :
1. TOP yaitu digunakan unutk menyimpan alamat elemen paling atas dari stack
2. MAX yaitu digunakan untuk menyimpan jumlah maximum elemen yang dapat disimpan oleh stack

Beberapa aplikasi yang menggunakan data stack :
1. Infix Evaluation
2. Postfix Evaluation
3. Prefix Evaluation
4. Infix to Postfix Conversion
5. Infix to Prefix Conversion
6. Depth First Search




Prefix yaitu operator yang ditulis sebelum operand
Infix yaitu operator yang ditulis bersamaan dengan operand atau operator ditengah operand
Postfix yaitu operator yang ditulis sesudah operan

note : operator yaitu seperti * / + - dan operand yaitu angkanya

untuk menentukan prefix dan postfix dari infix dapat dicari dengan rumus :
Prefix : operator - left operand - right operand
Postfix : left operand - right operand - operator



QUEUE CONCEPT
Konsep Queue ini seperti melakukan antiran, yaitu yang pertama masuk maka dia yang pertama keluar (FIFO = FIRST IN FIRST OUT)




Ada 3 tipe Queue operator :
1. Push()/Enqueue : Menambah data kebelakang antrian
2. Pop()/Dequeue : Hapus item dari depan antrian
3. Front() : mengembalikan barang paling depan dari antrian






Cari Blog Ini

Diberdayakan oleh Blogger.

Copyright © / Data Structure

Template by : Urang-kurai / powered by :blogger