Membangun Rule Engine yang Dapat Diaudit dengan Python
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Bangun interpreter mini dengan Python sambil mempelajari lexer, parser, AST, dan evaluator melalui implementasi bertahap.
Skill yang dibangun
Memecah teks program menjadi token menggunakan lexer Python dan memeriksa hasil tokenisasi pada berbagai input.
Menyusun parser sederhana yang mengubah urutan token menjadi abstract syntax tree (AST) dengan aturan prioritas operator.
Membedakan syntax error, token yang tidak valid, dan runtime error melalui pesan kesalahan serta kasus uji yang terarah.
Mengevaluasi AST untuk menjalankan ekspresi dan variabel dalam interpreter mini, lalu memvalidasi hasilnya dengan pengujian sederhana.
Pemula yang telah memahami dasar Python seperti variabel, tipe data, fungsi, percabangan, perulangan, dan penggunaan list atau dictionary. Kursus ini ditujukan bagi peserta yang ingin memahami bagaimana kode diproses oleh komputer secara lebih mendalam, tetapi belum memiliki pengalaman dengan compiler, interpreter, parsing, atau desain bahasa pemrograman. Peserta tidak perlu memahami teori formal compiler, karena konsep diperkenalkan melalui contoh konkret dan implementasi bertahap.
Project outcomes
Peserta akan membangun interpreter mini berbasis Python yang menerima program sederhana, mengenali angka, operator, identifier, dan tanda baca, menyusun AST, lalu mengevaluasi ekspresi serta assignment variabel. Implementasi dibuat bertahap agar setiap komponen dapat dijalankan dan diuji secara terpisah sebelum digabungkan.
Kode yang kita tulis tidak langsung dijalankan sebagai hasil akhir. Teks program perlu dipecah menjadi token, disusun menurut aturan sintaks, lalu dievaluasi menjadi perilaku yang dapat diamati. Kursus ini mengajak peserta mengikuti alur tersebut dengan membangun bahasa pemrograman mini menggunakan Python, tanpa mengharuskan pemahaman teori formal compiler di awal.
Implementasi dimulai dari lexer untuk mengenali angka, operator, identifier, dan tanda baca. Setelah itu kita menyusun parser yang menghasilkan struktur data berbentuk abstract syntax tree (AST), kemudian membuat evaluator yang menjalankan ekspresi dan pernyataan berdasarkan struktur tersebut. Setiap tahap dikaitkan dengan input, output, error, serta asumsi yang digunakan agar peserta dapat memeriksa alasan di balik setiap keputusan desain.
Proyek akhirnya adalah interpreter mini yang dapat membaca dan mengevaluasi program sederhana, termasuk ekspresi aritmetika, variabel, serta aturan sintaks yang ditentukan selama kursus. Cakupan ini sengaja dibatasi agar model mental tentang pemrosesan bahasa terlihat jelas dan kode tetap dapat diuji secara bertahap. Peserta juga berlatih mengisolasi kegagalan lexer, parser, dan evaluator ketika hasil program tidak sesuai harapan.
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
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.