Membangun Aplikasi Flashcard Spaced Repetition dengan Python
Bangun aplikasi flashcard berbasis Python dengan penyimpanan data dan algoritma pengulangan berjarak untuk belajar lebih teratur.
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Skill yang dibangun
Mengidentifikasi masalah pemeliharaan pada logika bisnis bercabang dan memecahnya menjadi aturan dengan kontrak input, kondisi, dan hasil yang jelas.
Menerapkan rule engine Python dengan class, struktur data, prioritas aturan, serta strategi penanganan aturan yang cocok atau tidak cocok.
Menulis pengujian unit dan kasus batas untuk membuktikan perilaku aturan, urutan evaluasi, konflik keputusan, dan kondisi gagal.
Menghasilkan jejak audit yang menghubungkan input, aturan yang dievaluasi, keputusan, alasan, dan hasil akhir tanpa mencampurkan pencatatan dengan logika bisnis.
Mahasiswa atau programmer pemula-menengah yang sudah menguasai Python dasar-menengah, fungsi, class, struktur data, exception handling, serta pengujian unit sederhana. Kursus ini ditujukan bagi peserta yang pernah membuat aplikasi dengan logika bisnis bercabang dan ingin memisahkan aturan dari kode utama agar lebih mudah diubah, diuji, dijelaskan, dan diaudit. Peserta tidak perlu memiliki pengalaman machine learning, sistem terdistribusi, atau framework enterprise.
Project outcomes
Peserta akan membangun mesin evaluasi kelayakan transaksi sederhana. Aplikasi menerima data transaksi dan pelanggan, menjalankan kumpulan aturan seperti batas nilai transaksi, status pelanggan, dan pemeriksaan risiko, lalu mengembalikan keputusan beserta aturan yang terpicu dan alasan yang dapat ditelusuri. Proyek dilengkapi pengujian unit, penanganan konflik prioritas, validasi input, serta audit trail berbentuk data terstruktur yang dapat diperiksa atau disimpan.
Logika bisnis bercabang sering mulai sederhana, lalu menjadi sulit diubah ketika aturan tersebar di banyak fungsi dan kondisi saling bertumpuk. Akibatnya, perubahan kecil dapat memunculkan regresi, alasan di balik keputusan sulit ditelusuri, dan hasil pengujian tidak selalu menjelaskan aturan mana yang dijalankan.
Kursus ini mengajak kita membangun rule engine dengan Python secara bertahap. Kita akan memodelkan aturan sebagai objek yang terpisah dari alur aplikasi, menentukan urutan evaluasi, menangani konflik dan kegagalan, serta merancang hasil evaluasi yang memuat alasan keputusan. Pendekatan ini digunakan untuk memperjelas hubungan antara input, aturan yang cocok, efek yang dihasilkan, dan bukti eksekusinya.
Melalui pengujian unit, pengujian kasus batas, dan pencatatan audit, peserta akan menilai trade-off antara kesederhanaan, fleksibilitas, keterlacakan, dan kemudahan pemeliharaan. Kursus tidak mengasumsikan penggunaan framework enterprise atau sistem terdistribusi; fokusnya adalah fondasi yang dapat diperiksa dan dikembangkan sesuai kebutuhan aplikasi.
Bangun aplikasi flashcard berbasis Python dengan penyimpanan data dan algoritma pengulangan berjarak untuk belajar lebih teratur.
Bangun pipeline yang menandatangani, menghasilkan, dan memverifikasi provenance artefak dengan Sigstore dan in-toto.
Bangun simulator CPU dengan Python untuk membandingkan FCFS, SJF, dan Round Robin melalui data, perhitungan, dan validasi hasil.
Bangun interpreter mini dengan Python sambil mempelajari lexer, parser, AST, dan evaluator melalui implementasi bertahap.