Tipe-tipe data dalam struktur data ini umumnya di bagi menjadi 3 yaitu tipe data primitif,non primitf dan tipe data abstrak atau ADT(Abstract Data Type).
Contoh tipe data primitif adalah:
- Boolean (Truth/false)
- Character/char
- Floating-point/float
- Double/ long floaot
- Integer/ bilangan bulat
- String / kumpulan dari char
- Reference (disebut juga pointer)
- Array
- Record
- Union
- Tagged union
Contoh ADT (Abstract Data Type):
- List
- Associative array
- Multimap
- Set
- Multiset (Bag)
- Struct
- Queue
- Double-ended queue
- Priority queue
- Tree
- Graf
Array (contoh dan syntax berdasarkan bahasa C/C++)
- Array adalah sebuah kumpulan elemen data dengan tipe data yang sama(homogen). Elemen-elemen suatu array disimpan dalam memory locations yang berurutan. Setiap elemen array dapat diisi secara terpisah.
- Elemen pada array ini memiliki index dimulai dari 0 hingga n-1, dimana n-1 merupakan jumlah data.
- Syntax: Tipedata arrayName[size];
- Contoh: int contoh[5] = {1,2,3,4,5); (dimemori disiapakan suatu tempat bernama contoh untuk 5 buah integer dimana pada index ke-0 diisi 1,index ke 1 diisi 2, index ke 2 diisi 3 dst)
- Operasi yang bisa dilakukan pada array adalah:
- Traversal (passing nilai)
- Insertion (memasukkan)
- Searching (mencari)
- Deletion (menghapus)
- Merging (menggabungkan)
- Sorting (mengurutkan)
- Jenis array :
- array dimensi satu (untuk contoh dan syntax ada di bagian contoh da syntax diatas)
- array multidimensi
array ini memiliki dimensi maksimal 256,namun pada umumnya jarang komputer yang dapat dialokasikan memorinya untuk membuat array dengan 256 dimensi, jadi bisa dikatakan batas dimensi array ini di tentukan dari memori yang dimiliki komputer.
Pointer
- Pointer secara singkat adalah suatu tipe data yang menyimpan alamat dari variabel lain dengan tipe data yang sama. sepertii penunjuk
- Operator yang digunakan dalam pointer adalah '*'(derefecing operator) dan '&' (untuk mengakses alamat)
- Syntax : data-type *ptr_name;
- batas * pada pointer adalah 12 jika ada 2'*' maka berarti variabel itu adalah penunjuk dari penunjuk.
- contoh :
int
a = 10;
int
*p = &a;
printf(
“%d\n”, *p ); /*akan tercetak alamat dari variable a*/
a = 17;
*p =
20;/*nilai a akan berubah jadi 20 karena pointer p memiliki alanat a/*
printf(
“%d\n”, a );/*tercetak 20*/
Linked List
- Lingked list adalah struktur data dinamik yang dimana elemennya dapat di hapus dan ditambahkan sesuka hati atau struktur data yang terdiri dari data records yang berurutan, pada setiap record ada elemen yang mengandung reference menuju record berikutnya
- Perbedaan Linked List dengan Array:
- Letak memory locations acak/tidak berurutan
- alokasi memori lebih fleksibel tidak seperti array yang kita deklarasikan (elemen linked list bisa ditambahkan atau dikurangi kapan saja)
- Setiap elemen disebut node
- Hanya dapat diakses secara berurutan
- Macam Linked List :
- Single linked list adalah linked list yang setiap node-nya hanya memiliki satu link ke node lainnya.
- Circular Single linked list adalah single linked list yang node terakhirnya mengandung pointer menuju ke node pertama.
- Double linked list adalah linked list yang setiap node-nya memiliki dua link
- Circular Doubly linked list mirip dengan circular single linked list, tetapi ada 2 pointer di setiap node, yang satu menuju ke node berikutnya, dan yang satu lagi menuju ke node sebelumnya.
- Header Linked List adalah linked list yang mempunyai node header di awal list.
Queque (Antrian)
- Struktur data dimana data yang dimasukan duluan akan keluar duluan dan yang masuk terakhir akan keluar terakhir (First in first out)
- Elemen terdepan atau yang segera keluar pada queque disebut front dan yang dibelakang atau dimasukan sesudah front disebut rear
Stack (Tumpukan)
- Stack tipe data yang menganut prinsip LIFO (Last In First Out) / FILO (First In Last Out).
- Stack juga dapat di representasikan sebagai array satu dimensi.
Binary Tree
- Kumpulan dari elemen yang disebut node. Setiap node memiliki left pointer, right pointer, dan data element.
referensi : - https://id.wikipedia.org/wiki/Struktur_data
- https://en.wikipedia.org/wiki/List_of_data_structures
- https://stackoverflow.com/questions/25687160/maximum-how-many-stars-we-can-add-in-pointer-variable?noredirect=1&lq=1
- https://stackoverflow.com/questions/10738267/what-is-the-maximum-number-of-dimensions-allowed-for-an-array-in-c
- Reema Thareja,. 2014. Data structures using C. OXFOR. New Delhi. ISBN:978-0-19-809930-7 Chapter 1 & 3
- http://www.mycplus.com/tutorials/data-structures/arrays-c-cpp-programming
Nama : Benedick Asdyo
NIM : 2101631090


Tidak ada komentar:
Posting Komentar