Postingan

Stack & Queue

Stack & Queue Stack dan Queue adalah sejenis struktur data yang mengimplementasikan logika di dunia nyata, dimana pada konsep programming, konsep data struktur ini dapat dimplementasikan dengan pengunaan Linked List atau Array. Stack Pada data struktur Stack, kita dapat membayangkan sebuah stack itu seperti buku yang di tumpuk. Dimana, untuk mencapai buku yang terletak di urutan paling bawah, kita harus terlebih dahulu memindahkan buku yang dari paling atas menuju ke buku sebelum yang paling bawah, baru kita dapat mengambil buku yang paling bawah. Stack menggunakan konsep Last In, First Out (LIFO), dimana data yang terakhir kali masuk ke data struktur Stack akan keluar duluan. Berikut ini adalah contoh kodingan saya mengenai Stack: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> char sandwich[100][100] = { "                            ...

Binary Tree Search

The Binary Tree Search Binary tree search adalah sebuah data struktur turunan dari Tree data struktur yang berfungsi sebagai penyimpan data secara berurut, dimana setiap node mempunyai anak anak dimana anak kiri dari node memiliki nilai yang lebih kecil dari nilai pada parent dan untuk node kanan, nilainya lebih besar dari node parent. Berikut ini adalah codingan yang saya buat untuk BST ini: #include<stdio.h> #include<stdlib.h>   struct node {     int number;     struct node *leftChild, *rightChild; }; int menu() { int choice; printf("Binary Tree Search Program\n"); printf("==========================\n"); printf("1.Add Node\n"); printf("2.Print Node\n"); printf("3.Delete Node\n"); printf("4.Exit Program\n"); printf("==========================\n"); printf(">> "); scanf("%d", &choice); return choice; } struct node *newNode(int item) { ...

Review Materi Semester 2 Data Structure

Gambar
Pointer Apa itu pointer? Pointer, seperti nama bahasa inggrisnya, adalah tipe data di bahasa pemprograman c dan c++ dan berperan dalam penyimpnan "address" atau alamat dari suatu data dalam suatu block memori. Linked List Apa itu Linked List? Seperti namanya, Linked list adalah struktur data yang dimodelkan linier, hampir sama dengan Array, well, keduanya adalah struktur data linier. Mereka mungkin terdengar sama, tetapi ada perbedaan di antara mereka. Apa yang membedakan antara array dan Linked List? Sementara kita tahu bahwa array disimpan dalam bentuk pada memori yang berdekatan, ini berbeda dalam kasus daftar tertaut, di mana mereka tidak benar-benar menggunakan lokasi yang berdekatan, melainkan, mereka menautkan satu sama lain menggunakan pointer. Uniknya, Linked list dapat melakukan penambahan dan penghapusan dari elemen apapun di lokasi manapun, asalkan mereka terhubung. Linked list dapat dibagi menjadi 4 jenis : 1. Si...

Hash and Trees

Gambar
This GSLC Session, My lecturer asking us to make a blog about Hashing and Trees. So here it is, my take on Hashing and Trees Data structure. What is Hashing? Hashing is a technique used for temporary storing and retrieving keys in a rapid and fast manner. Hashing is used as a data structure because for example, if you want to find if there is a certain string that exists in an array, we could make a key to connect it with so it's easier and more efficient to do search function for it.  Hashing is used to index and retrieve items in a database because it is faster to find the item using shorter hashed keys than to find it using the original value. The example of hashing in real-life implementation is cryptocurrency. Hash Table A hash table is a data structure that consists of a table and a function to map unique key values for each row and become the number of record locations in a table. The advantage of hash tables is that the time to access is faster because the recor...

Pertemuan ke III : Data Structure Linked List | C Programming Languange

Dari blog saya yang sebelumnya, kita lebih mengenal tentang Linked List, Perbedaan Linked List dengan Array, dan Jenis-Jenis Linked List yang ada. Nah, Sekarang ayo kita mencoba mempraktekkan membuat sebuah singly linked list di salah satu programming languange yang populer, C Programming Languange. #include <stdio.h> #include <stdlib.h> struct Node{ int val; struct Node* next; }*head,*tail,*curr, *temp; void pushmiddle(int val,int a){ curr = (struct Node*)malloc(sizeof(struct Node)); curr->val = val; curr->next = NULL; temp = head; for(int i = 1; i < a; i++){ temp = temp->next; } if(temp->next==NULL) { printf("ERROR"); } curr->next=temp->next; temp->next=curr; } void pushhead(int val){ curr = (struct Node*)malloc(sizeof(struct Node)); curr->val = val; curr->next = NULL; if(head == NULL) { head = tail = curr; } else { curr->next=head; head = curr; } } void pus...