Konsep Dasar Struktur Data, Tipe Data Abstrak, dan Analisis Asimtotik
Konsep Dasar Struktur Data, ADT, dan Analisis Kompleksitas Asimtotik
Modul perkuliahan perdana Struktur Data yang mengkaji representasi data dalam memori komputer, konsep Tipe Data Abstrak (Abstract Data Type / ADT), serta teknik matematis dalam mengukur efisiensi algoritma melalui analisis kompleksitas waktu dan ruang.
1. Definisi dan Klasifikasi Struktur Data
Struktur data adalah cara sistematis dalam mengorganisasikan, mengelola, dan menyimpan data di memori sehingga operasi penelusuran, modifikasi, dan komputasi dapat dieksekusi secara optimal.
- Struktur Data Linear: Elemen data tersusun secara sekuensial hierarkis, di mana setiap elemen terhubung langsung dengan elemen sebelum dan sesudahnya (contoh: Array, Linked List, Stack, Queue).
- Struktur Data Non-Linear: Elemen data tidak disusun dalam urutan beruntun tunggal, melainkan membentuk keterhubungan bertingkat atau graf interkoneksi (contoh: Tree, Graph, Trie).
2. Analisis Kompleksitas Asimtotik (Big-O Notation)
Efisiensi suatu algoritma diukur berdasarkan laju pertumbuhan kebutuhan waktu komputasi dan konsumsi memori terhadap kenaikan ukuran masukan .
- Notasi Big-O (Batas Atas / Worst Case): Menjamin bahwa konsumsi komputasi algoritma tidak akan melampaui konstanta pengali tertentu untuk setiap .
- Tingkatan Kompleksitas Standar:
- : Kompleksitas Konstan (akses elemen array berbasis indeks).
- : Kompleksitas Logaritmik (Binary Search pada array terurut).
- : Kompleksitas Linier (Linear Search, perulangan tunggal).
- : Kompleksitas Linieritmik (Merge Sort, Heap Sort).
- : Kompleksitas Kuadratik (Bubble Sort, Insertion Sort, Nested Loop).
- : Kompleksitas Eksponensial (rekursi naif Fibonacci).
3. Tipe Data Abstrak (Abstract Data Type / ADT)
ADT mendefinisikan himpunan nilai data beserta spesifikasi operasi fungsional yang dapat dilakukan terhadapnya tanpa mengekspos detail implementasi internal ke pengguna modul.