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:
- Array Satu Dimensi (1D)
- Array Dua Dimensi (2D)
- 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 arrayContoh :
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:
- Array
- Linked List
- Queues
- Stacks
- Binary Trees
- 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 :
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
Post a Comment