Modul 0. Pendahuluan - fzl-22/modul-alstrukdat-informatika GitHub Wiki
Definisi Struktur Data
Struktur data adalah suatu cara untuk menyusun suatu atau sekumpulan data secara sistematis sehingga dapat digunakan secara efisien. Efisien dalam hal ini berpatokan pada kompleksitas ruang dan kompleksitas waktu. Efisiensi sendiri kembali kepada kebutuhan dari program.
Data
sendiri dalam konteks pemrograman merupakan suatu kuantitas, karakter atau simbol yang dapat dikenai operasi seperti disimpan dan ditransimiskan di dalam sebuah komputer. Dengan mengimplementasikan suatu struktur data dan pengolahan berupa algoritma kepada data maka dapat dihasilkan arti atau kebermanfaatan dari suatu atau sekumpulan data tersebut. Pada tahap ini data yang memiliki arti tersebut disebut dengan informasi
.
Contoh:
anam aysa oton --> data yang belum disusun secara sistematis.
nama saya tono --> data yang telah disusun secara sistematis dan didapatkan informasi dari data tersebut (informasi)
Salah satu penerapan dari struktur data adalah untuk mendefinisikan abstract data type
.
Untuk memahami abstract data type maka perlu diketahui user defined data type
. User defined data type adalah tipe data dengan operasi yang ditentukan oleh user. User definied data type berbeda dengan tipe data primitif yang operasinya ditentukan oleh bahasa yang digunakan. Contoh dari user defined data types adalah Struct, union, dan unemeration
Setelah memahami user defined data type
mari kembali kepada abstract data type
. Definisi abstract data type sendiri adalah user defined data type yang mendefinisikan operasi dari sebuah nilai dalam bentuk fungsi tanpa menentukkan apa dan bagaimana operasi di dalam fungsi tersebut berjalan. Karena hal tersebut maka abstract data type dapat diimplementasikan melalui banyak cara atau struktur data.
Dengan mengimplementasikan struktur data maka kita dapat mengatur data secara efisien tergantung dari kebutuhan (kompleksitas memori atau waktu).
Tipe - Tipe Struktur Data
Secara struktur, struktur data terbagi menjadi 2 yaitu linear
dan non-linear
data structure.
- Linear Data Structure, adalah data struktur dengan ciri elemen data disusun secara berurutan secara linear yang mana setiap data melekat pada data selanjutnya atau dan sebelumnya. Contoh dari linear data structure adalah
array
,queue
,stack
, danlinked list
. - Non Linear Data Structure, adalah struktur data yang tidak masuk ke dalam linear data structure. Contoh dari non linear data structure adalah
tree
, dangraph
Secara waktu pendeklarasian, struktur data terbagi menjadi static
dan dynamic
data structure.
- Static Data Structure, melakukan alokasi memori ketika compile time sehingga ukuran dari memori tidak dapat dirubah. Keuntungan dari struktur data ini adalah lebih cepat dalam melakukan pengaksesan data. Contoh : Array
- Dynamic Data Structure, melakukan alokasi memori ketika run time atau ketika program berjalan. Dengan menggunakan struktur data ini maka waktu pengaksesan data akan lebih lambat tetapi akan lebih cepat dalam melakukan insert dan delete data. Contoh : Linked List dan Dynamic Array