Friday, July 29, 2016
Session 1 Pointer Array Struct and Memory Allocation
Session 1 Pointer Array Struct and Memory Allocation
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 |
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
www.binus.edu