Monday, March 23, 2020

Binary Search Tree

Binary Search Tree
  • Disebut juga pohon biner yang dalam struktur data bersifat hirarkis. Binary Tree merupakan suatu tree dengan dyarah bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Tiap node dalam binaty tree boleh memiliki paling banyak 2 child, secara khusus anaknya dinamakan kiri dan kanan.
  • Binary Search Tree berfungsi menyimpan informasi nama atau bilangan yang disimpan dalam memory. Dengan membagi data menjadi dua dengan mencari titik tengah sbagai patokannya. Binary tree terdiri dari simpul pertama yang disebut  root.
  • Binary Search memungkinkan pencarian dengan cepat, penambahan, dan penghapusan menggunakan informasi kunci atau key. 
  • Dua aturan yang harus dipenuhi:
    1. Semua data dibagian kiri sub-tree node t selalu lebih kecil dari data dalam node t itu sendiri.
    2. Semua data dibagian kanan sub-tree dari node t selalu lebih besar atau sama dengan data dalam node t.


  • Ada beberapa metode di dalam Binary Search Tree:
    1. Insert, pada Binary Search Tree, insert dilakukan setelah ditemukan lokasi yang tepat
    2. Update, update akan mempengaruhi posisi node tersebut. Setelah diupdate yang awalnya Binary Search Tree, menjadi bukan Binary Search Tree. Maka perubahan perlu dilakukan dengan melakukan rotasi agar tetap menjadi Binary Search Tree.
    3. Delete, delete dalam Binary Search Tree juga memperngaruhi posisi tree tersebut.



Sumber:







Wednesday, March 11, 2020

Hash Table, Tree, & Binary Tree

Hash Table 




  • Merupakan salah satu stuktur data yang digunakan untuk menyimpan data sementara. Hash Table digunakan untuk mempercepat pencarian kembali dari banyak data yang telah disimpan. Haah table menggunakan teknik penyimpanan sehingga waktu yang dibutuhkan untuk insertions, deletions, dan searching relatif sama dibandingkan dengan struktur data yang lain.
  • Kelebihan Hash table:
    1. Hash table relatif lebih cepat.
    2. Kecepatan dalam insertions, deletions, dan searching relatif sama.
  • Hash table menggunakan memori penyimpanan utama berbentuk array dengan tambahan algoritma untuk mempercepat pemrosesan data. Intinya hash table merupakan penyimpanan data yang menggunakan key value yang didapat dari nilai data itu sendiri.
  • Beberapa hal yang perlu diperhatikan dalam membuat hash function:
    1. Ukuran array
    2. Key value
    3. Hash value/ Hash index
Tree
  • Merupakan salah satu bentuk struktur data yang tidak linear, menggambarkan hubungan ont to many antara elemen-elemen. Tree terdiri dari kumpulan node di mana ada yang disebut root dan node lainnya disebut subtree. 

  • Bagian-bagian dari tree:

    1. Root, jika tree kosong maka node pertama dan merupakan node unik merupakan root.
    2. Branch, banyaknya cabang sidebut degree dari node tersebut.
    3. Leave, merupakan node yang nilai outdegreenya 0, merupakan node yang tidak memiliki successor.
    4. Parent, disebut parent ketika outdegreenya lebih dari 0.
    5. Child, cabang terakhir dari sebuah tree.

Binary Tree
  • Merupakan tree yang memiliki syarat tiap nodenya hanya memiliki maksimal dua subtree dan kedua subtreenya harus terpisah. Maka tiap node dalam binary tree hanya dapat memiliki 2 child. 
  • Ada dua cara representase binary tree:
    1. Representasi sekuensial
    2. Representasi terkait
  • Jenis-jenis binary tree:
    1. Full Binary Tree
    2. Complete Binary Tree
    3. Skewed Binary Tree


Sumber:

Wednesday, March 4, 2020

Stack & Queue

Stack & Queue

Stack adalah tumpukan data yang diletakkan bertumpukkan. Stack menggunakan konsep yang bernama LIFO yang berarti Last in First Out, data yang terakhir dimasukkan merupakan data yang pertama kali diakses atau dikeluarkan. 

Terdapat 2 operasi di dalam Stack yang sering digunakan yaitu:

  1. Push: digunakan untuk menambahkan data pada Stack 
  2. Pop: digunakan untuk mengambil data pada Stack 


Queue adalah stuktur data linear dimana penambahan data dilakukan disatu sisi, disalah satu ujungnya, untuk penguruangannya dilakukan diujung lain, Queue menggunakan konsep FIFO yang berarti First in First Out, data yang pertama kali dimasukkan merupakan data yang pertama kali diakses.

Terdapat 2 operasi dalam Queue yang sering digunakan yaitu:
  1. Enqueue: digunakan untuk memasukkan sebuah data ke dalam queue. pada proses enqueue, bagian tail yang berjalan sendiri seiring dengan masuknya data baru ke dalam queue.
  2. Dequeue: digunakan untuk menghapuskan sebuah data yang paling pertama masuk ke dalam queue


Perbedaan antara Stack & Queue
  • Prinsip kerjanya, Stack menggunakan prinip kerja tumpukan sementara Queue menggunakan prinsip kerja antrian.
  • Konsep kerjanya, Stack menggunakan LIFO, Last in First Out sementara Queue menggunakan FIFO, First in First Out.
  • Pada proses penambahan dan penghapusan elemen, pada Stack operasi penambahan atau pengurangannya dilakukan pada satu ujungnya. Pada Queue operasi penambahan atau pengurangannya dilakukan di tempat yang berbeda.


Sumber:


Final Summary

Final Summary Name: Ignatius Hansen NIM: 2301853275 Class: CB01-CL, LL01 Lecturer: Henry Chong (D4460), Ferdinand Ariandy Luwinda (D452...