Struktur Data(stack, queue, linked list, tree)


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.



Posting Komentar

0 Komentar