Friday, March 21, 2014

Session 1: Pointer, Array, Struct and Memory Allocation

3/21/2014 01:47:00 AM Posted by Unknown No comments
Oke pada hari ini gw mau bahas tentang materi perkuliahan gw, yaitu mata kuliah struktur data.

Awalnya kalian pasti binggung apa itu array, pointer?
Oke kita bahas sekarang.

Apa itu array? Array adalah kumpulan data yang memiliki type data yang sama (homogenus).
Elemen-elemen dari array disimpan berturut lokasi memori dan direferensikan oleh indeks

Dan indeks awal array di mulai dari 0, atau 0 – N-1.

Contoh : int array [5] = berarti indeks nya {0,1,2,3,4}

Array memiliki banyak dimensi, ada array 1 dimensi, 2 dimensi dan 4 dimensi (multi dimensi).

Contoh array 1 dimensi : array [5];

Contoh array 2 dimensi: array [3][5], berarti array tersebut mencakup 3 baris 5 kolom seperti di bawah :
A B C D E
Q F A F P
W G S G Y 

array yang terdepan di artikan sebagai baris, array ke 2 di artikan sebagai kolom untuk mudah mengingat gunakan istilah (baskom) atau baris kolom.

Penulisan array 2 dimensi boleh seperti ini : int array [6][0]; tp tidak boleh int array [0][6];

Contoh array multi dimensi: int array [3] [5] [3] [5];

Inisialisasi array dapat dilakukan sebagai berikut:
int array [ 5] = {90, 82, 78, 95, 88 };

Operasi dalam array:
• Traversal = menukar posisi atau biasa di sebut transpos seperti pada matriks.
Contoh: int array [3][3] = 1 2 3 di traversal menjadi 1 4 7
                                            4 5 6                                      2 5 8
                                            7 8 9                                      3 6 9
• Pemasangan
• Pencarian
• Penghapusan
• Penggabungan
• Keputusan

Apa itu pointer? Pointer adalah sebuah tipe data yang nilainya merujuk kepada nilai lain disimpan di tempat lain dalam memori komputer dengan menggunakan alamat, atau simple nya pointer akan menunjukan alamat memori dari data yang tersimpan.

Tanda “&” di gunakan untuk menampilkan alamat

Tanda “*” di gunakan untuk menampilkan isi

Penulisan array yang benar :

ptr = &angka;

Apabila *ptr = &angka berarti memberi alamat kepada nilai

Beberapa contoh umum dari struktur data meliputi:
– Arrays
– Linked lists
– Queues
– Stacks
– Binary trees
– Hash tables

Array
– Koleksi elemen serupa dengan data
– Unsur Data memiliki data yang sama jenis

Linked list (list bertaut) sangat dinamis, dimana data atau elemen dapat ditambahkan atau di hapus kapanpun programmer mau.

Queue/Antrian
Elemen yang telah di masukkan pertama akan menjadi pertama yang keluar, atau FIFO (First In First Out)
Contoh: Orang yang paling depan mengantri untuk masuk ke ATM adalah orang yang akan pertama kali masuk keluar pertama.
Queue



Stacks/Tumpukan
Pada stacks/tumpukan, yang pertama kali masuk itu akan terakhir keluar, atau yang terakhir masuk akan pertama kali keluar. LIFO (Last In First Out) / FILO (First In Last Out)
Contoh: Ada tumpukan buku, tumpukan buku yang paling atas adalah tumpukan yang pertama kali di ambil/keluar.

Pohon Biner
- Sebuah struktur data yang di definisikan sebagai sebuah koleksi elemen di sebut node.
- Setiap node berisi kiri pointer, kanan pointer dan elemen data.
Binary Tree 
Apa itu structure?
Sturucture hampir sama dengan array, namun structure bersifat heterogen. Ia merupakan kumpulan dari beberapa tipe data.

Contoh:
struct data {
Char nama [20];
int umur;
};


Apa itu Nested structure?
Nested structure merupakan dimana ada struct di dalam struct seperti contoh di bawah.
struct profile {
int age;
char name[100];
};
struct student {
struct profile p;
int score;
char grade;
};


Memory Allocation :
Dynamic : Bisa dij alankan sesudah runtime
Static : Di jalankan sebelum runtime

0 komentar:

Post a Comment