π§ 1. Definisi Struktur Data
7
π Pengertian
Struktur data adalah cara menyimpan, mengatur, dan mengelola data di dalam komputer agar dapat digunakan secara efisien.
π§ Narasi Konseptual
Bayangkan Anda memiliki ribuan data mahasiswa. Tanpa struktur yang jelas, data tersebut akan sulit dicari, diubah, atau dianalisis. Struktur data berfungsi seperti lemari arsip digital yang membuat data:
- Mudah diakses
- Cepat diproses
- Efisien dalam penggunaan memori
π― Tujuan Penggunaan Struktur Data
- Meningkatkan efisiensi algoritma
- Mengoptimalkan penggunaan memori
- Mempermudah pengolahan data kompleks
- Mendukung pengembangan perangkat lunak skala besar
π§© 2. Tipe Data vs Struktur Data
π Tabel Perbandingan
| Aspek | Tipe Data | Struktur Data |
|---|---|---|
| Definisi | Jenis nilai yang dapat disimpan | Cara mengorganisasi data |
| Contoh | Integer, Float, Char | Array, Linked List |
| Fokus | Nilai tunggal | Kumpulan data |
| Tujuan | Representasi data | Pengelolaan data |
π§ Penjelasan
- Tipe data adalah dasar (misalnya angka atau karakter)
- Struktur data adalah cara menyusun banyak tipe data menjadi sistem yang terorganisir
π Analogi:
Tipe data = bahan bangunan
Struktur data = arsitektur bangunan
π§± 3. Klasifikasi Struktur Data
8
πΉ A. Struktur Data Linear
Data disusun secara berurutan.
Contoh:
- Array
- Linked List
- Stack
- Queue
π Karakteristik:
- Akses data sekuensial
- Mudah diimplementasikan
πΉ B. Struktur Data Non-Linear
Data tidak disusun secara berurutan.
Contoh:
- Tree
- Graph
π Karakteristik:
- Relasi kompleks antar data
- Cocok untuk representasi hierarki
π§ 4. Konsep Abstract Data Type (ADT)
π Definisi
ADT adalah model logis dari struktur data yang hanya mendefinisikan:
- Operasi yang bisa dilakukan
- Tanpa menjelaskan implementasinya
π§ Narasi
ADT seperti remote TV:
- Anda tahu tombolnya (fungsi)
- Tapi tidak perlu tahu bagaimana rangkaiannya bekerja
π Contoh ADT Stack
Operasi:
- Push (tambah data)
- Pop (hapus data)
- Peek (lihat data teratas)
βοΈ 5. Operasi Dasar Struktur Data
π Tabel Operasi
| Operasi | Deskripsi |
|---|---|
| Traversal | Mengunjungi semua elemen |
| Insertion | Menambahkan data |
| Deletion | Menghapus data |
| Searching | Mencari data |
| Sorting | Mengurutkan data |
π§ Penjelasan
Setiap struktur data memiliki operasi dasar ini, namun:
- Cara implementasi berbeda
- Efisiensi berbeda
β±οΈ 6. Kompleksitas Waktu dan Ruang
6
π Definisi
Kompleksitas adalah ukuran:
- Waktu eksekusi (Time Complexity)
- Penggunaan memori (Space Complexity)
π Notasi Big-O
| Notasi | Nama | Contoh |
|---|---|---|
| O(1) | Konstan | Akses array |
| O(n) | Linear | Pencarian linear |
| O(log n) | Logaritmik | Binary search |
| O(nΒ²) | Kuadratik | Bubble sort |
π§ Narasi
Semakin kecil kompleksitas:
β‘οΈ Semakin cepat program berjalan
β‘οΈ Semakin efisien sistem
π§ͺ 7. Peran Struktur Data dalam Pemrograman
π― Penggunaan Nyata
- Database β menggunakan tree & hashing
- Sistem operasi β menggunakan queue & stack
- AI & Machine Learning β graph & tree
- Aplikasi web β array & hash table
π§ Studi Kasus Sederhana
Misalnya:
- Data disimpan dalam array β cepat diakses
- Tapi sulit disisipkan di tengah
β‘οΈ Solusi: gunakan linked list
π§ 8. Hubungan Struktur Data dan Algoritma
6
π Konsep
Struktur Data + Algoritma = Program Efisien
π§ Narasi
- Struktur data = wadah data
- Algoritma = cara mengolah data
π Tanpa struktur data yang tepat:
β‘οΈ Algoritma menjadi lambat
β‘οΈ Program tidak optimal
π 9. Contoh Implementasi Sederhana (Python)
# Contoh struktur data sederhana: Array (List)
data = [10, 20, 30, 40]# Traversal
for x in data:
print(x)# Insertion
data.append(50)# Deletion
data.remove(20)# Searching
if 30 in data:
print("Data ditemukan")
π 10. Ringkasan Materi
- Struktur data adalah fondasi pemrograman
- Digunakan untuk mengelola data secara efisien
- Terdiri dari berbagai jenis (linear & non-linear)
- Memiliki operasi dasar (insert, delete, search, dll)
- Berkaitan erat dengan algoritma dan kompleksitas
π 11. Latihan / Diskusi
βοΈ Soal Teori
- Jelaskan perbedaan tipe data dan struktur data
- Apa itu ADT? Berikan contoh
- Jelaskan perbedaan struktur data linear dan non-linear
π» Soal Praktikum
- Buat program array sederhana (input & output data)
- Implementasikan pencarian linear
- Analisis kompleksitas program yang dibuat
π― Penutup
Materi Pengantar Struktur Data adalah fondasi utama sebelum mempelajari:
- Linked List
- Stack & Queue
- Tree & Graph
- Algoritma kompleks