Postingan

AVL & B-TREE

Gambar
AVL TREE DAN B-TREE Pada pertemuan kali ini saya akan membahas tentang apa yang telah dipelajari selama mengikuti proses vicon di kelas Data Structure tentang AVL Tree dan B-Tree. AVL TREE AVL Tree adalah suatu Binary Search Tree yang memiliki perbedaan level maksimal 1 antara subtree kiri dan kanan. AVL Tree digunakan untuk menyeimbangkan Binary Search Tree agar lebih mudah dan cepat dalam melakukan pencarian. Contoh AVL Tree Insertion Untuk menambahkan sebuah node, dilakukan pengecekan agar tree nya balance. Jika pada saat pengecekan ada yang balance factornya lebih dari 1, maka akan dilakukan rotation. Ada 2 jenis rotation yaitu Single Rotation dan Double Rotation. Single Rotation Double Rotation Node 8 memiliki balance factor lebih dari 1 sehingga dilakukan rotation. Saat di cek ternyata merupakan right left rotation sehingga termasuk ke dalam double rotation. Solusinya adalah dengan cara menaikkan node 11 keatas agar tree menjadi balance. ...

Rangkuman

Gambar
RANGKUMAN SETENGAH SEMESTER Pada kesempatan kali ini, saya akan membagikan tentang apa yang telah saya pelajari sejauh ini dalam kelas data structure. 1. POINTER Setiap variabel yang kita buat pada program akan memiliki alamat memori.  Alamat memori berfungsi untuk menentukan lokasi penyimpanan data pada memori (RAM).  Alamat memori biasanya dalam bilangan heksa desimal. Pointer adalah sebuah variabel berisi alamat memori dari variabel lain. Seperti pada variabel umumnya, pointer harus di deklarasikan terlebih dahulu. Pointer diawali dengan simbol "*" didepannya, dan untuk mengaksesnya menggunakan simbol "&". Simbol tersebut berfungsi mengambil alamat memori dari variabel. Contoh : Input : Output : 2. ARRAY Array adalah tempat untuk menyimpan banyak data dalam satu variabel. Dapat dianalogikan seperti hotel yang mempunyai banyak kamar. Kemudian kamar - kamar tersebut dikenal dengan istilah index / urutan angka. Index itu sendi...

Hash Table & Binary Tree

Gambar
HASH TABLE Apa itu Hash Table ? Sebuah struktur data yang terdiri dari sebuah tabel dan fungsi yang bertujuan untuk memetakan nilai kunci untuk setiap record (baris) menjadi angka (hash) lokasi record tersebut dalam sebuah tabel. Apa itu Hashing ? Hashing adalah transformasi sebuah input menjadi sebuah fixed value yang lebih pendek dan simple. Contohnya adalah sebuah fungsi yang meminta string dan memproduce integer dari 0-99. Fungsi hash ini bisa dipadukan dengan array untuk menghasilkan hash table.  Kenapa Hash Table ? Karena hash table ini memiliki kelebihan yaitu insertion dan searching value yang ada di array dengan sangat cepat. Operasi Hash Table: insert : diberikan sebuah key dan nilai, insert nilai dalam table. find : diberikan sebuah key, temukan nilai yang berhubungan dengan key. remove : diberikan sebuah key, temukan nilai yang berhubungan dengan key lalu hapus. Bagaimana cara kerja Hash Table ? Hash table memiliki 2 komponen penting ...

Data Structure Session 3

Gambar
Data Structure Session 3 Pada kesempatan kali ini saya akan membahas tentang Data Structure dari apa yang saya dapatkan di pertemuan ketiga dikelas yang saya ikuti. Kali ini saya akan membahas tentang Stack dan Queue sejauh yang saya ketahui.  Stack Stack adalah kumpulan data yang disimpan dalam satu lajur linear yang terlihat seperti ada data lain yang menumpuk diatasnya. Konsep utama dari stack adalah LIFO (Last In First Out) yang artinya data yang terakhir kali dimasukkan itulah data yang pertama kali keluar. Stack dapat dianalogikan seperti tumpukan piring yang akan kita cuci, piring paling atas adalah piring terakhir namun piring tersebut yang pertama kali selesai dicuci. Dalam stack juga dikenal   "DFS " yaitu Depth First Search yang biasa digunakan untuk mapping. Stack Operation terdiri dari : Push : Menambahkan data pada tumpukan paling atas. Pop : Mengambil data dari tumpukan paling atas. Clear : Digunakan untuk mengosongkan tumpukan. ...

Data Structure Session 2

Gambar
Data Structure Session 2 Pada kesempatan kali ini saya akan membahas tentang Data Structure dari apa yang saya dapatkan dari pertemuan pertama sampai kedua ini. Kali ini saya akan membahas tentang pointer, array, dan juga linked list sejauh yang saya ketahui.  1. Pointer Setiap variabel yang kita buat pada program akan memiliki alamat memori.  Alamat memori berfungsi untuk menentukan lokasi penyimpanan data pada memori (RAM).  Alamat memori biasanya dalam bilangan heksa desimal. Pointer adalah sebuah variabel berisi alamat memori dari variabel lain. Seperti pada variabel umumnya, pointer harus di deklarasikan terlebih dahulu. Pointer diawali dengan simbol "*" didepannya, dan untuk mengaksesnya menggunakan simbol "&". Simbol tersebut berfungsi mengambil alamat memori dari variabel. Contoh : Input : Output : 2. Array Array adalah tempat untuk menyimpan banyak data dalam satu variabel. Dapat dianalogikan seperti hotel y...