Pelajaran 4: Perilaku Berulang
Pada Pelajaran sebelumnya, Anda telah mengamati cara menggunakan pernyataan jika agar Robot VR dapat memeriksa kondisi. Namun, karena alur proyek, kondisi di dalam pernyataan if hanya diperiksa sekali. Dalam pelajaran ini, Anda akan diperkenalkan dengan loop tak terbatas dan bagaimana loop tersebut dapat digunakan untuk menyelesaikan Tantangan Labirin Disk.

Hasil belajar
- Kenali bahwawhile terbatas mengulangi perilaku di dalam loop selamanya.
- Jelaskan mengapa perulangan tak terbatas whileakan digunakan dalam sebuah proyek.
- Jelaskan alur proyek dalam proyek yang memiliki beberapa pernyataan if di dalam sebuah loop tak terbatas while.
- Jelaskan mengapa pernyataan jika digunakan dengan perulangan tak terbatas while .
Memeriksa Kondisi Berulang Kali
Seperti yang diamati pada Pelajaran sebelumnya, pernyataan jika hanya memeriksa suatu kondisi sekali. Agar kondisi yang terdapat dalam pernyataan jika diperiksa berulang kali, proyek perlu kembali ke awal berulang kali. Untuk melakukan ini, diperlukan perulangan tak terbatas while.
while True:
wait (5, MSEC)Loop tak terbatas while menggunakan kondisi yang selalu bernilai Benar. whilemengeksekusi isi perulangan ketika kondisinya benar, sehingga perintah di dalam perulangan diulang tanpa.
Perulangan tak terbatas whiledan Masalah Labirin Disk
Agar Robot VR berperilaku sesuai dengan yang kita inginkan, dan berhasil menavigasi Labirin Disk, kondisi yang ditetapkan oleh pernyataanjikaharus diperiksa berulang kali saat Robot VR bergerak di sekitar Area Bermain. Menambahkanke seluruh proyek akan memungkinkan hal ini terjadi karena yang terdapat dalam pada proyek di bawah ini diperiksa berulang hingga proyek dihentikan.
Perhatikan indentasi di sini. Semua pernyataan jika diindentasi agar berada di dalam loop tak terbatas while. Akhir dari perulangan tak terbatas while ditandai dengan perintah wait.
def main():
while True:
# Jika mata depan mendeteksi warna hijau, maka belok kanan
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Jika mata depan mendeteksi warna biru, maka belok kiri
if front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)
# Jika mata depan mendeteksi warna merah, maka berhenti
if front_eye.detect(RED):
drivetrain.stop()
# Jika mata depan tidak mendeteksi warna apa pun, maka maju terus
if front_eye.detect(NONE):
drivetrain.drive(FORWARD)
wait(5, MSEC)Pada proyek dari Pelajaran sebelumnya, kondisi dalam pernyataan jika hanya diperiksa sekali. Karena kondisi dalam pernyataan jika hanya diperiksa sekali, Robot VR terus bergerak maju selamanya karena kondisi tidak terdeteksinya warna dilaporkan sebagai Benar di awal proyek.
Sekarang setelah loop tak terbatas while ditambahkan, setiap kondisi dari pernyataan if akan diperiksa berulang kali.
- Kondisi dari loop tak terbataswhile selalu Benar, dan oleh karena itu kode di dalam loop tak terbataswhile akan selalu dieksekusi. Ini akan terus menerus memeriksa kondisi pernyataan jika selama proyek berjalan.
- Ingatlah bahwa bagian 'dalam' dari loop while ditunjukkan oleh indentasi.
- Selama alur proyek, jika kondisi pernyataan jika bernilai Benar, maka perintah di dalam pernyataan jika akan dieksekusi. Jika kondisi pernyataan jika bernilai Salah, maka perintah di dalam pernyataan jika tidak akan dieksekusi, dan alur proyek akan berlanjut ke perintah berikutnya. Hal ini memungkinkan Robot VR untuk melakukan perilaku diskrit seperti berbelok atau berhenti setelah mendeteksi warna tertentu.
- Jika pernyataan digunakan dengan loop tak terbatas whileuntuk memastikan bahwa kondisi terus diperiksa, pada dasarnya menggabungkan alur proyek dari jikapernyataan di dalam loop.
Pilih tombol Berikutnya untuk melanjutkan ke bagian selanjutnya dari Pelajaran ini.