Struktur Data


Mata Kuliah Struktur Data PTI FIP UNUHA

Konsep Dasar Struktur Data

Struktur data adalah cara penyimpanan dan pengorganisasian data agar dapat digunakan secara efisien. Berikut adalah ringkasan dari masing-masing modul struktur data yang disebutkan:

1. Array

  • Struktur data yang menyimpan elemen dalam satu blok memori yang berurutan.
  • Akses elemen menggunakan indeks (O(1) waktu akses).
  • Kekurangan: ukuran tetap, sulit untuk menyisipkan/menghapus elemen di tengah.

2. Linked List

  • Kumpulan node yang berisi data dan pointer ke node berikutnya.
  • Ada beberapa jenis: Singly Linked List, Doubly Linked List, dan Circular Linked List.
  • Keuntungan: ukuran dinamis, mudah menambah/menghapus elemen.
  • Kekurangan: akses acak tidak efisien (O(n) untuk mencari elemen).

3. Stack

  • Struktur data berbasis LIFO (Last In, First Out).
  • Operasi utama:
    • Push (menambah elemen ke atas stack).
    • Pop (menghapus elemen dari atas stack).
    • Peek (melihat elemen paling atas tanpa menghapusnya).
  • Implementasi: menggunakan array atau linked list.
  • Contoh penggunaan: fungsi rekursi, undo-redo, browser history.

4. Queue

  • Struktur data berbasis FIFO (First In, First Out).
  • Operasi utama:
    • Enqueue (menambah elemen di belakang antrian).
    • Dequeue (menghapus elemen dari depan antrian).
  • Variasi: Circular Queue, Priority Queue, Deque (Double-ended Queue).
  • Contoh penggunaan: sistem antrian, penjadwalan proses, streaming data.

5. Tree

  • Struktur data hierarkis yang terdiri dari node (simpul) dengan hubungan parent-child.
  • Jenis populer:
    • Binary Tree: Setiap node memiliki maksimal 2 anak.
    • Binary Search Tree (BST): Struktur yang memungkinkan pencarian cepat.
    • AVL Tree, Red-Black Tree: Pohon biner seimbang untuk efisiensi pencarian.
  • Contoh penggunaan: struktur file, database indexing, AI decision tree.

6. Graph

  • Kumpulan node (vertex) yang dihubungkan oleh edge (sisi).
  • Jenis Graph: Directed Graph, Undirected Graph, Weighted Graph.
  • Representasi: Adjacency Matrix, Adjacency List.
  • Algoritma penting:
    • BFS (Breadth-First Search), DFS (Depth-First Search)
    • Dijkstra (pencarian jalur terpendek)
  • Contoh penggunaan: jejaring sosial, rute navigasi, jaringan komputer.

7. Hash Table

  • Struktur data yang menggunakan fungsi hash untuk menyimpan data dalam bentuk pasangan key-value.
  • Operasi utama: insert, delete, search dalam waktu hampir O(1).
  • Teknik menangani tabrakan (collision): Chaining, Open Addressing.
  • Contoh penggunaan: database indexing, cache, dictionary pada bahasa pemrograman.

Komentar