Jun
06
2016
0

Rangkuman Pertemuan 9 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 9

www.binus.ac.id
www.skyconnectiva.com

Graph

Graph adalah sebuah struktur data yang terdiri dari sekumpulan vertices dan edges.

  • Vertices (nodes) adalah titik-titik pada suatu graph
  • Edges adalah garis-garis yang menghubungkan suatu node dengan node lain

a

Degree dari suatu node adalah jumlah edges yang menghubungkan node tersebut.
Contoh:   degree dari A = 2

  1. Undirected Graph
    adalah graph yang edges-nya tidak memiliki arah
  2. Directed Graph
    adalah graph yang edges-nya memiliki araha
    – In Degree = Jumlah edges yang mengarah pada node tersebut
    – Out Degree = Jumlah edges yang mengarah keluar dari node tersebut

Minimum Spanning Tree adalah sebuah tree yang merepresentasikan graph dan tidak memiliki loop.

Ada beberapa cara untuk membuat minimum spanning tree dari suatu graph. Salah duanya adalah Algoritma Prim dan Algoritma Kruskal.

Algoritma Prim

  1. Pilih salah satu vertex sebagai starting point Tree.
  2. Hubungkan Tree dengan salah satu node yang ada di sebelahnya. Pilihlah node dengan nilai edge terkecil.
  3. Lakukan terus sampai semua vertex terhubung.

Algoritma Kruskal

  1. Urutkan semua edge mulai dari yang terkecil hingga terbesar.
  2. Hubungkan edge yang nilainya paling kecil (bila terbentuk loop, langsung skip ke edge berikutnya).
  3. Lakukan terus sampai semua vertex terhubung.

Algoritma Dijkstra

digunakan untuk mencari Shortest Path antara 2 vertex dalam suatu graph.

  1. Assign to every node a tentative distance value: set it to zero for our initial node and to infinity for all other nodes.
  2. Set the initial node as current. Mark all other nodes unvisited. Create a set of all the unvisited nodes called the unvisited set.
  3. For the current node, consider all of its unvisited neighbors and calculate their tentative distances. Compare the newly calculated tentative distance to the current assigned value and assign the smaller one. For example, if the current node A is marked with a distance of 6, and the edge connecting it with a neighbor B has length 2, then the distance to B (through A) will be 6 + 2 = 8. If B was previously marked with a distance greater than 8 then change it to 8. Otherwise, keep the current value.
  4. When we are done considering all of the neighbors of the current node, mark the current node as visited and remove it from the unvisited set. A visited node will never be checked again.
  5. If the destination node has been marked visited (when planning a route between two specific nodes) or if the smallest tentative distance among the nodes in the unvisited set is infinity (when planning a complete traversal; occurs when there is no connection between the initial node and remaining unvisited nodes), then stop. The algorithm has finished.
  6. Otherwise, select the unvisited node that is marked with the smallest tentative distance, set it as the new “current node”, and go back to step 3.
Written by wilsonnursalim in: Uncategorized |
May
29
2016
0

Rangkuman Pertemuan 8 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 8

www.binus.ac.id
www.skyconnectiva.com

Heap

Heap adalah complete binary tree yang memenuhi syarat heap.

Min Heap

  • Setiap node memiliki nilai yang lebih kecil dari nilai anaknya.
  • Elemen paling kecil terletak pada Root
  • Elemen paling besar terletak pada salah satu leaf

Picture1

  • Heaps biasanya diimplementasi dengan menggunakan array
  • Setiap elemen disimpan secara berurutan mulai dari index 1 (urutannya dari atas ke bawah dan dari kiri ke kanan)
  • Root disimpan pada index 1

Hubungan antar Node (anggap index node adalah x) :

  • Parent(x) = x / 2
  • Left-child(x) = 2 * x
  • Right-child(x) = 2 * x + 1

Operasi-operasi pada Min Heap :

  • find-min : untuk mencari elemen paling kecil pada heap.
  • insert : untuk memasukkan elemen baru ke dalam heap.
  • delete-min : untuk menghapus elemen paling kecil dari heap.

Insertion pada Min Heap :

  • Masukkan elemen baru pada ujung akhir heap (setelah index dari elemen terakhir yang dimasukkan)
  • Bandingkan nilai elemen yang dimasukkan dengan parent. Bila nilai node yang baru saja dimasukkan lebih kecil dari parent, Tukar node dengan parent. Lanjutkan proses ini ke atas sampai nilai parent lebih kecil dari nilai node atau node sudah mencapai root.

Picture1

Klik gambar untuk memperbesar

Picture2

Deletion pada Min Heap :

  • Gantilah root dengan elemen terakhir pada heap.
  • Kurangi jumlah elemen pada heap
  • Bandingkan nilai root dengan nilai left child dan right child. Bila ada nilai anaknya yang lebih kecil dari nilai root, Tukar root dengan anaknya (anak yang nilainya paling kecil). Lanjutkan proses ini ke bawah sampai nilai node lebih kecil dari nilai kedua anaknya atau node sudah mencapai leaf (tidak punya anak lagi).

Picture1

Klik gambar untuk memperbesar

Picture2

Max Heap

  • Setiap node memiliki nilai yang lebih besar dari nilai anaknya.
  • Elemen paling besar terletak pada Root
  • Elemen paling kecil terletak pada salah satu leaf

NOTE = Max Heap memiliki sifat yang mirip dengan Min Heap, tetapi digunakan untuk mencari elemen terbesar.

Min-Max Heap

  • Kondisi heap berganti antara minimum dan maximum antar level
  • Setiap elemen pada level genap lebih kecil dari anak-anaknya (min-level).
  • Setiap elemen pada level ganjil lebih besar dari anak-anaknya (max-level).

Picture1

  • Elemen paling kecil terletak pada Root
  • Elemen paling besar terletak pada salah satu anak Root (left child / right child).

Min-Max Heap memungkinkan kita dapat mencari nilai terkecil dan terbesar dari Heap pada waktu yang sama.

Insertion pada Min-Max Heap :

  • Masukkan elemen baru pada ujung akhir heap (setelah index dari elemen terakhir yang dimasukkan)
  • Bila node baru terletak pada min-level :
    – Jika node baru lebih besar dari parent, Tukar nilai node dengan parent, lalu Upheapmax dari parent.
    – Else: Upheapmin node baru
  • Bila node baru terletak pada max-level :
    – Jika node baru lebih kecil dari parent, Tukar nilai node dengan parent, lalu Upheapmin dari parent.
    – Else: Upheapmax node baru

 

< Upheapmin >

  • Bandingkan nilai node dengan grand-parent. Bila nilai node lebih kecil, Tukar nilai node dengan grand-parent dan Lanjutkan Upheapmin dari grand-parent.

< Upheapmax >

  • Bandingkan nilai node dengan grand-parent. Bila nilai node lebih besar, Tukar nilai node dengan grand-parent dan Lanjutkan Upheapmax dari grand-parent.

 


Deletion pada Min-Max Heap :

-> Deletion elemen terkecil

  • Gantilah root dengan elemen terakhir pada heap.
  • Kurangi jumlah elemen pada heap
  • Downheapmin dari Root

-> Deletion elemen terbesar

  • Gantilah left child atau right child dari root (tergantung mana yang lebih besar) dengan elemen terakhir pada heap.
  • Kurangi jumlah elemen pada heap
  • Downheapmax dari node tersebut.

 

< Downheapmin >

  • m adalah elemen terkecil dari antara anak-anak dan cucu-cucu dari node.
  • Bila m adalah cucu dari node :
    • Jika nilai m lebih kecil dari node, maka :
      • Tukar nilai m dengan node
      • Bila sesudah ditukar nilai m lebih besar dari parent-nya, Tukar nilai m dengan parent.
      • Lanjutkan Downheapmin dari m
  • Bila m adalah anak dari node :
    • Jika nilai m lebih kecil dari node, Tukar nilai m dengan node.

< Downheapmax >

  • Prosesnya sama dengan Downheapmin, tetapi relational operator-nya dibalik.

 


 

Tries 

Tries adalah struktur data Tree yang digunakan untuk menyimpan string.

Picture1

Contoh:  1. Algo,   2. Api,   3. Bom,   4. Bos,   5. Bosan,   6. Bor.

Hashing

  • Hashing adalah mengubah sebuah string of characters menjadi suatu key yang merepresentasikan string aslinya.
  • Hashing digunakan untuk index dan mengambil item pada database karena mencari hashed key jauh lebih cepat daripada mencari original value.
h[ ] Value
0 atan
1
2 char
3 define
4 exp
5 float
6
25
  • Hash table adalah sebuah tabel dimana kita menyimpan original string. Index dari tabel adalah hashed key, sedangkan value yang disimpan adalah original string.
  • Bila lebih dari 1 data memiliki hash-key yang sama maka terjadilah collision.

Cara menangani Collision:

  • Linear Probing
    Mencari empty slot selanjutnya lalu masukkan string baru kesana.
  • Chaining =
    Masukkan string ke dalam slot sebagai linked-list

 

Written by wilsonnursalim in: Uncategorized |
May
22
2016
0

Rangkuman Pertemuan 7 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 7

www.binus.ac.id
www.skyconnectiva.com

Red Black Tree

Red Black Tree adalah salah satu contoh self-balancing binary search tree.

Syarat Red Black Tree:

  1. Setiap node mempunyai warna, hitam atau merah.
  2. Warna default Root adalah hitam
  3. Semua external nodes warnanya hitam
  4. Node berwarna merah anaknya harus berwarna hitam
    (Tidak boleh ada node merah beranak merah)

External nodes adalah anak dari leaf. Sebenarnya external node itu cuma hayalan. Bila suatu node baru di-insert maka akan ditaruh di salah satu external node.

Insertion pada Red Black Tree

  1. Masukkan node baru seperti pada BST
  2. Warna node baru itu merah
  3. Jika parent dari node baru itu merah, berarti terjadi violation. Kita harus memperbaiki Tree.

Contoh:  (X adalah node baru yang di-insert)

  1. Bila parent dari x berwarna hitam, berarti tidak terjadi violation.
    (Tree tidak perlu diperbaiki)Picture1
  2. Bila parent dan uncle dari x berwarna merah,
    Ubah warna parent dan uncle x menjadi hitam, lalu ubah warna grandparent x menjadi merah.Picture1                                                  (Click to Enlarge)
  3. Bila parent dari x berwarna merah & uncle dari x berwarna hitam, (external nodes berwarna hitam)
    Maka lakukan Rotasi. Ubah pivot rotasi menjadi hitam dan anak-anaknya menjadi merah.

Picture1Single Rotation

Picture2Double Rotation

 

Deletion pada Red Black Tree

  1. Lakukan deletion seperti pada BST. (Bila yang mau dihapus punya 2 anak carilah successor dari elemen paling besar di kiri atau elemen paling kecil di kanan)
  2. Bila node yang mau dihapus berwarna merah, gantilah dengan anaknya yang pasti berwarna hitam.
  3. Bila node yang mau dihapus berwarna hitam & anaknya merah, gantilah dengan anaknya lalu ubah warna anaknya menjadi hitam.
  4. Bila node yang mau dihapus dan anaknya berwarna hitam:
  • Ganti node yang mau dihapus dengan anaknya.
  • Bila sibling berwarna merah, tukar warna sibling dan parent, lalu lakukan rotasi pada parent

 

Picture1

 

  • Bila sibling berwarna hitam dan keduanya anaknya juga hitam, maka ubah warna sibling menjadi merah

Picture2

 

  • Bila sibling berwarna hitam dan ada anaknya yang berwarna merah, maka lakukan rotasi

 

Picture3

2-3 Tree

2-3 tree adalah struktur data dimana setiap node yang bukan leaf mempunyai:

  • 2 anak dan 1 data,  atau
  • 3 anak dan 2 data

Syarat 2-3 Tree:

  1. Setiap node yang bukan leaf adalah 2-node (1 data dan 2 anak) atau 3-node (2 data dan 3 anak)
  2. Semua data disimpan secara berurutan
  3. Semua leaf ada pada level yang sama

Contoh 2-3 Tree:

Picture1

Insertion pada 2-3 Tree

  1. Data akan dimasukkan ke dalam salah satu leaf (diatur menurut nilainya)
  2. Jika leaf tersebut merupakan 2-node, maka masukkan data kesana sehingga menjadi 3-node

    Picture1

  3. Jika leaf tersebut merupakan 3-node, urutkan ketiga data, push data yang di tengah ke node parent lalu pisahkan 2 data yang tertinggal menjadi 2 buah node baru. (Perbaiki juga parent-nya secara rekursif)

Picture2

Picture3

Deletion pada 2-3 Tree

  1. Carilah sebuah data pada leaf yang akan menggantikan data yang mau dihapus. Deletion akan selalu terjadi pada leaf.
  2. Jika leaf tersebut adalah 3-node, maka hapuslah data tersebut sehingga menjadi 2-nodePicture1
  3. Jika leaf tersebut adalah 2-node & parent adalah 3-node, ambil satu nilai dari parent.
    – Bila sibling adalah 3-node, push satu nilai sibling ke parent sehingga parent tetap 3-node
    – Bila sibling adalah 2-node, ubah parent menjadi 2-node lalu gabungkan leaf dengan sibling
    Picture2
    Picture3
  4. Picture4Jika leaf tersebut adalah 2-node & parent adalah 2-node,
    – Bila sibling adalah 3-node, ambil satu nilai dari parent lalu push satu nilai dari sibling ke parent
    – Bila sibling adalah 2-node, gabungkan parent dengan sibling.
  5. Perbaiki parent secara rekursif bila perlu
Written by wilsonnursalim in: Uncategorized |
May
11
2016
0

Rangkuman Pertemuan 6 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 6

www.binus.ac.id
www.skyconnectiva.com

Bila height dari suatu Tree makin besar, maka makin lama pula waktu yang diperlukan untuk insertion, searching, dan deletion. Karena itulah kita ingin membuat Tree dengan height sekecil mungkin. Tree yang demikian adalah Balanced Binary Search Tree.

AVL Tree

(ditemukan oleh Adelson-Veleskii and E.M. Landis)

Height dari suatu node:

  • Height dari sebuah empty sub tree adalah 0.
  • Height dari sebuah leaf adalah 1.
  • Height dari node lainnya adalah height paling besar dari anaknya ditambah dengan 1.

Balance Factor:  Selisih height anak sebelah kiri dengan anak sebelah kanan.

<NOTE> : Pada AVL Tree, Nilai  balance factor paling besar yang diperbolehkan adalah 1.

Picture1

Contoh AVL Tree
(berikut dengan height & balance factor dari tiap nodenya)


Ketika kita memasukkan node baru ke AVL Tree, balance factor dari node lainnya bisa berubah menjadi lebih dari 1. Ketika terjadi violation seperti ini, kita perlu menyeimbangkan kembali Tree dengan melakukan rotasi.

Single Rotation

digunakan ketika:

  • Node baru dimasukkan ke left sub-tree of the left child of the node that must be rebalanced (LL rotation)
  • Node baru dimasukkan ke right sub tree of the right child of the node that must be rebalanced. (RR rotation)

CONTOH:

Picture1   LL rotationPicture2

Double Rotation

digunakan ketika:

  • Node baru dimasukkan ke right sub tree of the left child of the node that must be rebalanced (LR rotation)
  • Node baru dimasukkan ke left sub tree of the right child of the node that must be rebalanced. (RL rotation)

CONTOH:

Picture1

 Picture2

LR rotationPicture3

Deletion dari suatu node pada AVL Tree juga dapat menyebabkan violation (ketika ada node yang balance factornya lebih dari 1). Tree dapat diseimbangkan kembali dengan menggunakan rotation seperti pada insertion.


Lecture tambahan dari dosen tamu

Picture1

Click the picture to zoom in

 Tabel di atas menunjukkan perbandingan keefektifan dari tiap data structure.
Menurut dosen tamu, secara keseluruhan Tree merupakan data structure yang paling baik.

Written by wilsonnursalim in: Uncategorized |
Apr
01
2016
0

Rangkuman Pertemuan 5 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 5

www.binus.ac.id
www.skyconnectiva.com

 

Binary Search Tree  adalah binary tree yang memenuhi syarat-syarat ini:

–Setiap node memiliki nilai yang berbeda (tidak boleh ada dua node yang memiliki nilai yang sama).

–Nilai yang dimiliki node anak sebelah kiri harus lebih kecil dari nilai root.

–Nilai yang dimiliki node anak sebelah kanan harus lebih besar dari nilai root.

Contoh Gambar:

Picture1

Perhatikan bahwa node yang lebih kecil dari 30 ada di sebelah kiri, sedangkan node yang lebih besar dari 30 ada di kanan.

 

Operasi-operasi pada Binary Search Tree :

  • find(x)            : mencari sebuah node pada binary search tree
  • insert(x)         : memasukkan sebuah node baru pada binary search tree
  • remove(x)      : menghapus sebuah node pada binary search tree

 

 

1. Proses pencarian sebuah node pada BST adalah sebagai berikut:

Pencarian dimulai dari root.
Bila nilai yang dicari sama dengan root maka pencarian selesai.
Bila nilai yang dicari < dari root maka lanjutkan pencarian ke node anak sebelah kiri.
Bila nilai yang dicari > dari root maka lanjutkan pencarian ke node anak sebelah kanan.
Lanjutkan pencarian dengan cara begini hingga node yang dicari ditemukan.

 

2. Proses memasukkan sebuah node baru pada BST adalah sebagai berikut:

Dimulai dari root.
Bila nilai yang ingin dimasukkan < dari root maka lanjutkan ke node anak sebelah kiri.
Bila nilai yang ingin dimasukkan > dari root maka lanjutkan ke node anak sebelah kanan.
Lanjutkan dengan cara begini sampai tiba di leaf , kemudian masukkan node baru sebagai anak dari leaf tersebut.

Picture1

Klik gambar untuk memperjelas gambar

 

3. Untuk delete, ada 3 kasus yang bisa terjadi:

  • Jika node yang mau dihapus adalah leaf, maka node tersebut dapat langsung dihapus.
  • Jika node yang mau dihapus memiliki satu anak,
    hapus node tersebut lalu hubungkan anak dari node itu dengan parent node itu.

del01

Klik gambar untuk memperjelas gambar

 

  • Jika node yang mau dihapus memiliki dua anak,
    carilah anak paling kanan dari sub tree yang sebelah kiri (misalnya: node x),
    lalu gantilah node yang mau dihapus menjadi node x, kemudian hapus node x.

del02

Klik gambar untuk memperjelas gambar

Written by wilsonnursalim in: Uncategorized |
Mar
23
2016
0

Rangkuman Pertemuan 4 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 4

www.binus.ac.id
www.skyconnectiva.com

Tree adalah kumpulan dari nodes.

Saya akan menjelaskan Konsep Tree dengan gambar ini:

220px-Binary_tree.svg

ROOT = Node yang terletak paling atas pada suatu Tree  (Root pada Tree di atas adalah F).
DEGREE = Jumlah anak yang dimiliki suatu node  (cth: Degree of D = 2, Degree of H =0)
HEIGHT = Jumlah node yang dilalui oleh suatu path dari Root menuju ke node paling dalam pada suatu Tree
(Height Tree di atas = 4).
LEAF = Node yang tidak memiliki anak. (A, C, E, & H adalah Leaf).
SIBLING = Nodes yang memiliki orangtua yang sama (C dan E adalah Sibling)
EDGE = Garis yang menghubungkan orangtua ke anaknya.

 

Binary tree = Suatu Tree yang tiap Node-nya hanya memiliki paling banyak 2 anak.

Tipe-tipe Binary Tree:

  • Perfect Binary Tree 
    Binary Tree yang tiap node-nya memiliki tepat 2 anak dan semua leaf harus berada pada level yang sama.
    220px-Binary_tree.svg
  • Complete Binary Tree
    Binary Tree yang tiap levelnya terisi penuh dengan node (kecuali mungkin level paling bawah) dan semua node memenuhi bagian kiri terlebih dahulu. Sebuah Perfect Binary Tree otomatis adalah Complete Binary Tree.
    220px-Binary_tree.svg
  • Skewed Binary Tree
    Binary Tree yang tiap node-nya hanya memiliki paling banyak 1 anak.
    220px-Binary_tree.svg
  1. Rumus untuk mencari jumlah node maksimal yang terletak pada suatu level = 2^k              (k = level)cth:        Jumlah node maksimal pada level ke-3 suatu binary tree adalah 8
    2^3 = 8
  2. Rumus untuk mencari jumlah node maksimal yang bisa dimiliki suatu binary tree = 2^(h+1) – 1        (h=height)cth:        Binary tree dengan height 3, maksimal memiliki 15 node
    2^(3+1)-1   =  2^4-1
    =  16-1
    =  15

 

IMPLEMENTASI dengan Array:

Picture1

IMPLEMENTASI dengan Linked List:

  Picture2

Binary Tree dapat digunakan untuk menyimpan notasi aritmetika (baik dalam bentuk prefix, infix, maupun postfix).

220px-Binary_tree.svg

-> Pada Prefix, operator dicetak lebih dulu baru operand (parent dulu baru children)
-> Pada Postfix, operand dicetak lebih dulu baru operator (children dulu baru parent)

 

Written by wilsonnursalim in: Uncategorized |
Mar
19
2016
0

Rangkuman Pertemuan 3 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 3

www.binus.ac.id
www.skyconnectiva.com

Stack (Tumpukan)

Mengikuti prinsip LIFO (Last In First Out) / FILO (First In Last Out)

Sebuah Stack memiliki 2 variabel:

  • TOP = untuk menyimpan address elemen paling atas dalam suatu stack.
  • MAX = untuk menyimpan jumlah elemen maksimal yang dapat ditampung oleh stack.

download

Operasi-operasi yang bisa dijalankan pada Stack :

  • push(x) : Memasukkan data ke atas stack.   [Operasi ini disebut juga Enstack]
  • pop() : Mengeluarkan data dari atas stack.  [Operasi ini disebut juga Destack]
  • top()  : Menunjukkan elemen paling atas pada suatu stack.

Infix, Postfix, and Prefix Notation

Ada 3 notasi aritmetika yang diketahui:

  • Prefix notation, disebut juga Polish notation.
    Operator ditulis sebelum operand.
  • Infix notation (yang biasa kita gunakan)
    Operator ditulis di antara operand.
  • Postfix notation, disebut juga Reverse Polish notation.
    Operator ditulis sesudah operand.

untitled

Depth First Search (DFS) adalah suatu algoritma untuk menelusuri atau mencari dalam suatu tree atau graph. DFS menelusuri ke dalam dulu baru ke samping.

download

Visit order: A, C, B, E, D

 

Queue (Antrian)

Elemen yang pertama masuk akan keluar pertama (First In First Out)

Sebuah Queue memiliki 2 variabel:

  • Front = untuk menyimpan address elemen paling depan dalam suatu queue.
  • Rear = untuk menyimpan address elemen paling belakang dalam suatu queue.

download download

Operasi-operasi yang bisa dijalankan pada Queue :

  • push(x) : Memasukkan data ke belakang queue.   [Operasi ini disebut juga Enqueue]
  • pop() : Mengeluarkan data dari depan queue.  [Operasi ini disebut juga Dequeue]
  • front()  : Menunjukkan elemen paling depan pada suatu queue.

Dalam implementasi queue dengan menggunakan array, agar index tidak keluar out of bound digunakanlah konsep Circular Queue.

Breadth First Search (BFS) adalah suatu algoritma untuk menelusuri atau mencari dalam suatu tree atau graph. BFS menelusuri ke samping dulu baru ke dalam

Perbedaan implementasi antara DFS dan BFS adalah struktur data yang digunakan. DFS menggunakan Stack, sedangkan BFS menggunakan Queue.

download

Visit order: A, B, C, D, E

 

 

 

Written by wilsonnursalim in: Uncategorized |
Mar
05
2016
0

Rangkuman Pertemuan 2 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 2

www.binus.ac.id
www.skyconnectiva.com

DOSEN TAMU: Bong Efendy (Binusian 2007)

Berikut adalah hal-hal yang dia bicarakan:

Big data

adalah sebuah istilah untuk menggambarkan jumlah data yang sangat besar, baik terstruktur maupun tidak, yang dipakai dalam aktivitas bisnis harian. Karena jumlah data yang besar, maka sangat sulit untuk diproses dengan menggunakan database dan software biasa.

Sebenarnya hal yang terpenting bukan jumlah data, melainkan apa yang dilakukan organisasi terhadap data tersebut. Hasil analisa dari Big Data sering dimanfaatkan oleh organisasi supaya dapat mengambil langkah atau strategi bisnis yang tepat.

Contoh:
-Melihat trend produk yang banyak dibeli di pasar.
-Menampilkan iklan sesuai dengan browsing history user.

Orang yang menganalisa data disebut data scientist. Agar dapat menekuni profesi ini diperlukan pengetahuan dalam bidang ilmu matematika, statistika, dan teknologi informasi.

 

ARDUINO

adalah sebuah komputer sederhana yang ukurannnya sangat kecil. Arduino dapat menerima input, memproses, dan memberikan suatu output. Arduino sangat populer karena harganya murah, mudah untuk diprogram, dan komunitas web-nya yang luas sehingga siapapun bisa belajar cara menggunakannya melalui web.

 

Raspberry Pi

adalah sebuah komputer yang ukurannya sebesar kartu kredit. Raspberry Pi bisa dicolokkan ke monitor atau TV, dan menggunakan keyboard dan mouse.

 

Latex

adalah sebuah word processor, namun berbeda dengan word processor lainnya seperti Microsoft Word yang menggunakan formatted text, latex menggunakan plain text. Pengguna latex tidak berfokus pada tampilan luar dokumen, melainkan pada isi dokumen.

Latex paling sering digunakan untuk keperluan dokumen teknis atau saintifik yang ukurannya besar. Artifical Intelligence biasanya menyimpan data dalam bentuka plain text.

 

Cloud Computing

Menggunakan sebuah jaringan dengan server yang di-host di internet untuk menyimpan, mengatur, dan memproses data. Cloud computing memerlukan data center dan data recovery center untuk menyimpan data dan mencegah hilangnya data.

Dengan adanya cloud computing, kita tidak perlu lagi menyimpan data dalam memori komputer kita, data dapat langsung kita simpan ke server cloud melalui internet.

 

Augmented Reality

adalah teknologi yang dapat memproyeksikan hal-hal maya ke dunia nyata. Indra manusia diberi rangsangan berupa penglihatan atau pendengaran sehingga benda maya seakan-akan benar-benar ada di dunia nyata.

Tidak seperti virtual reality yang berusaha menggantikan dunia nyata dengan dunia maya, augmented reality hanya berusaha menambahkan hal-hal maya ke dunia nyata dengan cara memberikan ransangan pada indra manusia.

 

 

Written by wilsonnursalim in: Uncategorized |
Feb
28
2016
0

Rangkuman Pertemuan 1 – Struktur Data

Nama: Wilson Nursalim
NIM: 1901516495

Rangkuman Pertemuan 1

www.binus.ac.id
www.skyconnectiva.com

Array adalah sebuah kumpulan elemen data yang mirip. Semua elemen data dalam suatu array memiliki tipe data yang sama (homogen). Elemen-elemen suatu array disimpan dalam memory locations yang berurutan. Setiap elemen array dapat diisi secara terpisah.

Syntax: data-type arrayName[Index];

Contoh:

int contoh[5] = {1, 3, 5, 4, 2};

(index array 0-4, nilai tiap elemen bisa langsung diisi saat declaration dengan menggunakan tanda {} )

char string[8];

(index array 0-7, index ke-8 digunakan untuk \0)

Operasi yang bisa dilakukan pada array adalah:

  • Traversal (passing nilai)
  • Insertion (memasukkan)
  • Searching (mencari)
  • Deletion (menghapus)
  • Merging (menggabungkan)
  • Sorting (mengurutkan)

 

Pointer adalah sebuah variabel yang menyimpan alamat dari variabel lain.

Syntax :   data-type *ptr_name;

Contoh:

int x=10;

int *ptr;

ptr = &x;                     (nilai yang disimpan dalam ptr adalah alamat dari x)

*ptr =5            ;                       (*ptr = x, sehingga nilai x menjadi 5)

 

Data Structure adalah susunan dari data, baik yang ada di dalam memori komputer maupun yang ada pada disk storage.

Tipe-tipe struktur data:          -Arrays                           -Linked Lists

-Queues                          -Stacks

-Binary Trees

Linked list adalah struktur data yang terdiri dari data records yang berurutan, pada setiap record ada elemen yang mengandung reference menuju record berikutnya.

Perbedaan Linked List dengan Array:

  • -Letak memory locations acak/tidak berurutan
  • -Dynamic memory allocation (elemen linked list bisa ditambahkan atau dikurangi kapan saja)
  • -Setiap elemen disebut node
  • -Hanya dapat diakses secara berurutan

Queue (Antrian)

Elemen yang pertama masuk akan keluar pertama (First In First Out)

Stack (Tumpukan)

Mengikuti prinsip LIFO (Last In First Out) / FILO (First In Last Out)

Binary Tree

Kumpulan dari elemen yang disebut node. Setiap node memiliki left pointer, right pointer, dan data element.

 

Abstract Data Type adalah sebuah tipe data yang disusun sedemikian rupa, Representasi dari objek disembunyikan dari unit program yang menggunakan objek tersebut, sehingga operasi yang memungkinkan adalah operasi yang disediakan didalam type’s definition.

Structure adalah user-defined data type yang dapat mengelompokkan beberapa variabel dengan tipe data yang berbeda menjadi satu kesatuan.

Contoh:

struct mahasiswa {

int nomor;

char nama[100];

float nilai;

} binusian[100];

Mahasiswa adalah nama struct tersebut, sedangkan binusian adalah nama variabel dari struct mahasiswa. Setiap elemen dari struct nilainya dapat diisi sendiri-sendiri.

Contoh:

binusian[0].nomor = 1;

strcpy(binusian[0].nama, “Joni”);

binusian[0].nilai= 90.5;


 

Single linked list adalah linked list yang setiap node-nya hanya memiliki satu link ke node lainnya.

Circular Single linked list adalah single linked list yang node terakhirnya mengandung pointer menuju ke node pertama.

Doubly linked list adalah linked list yang setiap node-nya memiliki dua link, yang satu menuju ke node berikutnya, dan yang satu lagi menuju ke node sebelumnya.

Circular Doubly linked list mirip dengan circular single linked list, tetapi ada 2 pointer di setiap node, yang satu menuju ke node berikutnya, dan yang satu lagi menuju ke node sebelumnya.

Header Linked List adalah linked list yang mempunyai node header di awal list.

 

Written by wilsonnursalim in: Uncategorized |
Sep
14
2015
0

Tugas Blog FEP

Halo semuanya..

Blog ini diciptakan untuk memenuhi tuntutan tugas dari Binus.

Pada post pertama ini saya akan bercerita tentang FEP.

FEP merupakan singkatan dari Freshman Enrichment Program. FEP adalah orientasi mahasiswa baru versi Binus University. FEP terbagi menjadi tiga bagian, yaitu: General Orientation, Academic Orientation, dan Campus Life Orientation.

General Orientation berlangsung selama satu minggu. Karena jumlah mahasiswa baru terlalu banyak, maka orientasi tahap ini dipecah menjadi beberapa batch. Kebetulan saya dapat batch pertama, padahal saya mendaftarkan diri di Binus cukup telat dibandingkan kebanyakan orang. Selama General Orientation, kami dijelaskan mengenai berbagai peraturan dan tata cara yang berlaku di Binus. Kami para mahasiswa baru disebut sebagai buddy oleh Binus, sementara senior-senior yang membimbing kami selama orientasi diberi sebutan Buddy Coordinator atau BC.

Ada juga presentasi dari berbagai organisasi kemahasiswaan. Organisasi kemahasiswaan di Binus ada tiga jenis, yaitu: Himpunan Mahasiswa Jurusan (HMJ), Unit Kegiatan Mahasiswa (UKM), dan Komunitas. HMJ itu fungsinya seperti OSIS di sekolah. Setiap jurusan punya HMJnya sendiri dan semua HMJ ada di bawah Badan Eksekutif Mahasiswa. UKM bisa dibilang adalah ekstrakurikuler di kampus. UKM ada bermacam-macam jenisnya mulai dari olahraga, kesenian, dll. Komunitas itu hmmm jujur saya kurang tahu mengenai yang ini.

Oh dan ada pidato inspiratif dari wakil rektor yang bernama Andreas Chang. Sepertinya dia orang yang dihormati di Binus.  Rangkaian acara General Orientation berakhir dengan acara kebersamaan dan expo. Selama acara kebersamaan tiap kelompok mementaskan yel-yelnya masing-masing dan di expo mahasiswa yang tertarik bisa langsung mendaftar untuk aktif dalam organisasi-organisasi kemahasiswaan.

___________________________________________________________________________

Binus mempunyai visi menjadikan mahasiswanya sukses secara global dengan cara memperoleh pekerjaan di perusahaan multinasional atau menjadi wirausahawan. Untuk mendukung visi ini, maka mahasiswa diharapkan tidak hanya mempunyai indeks prestasi yang baik namun juga kemampuan berorganisasi yang baik. Kemampuan berorganisasi yang baik dapat dilatih dengan mengikuti organisasi kemahasiswaan.

Saya baru selesai menjalani Academic Orientation. Orientasi tahap ini bertujuan untuk mensosialisasikan kurikulum dan materi dasar dari program studi yang telah dipilih oleh mahasiswa. Di jurusan teknik informatika, kami diajar langsung oleh dosen dan asisten laboratorium. Academic Orientation berlangsung selama dua minggu. Selama Academic Orientation kami tidak bertemu dengan BC sama sekali. Kegiatan selama Academic Orientation cenderung monoton karena bisa dibilang sudah semi-kuliah. Kami sudah mulai dapat tugas dan pr, bahkan di akhir Academic Orientation ada tesnya lho, Waw!

Saya sebenarnya agak kelabakan dengan materi pemrograman sih. Sebelum kuliah saya tidak tahu apa-apa soal program. Entah mengapa dosen di kelas kurang menolong dalam menjelaskan dasar-dasar bahasa pemrograman, sepertinya mereka tidak tahu kalau ada beberapa mahasiswa baru yang tidak tahu apa-apa soal pemrograman.

Untung ada  e-book untuk mata kuliah algoritma dan pemrograman jadi saya bisa belajar otodidak dengan membaca buku itu. Berikut contoh program sederhana kalau saudara ada yang tertarik:

#include <stdio.h>
int main(void) {

printf(“SELAMAT DATANG DI BLOG SAYA WAHAI MANUSIA-MANUSIA! \n HAHAHAHA”);
return 0;
}

Himpunan Mahasiswa Teknik Informatika (HIMTI) mengadakan sebuah acara untuk menyambut mahasiswa baru. Nama acara tersebut adalah HTTP (Himti Togetherness and Top Performance).

Walaupun acara ini bersifat tidak wajib, namun Himti sangat gencar dalam mempromosikan acara ini kepada mahasiswa baru. Bahkan, setahu saya mahasiswa yang belum mendaftar untuk mengikuti acara ini dihubungi satu per satu oleh HIMTI seminggu sebelum acara. Saya sendiri termasuk mahasiswa yang tidak mengikuti acara tersebut. Acara HTTP  tahun ini akan diadakan pada hari Sabtu tanggal 12 September 2015 di gedung Badan Pengkajian dan Penelitian Teknologi (BPPT) II, Jl.M. H. Thamrin No.8 Jakarta Pusat.

HIMTI menampilkan berbagai penampilan dari pengisi acara mulai dari band, modern dance, visualisasi, gueststar, talkshow, dan showcase untuk menampilkan aplikasi teknologi hasil karya mahasiswa School of Computer Science Binus University.  HTTP 2015 memiliki tema Strengthening Harmony & Inspiring New Experiences (SHINE).

Written by wilsonnursalim in: Uncategorized |

Powered by WordPress. Theme: TheBuckmaker. Zinsen, Streaming Audio