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.