πŸ“˜ BAB 3 β€” Algoritma & Pemrograman Tingkat Lanjut

Mengembangkan Logika, Struktur Program, dan Solusi Digital Nyata

Di kelas XII, algoritma dan pemrograman tidak hanya tentang menulis kode, tetapi juga merancang solusi sistematis, membuat program efisien, dan menyelesaikan masalah nyata dengan teknologi.

Bab ini melatih siswa menjadi problem solver digital.


🧠 Subbab 1 β€” Pengertian Algoritma Lanjutan

Algoritma adalah urutan langkah logis dan sistematis untuk menyelesaikan masalah.

Algoritma lanjutan menekankan pada:
βœ” Efisiensi langkah
βœ” Optimasi waktu & memori
βœ” Struktur logika kompleks
βœ” Pemecahan masalah besar


🧩 Subbab 2 β€” Struktur Dasar Algoritma (Review Singkat)

1️⃣ Sekuensial

Langkah berurutan

2️⃣ Percabangan (If–Else)

Pengambilan keputusan

3️⃣ Perulangan (Looping)

Mengulang langkah tertentu


πŸ“Œ Contoh Pseudocode:

Jika nilai >= 75
   Tampilkan "Lulus"
Jika tidak
   Tampilkan "Remedial"

🧠 Subbab 3 β€” Algoritma Kompleks & Modular

πŸ“Œ Modularisasi

Membagi program menjadi bagian kecil (modul/fungsi) agar:
βœ” Mudah dibaca
βœ” Mudah diperbaiki
βœ” Mudah dikembangkan


πŸ“Œ Contoh Konsep:

Program dibagi menjadi:

  • Modul input
  • Modul proses
  • Modul output

πŸ’» Subbab 4 β€” Struktur Data Dasar

Struktur data digunakan untuk menyimpan dan mengatur data.

Jenis Struktur Data:

  • Array (larik)
  • List
  • Stack (tumpukan)
  • Queue (antrian)
  • Dictionary / Map

πŸ“Œ Contoh Array:

nilai = [80, 85, 90, 95]

πŸ”„ Subbab 5 β€” Algoritma Pencarian (Searching)

1️⃣ Linear Search

Mencari satu per satu

2️⃣ Binary Search

Mencari dengan membagi data menjadi dua


πŸ“Œ Contoh Konsep:

Mencari nama siswa dalam daftar kelas


πŸ“Š Subbab 6 β€” Algoritma Pengurutan (Sorting)

Jenis Sorting:

  • Bubble Sort
  • Selection Sort
  • Insertion Sort

πŸ“Œ Contoh Proses:

Mengurutkan nilai siswa dari terbesar ke terkecil


πŸ€– Subbab 7 β€” Pemrograman Terstruktur

Pemrograman terstruktur menggunakan:
βœ” Fungsi
βœ” Prosedur
βœ” Modularisasi
βœ” Logika rapi


πŸ“Œ Contoh Fungsi (Python):

def hitung_rata(nilai):
    return sum(nilai) / len(nilai)

🧠 Subbab 8 β€” Debugging & Error Handling

Debugging

Mencari dan memperbaiki kesalahan program

Jenis Error:

  • Syntax Error
  • Logical Error
  • Runtime Error

πŸ“Œ Contoh:

Program salah menghitung nilai rata-rata β†’ error logika


⚑ Subbab 9 β€” Efisiensi Algoritma (Kompleksitas)

Algoritma baik memiliki:
βœ” Waktu cepat
βœ” Langkah minimal
βœ” Memori hemat

Contoh:

Binary Search lebih cepat daripada Linear Search untuk data besar


🌐 Subbab 10 β€” Studi Kasus: Program Sistem Nilai Sekolah

🎯 Tujuan Program:

  • Input nilai siswa
  • Hitung rata-rata
  • Tentukan lulus/tidak
  • Tampilkan laporan

πŸ“Œ Contoh Program Python:

nilai = []

for i in range(5):
    n = int(input("Masukkan nilai: "))
    nilai.append(n)

rata = sum(nilai) / len(nilai)

if rata >= 75:
    print("Lulus")
else:
    print("Remedial")

🧠 Subbab 11 β€” Algoritma dalam Kehidupan Nyata

Contoh algoritma sehari-hari:
βœ” Resep memasak
βœ” Prosedur pendaftaran
βœ” Langkah login akun
βœ” Sistem antrean


πŸ§ͺ Subbab 12 β€” Mini Proyek Pemrograman

🎯 Judul:

Membuat Program Manajemen Nilai Siswa

Fitur:

  • Input data siswa
  • Simpan nilai
  • Hitung rata-rata
  • Menentukan kelulusan
  • Menampilkan laporan

πŸ“ CONTOH SOAL BAB 3 KELAS XII

A. Pilihan Ganda

  1. Algoritma adalah…
  2. Modularisasi bertujuan untuk…
  3. Binary search cocok untuk…
  4. Debugging berarti…
  5. Struktur data digunakan untuk…

B. Essay

  1. Jelaskan manfaat algoritma modular!
  2. Mengapa efisiensi algoritma penting?
  3. Jelaskan perbedaan linear search dan binary search!
  4. Berikan contoh algoritma dalam kehidupan sehari-hari!

✍️ LATIHAN PRAKTIK BAB 3

πŸ’» Proyek Individu

Judul: Program Sederhana Python

Tugas:

  1. Buat program input nilai
  2. Hitung rata-rata
  3. Tentukan kelulusan
  4. Tambahkan fitur cetak laporan

🎯 KESIMPULAN BAB 3

Bab ini melatih siswa untuk berpikir logis, sistematis, dan efisien dalam pemrograman, sekaligus mempersiapkan mereka untuk pengembangan software, AI, dan solusi digital profesional.