Sunday, March 23, 2014

Binary Trees [Session 4]

Binary Trees adalah sebuah struktur data pohon dimana setiap node terdapat paling banyak 2 anak (anak kiri dan anak kanan). Dalam binary trees, derajat dari setiap node paling banyak 2. Binary tree dapat digunakan untuk mengimplementasikan binary search trees dan binary heaps dan efisien digunakan dalam searching dan sorting.

 Contoh Binary Trees

Point - point penting :

1. Root         = Node paling atas, merupakan induk dari node - node yang lain.
2. Edge        = Garis yang menghubungkan node dengan node lainnya.
3. Leaf          = Node yang letaknya paling bawah dan tidak mempunyai child atau node                          dibawahnya.
4. Siblings  = 2 atau lebih node yang mempunyai induk yang sama.
5. Parent     = Node yang mempunyai child dibawahnya.


Jenis - jenis Binary Trees :

1. Full binary trees = Binary trees yang semua nodenya (kecuali leaf) mempunyai 2                                               child dan tiap subtrees harus mempunyai panjang yang sama.

Contoh Full Binary Trees

2. Complete binary trees = Mirip dengan full binary trees, tetapi tiap subtree boleh                                                            memiliki panjang path yang berbeda.

 Contoh Complete Binary Trees

3. Skewed binary trees = Binary trees yang semua nodenya (kecuali leaf) hanya                                                            memiliki 1 child.

Contoh Skewed Binary Trees


Contoh Mengimplementasikan Infix Prefix dan Postfix :


Cara Mengecek Kebenaran Binary Trees :
1. Infix      = LVR
2. Prefix   = VLR
3. Postfix = LRV



Nama       = Jovian Anderson
NIM           = 1701298623
Kelas       = 02PGT

www.binus.ac.id









Saturday, March 22, 2014

Tamu Alumni Binus Okky Pribadi [Session 3]

Pada pertemuan ketiga, di kelas besar kami kedatangan salah 1 alumni Binus University yang dapat dikatakan sukses di bidangnya. Beliau bernama Okky Pribadi, lulusan SI.

Kedatangan beliau adalah dengan memberi motivasi dan semangat kepada kami sebagai mahasiswa yang masih semester 2 agar tetap semangat walaupun pelajaran yang diberikan sulit. Beliau juga memberikan tips dan trik di dunia kerja nanti agar kita tidak terlalu kaget dan bagaimana kita dapat menghasilkan uang setelah lulus sebagai lulusan IT.

Beliau juga mengatakan bahwa tidak semua orang bisa apa yang orang IT lakukan, hanya yang pernah kuliah atau kursus bidang komputer saja yang bisa. Seperti membaca bahasa programming, orang awam tidak bisa, tetapi orang IT bisa. Pertemuan ketiga ini merupakan pengalaman yang sangat berharga tidak hanya menambah wawasan saja, tetapi saya dapat mengetahui kelak lulusan IT akan seperti apa.

Nama : Jovian Anderson
NIM     :1701298623
Kelas : 02PGT

www.binus.ac.id



Sunday, March 9, 2014

Linked List [Session 2]

Linked list dibagi menjadi 3 jenis, yaitu :

1. Single linked list : satu bentuk struktur data, berisi kumpulan data 
(node) yang tersusun secara sekuensial, saling sambungmenyambung, 
dinamis dan terbatas. 


2. Double linked list : Double linked list adalah elemen-elemen yang dihubungkan dengan dua pointer dalam satu elemen dan list dapat melintas baik di depan atau belakang.

3. Multiple linked list : Merupakan linked list banyak arah

Contoh Implementasi single linked list :

struct mahasiswa
{
       char name[30];
       char nim[15];
       struct mahasiswa *next;
};

struct mahasiswa *curr;
*curr = (struct mahasiswa*) malloc (sizeof(struct mahasiswa));
strcpy (curr -> name, name);
curr -> next = head;
head = curr;

Push Depan :

head = curr = tail = NULL;

if (head == NULL) 
{
       head = tail = curr;
       tail -> next = NULL;
}
else
{
       curr -> next = head;
       head = curr;
}

Push Belakang :

head = curr = tail = NULL;

if (tail == NULL) 
{
       tail = head = curr;
       tail -> next = NULL;
}
else
{
       tail -> next = curr;
       tail = cur;
       tail -> next = NULL;
}


Nama       : Jovian Anderson
NIM           : 1701298623
Kelas        : 02PGT

www.binus.ac.id



Sunday, March 2, 2014

ARRAY

Array merupakan kumpulan dari suatu elemen data yang mempunyai tipe data yang sama (Homogen). Ada 3 jenis array yaitu array 1 dimensi, array 2 dimensi, dan array multi dimensi.

1. Array 1 dimensi :
Dapat di bayangkan seperti deret dari sebuah data, dimana tiap data mempunyai index atau lokasi dari data tersebut, Contoh : int angka[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

2. Array 2 dimensi :
Sekumpulan data yang seperti dalam baris dan kolom, Contoh : int angka[5][10];
artinya array tersebut mempunyai 5 baris dan 10 kolom, total data yaitu 5 x 10 = 50.

3. Array multi dimensi :
Merupakan array yang terdiri dari 3 atau lebih dimensi, Contoh : int angka[5][5][5][5];
artinya array tersebut mempunyai 4 dimensi.

Mendeklarasikan suatu data kedalam array dapat dilakukan dengan 2 cara, Yaitu dengan mendeklarasikan secara langsung atau dengan penginputan user.

1. Secara langsung :
int angka[5] = {1, 2, 3, 4, 5}; atau bisa dengan int angka[] = {1, 2, 3, 4, 5};

2. Penginputan User :
Contoh Codingan

Hasil Debuging

Beberapa kegunaan array adalah untuk tranversal, insertion, searching, deletion, merging, dan sorting data.

STRUCT

Struck merupakan kumpulan dari suatu data sama seperti array, tapi bedanya dalam struct boleh diisi oleh berbagai tipe data.

Contoh struct

Contoh array of struct

Deklarasi variabel dalam struct berbeda dari yang lain, dalam struct ada . (titik) dalam penulisan variabelnya. Contoh : mahasiswa[1].name, mahasiswa[17]. score.

 Contoh variabel dalam struct


POINTER

Pointer merupakan sebuah tipe data yang digunakan untuk menunjuk alamat dari nilai data. ada 2 operator penting dalam pointer, Yaitu :

1. Operator & = Menunjuk alamat Operator.
2. Operator * = Menunjuk Nilai Operator.

Contoh penggunaan pointer


STRUKTUR DATA

Struktur data merupakan kumpulan / pengaturan data baik dalam memory komputer atau pada media penyimpanan lainnya.
Contoh dalam struktur data :

1. Array :
Seperti yang sudah dijelaskan diatas array merupakan kumpulan data yang bersifat homogen.

2. Link List :
Merupakan struktur data yang sangat dinamis. Dimana elemennya dapat diakses dari manapun data itu berada, dan tidak menggunakan urutan index seperti array. Setiap elemen link list disebut dengan istilah Node.

Gambar Link List Swap Diagram

3. Queue : 
Merupakan struktur data yang diartikan seperti antrian, yang berarti data yang pertama masuk itu juga merupakan pertama kali yang keluar.

Gambar Queue


4. Stack :
Merupakan tumpukan yang dapat direpresentasikan sebagai linier array. Data yang terakhir masuk berarti pertama kali yang keluar. 

Gambar Stack


5. Binary Tree :
Sebuah data struktur yang merupakan koleksi dari elemen yang disebut dengan node, dalam setiap node terdapat pointer ke kanan, kiri , dan sebuah data elemen dari node itu sendiri.

Gambar Binary tree


6. Hash Table :

ABSTRACT DATA TYPE

Merupakan tipe data yang terorganisasi sedemikian rupa dan di spesifikasikan dengan operasi dan atribut tertentu di dalamnya. Dapat diimplementasikan dalam C / C++ karena mempunyai konsep yang disebut class dan struct.


Nama          : Jovian Anderson
NIM           : 1701298623
Kelas           : 02PGT