Langsung ke konten utama

Postingan

Menampilkan postingan dari 2020

SUMMARY #2

SUMMARY Bryan Darmawan Kartolo 2301863566 / CB-01 Dosen:  Ferdinand Ariandy Luwinda (D4522) & Henry Chong (D4460) Linked List Linked List  atau dikenal juga dengan sebutan senarai berantai adalah struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan). Elemen data yang dihubungkan dengan link pada Linked List disebut Node. Biasanya didalam suatu linked list, terdapat istilah head dan tail.  Head adalah elemen yang berada pada posisi pertama dalam suatu linked list. Tail adalah elemen yang berada pada posisi terakhir dalam suatu linked list. Adapun kelebihan dan kekurangan linked list, yaitu: Kelebihan: Penambahan elemen tidak terbatas Memungkinkan untuk dihapus Kekukarangan: Hanya dapat diakses secara sekuensial Memerlukan memori dalam jumlah yang besar, untuk menyimpan data yang besar juga. Berikut beberapa macam Linked List: ...

Data Structure: Heap and Tries

Heap and Tries Heap: Adalah sebuah complete binary tree yang mempunyai heap properties. Adapun jenis heap sebagai berikut: 1. Min Heap Semua nilai node lebih kecil dari childnya. Sehingga dapat dikatakan r oot merupakan node paling kecil, sedangkan node terbesar terletak pada leaf node Insertion min heap dengan ketentuan insert node selalu berurutan dari level terendah dengan urutan left ke right, new node selalu menjadi leaf node, lalu kita sesuaikan dengan heap properties secara rekursif. Deletion min heap dengan ketentuan node yang dihapus selalu root karena merupakan node terkecil, lalu diganti dengan node terakhir yang diinsert, lalu sesuaikan lagi dengan heap properties secara rekursif. 2. Max Heap Merupakan kebalikan dari min heap, yaitu  dimana  semua node nilainya lebih besar dari childnya. Insertion max heap hampir sama dengan min heap, tetapi hanya berbeda aturan. Aturannya yaitu nilai child< nilai parentnya. Deletion max heap dapat ...

AVL TREE

Balanced Binary Tree (AVL Tree) AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi/ level maksimal 1   antara subtree kiri dan subtree kanan. AVL Tree muncul untuk menyeimbangkan   Binary Search Tree. Dengan AVL Tree, waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan. Gambar: Cara menentukan height dan balance factor: Height : - Jika node (root) tidak memiliki subtree heightnya = 0 - Jika node adalah leaf, height =  1 - Jika internal node, maka height =  height tertinggi dari anak + 1 Balance Factor : -selisih height antara anak kiri dan kanan, jika tidak memiliki anak, dianggap 0. AVL Tree Operations: 1. Insertion AVL Tree mempunyai 2 proses balancing/insertion, yaitu: - Single Rotation Single rotation dilakukan apabila searah, left-left atau right-right Karena sisi kiri 2 memiliki kedalaman 1, dan sisi kanan 2 memiliki kedalaman 3. maka selisih kedalamannya adalah 2, sehingga tidak balance. Dengan be...

SUMMARY

Linked List Linked List  atau dikenal juga dengan sebutan senarai berantai adalah struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan). Elemen data yang dihubungkan dengan link pada Linked List disebut Node. Biasanya didalam suatu linked list, terdapat istilah head dan tail.  Head adalah elemen yang berada pada posisi pertama dalam suatu linked list. Tail adalah elemen yang berada pada posisi terakhir dalam suatu linked list. Adapun kelebihan dan kekurangan linked list, yaitu: Kelebihan: Penambahan elemen tidak terbatas Memungkinkan untuk dihapus Kekukarangan: Hanya dapat diakses secara sekuensial Memerlukan memori dalam jumlah yang besar, untuk menyimpan data yang besar juga. Berikut beberapa macam Linked List: Single Linked List Double Linked List Circular Linked List Multiple Linked List  SINGLE LINK LIST: Single Linked List ...

Data Structure

Single Linked List Single Linked List adalah sekumpulan dari node yang saling terhubung dengan node lain melalui sebuah pointer. rangkaian single linked list tersebut diawali dengan sebuah head untuk menyimpan alamat awal dan di akhiri dengan node yang mengarah pointer ke null. Single Linked List hanya memiliki satu arah dan tidak memiliki dua arah atau bulak balik, dua arah tersebut disebut dengan double linked list. Pada Implementasinya, Single Linked List terdapat dua variasi yaitu circular dan non-circular. Contoh Non Circular:  Contoh Circular:   Dalam pembelajaran struktur data, kita akan lebih sering mengenal dengan istilah : Push  untuk menambah data. PushHead  – Menambah data ke barisan paling awal PushTail  – Menambah data ke barisan paling akhir PushMid  – Menambah data ke barisan di tengah (sorting) Pop untuk menghapus data. PopHead  – Menghapus data paling awal PopTail  – Menghapus data paling akhir Pop...

Binary Search Trees

Binary Search Trees Pohon cari biner adalah pohon biner yang dirancang untuk menskemakan urutan data yang akan dimasukkan ke dalam memori agar proses pencarian, penghapusan dan penambahan data dapat berjalan secara efisien dibanding dengan pemasukan data secara array maupun link. Sifat dari skema pohon cari biner adalah :  (1) setiap elemen yang berada di left substrees selalu lebih kecil dari elemen yang ada di right substrees . (2) setiap elemen yang berada di right substrees selalu lebih besar atau sama dengan elemen yang berada di left substrees . Contoh: Ada 3 cara untuk melakukan penelusuran pada binary search trees, yaitu: 1. Pre Order: Print data, Telusur ke kiri, Telusur ke kanan. 2. In Order: Telusur ke kiri, Print Data, Telusur ke kanan. 3. Post Order: Telusur ke kiri, Telusur ke kanan, Print Data. Sumber: https://www.mahirkoding.com/struktur-data-binary-search-tree-bst/ https://saragusti22.wordpress.com/2015/05/04/pengantar-st...

Hashing Table and Binary Tree

Hashing Table dan Binary Tree Sebenarnya apa itu hashing? Hashing adalah metode untuk menyimpang data dalam sebuah array agar penyimpanan data, pencarian data, penambahan data, dan penghapusan data dapat dilakukan dengan cepat serta dengan constant average time. Hash Table adalah salah satu struktur data yang digunakan dalam penyimpanan data sementara. Tujuan dari hash table adalah untuk mempercepat pencarian kembali dari banyak data yang disimpan. Hash table menggunakan suatu teknik penyimpanan sehingga waktu yang dibutuhkan untuk penambahan data (insertions), penghapusan data (deletions), dan pencarian data (searching) relatif sama dibanding struktur data atau algoritma yang lain. Kelebihan dari hash table antara lain sebagai berikut: - Waktu aksesnya cukup cepat, jika record yang dicari langsung berada pada angka hash lokasi penyimpanannya. - Hash table relatif lebih cepat. - Kecepatan dalam insertions, deletions, maupun searching relatif sama.  - Cocok u...