1. Apa Itu Struktur Data?
Struktur data adalah cara mengatur dan menyimpan data di dalam komputer agar data tersebut dapat digunakan secara efisien.
Struktur data memungkinkan:
-
Penyimpanan data yang terorganisir
-
Akses dan manipulasi data secara efisien
-
Penyederhanaan proses pengolahan data
2. Klasifikasi Struktur Data
Struktur data dibagi menjadi dua kategori utama:
a. Struktur Data Primitif
-
Integer (bilangan bulat)
-
Float (bilangan desimal)
-
Char (karakter)
-
Boolean (true/false)
b. Struktur Data Non-Primitif
-
Linear:
-
Array
-
Linked List
-
Stack
-
Queue
-
-
Non-Linear:
-
Tree
-
Graph
-
3. Jenis-Jenis Struktur Data Linear
a. Array
Array adalah kumpulan elemen yang disimpan dalam indeks berurutan dan memiliki tipe data yang sama.
Contoh (Python):
angka = [1, 2, 3, 4, 5]
print(angka[2]) # Output: 3
b. Stack (Tumpukan)
Stack mengikuti prinsip LIFO (Last In, First Out) – elemen terakhir yang masuk akan keluar pertama.
Operasi Utama:
-
push: Menambahkan elemen ke atas stack -
pop: Menghapus elemen dari atas stack -
peek: Melihat elemen teratas tanpa menghapus
Contoh (Python):
stack = []
stack.append(10) # push
stack.append(20)
print(stack.pop()) # Output: 20
c. Queue (Antrian)
Queue mengikuti prinsip FIFO (First In, First Out) – elemen pertama yang masuk akan keluar pertama.
Operasi Utama:
-
enqueue: Menambahkan elemen ke belakang antrian -
dequeue: Menghapus elemen dari depan antrian
Contoh (Python menggunakan deque):
from collections import deque
queue = deque()
queue.append(1) # enqueue
queue.append(2)
print(queue.popleft()) # Output: 1 (dequeue)
d. Linked List
Linked list adalah struktur data linier di mana setiap elemen (disebut node) berisi data dan pointer ke elemen berikutnya.
Jenis:
-
Singly Linked List
-
Doubly Linked List
-
Circular Linked List
Contoh konsep:
[DATA | NEXT] -> [DATA | NEXT] -> None
4. Struktur Data Non-Linear
a. Tree (Pohon)
Struktur data hierarkis, terdiri dari node yang terhubung seperti cabang pohon.
Komponen utama:
-
Root: Node paling atas
-
Child: Node turunan
-
Leaf: Node tanpa anak
Jenis:
-
Binary Tree
-
Binary Search Tree (BST)
-
AVL Tree
-
Heap
Contoh sederhana BST:
10
/ \
5 15
b. Graph (Graf)
Graph adalah struktur data yang terdiri dari simpul (node/vertex) dan sisi (edge) yang menghubungkan simpul tersebut.
Jenis:
-
Graph Berarah (Directed)
-
Graph Tak Berarah (Undirected)
-
Graph Berbobot (Weighted)
Representasi umum:
-
Matriks ketetanggaan (adjacency matrix)
-
Daftar ketetanggaan (adjacency list)
5. Kenapa Struktur Data Penting?
-
Efisiensi: Menghemat waktu dan memori
-
Organisasi data: Mempermudah pencarian, pengurutan, dan pengelolaan data
-
Pondasi algoritma: Banyak algoritma bekerja berdasarkan struktur data tertentu
6. Tabel Perbandingan Singkat
| Struktur Data | Prinsip | Operasi Utama | Kegunaan Umum |
|---|---|---|---|
| Stack | LIFO | push, pop | Undo/Redo, backtracking |
| Queue | FIFO | enqueue, dequeue | Antrian proses, pencetakan |
| Linked List | Linier | insert, delete | Alokasi dinamis, implementasi stack/queue |
| Tree | Hierarkis | insert, traversal | Representasi struktur file, pencarian |
| Graph | Relasional | traversal, shortest path | Pemetaan jaringan, rute tercepat |
Kesimpulan
Struktur data merupakan bagian penting dalam pemrograman dan pengembangan perangkat lunak. Memilih struktur data yang tepat akan membantu meningkatkan performa dan efisiensi program. Oleh karena itu, memahami berbagai jenis struktur data adalah langkah awal yang wajib bagi setiap programmer.
0 Komentar