Tuesday, 25 August 2026

MATERI: STRUKTUR DATA DAN ALGORITMA - INFORMATIKA SMK KELAS X

Rangkuman - Struktur Data & Algoritma

📘 RANGKUMAN BUKU INFORMATIKA

Memahami Konsep Struktur Data dan Algoritma Standar

📖 BAB 1 — PENGANTAR STRUKTUR DATA DAN ALGORITMA

1. Struktur Data

Pengertian: Cara menyimpan dan mengorganisasi data dalam komputer agar dapat digunakan secara efisien.

Tujuan:

  • Mempermudah akses data
  • Menghemat memori
  • Meningkatkan kecepatan pemrosesan

2. Algoritma

Pengertian: Serangkaian instruksi terstruktur dan terbatas untuk menyelesaikan masalah komputasi.

Karakteristik Algoritma Baik:

  • Input → menerima masukan
  • Output → menghasilkan keluaran
  • Definiteness → setiap langkah jelas
  • Finiteness → berakhir setelah langkah tertentu
  • Effectiveness → setiap langkah dapat dilaksanakan

3. Hubungan Algoritma + Struktur Data

ALGORITMA + STRUKTUR DATA = PROGRAM
(Bagaimana) + (Apa yang dikelola) = (Solusi)

4. Pentingnya Efisiensi

Memilih struktur data dan algoritma yang tepat sangat mempengaruhi:

  • Kecepatan eksekusi program
  • Penggunaan memori
  • Skalabilitas sistem
📌 Contoh: Mencari 1.000.000 data
Linear Search → 1.000.000 langkah
Binary Search → hanya 20 langkah! 🚀

📊 BAB 2 — STRUKTUR DATA DASAR

1. Daftar (List)

Karakteristik:

  • Data tersusun linear (berurutan)
  • Setiap elemen memiliki indeks
  • Ukuran dapat berubah (dinamis) atau tetap (statis)

Operasi Dasar:

OperasiFungsi
AddMenambah elemen
RemoveMenghapus elemen
GetMengakses elemen berdasarkan indeks
SearchMencari elemen

Contoh: Daftar belanja, daftar hadir siswa, playlist lagu

2. Tumpukan (Stack)

Prinsip: LIFO (Last In First Out) — Yang terakhir masuk, keluar pertama

⬆️ STACK (LIFO)
1 (pertama)
2
3
4
5 (TOP)
Push → tambah di atas · Pop → ambil dari atas
➡️ QUEUE (FIFO)
KELUAR ←
A (Front)
B
C
D (Rear)
← MASUK
Enqueue → tambah di belakang · Dequeue → ambil dari depan

Operasi Stack:

OperasiFungsi
PushMenambah elemen di puncak
PopMenghapus elemen dari puncak
PeekMelihat elemen puncak (tanpa hapus)

Contoh: Tumpukan piring, tombol Undo (Ctrl+Z), riwayat browser

3. Antrian (Queue)

Prinsip: FIFO (First In First Out) — Yang pertama masuk, keluar pertama

Operasi Queue:

OperasiFungsi
EnqueueMenambah elemen di belakang
DequeueMenghapus elemen dari depan
FrontMelihat elemen depan (tanpa hapus)

Contoh: Antrian kasir, print queue, penjadwalan tugas

4. Pohon (Tree)

Karakteristik: Struktur data hierarkis dengan simpul (node) yang saling terhubung.

// STRUKTUR POHON
        ┌─────────┐
        │ AKAR  │ ← Root (paling atas)
        └────┬────┘
            │
      ┌────┴────┐
      │         │
  ┌──┴──┐  ┌──┴──┐
  │NODE │  │NODE │ ← Node (simpul)
  └──┬──┘  └─────┘
     │
  ┌──┴──┐
  │DAUN │ ← Leaf (tidak punya anak)
  └─────┘

Contoh: Struktur organisasi, silsilah keluarga, daftar isi buku

5. Jejaring (Graph)

Karakteristik: Simpul (node) dihubungkan oleh sisi (edge).

Jenis:

  • Graph Berarah → sisi memiliki arah (contoh: peta satu arah)
  • Graph Tak Berarah → sisi tanpa arah (contoh: pertemanan)
  • Berbobot → sisi memiliki nilai (contoh: jarak antar kota)

Contoh: Peta jalan, jaringan sosial (FB/IG), jaringan komputer


⚙️ BAB 3 — ALGORITMA STANDAR

1. Algoritma Pengurutan (Sorting)

A. Selection Sort

Cara Kerja: Mencari elemen terkecil → tukar ke posisi awal → ulangi.

// Selection Sort - Ilustrasi
Data: [7, 2, 9, 1, 5]

Langkah 1: cari terkecil (1) → [1, 2, 9, 7, 5] ✓
Langkah 2: cari terkecil dari sisa (2) → [1, 2, 9, 7, 5] ✓
Langkah 3: cari terkecil (5) → [1, 2, 5, 7, 9] ✓
Langkah 4: cari terkecil (7) → [1, 2, 5, 7, 9] ✓
Selesai: [1, 2, 5, 7, 9] ✓

B. Insertion Sort

Cara Kerja: Ambil elemen → sisipkan ke posisi tepat di bagian yang sudah terurut.

// Insertion Sort - Ilustrasi
Data: [7, 2, 9, 1, 5]

Langkah 1: [7] → masukkan 2 → [2, 7, 9, 1, 5]
Langkah 2: [2,7] → masukkan 9 → [2, 7, 9, 1, 5]
Langkah 3: [2,7,9] → masukkan 1 → [1, 2, 7, 9, 5]
Langkah 4: [1,2,7,9] → masukkan 5 → [1, 2, 5, 7, 9] ✓

2. Algoritma Pencarian (Searching)

A. Pencarian Linear (Linear Search)

Cara: Periksa satu per satu dari awal sampai ketemu.

  • ✅ Kelebihan: Bisa untuk data tidak terurut
  • ❌ Kekurangan: Lambat untuk data besar

Contoh: Cari 9 di [3,7,2,9,5] → periksa 3,7,2,9 (4 langkah)

B. Pencarian Biner (Binary Search)

Cara: Data terurut → bagi menjadi 2 → tentukan posisi target.

  • ✅ Kelebihan: Sangat cepat
  • ❌ Kekurangan: Data HARUS terurut

Contoh: Cari 9 di [2,5,7,9,12,15,18]

  • Periksa tengah (index 3 = 9) → langsung ketemu! (1 langkah)

Perbandingan Efisiensi:

Jumlah DataLinear SearchBinary Search
1010 langkah4 langkah
1.0001.000 langkah10 langkah
1.000.0001.000.000 langkah20 langkah

3. Rekursi (Recursion)

Pengertian: Fungsi yang memanggil dirinya sendiri.

Komponen:

  • Base Case → kondisi berhenti (yang paling sederhana)
  • Recursive Case → memanggil dirinya sendiri dengan masalah lebih kecil

Contoh: Faktorial (5!)

// Faktorial dengan Rekursi
Faktorial(5) = 5 × 4 × 3 × 2 × 1 = 120

Rumus: Faktorial(n) = n × Faktorial(n-1)
Base Case: Faktorial(0) = 1
// Visualisasi Rekursi
Faktorial(5)
    ↓
5 × Faktorial(4)
    ↓
5 × 4 × Faktorial(3)
    ↓
5 × 4 × 3 × Faktorial(2)
    ↓
5 × 4 × 3 × 2 × Faktorial(1)
    ↓
5 × 4 × 3 × 2 × 1 × Faktorial(0)
    ↓
5 × 4 × 3 × 2 × 1 × 1  ← BASE CASE
    ↓
120 ✓

💻 BAB 4 — IMPLEMENTASI PEMROGRAMAN

1. Variabel dan Tipe Data

Variabel: Tempat menyimpan data yang dapat berubah.

Tipe DataPenjelasanContoh
IntegerBilangan bulat10, -5, 0
FloatBilangan desimal3.14, 0.5
BooleanBenar/SalahTrue, False
StringTeks/kata"Halo", "Nama"

2. Struktur Percabangan (IF-THEN)

Fungsi: Mengatur alur program berdasarkan kondisi.

// Contoh IF-THEN
IF nilai >= 75 THEN
    Tampilkan "Lulus"
ELSE
    Tampilkan "Perlu belajar lagi"

3. Struktur Perulangan (LOOPING)

A. Perulangan FOR

  • Jumlah perulangan sudah diketahui
  • Contoh: Ulangi 5 kali

B. Perulangan WHILE

  • Berulang selama kondisi terpenuhi
  • Contoh: Ulangi selama angka > 0
// Perbedaan FOR dan WHILE
FOR: [1] [2] [3] [4] [5] → STOP (5 kali)

WHILE: [1] [2] [3] [4] [5] → STOP (kondisi false)

🌍 BAB 5 — STUDI KASUS

Penerapan Struktur Data dalam Kehidupan

Struktur DataContoh KehidupanAplikasi Teknologi
ListDaftar belanja, daftar hadirPlaylist lagu, kontak HP
StackTumpukan piring, tumpukan bukuTombol Undo, riwayat browser
QueueAntrian kasir, antrian tiketPrint queue, antrian pesan
TreeStruktur organisasi, silsilahSistem file, HTML DOM
GraphPeta jalan, pertemananGoogle Maps, medsos

Langkah Pemecahan Masalah Algoritmik

1. IDENTIFIKASI MASALAH
    ↓
2. DEKOMPOSISI (Pecah menjadi bagian kecil)
    ↓
3. PENGENALAN POLA (Cari kesamaan/pola)
    ↓
4. ABSTRAKSI (Ambil informasi penting)
    ↓
5. PENYUSUNAN ALGORITMA (Buat langkah solusi)

📊 TABEL PERBANDINGAN CEPAT

Perbandingan Struktur Data

ListStackQueueTreeGraph
PrinsipLinearLIFOFIFOHierarkisJaringan
AksesIndeksPuncakDepan/BelakangCabangSisi
ContohDaftarTumpukanAntrianSilsilahPeta

Perbandingan Algoritma Pencarian

Linear SearchBinary Search
Syarat DataTidak perlu terurutWAJIB terurut
CaraPeriksa satu per satuBagi menjadi 2
KecepatanLambatSangat cepat
Gunakan untukData kecilData besar terurut

Perbandingan Algoritma Pengurutan

Selection SortInsertion Sort
CaraCari terkecil → tukarAmbil → sisipkan tepat
Mudah dipahami✅✅
Efisien untukData kecilData hampir terurut

🧮 RUMUS PENTING

1. Kompleksitas Waktu (Perkiraan Langkah)

AlgoritmaKompleksitasUntuk n=1000
Linear Searchn1.000 langkah
Binary Searchlog₂ n~10 langkah
Selection Sortn²1.000.000 langkah
Insertion Sortn²1.000.000 langkah

2. Rumus Faktorial (Rekursi)

n! = n × (n-1) × (n-2) × ... × 1
0! = 1

🔑 KATA KUNCI YANG HARUS DIINGAT

Kata KunciArti Singkat
Struktur DataCara menyimpan data
AlgoritmaLangkah menyelesaikan masalah
LIFOTerakhir masuk, keluar pertama (Stack)
FIFOPertama masuk, keluar pertama (Queue)
RekursiFungsi memanggil dirinya sendiri
Binary SearchPencarian dengan membagi dua
Selection SortCari terkecil → tukar
Insertion SortAmbil → sisipkan tepat
💡 Pesan Penting:
"Algoritma + Struktur Data = Program" — Niklaus Wirth
💡 Kunci Sukses: Pilih struktur data dan algoritma yang TEPAT untuk masalah yang dihadapi agar program berjalan EFISIEN!
📌 Tips Belajar:
  1. Pahami konsep dengan contoh sehari-hari
  2. Latihan menggambar ilustrasi struktur data
  3. Coba implementasikan di Scratch/Blockly
  4. Latihan soal pengurutan dan pencarian manual
  5. Diskusikan dengan teman tentang penerapan di kehidupan nyata

✨ Semoga rangkuman ini membantu pemahaman Anda! 🚀

No comments:

Post a Comment

Selamat datang di blog handrizakk.blogspot.com, Mari berbagi dengan tulisan. Sahabat bisa temukan saya di f: Handri Zakki Pratama | t: @handrizakk

LKPD FLOWCHART DAN PSEUDOCODE

LKPD - Flowchart & Pseudocode 🖨️ Cetak / Simpan PDF LKPD — Algoritma, Flowchart & Pseudocode dalam Masalah Kont...