Pemrograman dengan Kondisional - Python
Kotak Peralatan Guru
-
Tujuan dari Aktivitas ini
Aktivitas ini akan memperkenalkan siswa pada penggunaan pernyataan while dan if untuk membuat robot bergerak maju kecuali layar ditekan.
- Aktivitas ini akan memperkenalkan siswa pada kalimat bersyarat dan instruksi yang membuat robot bergerak maju kecuali jika layar ditekan.
- Untuk informasi lebih lanjut tentang pernyataan jika dan jika-else atau pernyataan lain yang digunakan dalam aktivitas ini, kunjungi informasi bantuan di dalam VEXcode V5. Untuk informasi lebih lanjut tentang alat bantu bawaan ini, lihat artikel tentang bantuan di Python
Kotak Peralatan Guru
Untuk saran mengenai strategi pengajaran untuk bagian ini, tinjau kolom Penyampaian pada Panduan Pengaturan Tempo yang Harus Dilakukan atau Tidak Dilakukan! (Google Doc / .docx / .pdf)
Clawbot siap mengambil keputusan!
Eksplorasi ini akan memberi Anda alat untuk dapat mulai membuat beberapa proyek keren yang menggunakan pernyataanif-else
- Perintah Python VEXcode V5 yang akan digunakan dalam eksplorasi ini:
- drivetrain.drive_for(FORWARD)
- otak.layar.menekan()
- drivetrain.stop()
- jika kondisi:
- kalau tidak:
- selama Benar:
- tunggu(5, DETIK)
Anda dapat menggunakan informasi Bantuan di VEXcode V5 untuk mempelajari tentang perintah Python.

Pastikan Anda memiliki perangkat keras yang dibutuhkan, buku catatan teknik Anda, dan VEXcode V5 yang siap digunakan.
| Kuantitas | Bahan-bahan yang Dibutuhkan |
|---|---|
| 1 |
VEX V5 Classroom Starter Kit (dengan firmware terbaru) |
| 1 |
VEXcode V5 (versi terbaru, Windows, macOS) |
| 1 |
Buku Catatan Teknik |
| 1 |
Templat Clawbot (Penggerak 2 motor, Tanpa Gyro) |
Tips untuk Guru
Jika ini adalah kali pertama siswa menggunakan VEXcode V5, mereka dapat merujuk ke Tutorial kapan saja selama eksplorasi ini. Tutorial-tutorial tersebut terletak di bilah alat.

Langkah 1: Mari kita mulai dengan memahami pernyataan bersyarat.
Sebelum Anda mulai memprogram dengan pernyataan kondisional, bacalah artikel yang menjelaskanif-elsepernyataan. Artikel tersebut dapat ditemukan di sini (Google Doc / .docx / .pdf).
Untuk daftar operator yang akan digunakan dalam pernyataan if-else, baca artikel yang menjelaskan Boolean. Artikel ini dapat ditemukan di sini (Google Doc/.docx/.pdf).
Langkah 2: Mari kita mulai pemrograman dengan pernyataan kondisional.
-
Buka contoh proyek template Clawbot (Drivetrain 2-motor, No Gyro).

- Bangun proyek di bawah ini.
# Mulai kode proyek
while True:
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
wait(5, MSEC)Lakukan hal berikut di buku catatan teknik Anda:
- Jelaskan apa yang harus dilakukan Clawbot dalam proyek ini. Anda perlu menjelaskan lebih dari sekadar fakta bahwa itu menciptakan tombol berhenti. Jelaskan instruksi mana yang membuat Clawbot melakukan apa.
- Tulis ringkasan satu kalimat yang menjelaskan apa yang dilakukan proyek tersebut.
- Uji untuk melihat apakah prediksi Anda tentang apa yang akan dilakukan Clawbot dalam proyek ini sudah benar.
- Beri nama proyek tersebutCreatingAStopButton. Unduh dan jalankan proyek tersebut di Clawbot.
- Periksa penjelasan Anda tentang proyek tersebut, dan tambahkan catatan untuk memperbaikinya jika diperlukan.
Jawaban untuk Kotak Peralatan Guru
-
Proyek ini membuat robot terus bergerak maju tetapi berhenti jika layar ditekan. Hal ini dilakukan dengan menggunakan pernyataan "selamanya" (while True)untuk menjalankan dan memeriksa secara terus menerus. Jika layar ditekan (True), maka Clawbot berhenti bergerak.
Siswa tidak diharapkan untuk memahami mengapa perintah while brain.screen.pressing():dan wait(5, MSEC) digunakan. Jelaskan bahwa perintah-perintah ini diperlukan karena kecepatan alur program robot. Jika fitur itu tidak ada, motor Clawbot akan berperilaku seolah-olah pengguna menekan layar berulang kali saat program berjalan melalui proyek tersebut. Sebaliknya, instruksi ini menghentikan alur program dan tidak membuat proyek memulai perulangan lagi sampai pengguna berhenti menekan layar.
Baris pseudocode tersebut bisa sesederhana ini: Maju terus hingga layar ditekan.
Buku catatan teknik mahasiswa dapat dipelihara dan dinilai secara individual (Google Doc / .docx / .pdf) atau secara tim (Google Doc / .docx / .pdf). Tautan-tautan sebelumnya memberikan rubrik yang berbeda untuk setiap pendekatan. Setiap kali rubrik disertakan dalam perencanaan pendidikan, praktik yang baik adalah menjelaskan rubrik tersebut atau setidaknya memberikan salinannya kepada siswa sebelum kegiatan dimulai.
Langkah 3: Memahami pernyataanwhiledanwait().
Perhatikan bahwa jika layar Brain ditekan, alur proyek akan bergerak cepat dan proyek akan beralih ke instruksi berikutnya, yaitu perintah drivetrain.stop().
Oleh karena itu, proyek ini membutuhkan perintah sementara dan tunggu yang memberitahu robot untuk tetap berhenti sampai layar Otak dilepaskan. Jika tidak, pernyataan foreverakan menyebabkan proyek dimulai lagi.
while brain.screen.pressing():
wait(5, MSEC)Perintahwhile and waitdiperlukan karena kecepatan alur proyek. Jika mereka tidak ada di sana, proyek akan beralih ke instruksi berikutnya sebelum robot sempat merespons.
Langkah 4: Ubah proyek.
Langkah selanjutnya adalah mengubah pernyataanjikamenjadi pernyataanjika-else
- Mulailah dengan menyimpanCreatingAStopButtonsebagai proyek baru,StopOrDrive.
- Jika Anda memerlukan bantuan untuk menyimpan proyek, artikel-artikel.
- Kemudian, bangun proyekStopOrDriveseperti yang ditunjukkan di bawah ini.
# Mulai kode proyek
while True:
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)- UnduhStopOrDriveke Slot 2 di Clawbot Anda.
- Untuk bantuan mengunduh dan menjalankan proyek, artikel.
- Lakukan uji cobaCreatingAStopButton(Slot 1) dan kemudian uji cobaStopOrDrive(Slot 2) dan bandingkan keduanya untuk melihat apakah ada perbedaan dalam perilaku robot. Catat perbedaan apa pun di buku catatan teknik Anda.
Kotak Peralatan Guru
-
Jawaban
dengan perilaku robot, seharusnyaperbedaan antara proyekdan
Jika siswa memerlukan bantuan lebih lanjut dalam memahami pernyataanif-else, lihat artikel ini (Google Doc / .docx / .pdf).
Kedua proyek tersebut membuat Clawbot berperilaku dengan cara yang sama. Satu-satunya perbedaan adalah penggunaan pernyataan if-else pada proyek StopOrDrive
Menggunakan pernyataan if-else akan memungkinkan Anda untuk menambahkan tombol tambahan ke layar pada aktivitas mendatang.
Perluas Pembelajaran Anda
Seiring berjalannya Lab STEM ini, siswa akan mengembangkan proyek-proyek yang memungkinkan layar Clawbot berfungsi sebagai antarmuka pengguna. Sebagai persiapan, tantang siswa untuk mencari cara menggambar persegi panjang berwarna di layar yang berfungsi seperti tombol. Karena saat ini kondisinya adalah menekan di mana saja pada layar, maka tombol tersebut harus menempati seluruh layar. Para siswa harus membuat proyek yang menyiarkan sebuah peristiwa untuk menggambar tombol saat dimulai.
Arahkan siswa untuk terlebih dahulu mempelajari bagaimana layar otak diorganisasikan ke dalam sistem koordinat. Mereka perlu memahami hal ini agar dapat mengatur parameter dalam perintah yang akan mereka gunakan. Koordinat yang digunakan sesuai dengan jumlah piksel, bukan jumlah kolom atau baris. Berikut adalah tata letak layarnya:
Mahasiswa harus merencanakan, menguji, dan menyempurnakan perubahan-perubahan pada proyek tersebut sambil mendokumentasikannya dalam buku catatan teknik mereka. Untuk rubrik buku catatan teknik individu, klik salah satu tautan berikut (Google Doc / .docx / .pdf), atau klik salah satu tautan berikut untuk buku catatan tim (Google Doc / .docx / .pdf).
Berikut contoh solusinya:
# Mulai kode proyek
draw = Event()
def draw_button():
brain.screen.set_fill_color(Color.RED)
brain.screen.draw_rectangle(0, 0, 480, 240)
wait(1, SECONDS)
draw(draw_button)
while True:
draw.broadcast()
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)Seperti yang Anda lihat, tombol tersebut digambar untuk menempati seluruh layar mulai dari titik asal (0, 0) dan mengisi seluruh 480 piksel horizontal (sumbu x) dan 240 piksel vertikal (sumbu y).
