Ekskul CSSE · SMAS St. John — BINUSPertemuan 2
02
Fondasi · Sesi 02 — Algorithm & Flowchart
Algorithm &
Flowchart

Minggu lalu kamu kenal peta. Hari ini kamu belajar MENGGAMBAR peta yang bisa dibaca siapa pun — masih di kertas, tapi standarnya naik level.

TUJUAN 01
Mendefinisikan algoritma & menguji kelima cirinya
TUJUAN 02
Menyusun pseudocode mandiri yang lolos uji
TUJUAN 03
Membaca & membuat flowchart 5 simbol lengkap
Target Hari Ini

Dari kenal jadi menguasai

Tujuan Pembelajaran
  • Mendefinisikan algoritma sebagai langkah logis & menyebut 5 cirinya
  • Menyusun pseudocode 5 langkah: urut, jelas, berhenti
  • Membaca flowchart orang lain & menceritakan alurnya
  • Membuat flowchart lengkap 5 simbol baku + panah alir
  • Merancang cabang keputusan yang benar: dua cabang, semua jalur pulang
5 ciripseudocode5 simboldua cabang wajib
“
Mindset sesi ini

Flowchart = peta sebelum coding.
Kode = jalan yang ditempuh.

Masih dominan kertas & papan

Latihan inti hari ini tulis & gambar di kertas. Satu blok kode cukup dibedah — ketik beneran dimulai minggu depan.

100 menitkertas + papankode dibedah, bukan diketik
Sebelum gas — minggu lalu kamu sudah pegang apa?

Rekap Sesi 01 · Introduction to Programming

Yang sudah kamu pegang
  • Program = urutan instruksi — komputer koki patuh tapi buta
  • Hardware vs software — bodi yang disentuh vs instruksi di dalamnya
  • Level bahasa — mesin → assembly → high-level (Python)
  • 4 simbol flowchart — oval, persegi, jajar genjang, belah ketupat

Minggu lalu kamu kenal peta. Hari ini kamu menggambar & menguji peta itu — sampai bisa dibaca siapa pun tanpa kamu yang menjelaskan.

Kuis kilat — jawab dulu!
AHP-mu: WhatsApp termasuk apa — hardware atau software?
BSebut 3 dari 5 ciri algoritma!
jawaban slide berikutnya WhatsApp = software. Dan 5 cirinya: input, proses, output, jelas, berhenti — dua terakhir itulah yang hari ini paling sering diuji.
!

Posisimu: barisan ke-2 dari 17 — 12% perjalanan. Fondasi selesai minggu ini!

Minggu lalu kenal istilahnya — hari ini pegang standarnya

5 ciri algoritma — resep yang lulus uji

Standar yang dipegang hari ini

Algoritma = deret langkah jelas & berurut untuk menyelesaikan masalah. Bagus = lulus 5 ciri:

1 · input2 · proses3 · output4 · jelas5 · berhenti
  • Jelas — "beri bumbu secukupnya" GAGAL: secukupnya itu berapa?
  • Berhenti — resep yang muter-muter tanpa ujung bukan algoritma
  • Paten — siapa pun yang mengeksekusi, hasilnya harus sama
Uji kelas

Resep koki YouTube: "beri bumbu secukupnya, masak sampai matang". Mana yang gagal uji ciri jelas? Komputer nggak bisa menebak — instruksi harus paten.

→

Tiga versi resep nanti diuji di papan: yang benar, yang urutannya bolak-balik, yang ada langkah ambigu — kelas yang menghakimi.

Giliran kelas jadi hakim resep

Tugas 1 · Uji 3 versi resep nasi goreng

Kerjakan berurutan — di papan + kertas
  1. Versi benar — pseudocode nasi goreng 7 langkah ditulis di papan, kelas cek: mana input? proses? output?
  2. Versi sabotase — dua langkah ditukar ("sajikan" naik ke awal). Tulis di kertasmu: langkah keberapa rusak & kenapa
  3. Versi ambigu — satu langkah diganti "beri bumbu secukupnya". Kelas memvonis: ciri mana yang patah?
Versi benar — acuan di papan
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
Pertanyaan hakim
  • Versi sabotase: hasilnya jadi apa? Ada yang protes tidak — itu bahayanya
  • Versi ambigu: ciri jelas patah di langkah mana?
  • Kenapa komputer lebih parah daripada koki YouTube?
!

Waktu: 10 menit. Poin kunci: algoritma yang baik itu paten — siapa pun yang mengeksekusi, hasilnya sama.

Resep orang lain sudah diuji — sekarang resep kamu sendiri

Pseudocode = draf kasar sebelum kode resmi

Aturan mainnya longgar
  • Pakai bahasa manusia terstruktur: Mulai, Baca, JIKA...MAKA, Tampilkan, Selesai
  • English atau Indonesia — boleh dua-duanya, yang dinilai logikanya
  • Bukan Python, belum ada aturan ketat — tapi urut, jelas, berhenti wajib
  • Kayak outline novel sebelum naskah final — sketsa arsitek sebelum rumah
Contoh format JIKA hujan MAKA bawa payung LAIN jalan santai — inilah yang nanti jadi belah ketupat.
Jangan dicampur dulu

Pseudocode bukan setengah Python. "JIKA x > 0 THEN print()" = dua dunia jadi satu = kacau. Pseudocode dulu di kertas — Python-nya baru Sesi 03 ke atas.

→

Setiap programmer profesional menulis draf kasar dulu — kamu sedang mengerjakan apa yang mereka kerjakan, hanya medianya kertas.

Sekarang giliranmu menulis — dan temanmu menilai

Tugas 2 · Pseudocode versi kamu sendiri

Kerjakan berurutan — di kertas, individu
  1. Pilih kasusmu sendiri — naik tangga, beli jajan di kantin, upload story, siap-siap sekolah (bebas, yang penting kamu hafal alurnya)
  2. Tulis pseudocode — minimal 5 langkah, diawali Mulai, diakhiri Selesai, lolos 5 ciri
  3. Tukar kertas dengan teman sebangku — teman membaca dan menandai langkah yang ambigu
Ujian sebenarnya

Pseudocode-mu lolos kalau temanmu bisa mengeksekusinya tanpa bertanya. Kalau dia bertanya "ini maksudnya gimana?" — langkah itu belum jelas. Perbaiki, tukar lagi.

Checklist sebelum tukar kertas
  • Diawali Mulai, diakhiri Selesai
  • Minimal 5 langkah bernomor
  • Setiap langkah tidak ambigu — bukan "secukupnya"
  • Urutannya logis — dicoba dieksekusi di kepala
!

Waktu: 15 menit. Ini latihan "kode dibaca orang lain" pertamamu — tanpa komputer sama sekali.

Kode hari ini dibedah — bukan diketik, ketik dimulai minggu depan

Wajah komputer dari pseudocode kalian

Code — dibedah bersama, bukan diketik hari ini
# Algoritma "sapaan" versi komputer -
# persis langkah bernomor di kertas kalian
print("1. Mulai")
print("2. Baca bahan")

nama = "Budi"              # data disiapkan
pesan = "Halo " + nama     # proses: dirangkai
print("3. Proses")
print("4. Tampilkan hasil:", pesan)
print("5. Selesai")
Pemetaan 5 ciri → kode
  • Input/data → nama = "Budi" menyiapkan bahan
  • Proses → pesan = "Halo " + nama merangkai
  • Output → print menampilkan ke layar
  • Berhenti → program selesai sendiri, tidak ada yang mengulang
Coba pikirkan

Baris mana yang mewakili ciri keempat — "jelas"? Dan kenapa print nomor 3 muncul setelah pesan dirangkai, bukan sebelum?

Minggu lalu 4 simbol — hari ini lengkap jadi 5

5 simbol baku + panah alir

5 simbol wajib hafal + 1 panah
OVAL
Terminator
Mulai / Selesai
I/O
Input/Output
Baca / Tampilkan
PERSEGI
Proses
Hitung / Olah
?
Keputusan
Ya / Tidak
PANAH
Alir
Arah urutan
Baru hari iniPanah alir — arah urutan, seperti rambu jalan satu arah. Bentuk = arti, disepakati semua programmer.
Cara baca cepat
  • Ikuti panah dari Mulai
  • Di persegi — lakukan sesuatu
  • Di jajar genjang — data masuk / keluar
  • Di belah ketupat — bertanya, pilih Ya/Tidak
  • Sampai oval — tugas selesai
→

Dua hukum flowchart: belah ketupat wajib dua cabang keluar · tidak ada garis menggantung — semua berakhir di Selesai.

Semua simbol dipakai sekali jalan — baca dengan suara

Demo: flowchart "bawa payung?"

Pseudocode pendampingnya
1. MULAI
2. LIHAT langit: hujan atau tidak
3. JIKA hujan MAKA
BAWA payung
LAIN
SIMPAN payung
4. SELESAI

"Mulai, lalu tanya hujan?, kalau Ya bawa payung, kalau Tidak simpan payung, Selesai." — kalau kamu bisa membacanya seperti itu, flowchart-nya benar.

Flowchart — "Bawa payung?"
Mulai
Hujan?
YA
Bawa
payung
TIDAK
Simpan
payung
Selesai

Dua cabang keluar dari belah ketupat — keduanya sampai Selesai. Tidak ada garis menggantung.

Praktik penilaian hari ini — peta yang dinilai guru

Challenge · Flowchart "genap atau ganjil?"

Misi — gambar di kertas, individu
  1. Input — sebuah angka masuk (jajar genjang)
  2. Keputusan — "angka habis dibagi 2?" (belah ketupat)
  3. Output — Ya: cetak "genap" · Tidak: cetak "ganjil" (jajar genjang, keduanya wajib ada)
  4. Tutup — semua jalur sampai oval Selesai — pakai 5 simbol termasuk panah antar langkah
Bedanya dari tugas minggu lalu

Minggu lalu: cukup "genap atau bukan". Hari ini kedua cabang harus sama-sama punya output — "genap" DAN "ganjil", keduanya digambar sampai Selesai.

Kriteria lulus — dicek saat keliling
  • Lengkap 5 simbol — termasuk panah antar langkah
  • Input ada, keputusan dua cabang
  • Kedua cabang punya output masing-masing
  • Semua jalur berakhir di oval Selesai
!

Waktu: 25 menit (praktik + presentasi). Bonus: "umur masuk bioskop (umur >= 17?)" — lebih menantang, kedua cabangnya mencetak kalimat berbeda.

Gimana peta yang lulus uji itu bentuknya?

Pembahasan Challenge — berpasangan

Kerangka yang diharapkan
Mulai
Baca angka
habis
dibagi 2?
YA
Cetak
"genap"
TIDAK
Cetak
"ganjil"
Selesai
Sesi eksekusi flowchart teman
  • Tukar kertas — "eksekusi" peta temanmu baris demi baris dengan suara
  • Tandai titik yang bikin macet — "kalau angkanya 7, jalur ini bawa saya ke mana?"
  • Presentasi 2–3 siswa — kelas lain jadi penguji: tunjuk satu belah ketupat acak, minta jelaskan kedua pilihannya
Alarm dari teman, bukan dari guru

Jangan katakan "salah" — tanya balik ke kelas: "di langkah mana kalian macet?" Alarm yang berbunyi dari teman tidak melukai rasa percaya diri.

Untuk yang cepat selesai — peta dengan taruhan beda

Bonus · Flowchart "umur masuk bioskop?"

Kasus bonus (PR iseng opsional)
1. MULAI
2. BACA umur
3. JIKA umur >= 17 MAKA
TAMPILKAN "Boleh masuk"
LAIN
TAMPILKAN "Belum boleh"
4. SELESAI
Kenapa bonus ini lebih menantang

Syaratnya bukan lagi "habis dibagi 2" (fakta matematika) tapi perbandingan — dan umur tepat 17 masuk ke cabang yang mana? Itu keputusan desain yang harus kamu jawab di peta.

Pertanyaan penguji
  • Umur 16 — lewat cabang mana?
  • Umur tepat 17 — "boleh" atau "belum"? Kenapa?
  • Kedua output mencetak kalimat berbeda — simbolnya tetap apa?
  • Ada garis menggantung di petamu? Cek lagi
Peta ditolak teman? Hampir selalu salah satu dari ini

Kotak masalah — 4 jebakan menyusun peta

Jebakan 01
Cabang cuma satu

Keputusan "genap/ganjil" digambar, tapi cuma jalur "genap" — lupa bahwa angka 7 juga harus punya tempat.

Obat: tanya "kalau angkanya 7, peta ini bawa saya ke mana?" — dua cabang, keduanya diwarnai.

Jebakan 02
Simbol tercampur

Proses pakai jajar genjang, input pakai persegi — simbol dianggap hiasan, bukan bagian makna.

Obat: kembali ke rambu lalu lintas — bentuk = arti. Guru tunjuk simbol acak, kelas teriak artinya.

Jebakan 03
Langkah samar

Pseudocode penuh kalimat seperti catatan untuk diri sendiri: "beri bumbu secukupnya", "siapkan alatnya".

Obat: uji main peran — teman mengeksekusi baris demi baris. Yang ambigu langsung macet.

Jebakan 04
Ujung menggantung

Cabang Tidak digambar setengah jalan — garisnya melayang, tidak pernah menemui oval Selesai.

Obat: aturan papan — "setiap garis harus punya tempat pulang ke ( Selesai )". Saling cek flowchart teman.

Jebakan terbesar sesi ini bukan konsep — tapi sikap: "ah, langsung ngoding aja". Balikannya: salah alur di kertas = hapus pensil; salah alur di kode minggu depan = cari satu baris di antara ratusan. Tersesat di peta jauh lebih murah daripada tersesat di jalan.

Rangkuman · yang kita bawa pulang

5 hal yang hari ini kamu taklukkan

01
Algoritma = langkah logis yang lulus 5 ciri — input, proses, output, jelas, berhenti; "secukupnya" gagal uji
02
Pseudocode = draf kasar sebelum kode resmi — bahasa manusia terstruktur, urut & jelas, belum Python
03
5 simbol baku + panah alir — oval, jajar genjang, persegi, belah ketupat, panah; bentuk = arti yang disepakati
04
Dua hukum flowchart — belah ketupat wajib dua cabang keluar; tidak ada garis menggantung
05
Peta ditulis untuk dibaca orang lain — eksekusi flowchart teman = latihan debug pertama, tanpa komputer
Peta dikuasai — saatnya jalan! Next → Getting Started with Coding
Next — langkah selanjutnya

Pertemuan depan:
Getting Started with Coding

Sesi 03 — Getting Started with Coding

Dua minggu di kertas — minggu depan kertas itu MULAI JADI KODE BENERAN.

Buka VS Code, buat file .py pertama, ketik print(), tekan Run — dan berteman dengan error merah pertamamu. Flowchart "genap/ganjil" hari ini jadi peta jalan pertamamu.

VS Codeprint() · #Run ▶
PR iseng (opsional)
  • Gambar flowchart bonus: umur masuk bioskop (>= 17?)
  • Tidak ada penggaris? Tulis pseudocode 5 langkah di buku
  • Foto flowchart "genap/ganjil" terbaik → kirim grup — pamer peta!
Sampai jumpa di Sesi 03! ingat: peta dulu, baru jalan