Skip to main content

Posts

Rangkuman 2

Nama: Christopher Wibisono NIM: 2301913822 Nama Dosen: CB01 (Kelas Besar) : Henry Chong(D4460) & Ferdinand Ariandy Luwinda (D4522) LM01 (Kelas Kecil) : Alexander (D5319) Pada blog kali ini, kita akan mereview apa saja yang sudah dipelajari selama akhir semester 2 ini. AVL Tree  adalah lanjutan dari  Binary Search Tree . Dengan  AVL Tree ,  Binary Search Tree  yang tingginya berat sebelah akan dibuat menjadi rata dengan mengubah posisi dari  node  yang membuat  tree  tidak seimbang. Pengubahan posisi tersebut dilakukan dengan cara  rotating , dimana  node  yang menjadi akar masalah dalam  tree  tersebut akan dipindahkan menjadi node yang berada diatas nya dan node yang berada pada atasnya akan berubah tempat mengikuti dengan aturan  Binary Search Tree . Rotating  terbagi menjadi dua, yaitu  Single Rotate  dan  Double Rotate . Seperti namanya,  Single Rotation  merupakan Rotasi yang dilakukan sekali saja. Rotasi ini hanya dilakukan sekali saja, dengan menemukan  n
Recent posts

Heaps & Tries

Heaps Heaps adalah binary tree yang menyimpan datanya dengan sorting. Karena terdapat sorting dalam heaps, insertion dalam heaps menjadi lebih cepat namun untuk mencari atau menghapus data dalam heaps membutuhkan proses yang lama. Heaps dibagi menjadi 3 macam, yaitu: 1.       Min Heaps o    Node pasti lebih kecil valuenya daripada childnya o    Root mempunyai value yang paling kecil dalam tree o    Leaf mempunyai value terbesar dalam tree 2.       Max Heaps o    Value dari node pasti lebih besar daripada childnya o    Root mempunyai value paling besar dalam tree o    Leaf memiliki value terkecil dalam tree 3.       Min – Max Heaps o    Min heaps diterapkan pada level ganjil dan max heaps diterapkan pada level genap Heaps dapat diimplementasi menggunakan array maupun linked list. Aplikasi heaps adalah sebagai berikut: o    Priority Queue o    Selection algorithm o    Dijkstra's Algorithm o    Prim Algorithm Tries Tries adalah binary tr

AVL Tree

AVL Tree adalah lanjutan dari Binary Search Tree . Dengan AVL Tree , Binary Search Tree yang tingginya berat sebelah akan dibuat menjadi rata dengan mengubah posisi dari node yang membuat tree tidak seimbang. Pengubahan posisi tersebut dilakukan dengan cara rotating , dimana node yang menjadi akar masalah dalam tree tersebut akan dipindahkan menjadi node yang berada diatas nya dan node yang berada pada atasnya akan berubah tempat mengikuti dengan aturan Binary Search Tree . Rotating terbagi menjadi dua, yaitu Single Rotate dan Double Rotate . Seperti namanya, Single Rotation merupakan Rotasi yang dilakukan sekali saja. Rotasi ini hanya dilakukan sekali saja, dengan menemukan node yang membuat tree tersebut tidak seimbang, lalu menggantikan node tersebut dengan node yang berada di bawahnya serta memindah node itu sendiri untuk menyeimbangkan tree tersebut. Node 30 menempati node 25 dan node 25 menjadi leaf kiri node 30 untuk menyeimbangkan tree .

App Linked List Store Management

Berikut ini adalah source code untuk manajemen barang jual beli yang sederhana. Nama : Christopher Wibisono NIM : 2301913822 #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <string.h> int total; struct ll { int qty; char nama[50]; int price; struct ll *next; struct ll *prev; }*head = NULL, *tail = NULL, *curr; void print() { curr = head; if (curr == NULL) printf("No Data!\n"); else { int i = 1; while(curr != NULL) { printf("---------------------\n"); printf("Data %d : %s\n",i,curr->nama); printf("Quantity %d : %d\n",i,curr->qty); printf("Price %d : %d\n",i,curr->price); curr = curr->next; i++; } } } void push() { curr = (struct ll*)malloc(sizeof(struct ll)); printf("Input Name : "); scanf("%[^\n]",curr->nama); printf("Input Quantity : "); scanf("%d"

RANGKUMAN GANJIL

Linked list adalah struktur data yang terdiri dari serangkaian rekaman data yang memiliki penunjuk untuk mengarahkan ke rekaman data yang ada setelah rekaman data ini. Untuk menggunakan linked list , kita memerlukan memory allocation untuk menyiapkan sebagian memori yang akan digunakan oleh linked list. Contoh: int   * cth = (int *) malloc(sizeof(int)); char * ct = (char *) malloc(sizeof(char)); * cth = 205; * ct = ‘A’; printf( “%d %c\n”, * cth , * ct ); Untuk melepas memori yang tidak digunakan lagi, dapat digunakan fungsi free. Contoh: free( cth ); free( ct ); Pada materi kali ini, kita membahas tentang  Linked List  dalam bahasa pemrograman C. Untuk kali ini kita akan fokus terhadap beberapa jenis  Linked List  yang lebih dalam termasuk : 1.         Circular Singly Linked List 2.        Doubly Linked List 3.        Circular Doubly Linked List Linked List  sendiri adalah struktur data yang menyimpan sebuah data serta sebuah referensi untuk