Category Archives: Uncategorized

DATA STRUCTURE 09 | 01/07/16

GRAPH

Graph adalah abstract data structure yang mengimplementasikan konsep matematika dari graph.

Jenis-jenis graph ada 2 :

  • Graph terarah

terarah

  • Graph tidak terarah

tidakterarah

Minimum Spanning Tree

Alogritma Prim

1 2 3 4

56789

Algoritma Kruskal

kruskal

Algoritma Djikstra

dijkstra

 

DATA STRUCTURE 08 | 25/05/16

HEAP, TRIES, HASHING

Heap

adalah sebuah objek array yang dapat dengan mudah divisualisasikan sebagai complete tree. Ada korespondensi satu ke satu diantara elemen array dan node dari tree. Tree itu benar2 penuh pada semua tingkatan kecuali mungkin yang terendah, yang diisi dari kiri sampai titik tertentu. Semua node dari heap juga memenuhi hubungan bahwa nilai kunci pada setiap node pada kurangnya sama besar dengan nilai pada anak2nya.

Bentuk : complete binary tree.

Sifat : Setiap node lebih besar dari atau sama dengan masing2 anak sesuai dengan perbandingan predikat yang ditetapkan.

Jenis :

  • Min heap : setiap elemen node adalah lebih kecil daripada childrennya. Elemen terkecil akan terletak pada root tree.
  • Max heap : setiap elemen node adalah lebih besar daripada childrennya.
  • Min Max heap : gabungan dari min heap dan max heap.

Insert : Untuk menambahkan sebuah elemen ke heap harus melakukan operasi up-heap.

Max heap

Max-Heap-300x225

 

Min heap

Min-Heap-300x225

Insertion in min-heap

insertinsrt

srt

Delete-Min in Min heap

del

del2

Min-Max heap

mm

Elemen terkecil ada di root. Elemen terbesar ada di salah satu anak root.

Upheap :

  • Jika node baru min-level
    • Jika node baru parent lebih kecil, maka tukar valuenya dan upheapmax dari parent.
    • Atau upheapmin dari node baru.
  • Jika node baru max-level
    • Jika node baru parent lebih besar maka tukar valuenya dan upheapmin dari parent.
    • Atau upheapmax dari node baru.

Deletion

  • Elemen terkecil
    • Tukar root dengan elemen terakhir di heap
    • Kurangi angka elemen di heap
    • Downheapmin dari root
  • Element terbesar
    • Tukar anak kiri/kanan dari root dengan elemen terakhir di heap
    • Kurangi angka dari elemen di heap
    • Downheapmax dari node

Tries

adalah ordered tree struktur data yang digunakan untuk menyimpan asosiatif array, biasanya strings. Sebuah tree dimana setiap vertex memiliki satu huruf/prefix.tries

Hashing

adalah transformasi dari string karakter menjadi nilai panjang biasanya lebih pendek atau kunci yang mewakili string asli. Digunakan untuk indeks dan mengambil item dalam database karena lebih cepat untuk menemukan item menggunakan kunci hash lebih pendek daripada untuk menemukannya menggunakan nilai asli.

 

 

DATA STRUCTURE 06 | 11/05/16

BALANCED BINARY TREE

Konsep AVL Tree :

  • Height dari sub tree yang kosong adalah 0.
  • Height dari leaf adalah 1.
  • Height dari internal node adalah max height dari anaknya + 1.

Balance Factor :

  • Perbedaan height dari subtree kiri dan kanan.
  • Selisih ketinggian hanya boleh bernilai 1 / 0.

Jenis rotasi dibagi menjadi 2 :

  • Single rotation

avl avl2

  • Double rotation

ie-17-638

Delete node pada AVL TREE

  • Jika remove node adalah leaf, langsung remove

del

  • Jika remove node cuma punya 1 child, maka remove node akan langsung digantikan oleh child tersebut.

del2

  • Jika remove node punya 2 child :
    • Pilih node terkecil dari subnode kanan
    • Atau pilih node terbesar dari subnode kiri

del3

GUEST LECTURE – SELVAKUMAR MANICKMAN

Node structure : A tree node should look like the below structure. It has data part and references to its left and right child nodes.

Treee terminology :

  • rooted tree : 1 vertex designates as rot and every edge directed away.
  • parent : u is the parent of v. iff there is an edge from u to v.
  • child : v is called the child of u.

Every non root node has a unique parent.

The level of vertex v in a rooted tree is the height of vertex max levels of its vertices.

M-ary Trees : rooted tree where every vertex has no more than ‘m’ children. Full m-ary if every internal vertex has exactly ‘m’ children. m-2 gives a binary tree.

3-ary tree :

  • every internal vertex has max 2 children.
  • an ordered rooted tree is a rooted tree where the children of each internal vertex are ordered.
  • in an order IOT, the 2 possible children of a vertex are called the left and right child, if they exist.

DATA STRUCTURE 05| 30/03/16

BINARY SEARCH TREES

Dalam binary search tree, semua node di bagian kiri sub-tree mempunyai value lebih kecil dari root node. Untuk semua node di bagian kanan sub-tree mempunya value sama/lebih besar dari root node. Karena node di binary search tree sudah tersusun, makan waktu untuk mencari elemen dalam tree berkurang, tidak perlu lagi mentraverse seluruh tree.

Ada beberapa operasi yang dimiliki oleh Binary Search Tree.

Searching

Fungsi ini digunakan untuk mencari apakah value terdapat dalam tree/tidak. Fungsi ini dimulai dari root node. Awalnya akan dicek apakah binary search tree kosong, jika tidak maka dilanjutkan pengecekan apakah value terdapat dalam tree. Untuk contoh pencarian lebih dalamnya,

bst

Untuk mencari angka 19, dalam perbandingan jika angka 19 dengan curr node lebih besar maka kunjungi kanan, jika lebih kecil makan kunjungi kiri. Mulai membanding dari root angka 30, 19<30 maka lanjut ke kiri. Lalu, 19>15 maka lanjut ke kanan. Setelah itu, 19<26 maka lanjut ke kiri. Terakhir 19=19, ketemulah angka 19 dalam binary search tree.

Inserting

Fungsi insert digunakan untuk menambah node ke dalam binary search tree dalam posisi yang benar. Pertama, cek apakah curr node NULL, jika ia maka tinggal ditambahkan, jika tidak maka lihat value curr node lalu recurs ke bawah kiri/kanan sub-tree. Jika curr node lebih kecil dari new node, maka kanan sub-tree ditraversed, sebaliknya kiri sub-tree yang ditraversed. Fungsi insert terus berjalan turun level binary tree sampai leaf node.

8.-Insert-in-BST

Untuk menginput angka 2, dicek dari root node. 2<4 maka ke kiri. 2>1 maka ke kanan. 2<3 maka ke kiri.

Deleting

Fungsi delete adalah untuk menghapus node dalam binary search tree. Untuk menghapus node yang tidak memiliki anak, sangat gampang tinggal dihilangkan saja. Untuk menghapus node yang memiliki 1 anak, hapus node lalu sambungkan dengan parent nya. Untuk menghapus node yang memiliki 2 anak, cari node yang value nya paling besar untuk digantikan dengan parent, lalu hapus node dari tempat sebelumnya.

 

 

Data Structure 04 | 23/03/16

SESSION 9 | Introduction to Tree, Binary Tree and Expression Tree

Tree

sebuah koleksi dari 1/banyak node.

treee

Degree of tree : 3

Degree of C : 2

Height : 3

Parent of C : A

Children of A : B, C, D

Sibling of F : G

Ancestor of A : A, C

Descendant of C : F, G

Root : node paling atas

Edge : garis yang menghubungi parent dan child

Leaf : node yang tidak mempunyai anak

Sibling : node yang memiliki orang tua yang sama

Degree dari sebuah node : total dari sub tree sebuah node

Height/Depth : max degree dari node dalam tree

Jika ada garis yang menghubungkan p ke q, maka p adalah ancestor dari q dan q  adalah descendant dari p.

Binary Tree

tree yang akarnya harus memiliki minimal 2 anak.

Anak sebelah kiri disebut left child dan yang sebelah kanan disebut right child

Node yang tidak memiliki child disebut leaf.

Perfect binary tree : binary tree yang setiap levelnya memiliki depth yang sama

Complete binary tree : binary tree yang setiap levelnya, kecuali kemungkinan yang terakhir, terpenuhi, dan semua node berada di sebelah kiri. Perfect binary tree adalah sebuah complete binary tree.

Skewed binary tree : binary tree yang masing-masing nodenya memiliki hanya 1 anak.

Balanced binary tree : binary tree yang jarak root ke leaf sama dengan jarak antara anak kanan dan kiri.

Representation of binary tree

repre

Index dalam array menunjukan nomor node.

Index 0 adalah root node.

Index left child adalah 2p+1, dimana p adalah parent index.

Index right child adalah 2p+2.

Index parent adalah (p-1)/2.

Contoh pake linked list :

repri

struct node {

int data ;

struct node *left;

struct node *right;

struct node *parent;

}; struct node *root = NULL;

Expression tree concept 

prefix : *+ab/-cde

postfix : ab+cd-e/*

infix : (a+b)*((c-d)/e)

Kita dapat membuat expression tree dari prefix/postfix by recursive

Di prefix, harus print/process sebelum anak di proses.

Di postfix, harus print/process setelah anak di proses.

 

DATA STRUCTURE 03 | 16/03/16

SESSION 3&6| Linked List Implementation

Stack

Koleksi data item yang hanya dapat diakses pada akhir bagian stack. Item terakhir yang dimasukkan ke stack adalah item yang paling pertama dikeluarkan. Itulah mengapa stack disebut Last In First Out (LIFO) data structure. Stack mempunyai 2 variable, TOP untuk menyimpan alamat elemen stack paling atas, MAX untuk menyimpan alamat elemen stack paling atas.

Jika TOP = NULL, maka stack kosong.

Jika TOP = MAX – 1, maka stack penuh.

Dalam linked stack, setiap node mempunyai 2 bagian:

  • satu untuk menyimpan data
  • satu untuk menyimpan alamat ke node selanjutnya

Infix, Postfix, and Prefix Notation

Prefix : Operator Operand Operand
Postfix : Operand Operand Operator
Infix : Operand Operator Operand

Prefix Infix Postfix
* 4 10 4 * 10 4 10 *
+ 5 * 3 4 5 + 3 * 4 5 3 4 * +
+ 4 / * 6 – 5 2 3 4 + 6 * (5 – 2) / 3 4 6 5 2 – * 3 /  +

Depth First Search

Algoritma untuk melintas/mencari dalam tree/graph.

dfs

Queue

Sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisi belakang, dan penghapusan dilakukan lewat ujung lain. Queue memiliki kosnep elemen yang pertama kali masuk, lalu elemen yang pertama kali keluar.
Queue disebut juga sebagai First in First Out (FIFO).

Front adalah startnya pointer. Penambahan data baru dilakukan di rear, dan penghapusan dilakukan di front.

Jika Front = Rear = NULL, maka queue kosong.

Beberapa aplikasi yang menggunakan queue:

  • Deques
  • Priority Queues
  • Breadth First Search

Breadth First Search

Seperti DFS, sebuah algoritma untuk melintas/mencari dalam tree/graph.

DFS menggunakan stack, namun BFS menggunakan queue.

bffs

Guest Lecture – BONG DEFENDY 02/03/16

Big Data

menggambarkan informasi strategi manajemen holistik yang mencakup dan mengintegrasikan banyak jenis baru dari data dan manajemen data bersama dengan data tradisional.

Peran – peran dalam Big Data :

Chief Data Officer ( CDO ) 

Chief Information Officer ( CIO ) 

Enterprise Architect

Data Scientist

Business Leader

Ada pun solusi Big Data dalam hal  :

Business 

Industry 

Technology 

Produk dari Big Data :

Big Data Management

Big Data Analytics

Big Data Integration

Big Data Applications

Big Data mempunyai istilah data scientist. IT, Math and Statistic akan terpakai di Big Data.

Machine Learning

adalah tipe dari AI yang menyediakan komputer dengan kemampuan untuk belajar tanpa eksplisit di program. Machine Learning fokus dalam pengembangan program komputer yang dapat berubah bila ada data baru.

Cloud

memiliki infrastruktur, istilah Data Center dan Disaster Recovery Center, yang seharga 800ribu – 1juta US$. Segment IT beda, pakai speedy dan bolt IT sudah beda, tunnel link dimana dengan Data Center dan Disaster Recovery Center paling dekat dengan Cloud. Potensi kehilangan data kecil sekali. Data konsistensi di Cloud, issue nomor 1 adalah security. Access internet less secure. Cth, Apple memiliki find my Iphone, yang disimpan di Cloud, security nya unreachable. Adanya issue data ingenue dibuka, Apple tidak mau karena jika satu data terbuka, maka infrastruktur akan terbuka. Cloud Service resources yang paling umum adalah Software as a Service ( SaaS ), Platform as a Service( PaaS ) dan Infrastructure as a Service ( IaaS ).

AI transmisi data di processing unit, LaTeX, disimpan ke data text, string.

Nano Tech

– field of study bio technology.

Specific Genetic algorithm

bisa digunakan untuk data-data yang sifatnya bisa di maintain dan akses dengan mudah. Ada unstructured data -> harus bisa define keseragaman data, siklus hidup data.

Arduino

adalah pengendali mikro single-board yang bersifat open source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang.

Raspberry Pi

adalah komputer papan tunggal yang memiliki ukuran sebesar kartu kredit. Bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition. 

Apakah AI di Indonesia terpakai?

Untuk hal-hal sederhana. Karena masih kurang resource. Maka digunakannya,

Augmented Reality -> pattern base <- white papernya baru, masih akan lebih lama.

Smart Building Services

Tahun lalu vendor-vendor dari manufacture Taiwan, sudah jualan service bentuk colokan stacker, ada colokan lagi untuk control projector sekitar 70$.

Business Intelligence 

Untuk Economoic IT, utamanya dashboard, laporan grafik, bisa forecast. Tools membuat dashboard, SaaS, Tableau, encapsule datanya -> cube. Seperti kubus, data-data yang sudah dianalisa dan query untuk menghasilkan dashboard. Data di cube, bentuk tera, jika masih giga, tidak perlu cube. Untuk Business Intelligence yang bagus, cube harus sebagus mungkin dan harus real time.

SAP 

Hana, mengambil dari memory. Flash Drive -> memory ( lebih cepat ).

Data Structure 01&02 | 24/02/16

Michele Malvina 1901489185

Session 1 | Pointer, Array and Introduction to Data Structure

Array

  • Kumpulan data sejenis.
  • Konsep tipe datanya homogen.
  • Index mulai dari nol.

Cara menyimpan nilai array :

  • Inisialkan elemen
  • Input nilai untuk elemen
  • Assign nilai untuk elemen

Operations in array :

  • Traversal, Insertion, Searching, Deletion, Merging, Sorting
  • Masukkan, Meinput, Mencari, Menghapus, Mengabung, Menyortir

Pointer

Tipe data yang nilainya mengacu nilai lain yang disimpan tempat lain dalam memori komputer menggunakan alamatnya.

Operator pointer:

  • & : address
  • * : dereferencing

Data Structure

Pengaturan data, baik dalam memori komputer atau pada penyimpanan disk

Contoh – contoh data structures :

  • Arrays
  • Linked lists
  • Queues
  • Stacks
  • Binary trees
  • Hash tables

Linked Lists :

Struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya.

Elemennya disebut sebagai node.

link

Queues :

Antrian. Untuk elemen yang pertama masuk akan pertama keluar. FIFO ( First In First Out ).

queu

Stacks :

Linear array. LIFO ( Last In First Out ) / FILO ( First In Last Out ).

bok

Binary Trees :

Kumpulan elemen nya disebut sebagai node.

Node nya memiliki pointer kiri, pointer kanan, dan data elemen.

binary

Hash Tables :

Transformasi aritmatik sebuah string dari karakter menjadi nilai yang merepresentasikan string aslinya.

Session 2 | Introduction to Linked List

Structure

Tipe data yang didefinisikan pengguna yang dapat menyimpan informasi yang berkaitan meskipun jenis data berbeda.

cth:

struct data {

int age;

char name[100];

float score; };

Memory Allocation : Dynamic

Jika perlu mengalokasikan memori dinamis (dalam runtime), dapat menggunakan malloc di C / C ++.

Untuk mengalokasikan dapat menggunakan free.

Linked List

Struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya.

list

Single Linked List

Sebuah linked list yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode linked list, suatu daftar isi yang saling berhubungan.

single

Cara membuat linked list :

  • Buat struct ( data yang disimpan)
  • Deklarasi variable pointer
  • Malloc
  • Isi data di memory
  • Link ke list

 

 

Binusian 2019 | Freshmen Enrichment Program, Organization Skills, HTTP

Hello! I’m Michele Malvina from Binus University Alam Sutera, Student Of Computer Science (SOCS). This is my very first post, and here I’m going to tell you about what happened during FEP, HTTP and how I feel about it.

FEP

Freshmen Enrichment Program is a series of orientation activities aimed at helping new Binusian in adapting to the system, regulations, and how to learn in the world of university.

FEP is divided into 3 parts, which are General Orientation, Academic Orientation and Campus Life Orientation.

There are several batches during General Orientation (GO), and I’m from the first batch (AAS08). During GO, there are some Buddy Coordinators (BC) that are willing to help us to know more about Binus University’s environment, the regulations and registration, the organization skills, etc.

There are Organization Skills in Binus University such as Himpunan Mahasiswa Jurusan (HMJ) , Unit Kegiatan Mahasiswa (UKM) and Komunitas.

HMJ (Student Association) is an organization that was formed based on common disciplines, contained in a study program within the scope of a particular faculty. Ex : HIMTI, HIMMAT, HIMDKV, HIMDI, etc.

UKM is a student organization that was formed to develop their interests, talents and specific expertise for the members in it. Ex : Keluarga Mahasiswa ( keagamaan ), BNNC, Binus English Club, BNAC, BVoice, Stamanara, etc.

Community such as BinusTV, TFI, CSC, BSSC, etc.

I, myself has already registred to join KMBD ( Keluarga Mahasiswa Buddhis Dhammavaddhana ) and HIMTI ( Himpunan Mahasiswa Teknik Informatika ).

The second orientation, which is Academic Orientation (AO) was held two weeks before uni starts. In AO, we were taught about our own curriculum of department, study skills, basic materials like algorithm & programming, to know and get closer with our lecturers and academic supervisors, etc.

Campus Life Orientation (CLO) is during our first semester. This is to help us adapt to the campus schedule and environment.

In my opinion, FEP really helps me adapt to my new environment, to know all about the regulations and registration, meeting new friends, and to learn the basic materials of Computer Science. I’d like to thank all the Buddy Coordinators, lecturers, academic supervisors, classmates and others for everything and makes FEP so fun and interesting and I’m very comfortable in it.

HTTP 2015 SHINE

For those who aren’t  Computer Science’s student, you probably are puzzled by what is HTTP and SHINE are.

HTTP is HIMTI Togetherness And Top Performance, which is a welcoming event only for Binusian SOCS 2019 that was specially organized by HIMTI.

HTTP 2015’s theme is SHINE that stands for Strengthening Harmony & Inspiring New Experiences.

This event cost a single person Rp 150.000, but it’s totally worth it. The event starts at 9.am and ends at around 6.pm. Joining the HTTP gives you some benefits such as Pengenalan Bahasa C ( PBC ), HIMTI exclusive pin, merchandise, HIMTI KIT 2015, lunch, E-certificate and transportation ( bus ) to where this event was held.

HTTP also presents special performance, band, dance, visualization, guest star, talk show, apps showcase, and many more. Sounds interesting right? For those that miss this event, you’ll surely regret it.

 

Thank you for reading my first post! I hope you like it. <3

 

 

 

 

 

Hello world!

Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂