π 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
- Algoritma adalahβ¦
- Modularisasi bertujuan untukβ¦
- Binary search cocok untukβ¦
- Debugging berartiβ¦
- Struktur data digunakan untukβ¦
B. Essay
- Jelaskan manfaat algoritma modular!
- Mengapa efisiensi algoritma penting?
- Jelaskan perbedaan linear search dan binary search!
- Berikan contoh algoritma dalam kehidupan sehari-hari!
βοΈ LATIHAN PRAKTIK BAB 3
π» Proyek Individu
Judul: Program Sederhana Python
Tugas:
- Buat program input nilai
- Hitung rata-rata
- Tentukan kelulusan
- 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.