Belajar Pemrograman lewat Proyek Kecil yang Bisa Diperiksa

Rancang satu masalah kecil, tulis prediksi keluaran, uji batas, lalu perbaiki dengan bukti.

Mapel
Pemrograman
Jenjang
SD, SMP, SMA, Kuliah
Waktu baca
4 menit
Terbit
8 Oktober 2026

Belajar Pemrograman lewat Proyek Kecil yang Bisa Diperiksa

Banyak pemula merasa sudah memahami contoh kode ketika membacanya, tetapi bingung saat diminta membuat program baru. Perbedaannya terletak pada keputusan yang biasanya tersembunyi dalam contoh: data apa yang masuk, aturan mana yang berlaku, dan bagaimana memeriksa hasilnya. Cara belajar yang lebih kuat ialah menyelesaikan proyek kecil sampai hasilnya dapat dijelaskan. Kamu tidak perlu mulai dengan aplikasi besar. Program penghitung total tabungan mingguan sudah cukup untuk mempraktikkan variabel, perulangan, keputusan, dan pengujian.

Mulai dari aturan, bukan dari sintaks

Tulis masalah dalam kalimat yang dapat diuji: “Dari daftar setoran mingguan, hitung jumlah semua setoran yang tidak negatif. Jika ada nilai negatif, laporkan bahwa datanya salah.” Kalimat ini sudah menentukan masukan, keluaran, dan satu kasus yang harus ditolak. Masih ada pertanyaan yang perlu diputuskan: apakah daftar kosong menghasilkan nol atau pesan “belum ada data”? Pilih salah satu sebelum menulis kode. Aturan yang kabur menghasilkan kode yang sulit dinilai benar atau salah, meskipun tidak mengeluarkan pesan galat.

Untuk siswa SD, aturan dapat ditulis sebagai langkah bahasa sehari-hari: mulai dari nol, ambil satu setoran, tambah ke jumlah, ulangi sampai semua selesai. Gunakan kancing atau gambar kotak untuk melacak perubahan jumlah. Untuk siswa yang sudah memakai Python, buat fungsi yang menerima list agar contoh yang berbeda dapat diuji tanpa mengubah isi fungsi. Jangan menambah antarmuka, database, atau gambar sebelum aturan hitung yang kecil bekerja.

Prediksi dengan jejak

Sebelum menjalankan program, hitung contoh [2000, 3000, 1000] dengan tangan. Tabel jejaknya berisi keadaan awal 0, setelah setoran pertama 2000, setelah kedua 5000, dan setelah ketiga 6000. Perkiraan keluaran adalah 6000. Contoh kedua [5000, 0] memberi jejak 0, 5000, 5000; nol tidak mengubah jumlah tetapi masih merupakan data yang sah menurut aturan. Contoh ketiga [2000, -1000] harus ditolak, bukan diam-diam menghasilkan 1000. Tiga contoh ini memeriksa perilaku yang berbeda.

Dalam Python, fungsi kecil bisa ditulis dengan total = 0, lalu for setoran in daftar_setoran. Di setiap putaran, periksa apakah setoran < 0; jika ya, raise ValueError. Jika tidak, tambahkan ke total. Setelah perulangan, return total. Tempat return penting: bila diletakkan di dalam perulangan, fungsi berhenti setelah setoran pertama. Lacak nilai total setelah tiap baris yang mengubahnya, lalu bandingkan dengan tabel buatan tangan. Teknik ini berlaku juga pada penghitung skor, rata-rata nilai, dan daftar belanja.

Gunakan pesan galat sebagai petunjuk

Ketika kode gagal, baca jenis galat dan lokasi baris yang dilaporkan. SyntaxError sering menunjuk tanda yang hilang atau susunan blok yang salah. TypeError dapat muncul ketika teks dicampur dengan bilangan tanpa konversi. ValueError dapat berarti teks yang hendak diubah menjadi angka tidak memiliki bentuk angka. Namun program yang berjalan tanpa exception juga dapat salah secara logika, misalnya menghasilkan 2000 karena return terlalu cepat. Untuk kasus itu, tambahkan keluaran sementara atau gunakan debugger untuk melihat urutan keadaan. Hapus keluaran percobaan setelah masalah dipahami agar hasil akhir tetap jelas.

Ubah satu hal pada satu waktu. Jika hasil berbeda dari prediksi, temukan putaran pertama ketika jejak program dan jejak tangan tidak cocok. Periksa nilai masukan pada putaran itu, syarat yang dipilih, dan nilai total sebelum serta sesudah pembaruan. Mengganti banyak baris sekaligus membuat penyebab perbaikan tidak jelas. Catat contoh yang pernah gagal; ia bisa menjadi uji yang dijalankan lagi setelah perubahan berikutnya.

Buktikan aturan pada batasnya

Setelah contoh biasa berhasil, pilih kasus batas: daftar kosong, satu setoran, nilai nol, dan nilai negatif. Jika aturan menyebut batas umur 18 atau diskon mulai 100 ribu, uji angka tepat di batas, satu di bawah, serta satu di atas. Pengujian unit membantu menjalankan contoh yang sama berulang kali. Pada proyek Python, unittest menyediakan assertEqual untuk hasil dan assertRaises untuk kesalahan yang memang diharapkan. Nilai harapan harus berasal dari aturan yang ditulis sebelumnya, bukan disalin dari keluaran program yang mungkin keliru.

Saat proyek kecil sudah benar, rapikan nama variabel agar pembaca tahu artinya. Pisahkan fungsi perhitungan dari kode yang meminta masukan dan menampilkan hasil. Hindari mengulang rumus yang sama di beberapa tempat. Panduan gaya Python menekankan keterbacaan dan konsistensi, tetapi aturan gaya tidak menggantikan pemeriksaan perilaku. Kode yang rapi tetap perlu dicoba dengan data yang mewakili aturan.

Pola belajar yang dapat diulang adalah: tulis aturan, buat dua atau tiga contoh beserta prediksi, implementasikan versi terkecil, telusuri perubahan keadaan, lalu uji kasus batas. Setelah itu, jelaskan kepada teman mengapa hasilnya benar. Jika penjelasan masih tersendat, kecilkan contoh dan periksa satu langkah lagi. Satu proyek sederhana yang selesai dan dapat diperiksa memberi dasar yang lebih kuat untuk proyek berikutnya daripada banyak potongan kode yang hanya disalin.