Data – Structure 9

Session – 9

Minimum Spanning Tree

Pohon rentang minimum (minimal spanning tree) adalah teknik mencari jalan penghubung yang dapat menghubungkan semua titik dalam jaringan secara bersamaan sampai diperoleh jarak minimum

Example Minimum Spanning Tree
Example Minimum Spanning Tree

Minimum Spaning Tree terdiri dari 2 macam :

  • Prim’s
  • Kruskal’s

Prim’s

mengurutkan vertex paling awal lalu membandingkan beberapa edge awal dan ambil cost terendah

index

Kruskal’s

mengurutkan edge dari cost yang terkecil hingga terbesar lalu diurutkan dari atas dan edge yang menyebabkan loop dibuang

index

 

 

Data – Structure 8

Session – 8

Heap

Heap merupakan sebuah complete binary tree.

Heap terbagi menjadi 3 jenis yaitu :

  • Min Heap
  • Max Heap
  • Min-Max Heap

Min Heap

Pada tree terdapat Min Heap, jika Parent selalu lebih kecil dari childnya. Sehingga nilai data yg paling kecil ada pada Rootnya.

Diagram2

Max Heap

Pada tree terdapat Max Heap, jika  Parentnya selalu lebih besar dari childnya (kebalikan dari Min Heap). Sehingga data yg ada pada Rootnya selalu data terbesar.

Max-Heap

Min – Max Heap

Min-max heap merupakan sebuah kombinasi dari Min heap dan Max heap. Tiap levelnya akan berganti antara min heap dan max heap.

DC33H

Tries

Tries adalah  sebuah variasi pada tree yang digunakan untuk menyimpan array asosiatif. Tries berfungsi untuk menebak dan mencari kata yang akan kita buat.

bubbles-lines

Hashing

Hashing merupakan sebuah alat pengubah/perubahan aritmatik sebuah string dari karakter menjadi nilai yang merepresentasikan string aslinya. Dalam istilah bahasa hash berarti memenggal dan kemudian menggabungkan

index

Data Structure – 7

Session 7

RBT (Red Black Tree)

Red – Black Tree atau yang biasa disebut dengan RBT merupakan sebuah part atau bagian dari self balancing binary search tree.

RBT memiliki ciri – ciri :

  • Setiap node mempunyai warna (hanya terdapat 2 warna hitam atau merah)
  • Root (akar induk node) memiliki warna default yaitu warna merah
  • Node yang baru di insert berwarna merah
  • Node yang memiliki anak, anaknya harus berwarna hitam (tidak boleh merah ketemu merah entar ga serasi).
contoh red - black tree
contoh red – black tree

Pada RBT terdapat beberapa fungsi yaitu :

  • Insertion
  • Deletion

Insertion

Merupakan salah satu operasi pada RBT yang berfungsi untuk me – Insert sebuah node. operasi insert pada RBT ini sama dengan operasi insert pada binary search tree.

Memiliki ciri – ciri :

  • Node baru (new node) yang akan dimasukkan berwarna merah
  • Kalau parent dari sebuah node itu berwarna merah akan terjadi sebuah violation (semacam intimidasi karena node sama – sama berwarna merah)
contoh model operasi insertion pada RBT
contoh model operasi insertion pada RBT

Deletion

Merupakan salah satu operasi pada RBT yang berfungsi untuk me – delete sebuah node. Sama seperti insertion pada RBT operasi sama persis dengan binary search tree (BST).

Memiliki ciri – ciri :

  • Jika node yang dihapus berwarna merah, ganti dengan anaknya yg berwarna hitam.
  • Jika node yang dihapus berwarna hitam dan anaknya merah, ganti dengan anaknya lalu ubah warna childnya menjadi hitam.
contoh operasi delete pada RBT
contoh operasi delete pada RBT

 

 

Data Structure – 6

AVL Tree

AVL Tree merupakan sebuah Binary Search Tree yang memiliki perbedaan level maksimal 1 antara subtree kiri dan subtree kanan.

AVL Tree Berfungsi untuk menyeimbangkan Binary Search Tree, Jadi dengan menggunakan AVL Tree waktu pencarian dan bentuk tree dapat disederhanakan.

Contoh Bentuk AVL Tree
Contoh Bentuk AVL Tree

AVL Tree terdiri dari 2 jenis yaitu :

  • Single Rotation
  • Double Rotation

Single Rotation

Single rotation dilakukan bila kondisi AVL tree waktu akan ditambahkan node baru dan posisi node baru seperti gambar berikut

Contoh Single Rotation
Contoh Single Rotation

Double Rotation

Double rotation dilakukan bila kondisi AVL tree waktu akan ditambahkan node baru dan posisi node baru seperti pada gambar

Contoh Double Rotation
Contoh Double Rotation

 

Data Structure – 5

SESSION – 5

Binary Search Tree

Adalah sebuah sebuah tree yang memiliki kelebihan dari structure data yang lain. BST (Binary Search Tree) digunakan untuk menulusuri/mencari (searching) dan melakukan proses pengurutan (sorting). Pada dasarnya operasi dalam binary search tree sama dengan Binary tree biasa, kecuali pada operasi insert, Update, dan delete.

BST

 

BST memiliki beberapa operasi antara lain :

  • Insert(x) = sebagai operasi untuk memasukkan node x ke dalam BST
  • Update(x) = sebagai operasi untuk mengupdate node x di dalam BST
  • Delete(x) = sebagai operasi untuk menghapus node x dari BST

 

  1. Insert

Pada Binary Search Tree, insert dilakukan setelah ditemukan lokasi yang tepat. (Lokasi tidak ditentukan oleh user sendiri).

  1. Update

Seperti pada Binary Tree biasa, namun disini update akan berpengaruh pada posisi node tersebut selanjutnya. Bila setelah diupdate mengakibatkan tree tersebut bukan Binary Search Tree lagi, maka harus dilakukan perubahan pada tree dengan melakukan perubahan pada tree dengan melakukan rotasi supaya tetap menjadi Binary Search Tree.

  1. Delete

Seperti halnya update, delete dalam Binary Search Tree juga turut mempengaruhi struktur dari tree tersebut.

 

BST Memiliki Sifat – sifat :

  • Setiap simpul memiliki nilai
  • Sub pohon kiri dari sebuah simpul hanya memuat nilai lebih kecil dari nilai simpul.
  • Sub pohon kanan dari sebuah simpul hanya memuat nilai lebih besar atau sama dengan nilai dari simpul.

Data Structure – 4

Session – 4

  1. Tree

Tree (Pohon) pada sebuah data structure merupakan sebuah node (simpul) yang saling terhubung dan membentuk menyurapai sebuah jaringan pohon.

tree

 

  • Pada Data Structure Tree terdapat sebuah root, edge dan leaf
  • Root merupakan sebuah simpul atau node teratas dari struktur
  • Edge merupakan sebuah garis yang menghubungkan antar node (simpul)
  • Leaf (daun) merupakan sebuah node (simpul) tingkat terendah pada struktur tree

 

  1. Binary Tree

Binary Tree (Pohon Biner) adalah sebuah data structure yang pada nodenya (simpulnya) maximal hanya memliki 2 anak

binaryTree

 

Jenis – Jenis Binary Tree :

  • Full Binary Tree

Sebuah binary tree yang tiap node (simpul) hanya memiliki 2 anak (kecuali leaf) dan memiliki jalur atau sub tree yang sama

41

 

  • Complete Binary Tree

Sama dengan full binary tree, tetapi bedanya pada setiap jalur atau sub tree nya memliki panjang yang berbeda

42

 

  • Skewed Binary Tree

Yang pada setiap nodenya hanya memiliki 1 buah anak (kecuali Leaf)

43

 

  1. Expression Tree

Expression Tree adalah sekumpulan node yang digunakan untuk mengevaluasi ekspresi tertentu.

Ekspresi tersebut ada 2 yaitu Aljabar dan Boolean. Kumpulan node tersebut mewakili ekspresi yang mengandung 2 operator yaitu Unary dan Binary.

 

3 konsep Expression Tree :

  • Prefix (Operator berada di  posisi depan)(VLR) sbg contoh (+ab).
  • Infix (Operator berada di posisi tengah)(LVR) sbg contoh (a+b).
  • Postfix (Operator berada di posisi belakang)(LRV) sbg contoh (ab+)

Operasinya :

  • Infix = (a+b)*((c-d)/e)
  • Prefix = *+ab/-cde
  • Postfix = ab+cd-e/*

Data Structure – 3

Session – 3

Implementasi Linked List

  1. Stack

Adalah tumpukan dari benda, sekumpulan data yang seolah-olah diletakkan di atas data yang lain.

Stack

Stack bersifat LIFO (Last In First Out) artinya benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari stack

Operasi-operasi yang biasanya tredapat pada Stack yaitu:

  1. Push : berguna untuk menambah item pada stack pada tumpukan paling atas
  2. Pop : berguna untuk mengambil item pada stack pada tumpukan paling atas
  3. Clear : berguna untuk mengosongkan stack
  4. IsEmpty : berguna untuk mengecek apakah stack sudah kosong
  5. IsFull : berguna untuk mengecek apakah stack sudah penuh

 

  1. NOTASI INFIX, PREFIX, POSTFIX
  • Infix : adalah notasi yang berbentuk operator atas operand, operator berada diantara operand
  • Prefix : adalah notasi yang berbentuk operator atas operand, operator berada diatas operand
  • Postfix : adalah notasi yang berbentuk operator atas operand, operator berada dibelakang operand

 

Contoh – contoh operasinya :

Infix        :  4 + 6 * ( 5 – 2 ) / 3

Prefix     :  + 4 / 3 * 6 – 5 2

Postfix   :  4 6 5 2 – * 3 / +

 

  1. QUEUE

Adalah antrian sekumpulan data penambahan dan penghapusan pada implementasi suatu array dan linked list  Bersifat FIFO (First In First Out) dan memiliki karateristik :

  1. elemen antrian.
  2. front (elemen terdepan antrian).
  3. tail (elemen terakhir).
  4. jumlah elemen pada antrian.
  5. status antrian.

 

  1. DFS dan BFS
  • DFS (depth first search)

adalah pencarian pada suatu node dalam setiap level dari paling kiri

Kelebihan DFS :

  1. Pemakaian memori yang sedikit
  2. Jika solusi yang dicari berada paling kiri dengan mudah ditemukan

Kelemahan DFS :

  1. Jika level dinaikkan tak terhingga, maka Solusi tidak complete
  2. Tidak optimal dalam mengatasi solusi yang sama dalam level yang berbeda

 

  • BFS (Breadth First Search)

adalah pencarian secara melebar yang mengunjungisimpul secara pre oder

Kelebihan BFS :

  1. Tidak akan menemui jalan buntu.
  2. Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik.
  3. Jika ada satu solusi maka bread-first search akan menemukannya

Kelemahan BFS :

  1. Membutuhkan memori yang cukup banyak.
  2. Membutuhkan waktu yang cukup lama.

 

different between DFS and BFS

Data Structure – 2

Session – 2

Big Data

Sebuah teknologi baru yang memungkinkan para pengguna untuk melakukan proses pengolahan, penyimpanan, dan analisis data dalam bentuk yang beragam, dengan berjumlah besar dan pertambahan data yang sangat cepat sehingga para programmer tidak perlu memakan banyak waktu.

Proses Big Data bertujuan agar setiap bisnis, organisasi ataupun individu yang mampu mengolah data tersebut bisa mendapatkan informasi lebih mendalam (insights) yang akan memicu pengambilan keputusan (decision making) dan tindakan (action) bisnis yang mengandalkan insights tersebut, bukan berdasarkan insting semata.

Ciri-ciri data yang ditangani oleh Big Data :

  • Velocity (pertambahan) data yang sangat cepat
  • Data yang ber – Volume besar (Terrabytes keatas)
  • Bentuk format data beraneka ragam

 

Arduino

Arduino merupakan sebuah platform hardware terbuka yang ditujukan kepada siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan.

Diprogram menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.

salah satu contoh Arduino

Jenis – jenis Arduino :

  • Arduino Uno
  • Arduino Due
  • Arduino Mega
  • Arduino Leonardo
  • Arduino Fio
  • Arduino Lilypad
  • Arduino Nano
  • Arduino Mini
  • Arduino Micro
  • Arduino Ethernet

Raspberry Pi

Raspi (Raspberry Pi) adalah sebuah komputer papan tunggal (Single Board Circuit /SBC) yang memiliki ukuran sebesar kartu kredit.

Raspi bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition.

Raspberry Pi

Raspberry Pi Memiliki 2 Model :

  • Model A

Menggunakan memori 256 MB dan tidak memiliki kartu jaringan

  • Model B

Menggunakan memori 512 MB dan sudah dilengkapi dengan kartu jaringan

Hardware Raspberry Pi tidak memiliki real-time clock, sehingga OS harus memanfaatkan timer jaringan server sebagai pengganti. Namun komputer yang mudah dikembangkan ini dapat ditambahkan dengan fungsi real-time (seperti DS1307) dan banyak lainnya

Raspberry Pi bersifat open source (berbasis Linux), Raspberry Pi bisa dimodifikasi sesuai kebutuhan penggunanya. Sistem operasi utama Raspberry Pi menggunakan Debian GNU/Linux dan bahasa pemrograman Python.

LaTeX

Sebuah bahasa markup atau sistem penyiapan dokumen untuk peranti lunak TeX. Tex merupakan program komputer yang digunakan untuk membuat typesetting suatu dokumen, atau membuat formula matematika

Latex memungkinkan para penggunanya untuk melakukan typesetting dan mencetak hasil nya dalam bentuk tipografi.

Manfaat/Keuntungan menggunakan LaTeX :

  • Memiliki format dokumen yang terstruktur
  • Daftar pustaka, daftar isi, footnote dapat dibuat secara otomatis oleh program
  • Memungkinkan pengguna untuk memasukan berbagai formula yang matematis

Kerugian menggunakan LaTeX :

  • Memerlukan analisa dan kecerdikan manusia sehingga program sulit untuk berdaptasi sendiri
  • Sangat sulit menuliskan dokumen yang tidak terstruktur

 

Cloud

Cloud / komputasi awan merupakan sebuah gabungan dari pemanfaatan teknologi komputer dan pengembangan berbasis internet. cloud adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Disajikan dalam bentuk suatu layanan (as service), sehingga pengguna dapat mengaksesnya lewat internet

Salah satu contoh Cloud / komputasi awan adalah

  • Google Drive
  • Dropbox
  • Skydrive

Augmented Reality

adalah teknologi yang menggabungkan benda maya dua dimensi dan ataupun tiga dimensi ke dalam sebuah lingkungan nyata tiga dimensi lalu memproyeksikan benda-benda maya tersebut dalam waktu nyata. Tidak seperti realitas maya yang sepenuhnya menggantikan kenyataan, realitas tertambah sekedar menambahkan atau melengkapi kenyataan.

Benda-benda maya menampilkan informasi yang tidak dapat diterima oleh pengguna dengan inderanya sendiri. Hal ini membuat realitas tertambah sesuai sebagai alat untuk membantu persepsi dan interaksi penggunanya dengan dunia nyata. Informasi yang ditampilkan oleh benda maya membantu pengguna melaksanakan kegiatan-kegiatan dalam dunia nyata.

salah satu contoh applikasi yang menggunakan Augmented Reality

Augmented Reality dapat diaplikasikan untuk semua indera, termasuk pendengaran, sentuhan, dan penciuman. Selain digunakan dalam bidang-bidang seperti kesehatan, militer, industri manufaktur, realitas tertambah juga telah diaplikasikan dalam perangkat-perangkat yang digunakan orang banyak, seperti pada telepon genggam.

SASS

Adalah sebuah alat yang digunakan oleh frond – end developer saat ini untuk membuat CSS yang mudah dikembangkan dan di modifikasi. SASS tergolong preprocessor CSS. Dengan SASS, kita dapat menggunakan beberapa fungsi yang memudahkan kita untuk membuat CSS.

Data Structure

Session 1 – Data Structure

Data Structure :

• Static memory allocation (array)
• Dynamic memory allocation (Linked list)
Cara menyimpan data dengan programing

Array (Homogen)
 Collection of similar data (Kumpulan data yg sejenis)
 Memiliki tipe data yg sama (Homogen)
 Indexnya dimulai dari 0
 Array x[3][2] —> Pasti 2 dimensi

Linked list :

linked list

• tipe data yg acak
• Elemen pertama : Head
• Elemen terakhir : Tail
Contoh : 10 digit, posen arraynya 11
Kalo 5 digit, arraynya tulis 4, maka error, out of board

Store Value di Array :
• Inisialisasi
• Input (Langsung ke Value)
• Assign value of array

Operator in Array :

• Transrvesal : Passing Nilai
• Insertion : Masukin Nilai ke Array
• Searching : Cari
• Deletion : Delete
• Merging : Menggabungkan
• Sorting : Mengurutkan

Pointer
adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori atau null jika tidak berisi data.

bisa akses array pake pointer
Contoh
Ada value 100 yang punya variable A kita menginginkan B yang sesuai dengan variable A, missal A diganti, B ganti maka : B=&A

Missal
Int*A , A = Alamat si x
Int**B , B = Alamat si x
Int x , B nunjuk ke A, Anunjuk ke x

Queue
• Elemen yg dimasukin duluan lah yg duluan keluar

datstruct

Pos 1 maju front ke 2 seterusnya sampe front ketemu rear maka selesai

Circular Queue

png;base64b60a8d10628a24e6

• Sama saja tapi saat antriannya bisa berputar dan saat abis bisa balik ke awal lagi

Priority Queue
• Sama seperti Queue bedanya ada sebuah pempriotasan
Contoh : orng yang mau lahir/koma bebas dalam antrian (dipioritaskan)

Stacks

stacks

• Lifo : yang awal masuk keluar pertama
• Lilo : yang terakhir masuk keluar pertama

Binary Trees

B.T

binary tree

Boleh bebas masukinnya

• “Binary” : anaknya max 2
• “ternary” : anaknya max 3

Acedemic Orientation

Hai selamat datang kembali diblog saya

Nah kali ini saya akan membahas tentang AO
Nah apasih AO itu? AO itu adalah sebuah masa pra kuliahan yang disebut Acedemic Orientation

Disini calon maba diajar untuk mengenal dunia perkuliahan dan materi yang ada pada jurusan yg masing2 kita pilih.
Nah iu artinya bahwa kita tidak akan sekelas lagi dengan anak2 yang berbeda jurusan dengan atau singkatnya kita akan berkumpul dengan jurusan yang sama

Nah AO tuh ada test nya loh meski testnya ga masuk nilai katanya sih bakal mempengaruhi nilai SAT loh (baru isu doing wkwkwk)
nah pengalaman saya di AO si enak ya dapat mengenal teman2 baru yang sejurusan dengan kita selain kita dapat ilmu yang bermanfaat seperti coding, pengenalan algorithm dan mengenal beberapa kordinisir di Binus seperti IT Division, SSC(Student Service Center), dll. Saya juga mengenal dosen2 yang ada di binus seperti koh sky(Pak Henry chong), Pak erdin, dsb.

Nah sekian dah pengalaman saya di FEP AO ini

See You Again………….

20150801_092756