STRUKTUR DATA - Array, Pointer, dan Struktur Data

Array

Array adalah kumpulan elemen data yang sama dan memiliki tipe data yang sama juga. Biasanya disimpan secara berurutan didalam memory dan direferensikan dengan index. Index biasanya dimulai dengan 0 sampai n-1, dimana n adalah jumlah elemen.

Ada 3 macam array, yaitu:
  1. Array Satu Dimensi (1D)
  2. Array Dua Dimensi (2D)
  3. Array Multi Dimensi 

Array Satu Dimensi (1D)

Syntax : 
Data_type array_name[size];

Declaration:   

int arr[3];

Accessing:

arr[0] = 1;
arr[1] = 5;
arr[2] = 2;

Array Dua Dimensi (2D)

Syntax :
Data_type array_name[size1][size2];

Declaration:
int arr[3][2];

Accessing:
arr[0][0] = 13;
arr[1][1] = 5;
arr[2][1] = 4; 

Array Multi Dimensi

Syntax:
Data_type array_name[size1][size2][size3][....];

Declaration :
int arr[3][2][2][3];

Accessing:
arr[0][0][1][1] = 21;
arr[1][1][0][2] = 5;
arr[2][1][1][2] = 22; 


Cara Penyimpanan Data dalam Array

a)      Initialization of array

Contoh :
int arr[5] = {1, 2, 4, 5, 3};

b)      Input value


Contoh :
int i, arr[5];
for (i=0; i<5; i++){
     scanf(“%d”, &marks[i]);
}

c)       Assigning value


Contoh:              

int i, arr1[5], arr2[5];
 for(i=0; i<5; i++){
     arr2[i] = arr1[i];
}


Operasi dalam Array

  • Traversal
  • Insertion
  • Searching
  • Deletion
  • Merging
  • Sorting

Pointer

Pointer adalah suatu variabel penunjuk, dimana ia menunjuk alamat suatu variabel. Jadi, pointer adalah variabel yang menyimpan alamat memory suatu variabel. Penggunaan suatu variabel cukup beresiko, karena apabila variabel pointer maupun variabel yang ditunjuk diubah nilainya maka semuanya akan berubah.

Syntax :
<data_type> *ptr_name;

Operator yang paling banyak digunakan adalah *(content) dan &(address)

Contoh penggunaan pointer pada c/c++:
int i=5, *ptr;
ptr = &i;                // nilai ptr = nilai i, yaitu 5.

Struktur Data

Struktur data adalah suatu cara pengaturan data, baik dalam memory komputer maupun disk storage agar dapat digunakan secara efisien.

Beberapa contoh umum dari struktur data, yaitu:
  1. Array
  2. Linked List
  3. Queues
  4. Stacks
  5. Binary Trees
  6. Hash Table


Linked List

Linked List adalah struktur data yang paling dinamis dimana kita dapat menambahkan dan menghapus elemen (disebut node) darimana saja. 

Linked List terdiri dari beberapa jenis, yaitu :
  • Single Linked List




  • Double Linked List


  • Circular Linked List




Array vs Linked List




Contoh penggunaan Linked List :



Queues

Elemen yang pertama dimasukan adalah elemen pertama yang diambil atau keluar (FIFO/first in first out). Unsur-unsur dalam queue ditambahkan pada ujung yang disebut rear(belakang) dan dihapus dari ujung yang lain disebut front(depan). Konsepnya seperti mengantri dalam kehidupan sehari-hari. Orang yang pertama mengantri adalah orang yang akan pergi/keluar pertama dimana ia berada pada yang posisi front, kemudian jika ada yang orang yang akan mengantri maka ia berada pada posisi rear. Proses memasukkan elemen dalam queue disebut Push/Enqueue sedangkan pengambilan atau penghapusan elemen disebut Pop/Dequeue.


Stacks

Stack mirip dengan queue, hanya saja elemen yang pertama masuk akan keluar paling terakhir. Contohnya seperti tumpukan buku, ketika kita menaruh buku pertama kemudian buku kedua dst. Maka buku terakhir yang berada pada posisi paling atas adalah buku pertama yang akan diambil. Proses memasukkan elemen dalam stack disebut Push/Enstack sedangkan pengambilan atau penghapusan elemen disebut Pop/Destack


Binary Trees

Binary tree adalah suatu struktur data yang menyerupai pohon dimana setiap elemennya memiliki 2 cabang atau pointer yaitu left pointer dan right pointer.

Hash Table

Hash table adalah suatu struktur data yang berbentuk tabel yang memiliki baris(disebut juga row/record) dan kolom (disebut juga column/field).



Comments

POPULAR

STRUKTUR DATA - Linked List

STRUKTUR DATA - Balanced Binary Search Tree (AVL and RBT) and 2-3 Tree

STRUKTUR DATA - B Tree and Heap & Deap