💡 1. Pengantar: Apa Itu Algoritma dan Flowchart?
🧠 Algoritma
Algoritma adalah langkah-langkah logis dan terurut untuk menyelesaikan suatu masalah.
Seperti resep masakan, algoritma memberi petunjuk dari awal sampai hasil akhir.
Contoh sederhana:
Algoritma membuat teh:
Panaskan air.
Masukkan teh ke dalam gelas.
Tuangkan air panas.
Tambahkan gula.
Aduk dan sajikan.
🔶 Flowchart
Flowchart adalah gambar atau bagan yang menunjukkan alur langkah-langkah dalam algoritma menggunakan simbol-simbol tertentu.
| Simbol | Nama | Fungsi | Contoh |
|---|---|---|---|
| ⭘ | Terminator | Menandai Start dan End | Mulai, Selesai |
| ⬜ | Proses | Langkah perhitungan atau tindakan | Hitung total |
| ⧍ | Input/Output | Menerima atau menampilkan data | Masukkan nilai, Tampilkan hasil |
| ⬣ | Decision | Percabangan / kondisi pilihan | Jika nilai ≥ 70? |
| ⬇️ | Arah Panah | Menunjukkan urutan langkah | Menunjukkan arah alur |
Data tersebut bisa berupa angka, teks, atau tabel, seperti data nilai siswa, data jadwal, data keuangan, dan data absensi.
Oleh karena itu, algoritma yang baik harus mampu mengolah data secara efisien dan terstruktur.
⚙️ 2. Menulis Algoritma yang Efisien
a. Pengertian
Algoritma efisien adalah algoritma yang:
-
Langkahnya ringkas dan logis.
-
Mudah dipahami orang lain.
-
Menghemat waktu dan sumber daya (tidak berulang-ulang tanpa perlu).
b. Prinsip Algoritma Efisien
-
Gunakan urutan logis dan jelas.
-
Hindari pengulangan yang tidak perlu.
-
Gunakan percabangan atau perulangan bila diperlukan.
-
Uji algoritma dengan data nyata.
c. Contoh Perbandingan
| Jenis | Contoh Algoritma | Keterangan |
|---|---|---|
| Tidak efisien | Hitung rata-rata nilai dengan menjumlahkan satu per satu secara manual. | Banyak langkah. |
| Efisien | Gunakan rumus Rata-rata = Jumlah nilai / Banyak data. |
Lebih cepat dan singkat. |
Apa Itu Struktur Data?
Struktur data adalah cara menyimpan dan mengelola data agar mudah diproses oleh algoritma.
Contoh Struktur Data Sederhana:
-
Variabel → menyimpan satu data (nilai ujian)
-
List/Daftar → menyimpan banyak data (nilai satu kelas)
-
Tabel → data terstruktur (NIS, nama, nilai)
🧩 3. Membuat Flowchart dari Algoritma
Contoh Kasus: Menghitung Rata-Rata Nilai
Algoritma:
-
Mulai
-
Masukkan tiga nilai siswa (N1, N2, N3)
-
Hitung rata-rata = (N1 + N2 + N3) / 3
-
Tampilkan hasil
-
Selesai
Flowchart:
Sebelum menulis kode program, algoritma dapat dituliskan dalam bentuk pseudocode, yaitu kode semu yang mudah dibaca manusia.
Contoh Pseudocode:
INPUT N1, N2, N3
rata = (N1 + N2 + N3) / 3
OUTPUT rata
📌 Pseudocode menjadi jembatan antara flowchart dan bahasa pemrograman.
🧮 4. Latihan Kasus Nyata: Merancang Algoritma dan Flowchart
A. Kasus 1: Menyusun Jadwal Kegiatan Harian
Masalah: Siswa ingin membuat jadwal belajar yang efisien.
Langkah:
-
Tentukan waktu belajar dan istirahat.
-
Urutkan kegiatan berdasarkan prioritas.
-
Buat tabel jadwal harian.
🧠 Flowchart bisa menunjukkan proses penentuan waktu dan pengecekan jadwal bentrok.
Kaitan dengan Struktur Logika (IF, FOR, WHILE)
Tambahkan SETELAH semua contoh kasus
-
IF → menentukan keputusan (lulus / tidak lulus)
-
FOR → mengolah data berulang (nilai satu kelas)
-
WHILE → perulangan berdasarkan kondisi tertentu
📌 Struktur logika ini digunakan agar algoritma efisien untuk data yang banyak.
B. Kasus 2: Menghitung Total Pengeluaran Harian
Masalah: Ingin mengetahui total uang yang digunakan dalam sehari.
Algoritma:
-
Masukkan data pengeluaran: jajan, transport, fotokopi.
-
Jumlahkan semua pengeluaran.
-
Tampilkan hasil total.
Flowchart:
C. Kasus 3: Pemrosesan Data Nilai Siswa
Masalah: Guru ingin menentukan apakah siswa lulus berdasarkan nilai rata-rata.
Algoritma:
-
Masukkan nilai siswa.
-
Hitung rata-rata.
-
Jika rata-rata ≥ 70, tampilkan “Lulus”.
-
Jika tidak, tampilkan “Tidak Lulus”.
-
Selesai.
Flowchart:
🧠 5. Evaluasi: Uji Solusi dan Perbaikan
Setelah membuat algoritma dan flowchart:
-
Uji coba (testing) dengan data nyata.
-
Apakah hasilnya sesuai harapan?
-
Apakah ada langkah yang salah urut?
-
-
Identifikasi kesalahan (debugging).
-
Misalnya, hasil perhitungan tidak sesuai karena salah operator.
-
-
Perbaiki dan perbarui (refinement).
-
Buat algoritma lebih singkat dan jelas.
-
-
Bandingkan efisiensi.
-
Apakah langkah lebih cepat dari versi sebelumnya?
-
📌 Tujuan evaluasi: membuat algoritma lebih efisien, lebih mudah dipahami, dan lebih cepat dijalankan.
Testing, Debugging, dan Optimasi
Tambahkan DI AKHIR subbab evaluasi
Evaluasi algoritma juga meliputi:
-
Testing → menguji dengan data nyata
-
Debugging → mencari dan memperbaiki kesalahan logika
-
Refinement → menyederhanakan langkah agar lebih efisien
📌 Tujuannya agar algoritma semakin optimal.
Peran AI (Blackbox) Secara Terbimbing
Tambahkan SETELAH evaluasi
AI dapat digunakan untuk membantu membuat contoh algoritma atau pseudocode.
Namun, siswa tetap harus memahami, menganalisis, dan memperbaiki hasil dari AI tersebut.
📌 AI berperan sebagai asisten belajar, bukan pengganti berpikir.
💬 6. Refleksi Pembelajaran
Pertanyaan Diskusi:
-
Apa perbedaan utama antara algoritma dan flowchart?
-
Mengapa efisiensi penting dalam menyusun algoritma?
-
Bagaimana cara kamu memperbaiki flowchart yang hasilnya salah?
-
Apakah kamu bisa menggunakan algoritma untuk mengatur jadwal hidupmu sehari-hari?
-
Bagaimana struktur data memengaruhi efisiensi algoritma?
-
Mengapa algoritma efisien penting untuk data besar?
-
Apa batasan penggunaan AI dalam menyelesaikan masalah?
📚 Referensi
-
Kemdikbudristek. (2024). Modul Informatika SMP Fase D: Algoritma dan Pemrograman.
-
Dicoding Indonesia. (2023). Pengenalan Algoritma dan Flowchart untuk Pemula.
-
Bebras Indonesia. (2024). Computational Thinking Challenges for Students.
-
Google for Education. (2024). Problem Solving and Logical Thinking Skills.

Leave a Reply