Modul 0 : Definisi Struktur Data dan Algoritma - IvanSholana/Algoritma-dan-Struktur-Data GitHub Wiki

Definisi Struktur Data

Struktur data adalah suatu cara untuk menyusun suatu atau sekumpulan data secara sistematis sehingga dapat digunakan secara efisien. Data sendiri merupakan suatu kuantitas, karakter atau simbol yang dapat dikenai operasi seperti disimpan dan ditransimiskan di dalam sebuah komputer. Dengan mengimplementasikan suatu struktur data 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 vain --> data yang belum disusun secara sistematis.
nama saya ivan --> 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.

  1. 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, dan linked list.
  2. Non Linear Data Structure, adalah struktur data yang tidak masuk ke dalam linear data structure. Contoh dari non linear data structure adalah tree, dan graph

Secara waktu pendeklarasian, struktur data terbagi menjadi static dan dynamic data structure.

  1. 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
  2. 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