Archive for March, 2016

Rangkuman Struktur Data 4

0

TREE

Tree adalah sebuah struktur data yang berbentuk seperti pohon yang terdiri dari serangkaian node yang saling berhubungan.

picture1

 

Root adalah node teratas dari sebuah tree.

Parent adalah node yang berada diatas node lain secara langsung. Root juga termasuk parent.

Child/anak adalah cabang langsung dari sebuah node.

Leaf/Daun adalah node terakhir yang tidak memiliki child.

Derajat adalah tingkatan dalam tree, dimulai dari level 0 untuk root dan level 1 untuk child dibawahnya dan seterusnya.

Height adalah banyaknya tingkatan dalam suatu tree.

Size adalah banyaknya node dalam suatu tree.

Ancestor adalah seluruh node yang terletak sebelum node tertentu pada jalur yang sama.

Descendant adalah seluruh node yang terletak setelah node tertentu pada jalur yang sama.

Sibling adalah node-node yang memiliki parent yang sama.

 

BINARY TREE

Binary Tree adalah tree yang mempunyai maksimal hanya dua anak dan harus terpisah.

tree_binary

Tipe-tipe Binary Tree:

  • Perfect Binary Tree : masing-masing node mempunyai dua anak.

41

  • Complete Binary Tree : mirip dengan Perfect, tetapi setiap subtree boleh memiliki panjang path yang berbeda.

42

  • Skewed Binary Tree : masing-masing node kecuali leaf hanya mempunyai satu anak.

43

  • Balance Binary Tree : jarak dari root ke leave dibagian kiri dan kanan sama.

 

PROPERTY OF BINARY TREE

Jumlah max node dari level k dari sebuah binary tree adalah 2k

Jumlah max node dengan height h dari sebuah binary tree adalah 2h+1-1

Height minimum dari sebuah binary tree dari n node adalah 2logn

Height maksimum dari sebuah binary tree dari n node adalah n-1

 

REPRESENTATION OF BINARY TREE

  1. ARRAY

Picture1

Index pada array mewakili jumlah node

Index 0 adalah Root

Index Left Child = 2p + 1, dimana p = parent index

Index Right Child = 2p + 2

Index Parent = (p-1)/2

 

  • LINKED LIST

Picture2

struct node {

int data;

struct node *left;

struct node *right;

struct node *parent;

};

struct node *root = NULL;

 

EXPRESSION TREE CONCEPT

Picture3

PREFIX : print L R

Atas ke bawah, dengan kiri prioritas

*

*+

*+a

*+ab

*+ab/

*+ab/-

*+ab/-c

*+ab/-cd

*+ab/-cde

 

POSTFIX : L R print

Kiri ke kanan, atas ke bawah

a

ab

ab+

ab+c

ab+cd

ab+cd-

ab+cd-e

ab+cd-e/

ab+cd-e/*

 

INFIX : L print R

Bawah ke atas, kiri ke kanan

(a

(a+

(a+b)

(a+b)*

(a+b)*((c

(a+b)*((c-

(a+b)*((c-d)

(a+b)*((c-d)/

(a+b)*((c-d)/e)

Rangkuman Struktur Data 3

0

STACK

 

Stack

 

Dapat diartikan sebagai tumpukan, bersifat LIFO (Last In First Out) yang berarti yang terakhir masuk yang pertama keluar.

Dua variabel di dalam stack:

  • Top : menunjuk data yang paling atas
  • Max : maksimum banyak data yang dapat disimpan

stack kosong pada saat TOP = NULL

stack penuh pada saat TOP = MAX-1

Operasi pada stack :

  • push(x) : menambahkan sebuah data x di bagian atas stack
  • pop( ) : menghilangkan data paling atas di sebuah stack
  • top( ) : menunjuk data top pada stack

 

 

QUEUE

 

Data_Queue

 

Dapat diartikan sebagai antrian, bersifat FIFO (First In First Out) yang berarti yang pertama masuk yang pertama keluar.

Dua variabel dalam queue:

  • Front : bertambah pada saat data di pop
  • Rear : bertambah pada saat data di push

Operasi pada queue:

  • push(x) : menambahkan sebuah data x di belakang queue. Disebut juga sebagai enqueue
  • pop( ) : menghilangkan sebuah data di bagian depan queue. Disebut juga dequeue
  • front( ) : menunjuk data front pada queue. Disebut juga peek

 

 

INFIX, PREFIX, DAN POSTFIX

Merupakan bentuk penulisan operasi matematika. Terdiri dari operand dan operator. Lihat gambar dibawah untuk lebih jelasnya.

operandoperator

 

INFIX

OperandL Operator OperandR

X+Y

Contoh: 4+6*(5-2)/3

 

PREFIX

Scan from right to left

Operator OperandL OperandR

+XY

Contoh: +4/*6-523

 

POSTFIX

Scan from left to right

OperandL OperandR Operator

XY+

Contoh: 4652-*3/+

 

Untitled

 

Alasan dibutuhkan postfix dan prefix adalah karena postfix dan prefix tidak membutuhkan tanda kurung dan dapat mempermudah komputer untuk menyelesaikan operasi matematika nya.

 

DFS (Depth First Search)

dfs-order

Algoritma yang menyelusuri vertex secara mendalam terlebih dahulu.

Kelebihan : cepat mencapai ruang kedalaman

Kekurangan : menghabiskan waktu yang banyak jika suatu graph memiliki anak cabang yang banyak

 

BFS (Breadth First Search)

bfs-order

Algoritma yang menyelusuri secara melebar terlebih dahulu.

Kelebihan : tidak akan menemukan jalan buntu

Kekurangan : membutuhkan waktu yang lama

Rangkuman Struktur Data 2

0

Guest Lecturer: Bong Defendy

e-mail: me@defendy.com

 

Beberapa pembelajaran yang didapat dari guest lecturer:

 

Big Data

Big Data adalah data dengan ciri berukuran sangat besar, sangat variatif, sangat cepat pertumbuhannya dan mungkin tidak terstruktur yang perlu diolah khusus dengan teknologi inovatif sehingga mendapatkan informasi yang mendalam dan dapat membantu pengambilan keputusan yang lebih baik.

Karakteristik Big Data: Berukuran sangat besar (high-volume), sangat bervariasi (high-variety), kecepatan pertumbuhan tinggi (high-velocity), sangat tidak jelas (high veracity).

 

Arduino

Arduino adalah sebuah platform open source yang digunakan untuk membuat proyek-proyek elektronika. Terdiri dari dua bagian utama yaitu sebuah papan sirkuit fisik (mikrokontroler) dan sebuah perangkat lunak atau IDE (Integrated Development Environment) pada komputer.

Keunggulan Arduino: Murah, sederhana dan mudah, perangkat lunaknya Open Source, perangkat kerasnya Open Source.

 

Raspberry Pi

Raspberry Pi adalah sebuah mini kit yang bisa di jadikan komputer mini. Memiliki 2 model, yaitu Raspi Model A dan Raspi Model B, dimana perbedaanya ada di bagian RAM.

Raspberry Pi atau Raspi hanya berukuran sebesar kartu kredit.

 

Latex

TeX merupakan perangkat lunak pengolah dokumen yang ditujukan untuk menghasilkan dokumen yang berisi simbol-simbol matematik. Sementara LaTeX adalah hasil turunan dari TeX. TeX adalah bahasa pemrograman yang menjadi bagian utama dari typesetting system yang menghasilkan dokumen yang berkualitas tinggi.

 

Cloud Storage

Cloud storage adalah media penyimpanan data online yang bisa diakses darimana saja dan kapan saja selama terkoneksi ke internet.

Kelebihan Cloud Storage:

  • Bisa diakses dari banyak device
  • Tidak perlu membawa media penyimpanan seperti flashdisk dan harddisk
  • Bisa digunakan sebagai backup data

Kekurangan Cloud Storage:

  • Membutuhkan jaringan internet
  • Dapat diakses oleh hacker
  • Pengaksesan data terganggu jika koneksi internet sedang tidak bagus

Ada banyak sekali penyedia/provider cloud storage di internet.

 

Augmented Reality

Augmented Reality atau disingkat AR adalah teknologi yang menggabungkan benda maya dua dimensi maupun tiga dimensi ke dalam sebuah lingkungan nyata tiga dimensi lalu memproyeksikan benda-benda maya tersebut dalam waktu nyata (realtime).

Augmented Reality diaplikasikan untuk semua indera. Teknologi ini terus dikembangkan dan perkembangannya cukup cepat. Teknologi ini akan sangat berguna kedepannya untuk masalah seperti promosi barang, video games, dan lainnya.

Go to Top