Lewati navigasi
KurikulumPanduan mengajar
PythonContoh proyek

Coding · Python

Contoh dan resep proyek

64 sesi / program60 menit / sesiDraf bahan ajar

Gunakan resep berikut untuk merakit contoh kerja di Visual Studio Code (VS Code). Mulai dari bentuk atau data minimum, lalu uji sebelum menambahkan hiasan.

Contoh proyek akhir Python tersedia. Setiap jalur menyertakan sumber .py, README, dan pengujian fungsi. Contoh GUI juga memiliki smoke test widget dan callback. Mentor tetap menguji tampilan, kenyamanan penggunaan, serta tempo pada perangkat kelas. Contoh per sesi serta proyek 1–3 kini juga tersedia pada halaman presentasi Python.

Cetak menampilkan jenjang dan program yang sedang dipilih. Nomor sesi dimulai kembali pada setiap program.

SMP · Pemula

Prasyarat: Tidak memerlukan pengalaman Python. Mulai dari membuka file, print(), variabel, input(), dan latihan kecil; mentor memeriksa pemahaman sebelum menambah konsep.

Batas tugas: 64 sesi × 1 jam; empat proyek terminal dengan data sintetis 3–5 entri. Pelajari fondasi lewat latihan kecil sebelum menggabungkannya; aplikasi berjendela belum menjadi syarat. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger.

Mentor memberi satu contoh kecil, lalu siswa memprediksi, mencoba variasi, dan menjelaskan hasil. Pada Lanjutan, gunakan pertanyaan serta petunjuk bertahap; periksa fondasi sebelum GUI.

Persiapan tools: Siapkan VS Code, Python 3, ekstensi Python dan Python Debugger dari Microsoft. Pilih Python: Select Interpreter, jalankan file .py pada terminal terintegrasi, lalu uji satu breakpoint. Simpan seluruh sumber dan data sintetis dalam satu folder proyek.

Cara belajar dan pemeriksaan kesiapan

Mentor memberi contoh kecil; siswa memprediksi, mencoba variasi, lalu menjelaskan dan memperbaiki hasil.

Catat waktu efektif, bentuk bantuan dan hasil tantangan mandiri. Gunakan penguatan jika fondasi belum konsisten.

SMP · Pemula · sesi 1–16

1. Kuis Pengetahuan

Ilustrasi konsep Kuis Pengetahuan
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.

Hasil yang dituju: Kuis terminal tiga pertanyaan dengan skor dan jawaban yang dinormalisasi.

Tool proyek: Visual Studio Code (VS Code)
Sumber: .py dan folder proyek · Hasil: README, data sintetis, serta tabel hasil uji

Hasil minimum

Kuis terminal tiga pertanyaan dengan skor dan jawaban yang dinormalisasi.

  • Program .py berjalan melalui interpreter yang dipilih
  • Percabangan membedakan tiga kondisi jawaban
  • Tiga jawaban menghasilkan skor yang dapat dihitung tangan

Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Kuis Pengetahuan dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus.

Tantangan mandiri: Gunakan tema atau data baru pada Kuis Pengetahuan tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan.

Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep.

Batas contoh: 64 sesi × 1 jam; empat proyek terminal dengan data sintetis 3–5 entri. Pelajari fondasi lewat latihan kecil sebelum menggabungkannya; aplikasi berjendela belum menjadi syarat. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger.

Resep contoh kerja

Gunakan input sebagai teks; lakukan strip().lower() untuk jawaban kata. Latih int() pada contoh terpisah sebelum konversi pada kuis. Tiga jawaban 5, 7, biru untuk kunci 5, 8, biru menghasilkan 2/3. Mulai dari satu soal, kemudian tiga soal berulang.

Bangun dalam empat tahap

  • Kenali VS Code dan interpreter, lalu tulis print(), variabel, tipe data, dan input()
  • Pelajari konversi int(), operator perbandingan, boolean, indentasi, serta if/elif/else pada satu soal
  • Susun tiga pertanyaan dengan for, range(), dan skor tanpa mengulang input yang sama
  • Normalisasi jawaban, uji benar-salah-kosong, dan presentasikan kuis dengan README

Pemeriksaan hasil

  • □ Program .py berjalan melalui interpreter yang dipilih
  • □ Percabangan membedakan tiga kondisi jawaban
  • □ Tiga jawaban menghasilkan skor yang dapat dihitung tangan
  • □ Input kosong tertangani dan kuis dapat dijalankan ulang

Siapkan salinan dengan satu kesalahan

  • File belum disimpan atau interpreter belum dipilih
  • Teks dibandingkan langsung dengan angka
  • Skor direset di dalam loop
  • Spasi dan huruf besar membuat jawaban setara dianggap berbeda

Ubah hanya satu bagian pada salinan latihan. Minta siswa menunjukkan gejala, menebak penyebab, memperbaiki, lalu mengulang pemeriksaan yang sama.

Validasi mentor: versi aplikasi/perangkat · tanggal · nama berkas contoh · hasil dua kali uji · penyesuaian

........................................................................................

SMP · Pemula · sesi 17–32

2. Tebak Angka

Ilustrasi konsep Tebak Angka
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.

Hasil yang dituju: Game angka terminal dengan batas percobaan, fungsi pemeriksa, dan pilihan main lagi.

Tool proyek: Visual Studio Code (VS Code)
Sumber: .py dan folder proyek · Hasil: README, data sintetis, serta tabel hasil uji

Hasil minimum

Game angka terminal dengan batas percobaan, fungsi pemeriksa, dan pilihan main lagi.

  • Loop berhenti sesuai kondisi dan batas percobaan
  • Fungsi memberi petunjuk kecil-besar-benar
  • Huruf dan angka di luar rentang tidak merusak program

Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Tebak Angka dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus.

Tantangan mandiri: Gunakan tema atau data baru pada Tebak Angka tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan.

Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep.

Batas contoh: 64 sesi × 1 jam; empat proyek terminal dengan data sintetis 3–5 entri. Pelajari fondasi lewat latihan kecil sebelum menggabungkannya; aplikasi berjendela belum menjadi syarat. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger.

Resep contoh kerja

Pakai target tetap 42 dahulu: 20 terlalu kecil, 70 terlalu besar, 42 benar. Fungsi petunjuk menerima target dan tebakan. Tetapkan angka di luar 1–100 serta input huruf tidak memakai kesempatan. Setelah uji tetap lulus, gunakan random.randint(1,100).

Bangun dalam empat tahap

  • Pelajari while, perubahan kondisi, break, dan pencacah pada target angka tetap
  • Tulis fungsi dengan parameter dan return untuk petunjuk tebakan
  • Gunakan import random, rentang angka, dan try/except ValueError
  • Pisahkan satu putaran dari menu main lagi dan buktikan reset melalui uji

Pemeriksaan hasil

  • □ Loop berhenti sesuai kondisi dan batas percobaan
  • □ Fungsi memberi petunjuk kecil-besar-benar
  • □ Huruf dan angka di luar rentang tidak merusak program
  • □ Main ulang mengganti target serta mereset pencacah

Siapkan salinan dengan satu kesalahan

  • Kondisi while tidak pernah berubah
  • Parameter tertukar atau return tidak dipakai
  • Konversi input huruf tidak ditangani
  • Main ulang membawa pencacah putaran sebelumnya

Ubah hanya satu bagian pada salinan latihan. Minta siswa menunjukkan gejala, menebak penyebab, memperbaiki, lalu mengulang pemeriksaan yang sama.

Validasi mentor: versi aplikasi/perangkat · tanggal · nama berkas contoh · hasil dua kali uji · penyesuaian

........................................................................................

SMP · Pemula · sesi 33–48

3. Catatan Uang Saku

Ilustrasi konsep Catatan Uang Saku
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.

Hasil yang dituju: Pencatat uang saku terminal dengan transaksi berlabel dan simpan-muat JSON.

Tool proyek: Visual Studio Code (VS Code)
Sumber: .py dan folder proyek · Hasil: README, data sintetis, serta tabel hasil uji

Hasil minimum

Pencatat uang saku terminal dengan transaksi berlabel dan simpan-muat JSON.

  • Setiap transaksi memiliki jenis, nama, dan nominal positif
  • Pemasukan menambah saldo dan pengeluaran menguranginya
  • Buka ulang menghasilkan transaksi dan saldo yang sama

Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Catatan Uang Saku dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus.

Tantangan mandiri: Gunakan tema atau data baru pada Catatan Uang Saku tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan.

Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep.

Batas contoh: 64 sesi × 1 jam; empat proyek terminal dengan data sintetis 3–5 entri. Pelajari fondasi lewat latihan kecil sebelum menggabungkannya; aplikasi berjendela belum menjadi syarat. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger.

Resep contoh kerja

Simpan nominal rupiah sebagai int positif. Pemasukan 50000 dikurangi buku 10000 dan camilan 5000 memberi saldo 35000. Bedakan file belum ada dari file rusak. Jangan simpan di atas JSON rusak sebelum pengguna membuat salinan dan memutuskan perbaikan.

Bangun dalam empat tahap

  • Susun list dan dictionary berisi transaksi sintetis dengan nilai rupiah bilangan bulat
  • Buat fungsi validasi, tambah transaksi, dan hitung saldo melalui menu terminal
  • Gunakan pathlib, with open, serta json untuk simpan-muat dan tangani file belum ada
  • Uji nominal salah, JSON rusak pada salinan, dan buka ulang tanpa kehilangan data

Pemeriksaan hasil

  • □ Setiap transaksi memiliki jenis, nama, dan nominal positif
  • □ Pemasukan menambah saldo dan pengeluaran menguranginya
  • □ Buka ulang menghasilkan transaksi dan saldo yang sama
  • □ Data rusak diberi pesan tanpa menimpa sumber

Siapkan salinan dengan satu kesalahan

  • Indeks list tertukar dengan nama field dictionary
  • Pengeluaran ditambah ke saldo
  • Lokasi file bergantung pada folder terminal
  • JSON rusak disamakan dengan daftar kosong lalu disimpan otomatis

Ubah hanya satu bagian pada salinan latihan. Minta siswa menunjukkan gejala, menebak penyebab, memperbaiki, lalu mengulang pemeriksaan yang sama.

Validasi mentor: versi aplikasi/perangkat · tanggal · nama berkas contoh · hasil dua kali uji · penyesuaian

........................................................................................

SMP · Pemula · sesi 49–64

4. Pengatur Tugas Sekolah

Ilustrasi konsep Pengatur Tugas Sekolah
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.

Hasil yang dituju: Aplikasi terminal dengan tambah, cari, tandai selesai, ringkasan, serta JSON.

Tool proyek: Visual Studio Code (VS Code)
Sumber: .py dan folder proyek · Hasil: README, data sintetis, serta tabel hasil uji

Hasil minimum

Aplikasi terminal dengan tambah, cari, tandai selesai, ringkasan, serta JSON.

  • ID tetap mengacu tugas yang sama setelah pencarian
  • Judul kosong ditolak dan status berubah pada tugas terpilih
  • Data serta ringkasan tetap sama setelah buka ulang

Pengayaan: Setelah hasil minimum lolos, buat satu variasi aturan atau data pada proyek Pengatur Tugas Sekolah dan bandingkan hasilnya; jangan menambah banyak fitur sekaligus.

Tantangan mandiri: Gunakan tema atau data baru pada Pengatur Tugas Sekolah tanpa menyalin urutan contoh; jelaskan bagian yang berubah dan perbaiki satu kesalahan.

Kesiapan lanjut: Lanjut jika hasil minimum dapat diulang, satu perubahan baru dapat dikerjakan, dan siswa menjelaskan satu perbaikan. Catat bentuk bantuan; bila belum siap, ulangi keterampilan yang belum tampak sebelum menambah konsep.

Batas contoh: 64 sesi × 1 jam; empat proyek terminal dengan data sintetis 3–5 entri. Pelajari fondasi lewat latihan kecil sebelum menggabungkannya; aplikasi berjendela belum menjadi syarat. Semua file dibuka sebagai satu folder proyek di VS Code dengan interpreter terpilih, terminal terintegrasi, serta debugger.

Resep contoh kerja

Gunakan tiga tugas dengan ID 1,2,3. Awalnya satu selesai dari tiga; tandai ID 3 sehingga dua selesai dari tiga tanpa menambah data. Buat fungsi pencarian yang mengembalikan tugas atau None. Antarmuka tetap terminal; GUI belum menjadi syarat.
Contoh kode proyek akhir

Unduh app.py · Panduan menjalankan dan skenario uji · Pengujian Python

agar modul pendukung ikut tersedia. Buka folder jalur di VS Code; jalankan python app.py. Contoh minimum dikembangkan bertahap, dengan variasi serta keputusan siswa.

Bangun dalam empat tahap

  • Tuliskan kebutuhan pengguna dan model tugas dengan ID yang stabil
  • Implementasikan tambah, cari, dan selesai memakai fungsi serta validasi
  • Integrasikan simpan-muat JSON dan ringkasan tugas tanpa duplikasi
  • Uji tugas baru, daftar kosong, ID salah, serta pembukaan ulang sebelum presentasi

Pemeriksaan hasil

  • □ ID tetap mengacu tugas yang sama setelah pencarian
  • □ Judul kosong ditolak dan status berubah pada tugas terpilih
  • □ Data serta ringkasan tetap sama setelah buka ulang
  • □ Pengguna menyelesaikan tiga skenario melalui README

Siapkan salinan dengan satu kesalahan

  • Indeks hasil pencarian dianggap ID data utama
  • Menandai selesai malah menambah tugas baru
  • Data kosong tersimpan menimpa data yang belum dimuat
  • Kasus tugas tidak ditemukan membuat program berhenti

Ubah hanya satu bagian pada salinan latihan. Minta siswa menunjukkan gejala, menebak penyebab, memperbaiki, lalu mengulang pemeriksaan yang sama.

Validasi mentor: versi aplikasi/perangkat · tanggal · nama berkas contoh · hasil dua kali uji · penyesuaian

........................................................................................

↑