Senin, 06 Juni 2016

Pertemuan ke 9
 6 Juni 2016
Graph 
http://www3.cs.stonybrook.edu/~algorith/files/graph-data-structures-L.gif 
Suatu structure data yang diimplementasikan dari graph dalam matematika 
Graph adalah kumpulan node(vertex) yang di sambung dengan garis yang kita sebut edges
Degree adalah jumlah edges yg terhubung dengan vertex tertentu. 
dari gambar berikut kita dapat menentukan
Degree 2 = 4
Degree 1 = 2

Undirected Graph
Undirected graph adalah graph yang tidak memiliki arah di edge nya.

Setiap vertex / node itu terhubung 2 arah 
contoh 1 - 2 maka kita dapat melihat bahwa 1 bisa ke 2 dan 2 bisa ke 1 
sehingga ini kita sebut sebagai terhubung 2 arah

Directed Graph
Directed Graph adalah graph yang setiap node terhubungan dengan edge yang memiliki arah
seperti contoh dibawah bahwa A terhubung dengan B tetapi B tidak terhubung dengan A 
Directed graph terbagi menjadi 2 jenis:
yaitu in-Degree dan out-Degree. 
In-Degree adalah total edge yang menuju ke verteks / node tersebut, 
out-Degree adalah total edge yang keluar dari vertex / node tersebut

MINIMUM SPANNING TREE
adalah graph dengan nilai terkecil dan path terpendek 
tidak boleh ada loop dan semua vertex harus di lalui semua


Untuk dapat mencari MST terdapat 3 cara, yaitu:
1. Prim's Algorithm
Mencari jalan yg costnya terkecil dari setiap path.dan cukup mengikuti arus dari edge-edge tersebut. terdapat 5 verteks A B C D E  jika kelima verteks telah dikunjungi semua, maka algoritma berhenti.

2. Kruskal's Algorithm
Semua cost dari edges disort terlebih dahulu, lalu dicari path yang costnya terkecil. Verteks yg sudah dikunjungin ditulis, lalu dilanjutkan sampai semua path nya dimasukan tentunya seperti diatas bahwa tidak boleh ada looping pada saat di cek jika ditemukan maka itu tidak di jalankan lalu cek apakan semua vertex sudah di kunjungi
3. Dijkstra's Algorithm
tidak jauh berbeda dengan cara prim yaitu mencari jalan dengan mengikuti arus tetapi dengan dijkstra kita harus menghitung akumulasi nya lalu dari situ kita mengambil nilai terkecil misal A B E total nilai diakumulasi adalah 3 + 1 = 4 , dengan A C E total nilai diakumulasi nya adalah 6 + 4 = 10 , A D E total nya adalah 1 + 2 = 3 dan beberapa path sisa nya dimana dari nilai ini kita dapat melihat path mana dengan nilai terkecil jika dari 3 path ini maka kita dapat menyimpulkan ADE adalah nilai terkecil akan tetapi Di dalam Algorithm ini, semua kemungkinan harus dicoba. kemudian diambil yg costnya paling rendah, cost terkecil itu diambil dari awal sampai selesai ( A - E )





Senin, 30 Mei 2016

31 - may 2016
HEAP

adalah salah satu binary complete tree dan harus memenuhi syarat berikut
min heap : Setiap node memiliki nilai lebih kecil dari anak nya
max heap : setiap node memiliki nilai lebih besar dari anak nya
min-max heap : root bernilai terkecil pada level ganjil nilainya selalu maximal sedangkan pada level genap nilainya selalu minimal


Min Heap :

Sehingga Root adalah nilai terkecil sedangkan nilai terbesar ada di Leaf-leaf
Heap dapat di aplikasikan di Linked list tapi lebih mudah kita membuat nya melalui Array

contoh :
http://www.studytonight.com/data-structures/images/heap-property-example.png
Pada saat menginsert di Min-Max Heap kita harus ingat membandingkan nya hanya pada level yang sesama seperti genap dengan genap - ganjil dengan ganjil

heap di gunakan atau di aplikasikan di
  - Priority Queue
  - Selection Algorithm (find min/max, median, k-th largest, dll)
  - Dijkstra's Algorithm (find shortest path pada graph)
  - Prim Algorithm (find min spanning tree)

Hubungan antara Node :
Parent X = X / 2
Left Child X = 2*X
Right Child X = 2*X+1

Insertion
-Masukan node yang ingin dimasuki ke node paling terakhir di masukan
-bandingkan dengan parent nya jika dia lebih kecil dari parent nya maka tukar dengan parent tersebut
 jika memang nilai tersebut dapat di bandingkan terus maka dia dapat mencapai root



Deletion
delete root
-Nilai root di ganti dengan elemen yang terakhir dimasukan
-cocokan nilai yang di pindahkan itu dengan  nilai child left & right
-jika lebih besar nilai nya maka kita dapat memindahkan itu ke child nya kemudian dapat di check lagi jika dia masih punya child berikut nya








Tries

Struktur data tree yang digunakan untuk menyimpan sebuah string
di ambil dari kata retrieval 
karena kita dapat mencari yang kita inginkan cukup dengan menulis beberapa huruf saja



Picture2

Jika anda liat di atas saat  anda memilih A makanya akan bsa menjadi ALGO / API
dan jika anda memilih B maka perlu di tambahkan O untuk mendapat BOM / BOSAN / BOR

Hashing
adalah transformasi daripada suatu string dengan mengambil karakter terdepan dan

mengubahnya menjadi value atau key yang mewakili suatu string. Digunakan di database untuk

mengindex
contoh:
Untitled
Cara cara untuk memasukan string ke table:
- Mid Square
- Division
- Folding
Jika suatu string mirip dengan string lainnya (misal char dengan charm) dan menghasilkan index
yang sama, maka akan terjadi collision, untuk mengatasinya maka ada beberapa metode:
- Linear Probing – dengan menstore string ke index setelahnya misal Char - Charm char berlokasi di index 2 lalu charm akan berada di index ke 3
- Chaining – dengan menstore string dalam suatu ( Char -> Charm )chain menggunakan linked list.

Minggu, 22 Mei 2016

Pertemuan 7


Nama : Emilio Joshua Adiputra

NIM : 1901460171

Red Black Tree 
Adalah sebuah binary search tree dimana tiap node diberi warna hitam dan merah
dan juga red black tree adalah salah satu cara self balance tree

Aturan Red black tree adalah :
-Setiap node adalah berwarna merah atau hitam 
-Akar/Root selalu berwarna hitam
- Node yang baru dimasukan itu harus berwarna merah
-  Jika node berwarna merah, anaknya harus berwarna hitam 
-Node berwarna merah secara berturut-turut tidak diperbolehkan. 
 Salah Satu Contoh Red Black Tree :

 
NIL di gambar adalah external node dimana itu tidak ada di tree yang sebenarnya hanya untuk membantu jika ada node baru yang masuk maka NIL yang akan di ganti
 
1. Insertion 

Picture1 

yang di input adalah X : tidak terjadi masalah maka tree masih dalam kondisi "Balance"

 Picture1 
Uncle dan parent yang di input adalah X itu berwarnah merah kita dapat mengubah parent dan uncle yang di input menjadi hitam untuk membalancekan kembali

 Picture1
 Seperti syarat red black tree dimana tidak boleh merah bertemu merah maka ini tidak berkondisi balance sehingga kita perlu rotasikan 
gambar di atas adalah cara untuk membalancekan dengan cara single rotation

Left - Left rotation : Y yaitu parent dari X menjadi parent X dan Z lalu X dan Z menjadi merah dan Y sendiri dari awal nya merah menjadi Hitam lalu C menjadi anak nya Z
Right- Right rotation : Y yaitu parent dari Z menjadi parent X dan Z lalu X dan Z menjadi merah dan Y sendiri dari awal nya merah menjadi Hitam lalu B menjadi anak nya X

http://wilsonnursalim.blog.binusian.org/files/2016/05/Picture2-2-300x125.png 
 Ini adalah cara dengan Double Rotation

Left Right Rotation  : Y menjadi  parent dari X dan Z lalu B di berikan ke X dan C diberikan ke Z
setelah itu ubah parent yaitu Y menjadi Hitam dan anak nya menjadi merah
Right left Rotation :  Y menjadi  parent dari X dan Z lalu B di berikan ke X dan C diberikan ke Z
setelah itu ubah parent yaitu Y menjadi Hitam dan anak nya menjadi merah

2. Deletion
Syarat-syarat 
-Bila yang mau dihapus punya 2 anak carilah successor dari elemen paling besar di kiri atau elemen paling kecil di kanan tergantung dari cara anda
-Bila node yang mau dihapus berwarna merah, langsung dapat diganti dengan anaknya yang berwarna hitam.
-Bila node yang mau dihapus berwarna hitam & anaknya merah, gantilah dengan anaknya lalu ubah warna anaknya menjadi hitam. 
-Bila yang mau di hapus dan anak nya berwarna hitam diperlukan perlakuan khusus:
  • Ganti node yang mau dihapus dengan anaknya.
  • Bila sibling berwarna merah, tukar warna sibling dan parent, lalu lakukan rotasi seperti berikut



  • Picture1

  •  Bila sibling berwarna hitam dan keduanya anaknya juga hitam, maka cukup mengubah warna sibling tersebut menjadi warna merah
  • Picture2 
  • Bila sibling merah dan ada anaknya yang berwarna merah (salah satu saja), maka lakukan rotasi seperti berikut
  • Picture3 
 2-3 Tree

2-3 tree BUKAN sebuah Binary Tree
salah satu struktur data dimana node mempunyai anak
jika anak nya 2 maka setiap anak mempunyai 1 data
sedangkan jika anak nya 3 setiap anak mempunyai maksimal 2 data




Aturan 2-3 Tree :
  • Setiap non-leaf terdapat 2-node atau 3-node. Sebuah 2-node berisi satu item data dan memiliki dua anak/children (anak kiri dan anak tengah). Sebuah 3-node berisi dua item data dan memiliki 3 anak/children (anak kiri, tengah, dan kanan).
  • Semua leaf harus berada dilevel yang sama
  • Semua data yang disimpan akan diurutkan kekiri adalah lebih kecil dari root dan kekanan lebih besar dari root 
Contoh Insertion
 
memasukan 45 cukup memasukan saja karena masih memiliki tempat untuk 45 tersebut sehingga tidak ada masalah
 
jika yang di masukan seperti 75 maka nilai dari 80 90 diperbandingkan dengan 75 lalu nilai tengah nya apa.. di sini adalah 80 
 
lalu 80 naik ke atas dan 75 dan 90 berpisah menjadi node sendiri - sendiri
 
24 langsung ke atas dan 23 berpisah dengan 25 menjadi node- node sendiri  
 










 di atas pun 24 tetap nilai tengah sehingga 24 berpindah ke atas di sebelah 50




lalu kita perlu memisahkan 20 dan 30 menjadi node node sendiri dan tadikan ada 4 node yang berlokasi sebagai anak 20 | 30 maka yang di bagian kiri menjadi milik 20 lalu yang di bagian kanan menajdi milik 30

Deletion 2-3 Tree
 -Jika leaf-nya sudah 3-node, maka kita tinggal menghapus saja data tersebut dan menjadikannya      
     2-node.
-Jika leaf-nya adalah 2-node :
  • Jika parent-nya 3-node, maka ambil 1 nilai dari 3-node tersebut. Jika Sibling/Saudaranya adalah 3-node, maka push nilai tersebut dari sibling ke parent untuk membuat parent menjadi 3-node lagi. Jika sibling adalah 2-node, buat parent menjadi 2-node dan gabungkan node dengan sibling-nya.
  • Jika parent-nya 2-node, Jika sibling-nya adalah 3-node, maka ambil satu nilai dari parent dan push satu nilai dari sibling ke parent-nya sendiri. Hal lainnya yaitu mengabungkan parent dengan sibling.



 23 ingin di hapus lalu karena itu adalah 3 node maka menghapus 23 tidak terjadi masalah



50 ingin di hapus maka kita mencari element terkanan dari node kiri 50 dihapus lalu 40 berpindah ke 40 lalu lokasi 40 sebelum nya di 3 node menjadi kosong


di sini kita perlu menurunkan 30 ke anak nya di bagian paling besar supaya yang tadi nya bertotal 3 node anak menjadi 2 node anak saja sehingga menjadi seperti ini


Senin, 16 Mei 2016

16 May 2016
emilio joshua - 1901460171 
Pertemuan Ke 6 - AVL Tree
Guest Lecturer - Selvakumar Man Ickam
website untuk latihan AVL Tree
http://visualgo.net/bst

Tree adalah data structure yang tidak linear yang menghubungkan data-data dengan sebuah garis kebawah nya
dimana garis tersebut dinamakan Edges
sedangkan data-data nya di sebut dengan vertices

Tree yang akan kita pelajari sekarang adalah AVL tree

AVL tree adalah cara untuk membuat tree tersebut menjadi "balance tree"

AVL ditemukan oleh Georgy Adelson-Velsky dan Evgenii Landis .


AVL tree adalah salah satu jenis tree yang berasal dari BST,
akan tetapi AVL dapat membuat  hasil tree yang seimbang

Salah satu contoh tree tidak seimbang
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjimXsnLq2bGoDIvTxRaNcSpoAcXLyIaOuGjyxkka3jgXi2wx6jLXfs3OlEvLaEN9cd6JX5eFIPBKWEmdF9dHehx68aetDNvXT153kExSF9rj8aRXt_gCki2jlzSoHSTDfirfnsmp-KemI/s1600/Picture2.png
untuk mengetahui nilai yang hitam
nilai yang hitam adalah nilai dari vertice terjauh dan paling bawah lalu semakin ke atas maka nilai tersebut semakin tinggi
jika ada anak nya yang lain yang lebih pendek maka anak yang paling jauh lah yang di hitung untuk nilai teratas
lalu untuk nilai yang merah
nilai merah berasal dari nilai hitam kiri - nilai hitam kanan dan merah tersebut dimasukan ke "bapak" nya
jika yang merah bernilai lebih dari 1 maka kita dapat menyebutkan tree tersebut memiliki ketidak seimbangan
leaf nilai hitam nya selalu 1.

untuk double rotation dan proses nya
https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/AVL_Tree_Rebalancing.svg/2000px-AVL_Tree_Rebalancing.svg.png
untuk single rotation dan prosesnya
Left Left rotation
Picture1
Right Right rotation

Picture2

Senin, 04 April 2016

BINARY SEARCH TREE

Emilio Joshua Adiputra
1901460171

Binary Search Tree adalah Tree yang memiliki urutan dan semua node harus memiliki Value
subtree bagian kiri dari Root itu value lebih kecil dari value Root sedangkan subtree bagian kanan dari Root value lebih besar dari value Root

Dalam BST value setiap node tidak boleh sama
sehingga data dengan nilai yang sama tidak boleh

Operasi

Find (x) : Fungsi untuk mencari nilai x

Insert(x) : Fungsi untuk memasukkan nilai x ke dalam binary tree

Delete(x) : Fungsi untuk membuang atau menghilangkan nilai x dari dalam tree





Find (5)


1.Root value adalah 9
2.jika 5 lebih besar dari 9 maka kita ke node kanan Root
   jika 5 lebih kecil dari 9 maka kita ke node kiri dari Root
3.maka kita menemukan 5 < 9 kita pindah ke kiri dimana value nya adalah 4
4.check nomor 2 berdasarkan subnode yg sedang kita cek yaitu 4
5. 5> 4 jika lebih besar pindah ke kanan dan node berikut nya adalah 6
6.ulangi nomor 2 dengan node 6
7. 5 < 6 maka kita berpindah ke kiri dari value 6
8. sesudah itu lokasi 5 di temukan

Insert (8)

1.jika Root kosong maka root sama dengan value yang dicari
2. root adalah 9 dan yg ingin di masukan 8 sehingga 8 < 9 maka ke kiri dari Root
3.8 > 4 maka kita ke kanan dari value 4
4.8 > 6 maka kita ke kanan dari value 6
5.setelah 6 ada value 7 maka kita perlu check 8>7 sehingga
6.  8 lebih besar dari 7 maka kita ke kanan dari value 7
7. setelah 7 tidak ada child lagi maka kita bisa masukan angka 8 di kanan bawah nya

Delete(6)

pertama kita perlu memakai fungsi yang sama seperti Find(x)

dengan tambahan syarat
jika yang di delete adalah Leaf (Tidak punya child)
maka kita dapat mendelete secara langsung

jika yang di delete punya 1 child maka child ini kita hubungkan langsung dengan parent dari data yang mau kita delete lalu delete

jika yang di delete punya 2 child maka node child paling kanan dari kiri subnode atau kiri dari kanan subnode sebagai pengganti posisi data yang ingin di delete lalu hubungkan secara langsung child tersebut dengan parent yang ingin di delete lalu kita delete yang kita ingin hapus

di dalam Delete (6) kita dapat melihat jika kita mendelete value 6 maka kita perlu pindahkan 5 dan 7

dalam skenario ini kita perlu menghubungkan langsung  5 ke parent dari 6 yaitu 4 lalu 6 dapat kita delete sehingga 5 menjadi parent dari 7

Senin, 28 Maret 2016

28 Maret 2016
TREE AND BINARY TREE

http://support.sas.com/documentation/cdl/en/etsug/60372/HTML/default/images/tree2i.png

TREE
Root : Node paling pertama / paling atas
Edge : Garis yang menghubungkan dari parent -> child
Leaf : Node yang tidak mempunya child
Sibling : Node - node yang memiliki parent yang sama
Degree of Node : berapa banyak child dari node tersebut
Height : Maksimum edge dari node ke leaf dengan jarak terpanjang

BINARY TREE
Sebuah Tree dimana setiap node hanya memiliki dua child
dimana dua child ini dibagi left child & right child

Type-type Binary Tree

Perfect Binary Tree : Masing Masing punya dua Child dan Memiliki Level yang setara antara left dan right 

http://www.nerdparadise.com/uploads/files/cs_interview_right_neighbor1.png


 Complete Binary Tree : Beberapa punya dua Child dan ada yang tidak punya Child dan hanya punya satu Child (Level nya Tidak Sama)



http://web.cecs.pdx.edu/~sheard/course/Cs163/Graphics/CompleteBinary.jpg

Skewed Binary Tree : Child hanya 1 sampai paling bawah 

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZwFmXPSJUWUb7Ur-Gsx5NnkFpCYsoPmVZCl4Ou-4FHzb8WfB66IFl2-KatLjY1dfA7D3CvcVesvsBr9xXisql9tP6aHojft9cy046ZQ38BKAVJS41HISAI-5fGz2VfQsA7WgQo8m8mofI/s1600/Left+skewed+binary+search+tree.png

Balanced Binary Tree : Left dan Right dari Root ke Leaf memilik Jarak yang sama





Rumus Binary Tree

Untuk Menghitung Jumlah Node : Level H =  2H

Total Maximum Node dalam Binary Tree : 2H+1 – 1

Tinggi Minimum : 2 Log (n) (Isi Masing masing dengan 2 child)

Tinggi Maximum : n - 1 ( Masing masing dengan 1 child)

Skewed Binary Tree punya tinggi maksimum




http://www.algolist.net/img/binary-heap-array-mapping.png

Index 0 = Root
Index Left = 2p + 1 (p = parent index)
Index Right = 2p + 2
Index parent = (c-2)/2 (c = Child Index)

Expression Tree Concept

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqu7nDMNDsKChA9puR34AKTF1bZXcdXgdccZHYnwj3hPFU8ciQRcAiksk9IXMKqECvtwxTRFpeWYMZL8_taDD_O1SKeMWFaJcRbgGlfe9vSNo4EQzv7FtVqAEB9lBo7K-uZyTgTIkibI0/s1600/hjkugyt.png

Prefix = *+ab/-cde
Postfix =ab+cd-e/*
Infix = (a+b)*((c-d/e)) Dari kiri ke kanan

Infix = Left Print Right
Prefix = Print Left Right
Postfix = Left Right Print


Minggu, 20 Maret 2016



20 Maret 2016

http://www.tutorialspoint.com/data_structures_algorithms/images/stack_representation.jpg












Stack
LIFO (Last in First out)
Dan Element nya hanya bisa di keluarkan dan di tambah melalui data paling atas
Stack punya 2 variable
-TOP  adalah alamat untuk element paling teratas
-MAX adalah maksimum element yang dapat di pegang stack

Operasi Stack
-Push(x) :menambah element x ke stack paling atas
-Pop :Menghilangkan element paling atas
http://www.cs.cmu.edu/~mrmiller/15-121/Homework/hw8/queue.png




Queue
FIFO(First in  First out)
Element paling awal adalah element yang keluar lebih dahulu
Queue punya Operasi

-Push : Menambah Element ke paling belakang

-Pop : Menghapus element dari paling depan

Ada Beberapa Macam Queue

Circular Queue : Antrian yang menyambungkan yang paling awal ke paling belakang







http://www.tech-faq.com/wp-content/uploads/images/circular-queue_clip_image004.jpg


Priority Queue : Antrian yang memberi prioritas lebih dahulu untuk yang berprioritas




Notasi Infix,Postfix,Prefix

Prefix = Reverse Polish notasi 
Prefix :Operator ditulis sebelum Operand

Infix = Notasi biasa kita pakai
Infix : Operator ditulis antara Operand

Postfix = Polish notasi
Postfix : Operator ditulis setelah operand


Contoh 
Infix : 2 + 7 * (8 - 2) / 4
Prefix : + 2 / * 7 - 8 2  4
Postfix : 2 7 8 2 - * 4 / +

Infix : 4 - ( 5 * 9) * 2
Prefix : - 4 * *  5 9 2
Postfix : 4 5 9 * 2 * -

 DFS & BFS (Depth First Search & Breadth First Search)

http://www.cse.unsw.edu.au/~billw/Justsearch1.gif 


Depth First Search (DFS) adalah sebuah algoritma untuk melintasi dan mencari Tree / Grafik struktur data. Dimulai Dari paling atas dimana kita harus konsisten jika kanan lebih dahulu maka berikut nya juga harus kanan lalu di sini kita bisa melihat alur nya kita mencari sampai paling dalam dahulu baru berpindah ke akar berikut nya jadi Prioritas di sini adalah kedalaman nya
DFS menggunakan Stack.
Di atas urutan nya adalah : A B D H E I J C F K G

Sedangkan

Breadth First Search (BFS) sama seperti di atas sebuah algoritma untuk melintasi dan mencari Tree / Grafik Struktur data. Dimana kita harus konsisten juga disini kita setelah dari paling atas bukan ke paling dalam melainkan ke akar sebelah nya setelah semua akar di bawah nya sudah di pilih baru kita melihat cabang berikut nya sampai semua akar terpilih dan selanjut nya lanjutkan seperti itu sampai semua akar terdapatkan
BFS menggunakan Queue.

Di atas Urutan nya adalah : A B C D E F G H I J K





Minggu, 06 Maret 2016

7 Maret 2016

BIG DATA
Big data adalah data berukuran raksasa yang volumenya terus bertambah, terdiri dari berbagai jenis atau varietas data, terbentuk secara terus menerus dengan kecepatan tertentu dan harus diproses dengan kecepatan tertentu pula dan kecepetannya biasa nya cepat
Menurut IBM pandangan Big Data memiliki empat aspek :
1.      Volume : mengacu pada jumlah data yang dikumpulkan oleh perusahaan . Data ini harus digunakan lebih lanjut untuk mendapatkan pengetahuan yang penting ;
2.      Velocity : mengacu pada waktu di mana Big Data dapat diproses . Beberapa kegiatan yang sangat penting dan perlu tanggapan langsung , itulah sebabnya proses cepat memaksimalkan efisiensi ;
3.      Ragam : Mengacu pada jenis data yang Big Data dapat terdiri . Data ini dapat terstruktur serta tidak terstruktur ;
4.      Kebenaran : mengacu pada tingkat di mana seorang pemimpin mempercayai informasi yang digunakan untuk mengambil keputusan . Jadi mendapatkan korelasi yang tepat di Big Data sangat penting bagi masa depan bisnis .  

ARDUINO
 Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.
Mikrokontroler itu sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas sebagai ‘otak’ yang mengendalikan input, proses dan output sebuah rangkaian elektronik.

Mikrokontroler ada pada perangkat elektronik di sekeliling kita. Misalnya handphone, MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik robot mainan, maupun robot industri.


 Bahasa pemrograman Arduino adalah bahasa C.
 
RASHBERRY PI

 sering juga disingkat dengan nama Raspi, adalah komputer papan tunggal (Single Board Circuit /SBC)yang memiliki ukuran sebesar kartu kredit. Raspberry Pi bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition. 


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. Salah satu pengembang OS untuk Raspberry Pi telah meluncurkan sistem operasi yang dinamai Raspbian, Raspbian diklaim mampu memaksimalkan perangkat Raspberry Pi. Sistem operasi tersebut dibuat berbasis Debian yang merupakan salah satu distribusi Linux OS.

LATEX

adalah 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 penulis/penggunanya untuk melakukan typesetting dan mencetak hasil kerjanya dalam bentuk tipografi yag terbaik karena LaTeX paling banyak digunakan oleh para matematikawan, ilmuwan, insinyur, akademisi, dan profesional lainnya


Beberapa keuntungan 
  1. Memiliki format dokumen yang terstruktur sehingga membuat dokumen terlihat sangat profesional dan sempurna.
  2. Segala jenis formula matematis dapat dituliskan dengan mudah.
Cloud Storage

Layanan penyimpanan file di internet yang mana file yang disimpan disitu dapat dikelola dari mana saja selama penggunanya terhubung ke cloud storage tersebut melalui internet. Konsep cloud storage sama seperti konsep file server pada suatu kantor perusahaan, hanya saja infrastruktur media storage tersebut dikelola oleh provider cloud dan pemanfaatannya dijadikan layanan penyimpanan file yang dapat diakses dari internet. 

SSAS
SQL Server Analitical Services. SSAS adalah salah satu produk dari Microsoft SQL yang sangat berguna untuk transaksi bisnis suatu perusahaan dan sering dipakai
SSAS digunakan untuk analisa data OLAP, membantu management perusahaan dalam mengambil kebijakan bisnis baik bersifat strategis maupun taktis

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 Maya itu hanya ditampilkan melalui sensor lalu sensor tersebut memproyeksikan benda maya tersebut benda maya ini hanya untuk membantu persepsi dan interaksi dengan dunia nyata

Minggu, 28 Februari 2016

24 - Feb - 2016

Array : 
Homogen dimana arti nya hanya satu tipe yg sama yang bisa digabung dalam satu array 
 dimulai dari 0 bukan dari 1 [0] itu paling pertama
lokasi array yang berurutan itu berurutan dalam index nya 1033 maka sebelah nya 1034
static berarti isi array tidak bisa berubah di tengah jalan program 
static memory allocation
Syntax : type name[size];
 http://www.math.bas.bg/~nkirov/2004/Horstman/ch09/images/twodim-array.png

Linklist :
Heterogen dimana arti nya linklist bisa menerima bermacam-macam type data 
dynamic berarti bisa berubah pada
saat program di jalankan isi nya
 http://www.erginbilgin.com.tr/wp-content/uploads/linked-list-types-small.png

Operation di dalam array :

tranversal  |
insertion  | 
searching | 
deletion |
merging |
sorting | 

Ada 3 cara membuat array

dengan inisial elemen / isi nya

memasukan value nya

mengassign dari array lain


Data Structure type :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhRIUwbQv-6tspVUQ6f8i6pUjJBAPvrYLLYBPSWljSKE7dBf39ubLUdo4aPO4lQkkoj28s7P2uL64JKjMamxEpK_UCaak1LednkwAtc8lVr6ITcd-U8oDEtexCVhTJtt7WEq-U-LWlOEe/s1600/C+program+Array.png
Array 
http://callpromise.com/img/virtual-queue.png 





 

queue (FIFO) [First in first out]
-priority queue : Antrian Berdasarkan Prioritas
-circular queue : Antrian yang kembali ke awal jika sudah selesai
-queue : Antrian Biasa


Stacks (LIFO) [last in first out]
dimana untuk mengambil harus dimulai dari paling atas terlebih dahulu

https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Data_stack.svg/391px-Data_stack.svg.png 
Binary trees

 http://lcm.csa.iisc.ernet.in/dsa/img151.gif
-BST
-Binary tree

BT 
                     3
                   /    \
                 8      10

BST
                     3
                 /        \
             2              7
                            /   \
                           5     11

kiri lebih kecil dari atas nya dan kanan lebih besar dari atas 


ADT (abstract data type)
membuat data type sendiri yang biasa nya bisa kita atur apa saja yang perlu di isi 
salah satu nya membuat struct

Pointer
data type yang value nya menunjuk value lain dimana dia menunjukan alamat value nya

int x ; int *px ;
px = &x; \\px simpen alamat x


Structure
adalah user defined data type yang memasukan informasi dan biasanya isi nya macam- macam
data type
dimana struct ini terdapat dalam satu nama 

syntax example 
struct data {
int umur;
char[50] nama ;
}x;


Array:


lokasi isi array nya selalu berurutan


untuk mengakses data nya hanya perlu memanggil array ke berapa

Linked List:



lokasi isi linked list berbeda beda


untuk mengakses nya harus di akses dari paling pertama