27 February, 2014

Pointer, Array, and Introduction to Data Structure

          Di sesi Data Structure hari ini, cuma mereview sedikit tentang Array, Pointer, ADT, Struct, Malloc dan pengenalan sedikit tentang Linked List pada bahasa C.
          
          

          Ditanyakan juga berapa maksimum isi dari sebuah Array. Berdasarkan yang saya baca di internet, maksimum isi dari sebuah Array itu ga tentu dan lebih berdasarkan sama hardware yang digunakan.



ARRAY
-     Hanya bisa berisi tipe data yang sama (homogen).
-     Indeks nya dimulai dari 0.
-     Letak datanya selalu sejajar.

Contoh:
Int array[6][5];                // merupakan array 2 dimensi.
Int array[6][5][4];            // merupakan multi dimensional array.
Int array[6][];                  // bisa digunakan karena barisnya jelas ada berapa.





POINTER
-     & = address of ( ngirim alamatnya )
-     * = content of ( ngirim isinya )

Contoh:
Int x = 10;
Int *px;
px = &x;

Maka nilai px akan menjadi 10 juga.





ADT (Abstact Data Type)

-     Merupakan tipe data yang cuma diketahui sama yang buat ( sama seperti lukisan abstrak yang cuma diketahui sama pembuatnya ).





Struct

-     Nama dari sebuah Struct itu bebas tapi ga boleh diawali sama angka.

-     Manggil anggota dari Struct memakai . (dot).
Contoh:
Binus.umur[0] = 18;

-     Bisa berisi banyak tipe data (char, int, dll).

-     Nested Structure à Struct dalam Struct

-     Queue à tipe Struct yang konsep nya mirip dengan orang baris.
Misalkan, antrian di ATM. Orang yang paling pertama masuk yang akan pertama kali keluar (FIFO = First In First Out).

-     Stack à tipe Struct yang konsep nya seperti tumpukan buku.
Misalkan, buku yang ditaro paling atas, maka buku tersebut lah yang akan pertama kali kita ambil kalo mau diberesin.



Memory Allocation : Dynamic

-     Bisa mengalokasikan memory saat program sedang berjalan ( dengan malloc) dan untuk ngembaliin ( dengan free ).



Linked List

-     Mirip dengan Array, bedanya isinya ga perlu ditentuin dan bakal nambah kalo dibutuhin lagi.
-     Letak datanya juga ga sejajar, kalo ada tempat kosong langsung ditempatin.




Nama     : Krisna
NIM        : 1701290236