Elektronika & Robotika Dasar

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

  1. Apakah seluruh bagian project sudah bisa berjalan bersamaan tanpa saling mengganggu?
  2. Bagian kode mana yang masih terasa berantakan/panjang dan perlu dirapikan jadi fungsi terpisah?
  3. 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

  1. Gabungkan seluruh bagian project (sensor + aktuator + logika) menjadi satu program utuh yang berjalan bersamaan.
  2. Rapikan struktur kode menjadi fungsi-fungsi kecil seperti contoh di atas.
  3. Mulai rencanakan tampilan fisik/rangka project jika belum dipikirkan.
  4. (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.