Thursday, February 27, 2014

Array, Pointer, and Introduction to Data Structured

Array:

Array adalah sebuah kumpulan data yang terdiri dari tipe data yang sama. Setiap nilai yang berada di dalam array disebut sebagai element. Element tersebut memiliki data yang sama atau disebut juga sebagai Homogen.
Elemen yang terdapat didalam sebuah array akan disimpan kedalam sebuah lokasi memori yang beurutan. Urutan lokasi memori ini disebut sebagai Index. Penomoran Index pada memori tersebut selalu dimulai dari angka 0.
Deklarasi Array menurut dimensinya:
  • Array Dimensi 1:
    • Syntax : typename[size];
    • Declaration : int angka[5];
    • Access :
      angka[0] = 7;
      angka[1] = 2;
      angka[2] = 11;
      angka[3] = 5;
      angka[4] = 9;
  • Array Dimensi 2:
    • Syntax: typename[size1][size2];
    • Declaration : int angka[3][2];
      *[3] menunjukkan jumlah baris.
      *[2] menunjukkan jumlah kolom.
    •  Access:
      angka[0][2] = 2;
      angka[2][1] = 9;
      angka[2][2] = 13;
      angka[2][4] = 10;
  •  Array Multidimensi:
    • Syntax: typename[size1][size2][size3][size4][...];
    • Declaration: int angka[3][2][4][6];
    • Access: 
      angka[0][2][2][5]= 4;
      angka[2][1][3][2]= 7;
      angka[3][0][1][4]= 5;
      angka[2][2][1][3]= 11;
Cara Menyimpan data dalam Array:
  •  Initialization of Arrays:
    int angka[4] = {20, 21, 24, 30};
    *notice: Perhatikan dalam array, misalkan jumlah index yang diindikasikan ada 4. penomoran index selalu dimulai dari 0, maka seperti pada contoh inisialisasi diatas, pada index 0 = 20, index 1 = 21, index 2 = 24, dan pada index 3 = 30. Sedangkan pada index 4 tidak ada isi dikarenakan index 4 diisikan oleh NULL, dan akan selalu seperti ini. Rumus pernyataan tersebut adalah N-1. Dimana N adalah Jumlah Index.
  •  Inputting Values :
     kita menginisialisasikan values dalam array melalui kehendak user, menggunakan I/O.   
  •  Assigning Values:
     Menetapkan Nilai yang ada kedalam array tersebut.
Operations yang terdapat dalam sebuah Array : Traversal, Insertion, Searching, Deletion, Merging, Sorting.


Pointer

Pointer adalah tipe data yang menunjuk pada isi tipe data yang ada pada memori komputer yang ada pada tempat lain, yang diakses melalui alamat tersebut.

2 hal terpenting yang digunakan dalam mengakses pointer adalah:
  • & = untuk mengakses alamat operator.
  • *  = Untuk mengakses isi yang ada pada alamat yang ditunjukan.
Contoh Pengaksesan melalui pointer:
int *ptr;        
int x= 20;
ptr = &x;     
ptr = 20;  
 
Data Structured

Struktur Data adalah perkumpulan data yang sudah di arrange (diatur) yang terdapat dalam memori komputer atau di disk storage.

Struktur Data mencakup :
     - Array.
     - Linked List. 
     - Queues.
     - Stacks.
     - Binary Trees.
     - Hash Tables.

*Linked List = adalah sebuah dinamik struktur data yang setiap elementnya bisa ditambah atau dihapus sesuai keinginan user. Setiap Element yang ada pada Linked List disebut sebagai Node.

*Queues = Element yang di-insert itu selalu First In First Out (FIFO). Element yang masuk harus menunggu Element yang pertama untuk menyelesaikan tugasnya. Contohnya : Antri di bank.
*Stacks = Dapat direpresentasikan sebagai linear array. Pada Stack berlaku sistem, Last in First Out (LIFO). Dimana maksud dari sistem tersebut yang terakhir kali masuk akan menjadi orang yang pertama kali keluar. Contohnya, ada sebuah tumpukan buku (stack of books). User ingin membaca sebuah buku, maka dia mengambil buku yang ada pada tumpukan paling atas dari stack buku tsb. Sehingga buku yang terakhir kali ditumpuk menjadi buku yg pertama kali dibaca oleh user. 
*Binary Trees = Struktur data yang didefinisikan melalui koleksi element yang disebut sebagai Nodes. 
*Data Types = Koleksi / Kumpulan Objek, dan set operasi yang digunakan untuk mengakses objek tsb.


ADT

ADT adalah tipe data yang diorganisasikan sedemikian rupa sehingga spesifikasi dari objek dan spesifikasi dari operasi tersebut pada objek dipisahkan oleh representasi dari objek dan diimplementasikan kepada operasi. 

ADT mensupport bahasa C / C++, dimana pada C menggunakan struct, dan di C++ menggunakan Class. 



NAMA = Dickson Saputra.
NIM = 1701291283
Kelas = 02 PGT.