Posts

Heap

Image
HEAPP!P!P!P!P!P!PP!PP!! AAHHH.................................................................................. MALAS BANGET! MALAS BANGETTT!!! oke kita siapin agak cepat ye.... Heap....... Heap adalah penyusunan data seperti tree, tetapi penyusunannya ada 2 macam yaitu max heap dan min heap dimana apabila data yang paling atas paling besar dan data yang dibawah paling kecil disebut sebagai max heap dan sebaliknya apabila data yang paling atas paling kecil dan data yang paling bawah adalah data yang terbesar maka di sebut sebagai min heap. Jadi heap ada tree yang terurut dari atas sampai bawah. Contoh gambarnya sebagai berikut....  jadi yang ada di atas gambar nya itu adalah min heap dimana data paling atas itu paling kecil Sama juga seperti min heap hanya kebalikannya doang, max heap memiliki data yang paling besar ditempatkan di paling atas. di dalam algoritma heap seharusnya mereka menyimpan datanya kedalam array juga, supaya rapi.Implementasi heap cukup banyak y

AVL Tree

Image
AVL TREE Apa itu AVL Tree? hmmm........ AVL Tree sebenarnya mirip dengan Binary Search tree, Hanya saja lebih diperbarui. Jadi apa yang diperbarui?? AVL Tree dikenal sebagai self balancing tree, oleh karena itu yang diperbarui adalah data-data yang telah dimasukin kedalam rantaian tree. Kenapa diperbarui? bukankah itu repot?Kan kita sudah ada Binary Search Tree yang memiliki time complexity O log n tapi kenapa kita membutuhkan AVL Tree? Iya Pencarian data dalam Binary Search Tree sangat lah cepat dengan complexity blablabla. Tapi gimana kalau BST ketemu worst casenya? dimana treenya bakal terisi child kanan doang? contohnya: jadi berikut adalah contoh worst case BST dimana pencarian akan menjadi linear search. Sehingga akan sulit untuk mencari data dengan time complexity yang dikatakan tadi. Jadi Tugas AVL di sini adalah untuk merapikan dirinya sblm di search, sama seperti kamu sebelum kencan harus bercemin kan?kalau jelek di rapiin kalau udah ganteng yaudah gas k

Data Structure

Image
Summary data structure Halo guys kali ini saya akan melakukan summary terhadap data struktur yang telah saya belajar. 1. Linked list Didalam data struktur, linked list adalah cara penyambungan alamat-alamat data yang ada menjadi satu kesatuan seperti array tetapi secara dinamik. Ada 4 macam linked list yaitu   a. singly linked list yaitu cara penyambungan hanya dengan 1 rantai dimana rantai tersebut akan tersambung apabila ada data yang akan disambung. Data yang disambung akan terus disambung sampai ke data yang paling belakang. Data yang paling belakang akan menyambungkan datanya ke data yang paling depan. berikut adalah contoh singlly linked list dimana dia akan terus bersambung meskipun datanya sudah tidak ada di bagian paling depan   b. single linked list, caranya sama aja dengan singly linked list, hanya saja data yang paling akhir tidak tersambung kemana-mana   c. Double linked list, cara penyambungannya memiliki 2 rantai, kalau single linked list itu kan next

Hash Table and binary tree

Image
Hash and Tree Hash adalah suatu cara untuk menyimpan data dengan mengubah data menjadi kunci, sehingga kunci tersebut dapat digunakan untuk mengakses data tersebut. Didalam Hash ada 2 objek terpenting yang harus diketahui, yaitu key dan Hash Table. Key adalah kunci dalam hash sedangkan Hash Table adalah tempat penampung data tersebut. Hashing banyak digunakan didalam database dan berbagai macam penyimpanan data sehingga teknik atau cara ini dapat dikembangkan dengan berbagai macam function hash. Function Hash didalam data structures sangatlah banyak, mari kita lihat satu per satu: 1. Division.     Jadi division ini adalah teknik hashing dengan cara mengubah data menjadi key sehingga key tersebut tidak boleh lebih besar daripada penampung data. Rumusnya adalah sebagai berikut: f(x) = x % data_penampung, dimana f(x) adalah key dan kemudian data tersebut akan diletakan sesuai dengan key yang berurutan. contohnya: Nah jadi bagaimana dengan data yang keynya sama?Di

Stack and Queue

Image
Stack and Queue Yang pertama kita akan membicarakan tentang Stack. Stack itu apa menurut kalian? menumpuk bukan? sebelum menumpuknya sesuatu barang perlunya apa? yang pastinya adalah masukan dari luar barang tersebut. Jadi Stack adalah tumpukan data yang terdapat pada suatu program dimana kita harus menekan tumpukan data tersebut, baik dari atas maupun dari bawah. Stack dapat dianalogikan sebagai susunan piring dimana piring yang pertama kali masuk akan menjadi piring paling terakhir keluar. Jadi disini kita dapat mengetahui stack sebagai PushHead, berikut adalah source codenya: Jadi konsep Stack seperti diatas ini. Bagaimana dengan Queue? Queue adalah cara dimana mengambil konsep pengantrian dalam suatu tempat. Jadi data yang paling pertama datang akan keluar paling cepat sama juga seperti pengantrian membeli makan. Oleh karena itu kita akan meletakan data tersebut dipaling belakang dalam linked list, sehingga kita akan memainkan pushTail di sini dengan point Tail.

Linked list

Image
Linked list adalah sebuah cara menyambung node-node atau memory yang dibuat secara sembarangan dengan pointer-pointer. Linked list sangat lah penting dalam permainan data dalam data structure. Ada 3 macam Linked list di dalam data structure yaitu: 1. Circular single linked list     Circular single linked list adalah linked list dimana pointer pada node terakhir menunjuk pada data pertama. pointer-pointer dalam circular biasanya tidak null. Seperti yang terdapat pada namanya circular single linked list hanya memiliki pointer yang dapat menujuk data yang ada berada didepannya. Circular single linked list terdiri dari node-node dan node utama dalamnya. node utamanya biasa sering disebut sebagai Head dalam source code. Dari gambar diatas kita dapat melihat bahwa Head menunjukan ke data yang pertama, sehingga apabila kita memanggil head maka kita akan memanggil data yang pertama. yang kedua itu adalah panah di gambar, panah digambar hanya terdapat 1 dan menunjuk ke data depannya,