Format Dokumen Pengajaran & Panduan Siswa
BINUS University @ Bekasi SMAS St. John Pertemuan 2 dari 17

MODUL 02 — Algorithm & Flowchart

Ekstrakurikuler CSSE: Computer Science & Software Engineering (Python)

Jenjang Peserta Siswa SMA (Kelas 10–12)
Alokasi Waktu 100 Menit
Fokus Materi algoritma, 5 ciri, pseudocode, 5 simbol flowchart
Target Selesai Flowchart "angka genap atau ganjil" selesai digambar, dibaca ulang, dan dipresentasikan
Tools Kertas/papan untuk flowchart + komputer
Prioritas sesi: Wajib: mendefinisikan algoritma sebagai langkah-langkah logis (5 ciri), menyusun pseudocode sederhana, dan membuat flowchart dengan simbol dasar. Praktik penilaian: flowchart untuk menentukan apakah suatu angka genap atau ganjil.
Materi pengayaan (opsional jika waktu cukup)

Pengayaan: flowchart "cek umur masuk bioskop (umur >= 17?)" sebagai PR iseng opsional, dan latihan membaca alur orang lain — siswa saling menukar kertas dan "mengeksekusi" flowchart temannya langkah demi langkah.

1. Tujuan Pembelajaran

  1. Mendefinisikan algoritma sebagai langkah-langkah logis dan menyebut kelima cirinya (input, proses, output, jelas, berhenti).
  2. Mengulang materi Sesi 01: membedakan hardware vs software dan menjelaskan kenapa urutan instruksi penting.
  3. Menyusun pseudocode 5 langkah yang urut, jelas, dan berhenti untuk kasus sehari-hari.
  4. Membaca flowchart orang lain dan menceritakan alurnya dengan kata-kata sendiri.
  5. Membuat flowchart lengkap dengan 5 simbol baku: terminator, proses, input/output, keputusan, dan panah alir.
  6. Merancang cabang keputusan yang benar: belah ketupat selalu dua cabang keluar, semua jalur berakhir di Selesai.
  7. Menyadari pentingnya alur yang bisa DIBACA orang lain — bukan cuma benar, tapi juga rapi dan jelas.
  8. Menuntaskan flowchart "menentukan apakah suatu angka genap atau ganjil" di kertas.

2. Peta Jalan 17 Pertemuan

Hari ini siswa menempuh barisan ke-2 dari 17 — 12% perjalanan:

[ 01-02 ] Fondasi: konsep program, algoritma, flowchart <-- HARI INI (100 Menit) [ 03-05 ] Mulai coding: print, variabel, input/output [ 06-07 ] Operator & percabangan if/elif/else [ 08 ] Mini Project 1: Decision Making [ 09 ] Looping / Perulangan [ 10 ] Nested Loop & Pattern Programming [ 11-13 ] List, Functions, String [ 14 ] Mini Project 2: Simple App [ 15 ] AI-Assisted Coding [ 16-17 ] Final Project: Development & Presentation

3. Rundown Waktu Terperinci (100 Menit)

WaktuBlokAktivitas
10'PembukaCover, tujuan sesi, rekap Sesi 01 (tanya balik: 5 ciri algoritma? hardware vs software?), kontrak singkat
15'Materi 1Recap program = instruksi berurut; bedah hardware vs software; level bahasa mesin → manusia; kenapa Python untuk pemula
20'Materi 2Algoritma = resep yang logis; 5 ciri algoritma baik + uji cepat; pseudocode "nasi goreng" dibedah bersama
20'Materi 35 simbol flowchart baku (terminator, proses, input/output, keputusan, panah); cara baca cepat; demo flowchart keputusan
25'PraktikPraktik penilaian: flowchart "angka genap atau ganjil" di kertas; bonus: "cek umur bioskop"; presentasi & saling baca alur
10'PenutupRangkuman "apa yang kita kuasai", preview Sesi 03 (kertas → kode beneran), PR iseng opsional

4. Pedagogi & Penjelasan Konsep

A. Algoritma = Resep yang Lulus Uji 5 Ciri

Minggu lalu siswa kenal istilahnya; hari ini mereka wajib memegang standarnya. Algoritma = deret langkah yang jelas dan berurut untuk menyelesaikan masalah, dan layak disebut bagus kalau lulus 5 ciri: punya input, ada proses, menghasilkan output, setiap langkah jelas (tidak bikin bingung), dan berhenti. Analogi ujinya: resep koki di YouTube — kalau langkahnya "beri bumbu secukupnya" tanpa takaran, itu bukan algoritma, itu tebak-tebakan. Komputer nggak bisa menebak.

Latihan urutan diulang dari Sesi 01 tapi naik level: biarkan siswa SENDIRI yang menemukan langkah yang salah urut di pseudocode temannya. Menemukan bug di kertas = melatih mata debuger sebelum mereka punya kode untuk di-debug.

B. Pseudocode = Draf Kasar Sebelum Kode Resmi

Pseudocode itu draf kasar tulisan tangan sebelum naskah final. Penulis novel bikin outline dulu, arsitek bikin sketsa dulu — programmer bikin pseudocode dulu. Aturannya longgar: pakai bahasa manusia yang terstruktur (Mulai, Baca, JIKA ... MAKA ..., Tampilkan, Selesai). Yang penting bukan gaya, tapi: urut, jelas, dan berhenti. Siswa boleh pakai English boleh Indonesia — yang dinilai logikanya.

C. 5 Simbol Flowchart — Satu Bahasa Gambar untuk Semua Orang

Minggu lalu 4 simbol; hari ini lengkap jadi 5 dengan panah alir (arah urutan — seperti rambu jalan satu arah). Standar itu penting karena satu alasan: flowchart ditulis supaya dibaca orang lain. Kalau tiap orang bikin simbol versi sendiri, petanya tidak bisa dibaca siapa pun. Analoginya: simbol rambu lalu lintas — semua pengemudi di seluruh dunia paham tanda stop, karena bentuknya disepakati. Begitu juga flowchart: bentuk = arti, disepakati semua programmer.

Cara baca cepat yang bisa dibagikan ke siswa: ikuti panah dari Mulai; di persegi lakukan sesuatu; di jajar genjang data masuk atau keluar; di belah ketupat bertanya dan pilih jalur Ya/Tidak; sampai di oval berarti tugas selesai.

D. Error di Kertas = Alarm Paling Murah

Jebakan terbesar Sesi 02 bukan konsep, tapi sikap: "ah, nggak usah gambar, langsung ngoding aja". Tonjokan baliknya sederhana: perbaiki alur yang salah di kertas = hapus pensil; perbaiki alur yang salah di dalam kode minggu-minggu depan = cari satu baris di antara ratusan baris. Flowchart adalah peta; tersesat di peta jauh lebih murah daripada tersesat di jalan.

Catatan pengajar: sesi ini masih dominan kertas/papan, komputer hanya untuk demo kecil di akhir bila sempat (dari kurikulum resmi). Kuatkan kebiasaan berpikir alur dulu. Saat presentasi flowchart siswa, jangan katakan "salah" — tanya balik ke kelas: "kalau kalian eksekusi peta ini, di langkah mana kalian macet?" Alarm yang berbunyi dari teman, bukan dari guru, tidak melukai rasa percaya diri.

5. Panduan Praktik Langkah demi Langkah

Langkah 1: Pembukaan dan Rekap Sesi 01 (10 menit)

Buka dengan kuis lisan cepat dari materi minggu lalu: (1) "program itu apa, pakai kalimat kalian sendiri?" (2) "HP-mu: WhatsApp termasuk apa, kameranya termasuk apa?" (3) "sebutkan 3 dari 5 ciri algoritma!" Jawaban ditangkap lisan, koreksi ringan, lalu framing hari ini: "minggu lalu kalian kenal peta — hari ini kalian belajar MENGGAMBAR peta yang bisa dibaca siapa pun."

Langkah 2: Algoritma dan 5 Cirinya — Uji Resep Nyata (20 menit)

Tulis pseudocode "nasi goreng" di papan, lalu uji TIGA versi: versi benar, versi langkahnya bolak-balik urutannya, dan versi yang ada langkahnya ambigu ("beri bumbu secukupnya"). Minta kelas menghakimi tiap versi pakai 5 ciri:

# Versi yang DIUJI ke papan (pseudocode nasi goreng):
1. Mulai
2. Siapkan bahan: nasi, bawang, telur, kecap
3. Panaskan wajan, tumis bawang
4. Masukkan nasi dan telur, aduk
5. Tambahkan kecap, aduk sampai rata
6. Sajikan di piring
7. Selesai

# Uji kelas: mana input? mana proses? mana output?
# Kenapa langkah "beri bumbu secukupnya" GAGAL uji ciri "jelas"?

Tutup blok ini dengan poin kunci: algoritma yang baik itu paten — siapa pun yang mengeksekusinya, hasilnya sama.

Langkah 3: Pseudocode Diri Sendiri (15 menit)

Siswa tulis pseudocode kasus pilihan sendiri di kertas (naik tangga, beli jajan di kantin, upload story, siap-siap sekolah). Syarat minimal: 5 langkah, diawali Mulai, diakhiri Selesai, dan lolos 5 ciri. Tukar kertas dengan teman sebangku: teman membaca dan menandai langkah yang menurutnya ambigu. Ini latihan "kode dibaca orang lain" pertama — tanpa komputer sama sekali.

Langkah 4: 5 Simbol Flowchart + Demo Keputusan (20 menit)

Gambar kelima simbol di papan dengan artinya: oval = Mulai/Selesai (terminator), persegi = proses, jajar genjang = input/output, belah ketupat = keputusan (Ya/Tidak), panah = arah alur. Lalu bangun contoh keputusan bersama — slide deck memakai kasus "Bawa payung?":

Flowchart "Bawa payung?":
  ( Mulai )
      |
  < Lihat langit: hujan? >      -- belah ketupat
     /      \
  Ya         Tidak
   |           |
 [ Bawa payung ] [ Simpan payung ]  -- proses
   |           |
   ( Selesai ) <- keduanya harus SAMPAI sini

Tegaskan dua hukum flowchart: (1) belah ketupat WAJIB dua cabang keluar; (2) tidak ada garis yang menggantung — semua berakhir di Selesai. Uji cepat: siswa membaca ulang flowchart ini dengan suara: "Mulai, lalu tanya..., kalau Ya..., kalau Tidak..., Selesai."

Langkah 5: Praktik Penilaian — Angka Genap/Ganjil (25 menit)

Praktik penilaian dari kurikulum. Siswa gambar flowchart "menentukan apakah suatu angka genap atau ganjil" di kertas, individu:

Flowchart "Genap atau ganjil?" (kerangka yang diharapkan):
  ( Mulai )
      |
  / Baca angka /            -- input (jajar genjang)
      |
  < angka habis dibagi 2? > -- keputusan
     /      \
  Ya         Tidak
   |           |
 / Cetak "genap" / / Cetak "ganjil" /   -- output
   |           |
   ( Selesai )

Kriteria lulus yang dicek guru saat keliling: lengkap 5 simbol; input ada; keputusan dua cabang; kedua cabang punya output; semua jalur sampai Selesai. Yang cepat selesai: bonus "cek umur masuk bioskop (umur >= 17?)" — lebih sulit karena kedua cabangnya sama-sama mencetak kalimat beda. Tutup blok dengan presentasi 2–3 siswa + sesi "eksekusi flowchart teman".

Langkah 6: Rangkuman dan Preview Sesi 03 (10 menit)

Rangkum "apa yang kita kuasai": algoritma + 5 ciri, pseudocode, 5 simbol flowchart, kebiasaan berpikir alur dulu. Lalu teaser besar: "dua minggu kalian bekerja di kertas. Pertemuan depan, kertas itu MULAI JADI KODE BENERAN." Umumkan PR iseng opsional (flowchart umur bioskop / pseudocode 5 langkah di buku kalau nggak ada penggaris) dan minta foto flowchart terbaik dikirim ke grup.

6. Master Solution Code (kode.py — Sesi 02)

Sesi ini masih kertas, tapi kode.py menunjukkan ke mana flowchart mereka akan menuang: algoritma bernomor yang bisa dijalankan komputer. Bentuk utuhnya:

"""Sesi 02 - Master Solution: algoritma "sapaan" sebagai langkah bernomor.

Algoritma (pseudocode, dari kertas):
1. Mulai
2. Siapkan data: nama teman
3. Proses: susun kalimat sapaan
4. Tampilkan pesan ke layar
5. Selesai
"""

# Langkah 1-2: alur program selalu bergerak dari Mulai,
# dan data yang dibutuhkan disiapkan lebih dulu.
print("1. Mulai")
print("2. Baca bahan")

# Langkah 3: proses - merangkai pesan dari data
nama = "Budi"
pesan = "Halo " + nama
print("3. Proses")

# Langkah 4: output - tampilkan hasil ke layar
print("4. Tampilkan hasil:", pesan)

# Langkah 5: program berhenti dengan sendirinya = ciri kelima (berhenti)
print("5. Selesai")

# Output harapan:
# 1. Mulai
# 2. Baca bahan
# 3. Proses
# 4. Tampilkan hasil: Halo Budi
# 5. Selesai

Saat membedah kode ini (di akhir sesi atau pembuka Sesi 03), minta siswa memetakan: baris mana input/proses/output? Mana bukti ciri "berhenti"? Jawabannya: nama = "Budi" menyiapkan data, pesan = "Halo " + nama proses, print output, dan program selesai sendiri karena tidak ada yang mengulang — persis 5 ciri di kertas.

7. Troubleshooting Guide (Pegangan Guru)

Masalah Penyebab Tindakan Perbaikan
Flowchart "genap/ganjil" cuma satu cabang Siswa hanya memikirkan kasus yang ia pilih (misal cuma genap), lupa ganjil. Tanya: "kalau angkanya 7, peta ini bawa kamu ke mana?" Belah ketupat wajib dua cabang, keduanya diwarnai sampai Selesai.
Simbol tercampur: proses pakai jajar genjang, dsb. Simbol dianggap hiasan, bukan bagian makna. Kembalikan ke analogi rambu lalu lintas: bentuk = arti. Latihan singkat: guru tunjuk simbol acak, kelas teriak artinya bersama-sama.
Pseudocode terlalu samar ("beri bumbu secukupnya") Siswa menulis seperti memberi catatan untuk diri sendiri, bukan instruksi eksekusi. Uji dengan "main peran": teman mengeksekusi pseudocode baris demi baris. Langkah ambigu langsung macet di dunia nyata.
Urutan logika salah tapi alur tetap mengalir Langkah lengkap semua, urutannya tidak logis (logical error di kertas). Minta siswa LAIN mengeksekusi flowchart-nya. Penemu kesalahan harus temannya — belajar dari alarm teman lebih tidak terasa dilukai.
Siswa bosan "kok masih kertas lagi?" Ekspektasi hari kedua = sudah mengetik kode. Jujur dan tegas: alur yang gagal di kertas = hapus pensil; alur yang gagal di kode = cari jarum di jerami. Dua minggu fondasi ini yang bikin mereka nggak tenggelam di Sesi 03-05.
Flowchart rapi tapi tak bisa dijelaskan pemiliknya Meniru gambar teman/papan tanpa memahami alurnya. Saat presentasi, pilih SATU belah ketupat acak dan tanya: "di sini kamu bertanya apa, dan pilihan keduanya apa?" Tidak bisa jawab = duduk kembali dan gambar ulang versi sendiri.

8. Checklist Evaluasi Siswa

9. Jembatan ke Pertemuan Berikutnya (Sesi 03)

Dua minggu penuh kertas dan papan — dan mulai pertemuan depan semuanya berubah: flowchart "Halo" yang mereka gambar akan menjadi kode yang benar-benar berjalan di layar. Siswa akan membuka VS Code, membuat file .py pertama, mengetik print(), menekan Run, dan melihat komputer mematuhi tulisan tangan mereka. Kertas mereka buang begitu saja? Justru kebalikannya: dua minggu melatih mata alur itulah yang membuat mereka membaca pesan error nanti dengan tenang.

# Pratinjau Sesi 03: pseudocode "sapa teman" versi kertas,
# minggu depan jadi file halo.py yang dijalankan sungguhan:
print("Halo, St. John!")
print("Program pertama berhasil dijalankan.")

# Output harapan:
# Halo, St. John!
# Program pertama berhasil dijalankan.

Bawa kertas flowchart minggu ini ke Sesi 03 — peta yang mereka gambar akan dipakai jadi jalan pertama mereka di dunia kode.