Langsung ke konten utama

Pemrograman Berbasis Perilaku

Diagram alur yang menunjukkan bagaimana perilaku kompleks bergantung pada penggunaan beberapa perilaku sederhana. Terdapat banyak jalur percabangan untuk mendemonstrasikan berbagai contoh. Salah satu alur tersebut, dari tindakan kompleks ke tindakan sederhana, adalah sebagai berikut: 'Mengoperasikan kendaraan otonom' yang membutuhkan 'Bepergian ke lokasi tertentu' yang membutuhkan 'Bergerak maju selama lima detik' yang membutuhkan 'Menggerakkan roda robot' yang membutuhkan 'Memutar motor'.
Perilaku kompleks bergantung pada penggunaan beberapa perilaku sederhana.

Kompleksitas Pemrograman

Robot dapat dirancang untuk melakukan berbagai macam tugas. Beberapa tugas ini sangat sederhana, seperti membuka pintu otomatis. Yang lainnya bisa jauh lebih kompleks, seperti mobil otonom yang menavigasi lingkungan perkotaan. Sekompleks apa pun tugasnya, tugas tersebut dapat dipecah menjadi tugas-tugas yang lebih sederhana. Tugas-tugas ini dikenal sebagai perilaku dan merupakan blok bangunan pemrograman robotika.

Perilaku adalah cara robot bertindak, dan kompleksitasnya dapat bervariasi tergantung pada bagaimana robot tersebut dibangun atau diprogram. Robot bergerak sederhana seperti VEX V5 Speedbot hanya memiliki dua motor, sedangkan Clawbot memiliki empat motor, termasuk dua motor tambahan untuk Lengan dan Cakar. Perilaku kedua robot tersebut akan melibatkan penggerakan motor untuk mencapai tujuan yang telah ditetapkan. Dengan lebih banyak desain dan pemrograman, Anda dapat mulai dari perilaku sederhana ini dan melakukan perilaku yang lebih kompleks.

Berikut adalah daftar perilaku robot yang meningkat dari yang sederhana hingga yang kompleks untuk Speedbot dan Clawbot. Dalam tanda kurung, Anda dapat melihat perilaku yang lebih sederhana yang membentuk masing-masingnya.

  • Putar motor yang terhubung ke port tertentu
  • Maju ke depan (putar kedua motor kiri dan kanan menggunakan Drivetrain)
  • Berkendara sejauh 5 meter (maju, lalu berhenti)
  • Ambil objek yang jauh (bergerak sejauh 2 meter, putar motor cakar untuk mengambilnya)
  • Mengambil suatu objek dan meletakkannya di rak yang tinggi (mengambil objek yang jauh, berbalik, bergerak sejauh 2 meter, menggunakan motor lengan dan cakar untuk mengangkat dan melepaskan objek)

Anda dapat melihat bagaimana Anda dapat menguraikan perilaku yang lebih kompleks menjadi perilaku yang lebih sederhana. Hal-hal ini menjadi dasar dari setiap tugas yang kompleks.

Ikon Tips Guru Tips untuk Guru

  • Arahkan siswa untuk memecah perilaku robot yang kompleks menjadi langkah-langkah yang lebih kecil dan sederhana. Proses ini dikenal sebagai dekomposisi.

  • Jelaskan kepada siswa bahwa menguraikan (memecah) perilaku kompleks menjadi tugas-tugas yang lebih sederhana merupakan bagian penting dari perencanaan dan pemrograman.

  • Izinkan siswa untuk menjalankan proyek otonom mereka jika waktu kelas mencukupi.

Perluas Pembelajaran Anda Perluas Pembelajaran Anda

Untuk menghubungkan aktivitas ini dengan pemikiran komputasional dan dekomposisi, mintalah siswa untuk memetakan, atau membuat daftar, langkah-langkah perilaku yang akan dilakukan robot untuk menyelesaikan aktivitas di bawah ini:

  • Aktivitas Satu: Berjalan sejauh 1 meter dan kembali ke titik awal.

  • Aktivitas Kedua: Balikkan kotak yang terletak 60 cm di depan robot.

  • Aktivitas Ketiga: Ambil sebuah benda, goyangkan, berjalan sejauh 30 cm, letakkan benda tersebut di tanah, dan kembali ke titik awal.

Ikon Motivasi Diskusi Mendorong Diskusi

Siswa diminta untuk membagikan langkah-langkah perilaku yang telah mereka cantumkan untuk aktivitas dari bagian Perluas Pembelajaran Anda di atas. Masing-masing pertanyaan berikut dapat diajukan setelah salah satu atau semua aktivitas.

T:Langkah atau perilaku apa saja yang dicantumkan setiap kelompok untuk berhasil menyelesaikan aktivitas ini?
J:Siswa perlu mempertimbangkan jarak yang harus ditempuh robot dan pergerakan serta kecepatan lengan, selain mencantumkan perilaku robot sederhana yang diperlukan untuk menyelesaikan aktivitas atau tugas (maju, mundur, berbelok kiri atau kanan). Siswa harus membuat daftar perilaku mereka sendiri sehingga setiap langkah terwakili.

T:Apa persamaan dan perbedaan antara solusi (daftar langkah-langkah) untuk aktivitas ini?
J:Siswa akan membuat perbandingan berdasarkan solusi mereka. Diagram Venn mungkin merupakan cara yang baik untuk mengorganisir langkah-langkah yang dibagikan siswa. Jika mayoritas siswa menyebutkan langkah tertentu, tambahkan langkah tersebut di tengah tempat lingkaran-lingkaran tersebut saling tumpang tindih. Jika hanya satu atau beberapa siswa yang menyebutkan langkah tertentu, tambahkan langkah tersebut ke salah satu lingkaran. Setelah selesai, langkah-langkah di tengah seharusnya sangat sederhana dan tidak dapat dipecah lagi, sedangkan langkah-langkah yang tercantum hanya di salah satu lingkaran kemungkinan tidak sesederhana yang seharusnya. Namun, pola ini mungkin berbalik tergantung pada pengalaman kelas tersebut dalam memecah perilaku kompleks menjadi langkah-langkah paling sederhana.

T:Apakah ada kesamaan dengan solusi yang berhasil? Jika ya, apa saja solusi tersebut?
A:Solusi yang paling berhasil adalah solusi yang mencakup detail dan spesifikasi paling lengkap. Robot tersebut diprogram dalam bahasa dengan perilaku yang sangat spesifik yang telah diuraikan menjadi komponen terkecilnya. Sebagai contoh, mungkin umum untuk mengatakan bahwa robot "bergerak sejauh 1 meter dan kembali ke titik awal", tetapi deskripsi tingkat tinggi tersebut tidak mudah diterjemahkan saat diprogram. Anda harus memecahnya lebih lanjut: bergerak maju sejauh 1 meter, berputar 180 derajat, dan bergerak maju sejauh 1 meter. Namun, bahkan itu mungkin belum cukup akurat dan Anda membutuhkan tingkat detail ini agar siap untuk pemrograman: atur kecepatan penggerak dan belok ke 40%, maju sejauh 1 meter, tunggu 3 detik, belok kiri 180 derajat, tunggu 1 detik, dan maju sejauh 1 meter. Semakin kita menguraikan perilaku kompleks untuk menjadikannya perilaku robot yang siap diprogram, semakin baik persiapan kita untuk menyelesaikan suatu proyek.