Contoh Pembelajaran Python

Buka presentasi Pemula dan Lanjutan โ†’

Pilih jenjang dan program sesuai pengalaman siswa. Pemula dan Lanjutan masing-masing memiliki 64 sesi tersendiri.

SMP Pemula membangun fondasi lewat program terminal. SMP Lanjutan beralih ke aplikasi satu jendela setelah fungsi serta data dipahami. SMA Pemula menggabungkan fondasi dengan aplikasi Tkinter dan JSON. SMA Lanjutan mengembangkan CSV, SQLite, beberapa tampilan, serta pengujian otomatis. Setiap program memiliki 64 sesi ร— 1 jam dan empat proyek tersendiri.

  • ๐Ÿ“š 64 sesi per program
  • โฑ๏ธ 1 jam per sesi
  • ๐ŸŽฏ 4 proyek per program

Tools yang digunakan

Aplikasi untuk jenjang SMP, program Pemula. Mentor mendampingi pemilihan dan penggunaannya.

Penjelasan sesi

Menguasai keluaran, input, tipe data, kondisi, loop, fungsi, list/dictionary, dan JSON melalui empat program terminal yang dapat dijelaskan serta diuji bertahap.

Bekal awal

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

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.

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.

1

Sesi 1โ€“16: Kuis Pengetahuan

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.

  • โœ“ Sesi 1โ€“4: Kenali VS Code dan interpreter, lalu tulis print(), variabel, tipe data, dan input()
  • โœ“ Sesi 5โ€“8: Pelajari konversi int(), operator perbandingan, boolean, indentasi, serta if/elif/else pada satu soal
  • โœ“ Sesi 9โ€“12: Susun tiga pertanyaan dengan for, range(), dan skor tanpa mengulang input yang sama
  • โœ“ Sesi 13โ€“16: Normalisasi jawaban, uji benar-salah-kosong, dan presentasikan kuis dengan README
Yang dapat ditunjukkanProgram .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.
Ilustrasi konsep Kuis Pengetahuan
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.
Jenis sesi dan estimasi tugas

Estimasi awal setelah demo, belum hasil pengukuran kelas. Waktu simpan serta uji formal terpisah; jangan menahan siswa yang sudah paham.

  • Sesi 1: Folder dan interpreter ยท Orientasi alat ยท tugas 5โ€“10 menit.
  • Sesi 2: print() dan keluaran ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 3: Variabel dan tipe data ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 4: input() sebagai teks ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 5: Angka dan konversi int() ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 6: Operator dan boolean ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 7: Indentasi dan if/else ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 8: elif dan input kosong ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 9: Skor dan += ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 10: for dan range() ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 11: List pasangan soal ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 12: Membaca data dalam loop ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 13: Normalisasi string ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 14: Membaca traceback ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 15: Matriks uji kuis ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 16: Presentasi: Kuis Pengetahuan ยท Presentasi karya ยท tugas 19โ€“24 menit.
Rincian 16 sesi ยท Kuis Pengetahuan
  1. Sesi 1: Folder dan interpreter

    Buka folder di VS Code, pilih Python: Select Interpreter, simpan halo.py

    Ukuran keberhasilan: File yang benar dijalankan dari folder kelas.

  2. Sesi 2: print() dan keluaran

    Tampilkan dua kalimat memakai print() dan amati terminal

    Ukuran keberhasilan: Dua baris sesuai prediksi.

  3. Sesi 3: Variabel dan tipe data

    Simpan nama sebagai str, skor sebagai int, desimal sebagai float, serta status sebagai bool lalu ubah satu nilai

    Ukuran keberhasilan: Perbedaan teks angka dan boolean dapat dijelaskan.

  4. Sesi 4: input() sebagai teks

    Minta nama lalu tampilkan sapaan dengan f-string

    Ukuran keberhasilan: Input kosong dan nama berisi spasi diamati.

  5. Sesi 5: Angka dan konversi int()

    Bandingkan hasil penjumlahan teks dengan angka pada contoh kecil

    Ukuran keberhasilan: Siswa membedakan 2+3 dari penggabungan teks.

  6. Sesi 6: Operator dan boolean

    Prediksi hasil ==, !=, <, > dan bandingkan jawaban

    Ukuran keberhasilan: Benar dan salah dibedakan tanpa menebak.

  7. Sesi 7: Indentasi dan if/else

    Buat satu soal dengan dua respons memakai blok terindentasi

    Ukuran keberhasilan: Hanya satu cabang yang berjalan.

  8. Sesi 8: elif dan input kosong

    Tambahkan respons untuk jawaban kosong sebelum memeriksa kunci

    Ukuran keberhasilan: Kosong tidak dianggap jawaban benar.

  9. Sesi 9: Skor dan +=

    Mulai skor nol lalu tambahkan satu hanya saat benar

    Ukuran keberhasilan: Dua jawaban benar memberi dua poin.

  10. Sesi 10: for dan range()

    Cetak nomor pertanyaan melalui range(3)

    Ukuran keberhasilan: Loop berjalan tepat tiga kali.

  11. Sesi 11: List pasangan soal

    Simpan tiga pertanyaan dan kuncinya sebagai data sederhana

    Ukuran keberhasilan: Urutan soal cocok dengan kunci.

  12. Sesi 12: Membaca data dalam loop

    Tanyakan soal dari list dan simpan jawaban tiap putaran

    Ukuran keberhasilan: Soal tidak terlewati dan skor tidak direset.

  13. Sesi 13: Normalisasi string

    Gunakan strip().lower() pada jawaban kata

    Ukuran keberhasilan: Biru dan biru dengan spasi dinilai setara.

  14. Sesi 14: Membaca traceback

    Perbaiki satu kesalahan nama variabel pada salinan

    Ukuran keberhasilan: Baris penyebab ditemukan dan diperbaiki.

  15. Sesi 15: Matriks uji kuis

    Uji semua benar, semua salah, serta input kosong

    Ukuran keberhasilan: Hasil cocok dengan skor yang dihitung tangan.

  16. Sesi 16: Presentasi: Kuis Pengetahuan

    Jalankan kuis baru dan tulis perintah pada README Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji.

    Ukuran keberhasilan: Siswa menjelaskan satu kondisi dan satu loop.

2

Sesi 17โ€“32: Tebak Angka

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.

  • โœ“ Sesi 17โ€“20: Pelajari while, perubahan kondisi, break, dan pencacah pada target angka tetap
  • โœ“ Sesi 21โ€“24: Tulis fungsi dengan parameter dan return untuk petunjuk tebakan
  • โœ“ Sesi 25โ€“28: Gunakan import random, rentang angka, dan try/except ValueError
  • โœ“ Sesi 29โ€“32: Pisahkan satu putaran dari menu main lagi dan buktikan reset melalui uji
Yang dapat ditunjukkanLoop 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.
Ilustrasi konsep Tebak Angka
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.
Jenis sesi dan estimasi tugas

Estimasi awal setelah demo, belum hasil pengukuran kelas. Waktu simpan serta uji formal terpisah; jangan menahan siswa yang sudah paham.

  • Sesi 17: Audit kuis dan alur game ยท Pengujian dan revisi ยท tugas 14โ€“22 menit.
  • Sesi 18: while dan kondisi berhenti ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 19: Pencacah percobaan ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 20: break dan akhir putaran ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 21: def dan pemanggilan fungsi ยท Pembelajaran ยท tugas 14โ€“19 menit.
  • Sesi 22: Parameter dan argumen ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 23: return dan nilai hasil ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 24: Variabel lokal ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 25: import random ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 26: try/except ValueError ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 27: Validasi rentang ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 28: Fungsi satu putaran ยท Pembelajaran ยท tugas 14โ€“19 menit.
  • Sesi 29: Menu main lagi ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 30: Breakpoint dan Step Over ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 31: Regresi dua putaran ยท Pengujian dan revisi ยท tugas 14โ€“22 menit.
  • Sesi 32: Presentasi: Tebak Angka ยท Presentasi karya ยท tugas 19โ€“24 menit.
Rincian 16 sesi ยท Tebak Angka
  1. Sesi 17: Audit kuis dan alur game

    Telusuri input-kondisi-loop dari kuis lalu gambar satu putaran game

    Ukuran keberhasilan: Fondasi yang belum konsisten mendapat penguatan.

  2. Sesi 18: while dan kondisi berhenti

    Ulangi tebakan pada target tetap 42

    Ukuran keberhasilan: Loop berhenti saat tebakan benar.

  3. Sesi 19: Pencacah percobaan

    Batasi lima tebakan valid dan amati perubahan pencacah

    Ukuran keberhasilan: Percobaan tidak melebihi lima.

  4. Sesi 20: break dan akhir putaran

    Bedakan berhenti karena menang dengan kesempatan habis

    Ukuran keberhasilan: Kedua akhir memiliki pesan berbeda.

  5. Sesi 21: def dan pemanggilan fungsi

    Pindahkan petunjuk ke fungsi bernama

    Ukuran keberhasilan: Fungsi dapat dipanggil dua kali.

  6. Sesi 22: Parameter dan argumen

    Kirim target serta tebakan berbeda ke fungsi

    Ukuran keberhasilan: Perubahan argumen mengubah hasil sesuai aturan.

  7. Sesi 23: return dan nilai hasil

    Kembalikan kecil, besar, atau benar tanpa input dalam fungsi

    Ukuran keberhasilan: Hasil dapat dibandingkan di luar fungsi.

  8. Sesi 24: Variabel lokal

    Pisahkan pencacah satu putaran dari menu utama

    Ukuran keberhasilan: Putaran baru tidak mewarisi nilai lama.

  9. Sesi 25: import random

    Bandingkan target tetap dengan randint(1,100)

    Ukuran keberhasilan: Target selalu dalam rentang yang diumumkan.

  10. Sesi 26: try/except ValueError

    Tangani huruf ketika int() mengonversi input

    Ukuran keberhasilan: Huruf memberi pesan dan program berlanjut.

  11. Sesi 27: Validasi rentang

    Tolak nol dan 101 sebelum menghitung kesempatan

    Ukuran keberhasilan: Input tidak valid tidak mengurangi kesempatan.

  12. Sesi 28: Fungsi satu putaran

    Gabungkan petunjuk, loop, dan pencacah dalam satu fungsi

    Ukuran keberhasilan: Putaran dapat selesai tanpa menutup menu.

  13. Sesi 29: Menu main lagi

    Gunakan loop luar untuk pilihan ya atau tidak

    Ukuran keberhasilan: Tidak menutup program dengan paksa.

  14. Sesi 30: Breakpoint dan Step Over

    Amati target dan pencacah saat menang serta kalah

    Ukuran keberhasilan: Siswa menunjukkan nilai yang berubah.

  15. Sesi 31: Regresi dua putaran

    Uji huruf, batas, menang, kalah, dan main lagi

    Ukuran keberhasilan: Reset tidak merusak validasi sebelumnya.

  16. Sesi 32: Presentasi: Tebak Angka

    Jelaskan parameter, return, serta aturan kesempatan Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji.

    Ukuran keberhasilan: Pengguna mengikuti README tanpa bantuan.

3

Sesi 33โ€“48: Catatan Uang Saku

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.

  • โœ“ Sesi 33โ€“36: Susun list dan dictionary berisi transaksi sintetis dengan nilai rupiah bilangan bulat
  • โœ“ Sesi 37โ€“40: Buat fungsi validasi, tambah transaksi, dan hitung saldo melalui menu terminal
  • โœ“ Sesi 41โ€“44: Gunakan pathlib, with open, serta json untuk simpan-muat dan tangani file belum ada
  • โœ“ Sesi 45โ€“48: Uji nominal salah, JSON rusak pada salinan, dan buka ulang tanpa kehilangan data
Yang dapat ditunjukkanSetiap 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.
Ilustrasi konsep Catatan Uang Saku
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.
Jenis sesi dan estimasi tugas

Estimasi awal setelah demo, belum hasil pengukuran kelas. Waktu simpan serta uji formal terpisah; jangan menahan siswa yang sudah paham.

  • Sesi 33: List, indeks, append() dan len() ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 34: Tantangan daftar belanja ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 35: Dictionary dan key ยท Pembelajaran ยท tugas 14โ€“19 menit.
  • Sesi 36: List berisi dictionary ยท Pembelajaran ยท tugas 14โ€“19 menit.
  • Sesi 37: Fungsi hitung saldo ยท Pembelajaran ยท tugas 14โ€“19 menit.
  • Sesi 38: Nominal rupiah integer ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 39: Menu tambah dan daftar ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 40: Kasus daftar kosong ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 41: File dan pathlib ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 42: with open dan encoding ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 43: json.dump() ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 44: json.load() ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 45: File belum ada dan JSON rusak ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 46: Praktik pemulihan data ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 47: Uji simpan dan buka ulang ยท Pengujian dan revisi ยท tugas 14โ€“22 menit.
  • Sesi 48: Presentasi: Catatan Uang Saku ยท Presentasi karya ยท tugas 19โ€“24 menit.
Rincian 16 sesi ยท Catatan Uang Saku
  1. Sesi 33: List, indeks, append() dan len()

    Susun tiga nama transaksi, baca satu indeks, tambahkan transaksi keempat, dan periksa len().

    Ukuran keberhasilan: Panjang list berubah dari 3 menjadi 4; tiga data awal tetap ada..

  2. Sesi 34: Tantangan daftar belanja

    Buat daftar belanja pilihanmu; tambahkan satu barang dan jelaskan indeks sebelum dan sesudahnya.

    Ukuran keberhasilan: Siswa menambah barang pada data baru tanpa menyalin contoh transaksi..

  3. Sesi 35: Dictionary dan key

    Beri field jenis, nama, dan nominal pada transaksi

    Ukuran keberhasilan: Field diakses dengan nama yang konsisten.

  4. Sesi 36: List berisi dictionary

    Susun tiga transaksi sintetis dan tampilkan dengan loop

    Ukuran keberhasilan: Setiap baris memiliki label yang benar.

  5. Sesi 37: Fungsi hitung saldo

    Jumlahkan pemasukan dan kurangi pengeluaran

    Ukuran keberhasilan: Contoh 50000,10000,5000 menghasilkan 35000.

  6. Sesi 38: Nominal rupiah integer

    Validasi int positif serta jenis transaksi

    Ukuran keberhasilan: Negatif, nol, dan huruf ditolak.

  7. Sesi 39: Menu tambah dan daftar

    Hubungkan fungsi data dengan input terminal

    Ukuran keberhasilan: Data baru terlihat tanpa menyalin menu.

  8. Sesi 40: Kasus daftar kosong

    Tampilkan pesan dan saldo awal nol

    Ukuran keberhasilan: Tidak terjadi akses indeks yang tidak ada.

  9. Sesi 41: File dan pathlib

    Tetapkan lokasi data relatif ke file program

    Ukuran keberhasilan: Lokasi dapat dijelaskan dari terminal berbeda.

  10. Sesi 42: with open dan encoding

    Tulis serta baca teks UTF-8 latihan

    Ukuran keberhasilan: File tertutup dan teks dapat dibaca kembali.

  11. Sesi 43: json.dump()

    Simpan tiga transaksi menjadi JSON; ubah satu nominal, simpan salinan baru dan bandingkan isi kedua file teks.

    Ukuran keberhasilan: Dua file memuat nominal sesuai prediksi dan file awal tetap utuh..

  12. Sesi 44: json.load()

    Muat data dan hitung saldo ulang

    Ukuran keberhasilan: Jumlah serta saldo sama dengan sebelum ditutup.

  13. Sesi 45: File belum ada dan JSON rusak

    Pada salinan data, bandingkan file yang belum dibuat dengan file JSON yang isinya rusak.

    Ukuran keberhasilan: File belum ada memulai data baru; file rusak memberi pesan dan tidak ditimpa..

  14. Sesi 46: Praktik pemulihan data

    Buat cadangan JSON, rusakkan salinan, lalu pulihkan cadangan dan buktikan saldo tetap sama.

    Ukuran keberhasilan: Cadangan tidak berubah; data pulih dan saldo sesuai hitungan manual..

  15. Sesi 47: Uji simpan dan buka ulang

    Jalankan dua kali dengan data sintetis berbeda

    Ukuran keberhasilan: Tidak ada transaksi ganda setelah muat.

  16. Sesi 48: Presentasi: Catatan Uang Saku

    Demonstrasikan saldo dan jelaskan lokasi data Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji.

    Ukuran keberhasilan: README memuat cara simpan serta pemulihan.

4

Sesi 49โ€“64: Pengatur Tugas Sekolah

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.

  • โœ“ Sesi 49โ€“52: Tuliskan kebutuhan pengguna dan model tugas dengan ID yang stabil
  • โœ“ Sesi 53โ€“56: Implementasikan tambah, cari, dan selesai memakai fungsi serta validasi
  • โœ“ Sesi 57โ€“60: Integrasikan simpan-muat JSON dan ringkasan tugas tanpa duplikasi
  • โœ“ Sesi 61โ€“64: Uji tugas baru, daftar kosong, ID salah, serta pembukaan ulang sebelum presentasi
Yang dapat ditunjukkanID 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.
Ilustrasi konsep Pengatur Tugas Sekolah
Ilustrasi alur dan antarmuka konsep proyek; hasil siswa dibangun serta diuji di Python melalui VS Code.
Jenis sesi dan estimasi tugas

Estimasi awal setelah demo, belum hasil pengukuran kelas. Waktu simpan serta uji formal terpisah; jangan menahan siswa yang sudah paham.

  • Sesi 49: Brief pengguna tugas ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 50: Sketsa menu terminal ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 51: Model ID dan status ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 52: Fungsi pencarian ยท Pembelajaran ยท tugas 14โ€“19 menit.
  • Sesi 53: Tambah tervalidasi ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 54: Pencarian kata ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 55: Tandai selesai ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 56: Ringkasan tugas ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 57: Integrasi menu ยท Produksi ยท tugas 30โ€“35 menit.
  • Sesi 58: Simpan JSON ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 59: Muat dan lanjutkan ยท Pembelajaran ยท tugas 11โ€“19 menit.
  • Sesi 60: Pemulihan kesalahan ยท Pengujian dan revisi ยท tugas 14โ€“22 menit.
  • Sesi 61: Uji fungsi sederhana ยท Pengujian dan revisi ยท tugas 17โ€“22 menit.
  • Sesi 62: Uji pengguna ยท Pengujian dan revisi ยท tugas 14โ€“22 menit.
  • Sesi 63: Revisi dan dokumentasi ยท Pengujian dan revisi ยท tugas 14โ€“22 menit.
  • Sesi 64: Presentasi: Pengatur Tugas Sekolah ยท Presentasi karya ยท tugas 19โ€“24 menit.
Rincian 16 sesi ยท Pengatur Tugas Sekolah
  1. Sesi 49: Brief pengguna tugas

    Tulis tiga aktivitas pengguna dan batas fitur

    Ukuran keberhasilan: Kriteria selesai dapat diuji.

  2. Sesi 50: Sketsa menu terminal

    Gambar alur tambah, cari, selesai, dan keluar

    Ukuran keberhasilan: Setiap menu mempunyai jalan kembali.

  3. Sesi 51: Model ID dan status

    Buat dictionary tugas dengan ID unik serta boolean

    Ukuran keberhasilan: Dua tugas berjudul sama tetap dibedakan.

  4. Sesi 52: Fungsi pencarian

    Cari tugas dari ID dan tangani None

    Ukuran keberhasilan: ID salah tidak mengubah tugas lain.

  5. Sesi 53: Tambah tervalidasi

    Tolak judul kosong dan hasil strip kosong

    Ukuran keberhasilan: Satu input valid menambah satu tugas.

  6. Sesi 54: Pencarian kata

    Bandingkan judul tanpa membedakan huruf besar

    Ukuran keberhasilan: Hasil kosong memiliki pesan jelas.

  7. Sesi 55: Tandai selesai

    Ubah boolean tugas yang dipilih

    Ukuran keberhasilan: Jumlah data tetap setelah status berubah.

  8. Sesi 56: Ringkasan tugas

    Hitung selesai dan belum selesai dengan loop

    Ukuran keberhasilan: Contoh satu dari tiga dapat diverifikasi.

  9. Sesi 57: Integrasi menu

    Hubungkan fungsi yang sudah diuji ke pilihan pengguna

    Ukuran keberhasilan: Keluar dari submenu tidak menutup aplikasi.

  10. Sesi 58: Simpan JSON

    Simpan ID, judul, dan boolean dengan struktur tetap

    Ukuran keberhasilan: Sumber file dapat diperiksa.

  11. Sesi 59: Muat dan lanjutkan

    Muat data sebelum menambah tugas baru

    Ukuran keberhasilan: ID baru tidak bertabrakan dengan ID lama.

  12. Sesi 60: Pemulihan kesalahan

    Tangani input menu salah dan data rusak pada salinan

    Ukuran keberhasilan: Pesan jelas dan data asal tetap ada.

  13. Sesi 61: Uji fungsi sederhana

    Bandingkan hasil fungsi dengan nilai harapan manual

    Ukuran keberhasilan: Benar dan salah dicatat terpisah.

  14. Sesi 62: Uji pengguna

    Minta teman menambah, mencari, dan menyelesaikan tugas

    Ukuran keberhasilan: Kesulitan pengguna tercatat.

  15. Sesi 63: Revisi dan dokumentasi

    Perbaiki satu masalah lalu ulangi skenario

    Ukuran keberhasilan: README cocok dengan aplikasi terakhir.

  16. Sesi 64: Presentasi: Pengatur Tugas Sekolah

    Demonstrasikan aplikasi dari kondisi awal dan buka ulang Kerjakan perubahan di Visual Studio Code (VS Code); serahkan sumber .py dan folder proyek, README, data sintetis, serta tabel hasil uji, dan catatan uji.

    Ukuran keberhasilan: Siswa menjelaskan fungsi serta bukti revisi.

Contoh kode proyek akhir

Unduh app.py ยท Panduan menjalankan dan skenario uji ยท Pengujian Python

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

Belajar dari titik awal yang sesuai

Pemilihan program dapat dibahas bersama mentor berdasarkan pengalaman dan contoh karya siswa.

Buka Formulir Pendaftaran