🎯 Tujuan Pembelajaran
Setelah menyelesaikan modul ini, kamu diharapkan dapat:
- Menjelaskan definisi algoritma sebagai inti dari berpikir komputasional.
- Mengidentifikasi karakteristik algoritma yang baik (jelas, runut, terbatas).
- Memberikan contoh penerapan algoritma dalam kehidupan sehari-hari dan dalam teknologi AI.
- Merepresentasikan algoritma sederhana menggunakan bahasa natural (kalimat), flowchart (diagram alir), dan pseudocode (kode semu).
- Menganalisis sebuah algoritma untuk menemukan kesalahan (debugging) atau memprediksi outputnya.
- Membuat algoritma sederhana untuk menyelesaikan suatu masalah.
- Mengevaluasi dua algoritma berbeda untuk masalah yang sama dan menentukan mana yang lebih efisien.
📚 Materi: Pilar Algoritma
Ini adalah gambaran besar materi kita:
- Berpikir Komputasional (Pusat)
- → Terbagi 4 Pilar (Dekomposisi, Pengenalan Pola, Abstraksi, Algoritma)
- → Algoritma (Fokus Kita)
- Definisi: Urutan langkah logis
- Karakteristik: Jelas, Urut, Terbatas (Finite)
- Representasi:
- Bahasa Natural (Resep)
- Flowchart (Diagram Alir)
- Pseudocode (Kode Semu)
- Penerapan:
- Kehidupan Sehari-hari (Memasak, Merakit)
- Koding (Game)
- Kecerdasan Artifisial (AI) (Rekomendasi YouTube, GPS)
Pernahkah kamu membuat mi instan? Atau merakit mainan seperti LEGO?
Saat kamu mengikuti langkah-langkah yang ada di bungkus mi instan (1. Rebus air, 2. Masukkan mi, 3. Siapkan bumbu, 4. Tiriskan mi, 5. Aduk), kamu sebenarnya sedang menjalankan sebuah ALGORITMA!
Algoritma ada di mana-mana, bukan cuma di komputer. Itu adalah inti dari cara kita menyelesaikan masalah secara terstruktur.
1. Apa itu Algoritma?
Algoritma adalah urutan langkah-langkah yang logis, jelas, dan terbatas untuk menyelesaikan suatu masalah atau mencapai suatu tujuan.
Analogi Terbaik: Resep Masakan.
- Input: Bahan-bahan (tepung, telur, gula).
- Proses (Algoritma): Langkah-langkah (kocok telur, campur tepung, panggang).
- Output: Hasil (Kue yang lezat).
2. Karakteristik Algoritma yang Baik
Agar bisa diikuti (oleh manusia atau komputer), algoritma harus:
- Urut (Sequence): Langkah-langkah harus dilakukan secara runut. Kamu tidak bisa memanggang kue sebelum adonannya dibuat.
- Jelas (Unambiguous): Tidak boleh ada makna ganda. Perintah "tambahkan garam secukupnya" itu ambigu bagi robot. Perintah "tambahkan 5 gram garam" itu jelas.
- Terbatas (Finite): Algoritma harus berhenti setelah sejumlah langkah selesai. Jika tidak, itu disebut *infinite loop* (perulangan tak terbatas) dan itu adalah kesalahan.
3. Cara Merepresentasikan Algoritma
Ada tiga cara umum untuk menuliskan algoritma:
Contoh: Algoritma Menentukan Bilangan Ganjil/Genap
- Siapkan satu bilangan.
- Bagi bilangan tersebut dengan 2.
- Lihat sisa baginya.
- JIKA sisa baginya adalah 0, MAKA bilangan itu Genap.
- SELAIN ITU, bilangan itu Ganjil.
- Selesai.
Simbol Dasar:
- Oval (Terminator): Untuk Mulai atau Selesai.
- Persegi Panjang (Process): Untuk langkah/proses (misal: "Hitung luas = P x L").
- Jajar Genjang (Input/Output): Untuk memasukkan data atau menampilkan hasil.
- Belah Ketupat (Decision): Untuk kondisi "JIKA" (Ya/Tidak).
- Panah (Flow): Menunjukkan alur.
(Mulai) → [Input Bilangan] → (Sisa = Bilangan % 2) →
... (panah dari
Contoh: Algoritma Ganjil/Genap
MULAI
BACA (bilangan)
sisa_bagi = bilangan MOD 2
JIKA sisa_bagi == 0 MAKA
TULIS "Genap"
LAINNYA
TULIS "Ganjil"
AKHIRI_JIKA
SELESAI
1. Dalam Kehidupan Sehari-hari
- Resep Masakan: Algoritma paling klasik.
- Rute GPS (Google Maps): GPS menjalankan algoritma kompleks (seperti *Algoritma Dijkstra*) untuk mencari rute terpendek atau tercepat dari jutaan kemungkinan jalan.
- Rutinitas Pagi: Bangun tidur, sikat gigi, mandi, sarapan. Itu adalah algoritma rutinitas pagimu.
- Merakit Furnitur: Buku panduan perakitan adalah algoritma.
2. Dalam Koding dan Kecerdasan Artifisial (AI)
Algoritma adalah nyawa dari Koding dan AI. Tanpa algoritma, AI tidak bisa "berpikir".
- Rekomendasi YouTube/TikTok: AI menggunakan algoritma untuk mempelajari video apa yang kamu tonton (Input), menganalisis polanya, dan memutuskan video apa yang akan ditampilkan di berandamu (Output).
- Game: Algoritma menentukan bagaimana musuh (NPC) bergerak, bagaimana karaktermu melompat, dan bagaimana skor dihitung.
- Chatbot (seperti Google Assistant/Siri): AI menggunakan algoritma *Natural Language Processing* (NLP) untuk memahami ucapanmu (Input) dan memilih jawaban yang paling relevan (Output).
- Filter Spam Email: AI menggunakan algoritma untuk menganalisis email baru (Input) dan memutuskan apakah itu spam atau bukan (Output).