Pertemuan 11
Pengembangan Project - Sesi 2
Tujuan Pembelajaran
- Melanjutkan pembangunan project, menargetkan integrasi antar komponen semakin utuh.
- Mulai merapikan struktur program agar mudah dikembangkan lebih lanjut.
- Mendapat pendampingan untuk kendala teknis yang muncul.
Penjelasan Konsep
Materi pertemuan ini berupa panduan pendampingan, menyesuaikan progres masing-masing siswa.
Checklist progres yang disarankan untuk sesi ini
- Semua sensor & aktuator sudah tergabung dalam satu program (bukan file terpisah-pisah lagi).
- Logika kontrol utama sudah mencakup sebagian besar skenario penggunaan project.
- Struktur kode mulai dirapikan (dipecah jadi fungsi-fungsi kecil dengan nama jelas).
Pertanyaan pemandu untuk siswa
- Apakah seluruh bagian project sudah bisa berjalan bersamaan tanpa saling mengganggu?
- Bagian kode mana yang masih terasa berantakan/panjang dan perlu dirapikan jadi fungsi terpisah?
- Apa risiko terbesar yang bisa membuat project tidak selesai tepat waktu, dan bagaimana mengantisipasinya?
Tips troubleshooting umum untuk sesi pendampingan
- Jika sensor mulai "kacau" saat aktuator besar (motor dsb) aktif, ingatkan kembali soal kebutuhan daya terpisah (lihat pertemuan 6).
- Dorong siswa mulai memikirkan tampilan akhir fisik project (casing/rangka), bukan hanya rangkaian di breadboard, karena ini butuh waktu tambahan.
Kesalahan umum di tahap penggabungan
- Menggabungkan seluruh kode sekaligus dalam satu langkah besar - lebih aman menggabungkan satu fungsi (misalnya satu sensor) ke kode utama, uji, baru tambahkan fungsi berikutnya satu per satu.
- Fungsi yang dipecah tapi masih saling bergantung secara tersembunyi - misalnya
prosesLogika()diam-diam mengandalkan urutan pemanggilan tertentu; ini membuat kode rapi secara tampilan tapi tetap rapuh secara struktur. - Menunda urusan tampilan fisik sampai menit-menit terakhir - perakitan casing/rangka sering memakan waktu lebih lama dari perkiraan; menunda ini berisiko membuat project terlihat "belum jadi" walau secara fungsi sudah bekerja.
Komponen yang Dibutuhkan
Sesuai kebutuhan project masing-masing siswa, melanjutkan dari sesi pengembangan sebelumnya.
Diagram / Skema Pengkabelan
Tidak ada diagram tetap - lanjutkan dari skematik project masing-masing siswa, perbarui jika ada perubahan wiring.
Contoh Kode Program
// Tidak ada kode tetap untuk sesi ini.
// Contoh praktik baik: mulai memecah loop() yang panjang menjadi fungsi-fungsi kecil.
void loop() {
bacaSemuaSensor();
prosesLogika();
kendalikanAktuator();
}
void bacaSemuaSensor() {
// TODO: baca semua sensor project di sini
}
void prosesLogika() {
// TODO: logika if-else / state machine project di sini
}
void kendalikanAktuator() {
// TODO: kendalikan semua aktuator project di sini
}Tugas / Latihan
- Gabungkan seluruh bagian project (sensor + aktuator + logika) menjadi satu program utuh yang berjalan bersamaan.
- Rapikan struktur kode menjadi fungsi-fungsi kecil seperti contoh di atas.
- Mulai rencanakan tampilan fisik/rangka project jika belum dipikirkan.
- (Tantangan) Tambahkan komentar singkat di atas setiap fungsi bantu (
bacaSemuaSensor(),prosesLogika(), dst) yang menjelaskan apa yang fungsi itu asumsikan sudah terjadi sebelumnya dan apa yang dihasilkannya - kebiasaan ini akan sangat membantu saat kode project makin besar di sesi-sesi berikutnya.