Kamis, 24 Maret 2016

Data Structure 04

Data Stucture pertemuan 04
Pada pertemuan 4 ini, kami membahas mengenai TREE CONCEPT . Tree Concept ini digunakan pada saat kami mempelajari Data Base nanti, dan contohnya seperti penggunaan Directory .Sesuai namanya Tree berarti Pohon . Maka Tree Concept ini digambarkan seperti membuat pohon :
CS241: Data Structures & Algorithms II
 

Dalam Tree terdapat istilah-istilah yang perlu diketahui:
1.       Parent
Pada Tree diatas:
-Parent of E : B
-Parent of C : A

2.       Root
Root merupakan akar dari segala node yang ada, dan terdapat di level teratas .
Pada Tree diatas:
Root : A

3.       Edge
Edge merupakan garis yang menghubungkan parent ke child nya

4.       Leaf
Leaf merupakan node yang terbawah , atau bias dibilang node yang tidak mempunyai child lagi
Leaf : K , L , M

5.       Siblings
Siblings merupakan node yang mempunyai parent yang sama
Siblings of F : G , H
Siblings of B : C , D

6.       Degree
Degree merupakan node pada total sub tree
Degree of tree : 4
Degree of C : 3

7.       Height/Depth
Height merupakan maximum degree pada tree tersebut
Height of Tree : 4

8.       Ancestor
Ancestor merupakan nenek moyang dari nodes .
Ancestor of G : C , A

9.       Descendant
Descendant merupakan keturunan dari nodes
Descendant of C : F , G , H , M

Binary Tree hanya mempunyai 2 anak (Left Child & Right Child).

Type of Binary Tree:
1.       Perfect Binary Tree
2.       Complete Binary Tree
3.       Skewed Binary Tree
4.       Balanced Binary Tree

1.       Perfect Binary Tree
Tree yang masing-masing mempunyai 2 anak, dimana kanan dan kiri seimbang


2.       Complete Binary Tree
Tree yang hampir sempurna atau seperti Perfect Binary Tree yang tidak seimbang
The complete binary tree is the most confusing and mostly used one!!


3.       Skewed Binary Tree
Tree yang parent-nya hanya mempunyai 1 anak

Skewed Binary Tree


4.       Balanced Binary Tree
Tree yang jarak dari root ke leaf sama dengan jarak antara kiri dan kanan
... tree is significantly faster than searching into a non-balanced tree
PROPERTY BINARY TREE

Mathematical Properties of binary trees

Rumus :
1.       Menghitung maximum node per level : 2k (k = level)
2.       Menghitung maximum node per height : 2h+1 – 1 (h = level)
3.       Menghitung minimum height : 2 log n (n=node) atau cara mudahnya menggambar tree dimana setiap parent mempunyai 2 anak
4.       Menghitung maximum height : n-1 (n=node) atau cara mudahnya menggambar dengan type skewed

REPRESENTATION OF BINARY TREE WITH ARRAY/LINKED LIST
1.       Array

The figure shows how a binary tree is represented as an array. The ...

Rumus :
1.       Index Left Child : 2p+1
2.       Index Right Child : 2p+2
3.       Index Parent : (c-1)/2

2.       Linked List


Convert Binary Search Tree (BST) to Sorted Doubly-Linked List


EXPRESSION TREE CONCEPT

Prefix -> Print Left Right                                                                                       
Postfix ->Left Right Print                                                                                       
Infix -> Left Print Right
                                                                                                                                                                
... binary tree that contains 30 nodes given the following expression tree

Selasa, 22 Maret 2016

Data Structure Pertemuan 03

Di dalam Struktur data berhubungan dengan Linked List dan di Linked List tersebut terdapat istilah Stack dan Queue . Materi tersebut sudah saya jelaskan di pertemuan kemarin Pertemuan 1 . Nah, sekarang kita kembali lagi ke Linked List. Di dalam Linked List Presentation terdapat Push , Pop , Top/Peek . Mari kita bahas satu persatu.

Push / Enstack / Enqueue

Push adalah suatu representasi dari Linked List untuk menambah node di awal / di akhir . Biasa ita menyebut Push Head untuk diawal , Push Tail untuk diakhir , dan Push Mid untuk di Tengah , tetapi untuk Push Mid biasa di pakai di Double Linked List , karena jika dipakai di Single Linked List akan lebih rumit .

Pop / Destack / Dequeue

Pop adalah suatu representasi dari Linked List untuk menghapus node di awal / di akhir . Biasa ita menyebut Pop Head untuk diawal , Pop Tail untuk diakhir , dan Pop Mid untuk di Tengah.

Top / Peek

Top adalah suatu representasi dari Linked List yang digunakan untuk menunjukan node yang sedang ditunjuk sekarang .

Array Presentation

Seperti array biasa , dimana tempat dipesan langsung 1 blok dan random
Contoh:
N = 5
Top = -1
Top






-1
0
1
2
3
4
Index
Kita bias memakai rumus :
Top + 1 >= 5
Top akan terus berpindah selama Top >=5
Saat Top = 5 , Top akan berhenti , dan menunjukan jika Array sudah penuh

Karena Array ini merupakan representasi dari stack , ada suatu hal yang membuat tidak selamanya data yang terakhir masuk akan pertama keluar . Jika ada suatu hal yang darurat, ada saatnya jika yang pertama masuk akan pertama keluar . Maka dari itu , ada yang namanya Priority Queue

Dan ada yang namanya Circular Queue, terjadi saat Top sudah mencapai akhir dan bisa kembali ke awal . Rumus yang dipakai adalah (Top + 1 % Max).

Application

Terdapat 3 bentuk :
1.Infix , berbentuk seperti matematika biasa
2.Prefix, berbentuk operation operandLeft OperandRight
3.Postfix  , berbentuk operandLeft OperandRight operation

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

Postfix : 4652-3*/+

Kamis, 10 Maret 2016

Struktur Data Pertemuan 2

Pada 2 Maret 2016, kelas kami kedatangan Guest Lecture untuk membangun semangat dan memotivasi para binusian 2019 tepatnya kelas struktur data . Guest Lecture tersebut adalah Bong Defendy , seseorang yang telah sukses dibidang IT dan telah membangun beberapa perusahaan . Saat sesi tersebut ia membahas mengenai SASS, Arduino, Augmented Reality, Machine Learning, Cloud Service, Big data,  dan lain sebagainya . Kita akan  membahas satu per satu mengenai informasi berikut.

SASS

SASS atau Syntactically Awesome Stylesheets merupakan penerjemah CSS dengan struktur yang lebih baik dengan menambahkan nested rules, variables, mixins, selector inheritance.
Kelebihan SASS yaitu hasil yang dihasilkan akan lebih rapi dan mudah dimengerti.

Arduino


Arduino adalah open source software atau yang biasa disebut IDE dan hardware atau programmable circuit board untuk membuat sebuah proyek elektronika. Arduino terdiri dari Software IDE dan hardware.
Augmented Reality

Augmented Reality atau biasa dikenal dengan singkatan AR (augmented reality), adalah teknologi yang dapat menggabugkan benda 2 dimensi dan 3 dimensi . Contohnya seperti Smart Home Automation , dengan menggabungkan peralatan teknologi yang sudah ada seperti sensor.

Machine Learning

Machine Learning berfungsi untuk membuat sebuah teknologi yang seperti diberikan "pikiran" agar teknologi tersebut dapat berperilaku layaknya manusia . Sepeti robot Asimo yang dapat berinteraksi, mengenali wajah, berbicara dan lainnya.

Cloud Service

Cloud Service merupakan server yang dibentuk sendiri dengan mengandalkan teknologi yang sudah ada seperti produk yang sudah dihasilkan dari Google.

Big Data

Big Data adalah sebuah teknologi baru yang dapat melakukan proses pengolahan data, penyimpanan data dan analisis data yang berjumlah besar dan pertambahan data yang sangat cepat.

Cukup sekian pembahasan materi yang dibawakan oleh Bong Defendy . Semoga bermanfaat . Terima kasih .