Skip to main content

Posts

Final Review

Halo, Selamat datang di blog aku, hari ini kita akan mengulang pembahasan beberapa materi tentang data structure, yang pertama adalah Linked List Linked List Linked List adalah kumpulan elemen data, yang setiap data nya menunjuk ke data berikutnya, dan di diakhiri oleh null. Tipe - tipe linked list yaitu : Simple Linked List - hanya bisa bergerak maju. Doubly Linked List - bisa bergerak maju dan mundur. Circular Linked List - data terakhir bisa bergerak maju ke data pertama, dan data pertama                                              bergerak mundur ke data terakhir. Doubly Linked List Doubly Linked List hampir mirip dengan simple linked list, bedanya dia memiliki 2 pointer, yaitu next dan previous. next - bergerak maju ke data selanjutnya previous - bergerak mundur ke data sebelumnya Circular Single Linked List Circulat Single Linked List adalah Simple Linked List yang bisa berulang, bedanya kalau di Simple Linked List dia
Recent posts

Heap & Tries

Heap & Tries Heap heap adalah struktur data yang bisa dibilang sama atau mirip dengan Binary Search Tree (BST), namun bedanya adalah heap merupakan Complete Binary Tree yang memiliki persyaratannya sendiri. Heap dibagi menjadi 3 yaitu : Min Heap   Max Heap Min-Max Heap 1. Min Heap Setiap node dalam Min Heap lebih kecil dari masing-masing child nya dan root merupakan node paling kecil. Insertion :  Insert Node baru Check parent Jika nilai node baru tersebut lebih kecil dibandingkan parent, tukar posisinya dengan parent. Deletion :  Yang dihapus merupakan rootnya (elemen terkecil). Root yang dihapus tersebut kemudian digantikan oleh data terakhir di nodenya, kemudian data tersebut di downheapmin(jika anak < data tsb, maka tukar,dst sampai mentok dibawah atau node tsb<anaknya). 2. Max Heap Setiap node dalam Max Heap lebih besar dari masing-masing child nya dan root merupakan node paling besar Insertion :  I

AVL Tree

AVL Tree AVL Tree yang dinamakan dari pembuatnya yaitu Adelson-Velsky and Landis’ tree, adalah self-balancing binary search tree. Dalam AVL Tree, ketinggian anak anak di setiap simpul berbeda paling banyak 1. Kapan saja jika perbedaan ketinggian menjadi lebih besar dari 1 maka penyeimbangan pohon dilakukan untuk memulihkan propertinya. dalam AVL Tree ada 2 basic operation yaitu Right Rotation and Left Rotation. Cara Rotasi ini berfungsi untuk menyeimbangkan Tree: Biarkan  node A menjadi node baru yang di add ke tree. Setelah node A di add, dari node A ke root untuk menemukan node yang tidak seimbang. apabila ketemu node yang tidak seimbang maka akan diseimbangkan dan terus mengecek apabila masih ada node pada tree yang tidak seimbang. Jka Anda telah menemukan simpul z yang tidak seimbang, Node y adalah anak dari z dan x menjadi cucu dari z maka akan ada empat kemungkinan, yaitu  Case Left - Left: - x adalah left child dari node y dan y adalah left ch

Data Structure Summary

Hallo Guys hari kita akan merangkum apa yang sudah kita pelajari dari awal semester. materi yang akan kita bahas adalah Linked List Doubly Linked List Circular Single Linked List Circular Doubly Linked List Stack & Queue Hashing and Binary Tree Binary Search Tree 1. Linked List Linked List adalah kumpulan elemen data, yang setiap data nya menunjuk ke data berikutnya, dan di diakhiri oleh null. Tipe - tipe linked list yaitu : Simple Linked List - hanya bisa bergerak maju. Doubly Linked List - bisa bergerak maju dan mundur. Circular Linked List - data terakhir bisa bergerak maju ke data pertama, dan data pertama                                              bergerak mundur ke data terakhir. 2. Doubly Linked List Doubly Linked List hampir mirip dengan simple linked list, bedanya dia memiliki 2 pointer, yaitu next dan previous. next - bergerak maju ke data selanjutnya previous - bergerak mundur ke data sebelumnya 3. Cir

Binary Search Tree

Binary Search Tree Binary Search Tree (BST) adalah sebuah konsep penyimpanan data, dimana data disimpan dalam sebuah tree yang memungkinkan untuk melakukan searching dan sorting secara lebih cepat dan insert dan delete yang lebih mudah. Dalam Binary Search Tree terdapat maksimal 2 anak node dalam setiap nodenya, dan Binary Search Tree memiliki aturan : Left Subtree dari X, berisi elemen yang lebih kecil dari elemen yang disimpan di dalam X. Right Subtree dari X, berisi elemen yang lebih besar dari elemen yang disimpan di dalam X. Binary Search Tree memiliki beberapa operasi dasar seperti berikut : 1. Find (x) Find adalah operasi untuk mencari elemen X yang diinginkan. Searching dimulai dari root (akarnya), apabila root mengandung X didalamnya maka search dihentikan. apabila X lebih kecil dari root, maka search akan berlanjut secara rekursif ke Left Subtree. apabila X lebih besar dari root, maka search akan berlanjut secara rekursif ke Right Subtree. 2. In

Hashing and Binary Tree

Hashing and Binary Tree Halo semuanya, kali ini kita akan membahas tentang Hashing dan Binary Tree pada Structure Data. 1. Hashing Hashing adalah metode atau cara untuk mengambil data dengan cepat, cara ini mengubah String Character nya menjadi value yang panjangnya lebih kecil dari aslinya yang berfungsi untuk menunjukan bahwa nilai itu adalah nilai string tersebut. Hashing biasanya digunakan untuk mengambil suatu item di dalam database karena menggunakan metode hashing mempercepat kita dalam mencari value yang kita inginkan karena value dari original string sendiri diperkecil dengan cara metode hashing. Hashing juga dapat didefinisikan sebagai konsep mendistribusikan kunci dalam array yang disebut Hash Tabel menggunakan fungsi yang telah ditentukan yang disebut Hash Function . 2. Tree Tree adalah struktur data non-linear yang mewakili hubungan hierarchy antara data-data yang ada di dalam list. Beberapa relation antara tree dapat diamati dalam struktur directory

Stack and Queue

Stack and Queue Stack adalah Struktur Data yang penting karena dia menyimpan elemen-elemennya dengan tersusun rapih. Data disimpan dengan cara Last In First Out (LIFO). Stack bisa diimplementasikan menggunakan array ataupun linked list. Elemen-elemen di dalam stack yang di add atau remove hanya bisa dari satu ujung, yang disebut dengan top. Stack memiliki operasi-operasi yaitu : push (x): Add item x ke atas Stack. pop (): Delete item dari atas Stack. top (): reveal or return item teratas dari Stack. Queue hampir sama dengan stack, perbedaannya adalah cara menyimpannya, kalau Stack menyimpan data dengan cara Last in First Out (LIFO), Queue menyimpan data dengan cara First in First Out (FIFO). Elemen-elemen dalam Queue ditambahkan di satu ujung yang disebut bagian Rear dan dihapus dari ujung yang lain yang disebut Front. Queue juga memiliki operasi yang sama dengan Stack, yaitu : push (x): add item x ke rear queue pop (): delete item dari front queue. front (): reveal