Pelajaran 4: Perilaku Berulang
Dalam Pelajaran sebelumnya, Anda mengamati cara menggunakan pernyataan jika agar Robot VR dapat memeriksa kondisi. Namun, karena alur proyek, kondisi dalam pernyataan if hanya diperiksa satu kali. Dalam Pelajaran ini, Anda akan diperkenalkan pada perulangan tak terhingga dan bagaimana perulangan tersebut dapat digunakan untuk menyelesaikan Tantangan Labirin Cakram.

Hasil belajar
- Identifikasi bahwa loop while tak terhingga mengulang perilaku di dalam loop selamanya.
- Jelaskan mengapa perulangan whiletak terhingga akan digunakan dalam suatu proyek.
- Jelaskan aliran proyek yang mempunyai beberapa pernyataan if di dalam loop tak terhingga while.
- Jelaskan mengapa pernyataan jika digunakan dengan perulangan sementara tak terhingga.
Memeriksa Kondisi Berulang Kali
Seperti yang diamati dalam Pelajaran sebelumnya, pernyataan jika hanya memeriksa kondisi satu kali. Agar kondisi yang terkandung dalam pernyataan jika dapat diperiksa berulang kali, proyek perlu mengulang kembali ke awal berkali-kali. Untuk melakukan ini, diperlukan perulangan whiletak terhingga.
sementara Benar:
tunggu (5, MSEC)Perulangan tak terhingga while menggunakan kondisi yang selalu bernilai Benar. While loop mengeksekusi badan loop ketika kondisinya True, sehingga perintah di dalam loop diulang tanpa batas.
Perulangan tak terhingga sementaradan Masalah Labirin Cakram
Agar Robot VR berperilaku sesuai keinginan kita, dan berhasil menavigasi Disk Maze, kondisi yang ditetapkan oleh pernyataanjikaharus diperiksa berulang kali saat Robot VR berkeliling di Taman Bermain. Menambahkan loopwhiletak terhingga ke seluruh proyek akan memungkinkan hal ini terjadi karena semua pernyataan if yang terdapat dalam loop while tak terhingga dalam proyek di bawah ini diperiksa berulang kali hingga proyek dihentikan.
Perhatikan lekukan di sini. Semua pernyataan jika diindentasi agar berada dalam loop sementara tak terhingga. Akhir dari perulangan while tak terhingga dicatat oleh perintah wait.
def main():
while True:
# Jika mata depan mendeteksi hijau, maka belok kanan
if front_eye.detect(GREEN):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# Jika mata depan mendeteksi biru, maka belok kiri
if front_eye.detect(BLUE):
drivetrain.turn_for(LEFT, 90, DEGREES)
# Jika mata depan mendeteksi merah, maka berhenti
if front_eye.detect(RED):
drivetrain.stop()
# Jika mata depan mendeteksi none, maka melajulah ke depan
if front_eye.detect(NONE):
drivetrain.drive(FOWARD)
wait(5, MSEC)Dalam proyek dari Pelajaran sebelumnya, kondisi dalam pernyataan jika hanya diperiksa satu kali. Karena kondisi dalam pernyataan jika hanya diperiksa satu kali, Robot VR terus melaju selamanya karena kondisi tidak ada warna yang terdeteksi dilaporkan sebagai Benar di awal proyek.
Sekarang setelah perulangan while tak terhingga telah ditambahkan, setiap kondisi pernyataan if akan diperiksa berulang kali.
- Kondisi perulangan tak terhinggawhile selalu Benar, dan karenanya kode di dalam perulangan tak terhinggawhile akan selalu dieksekusi. Ini akan terus memeriksa kondisi pernyataan jika saat proyek berjalan.
- Ingat bahwa 'bagian dalam' dari loop while ditunjukkan dengan lekukan.
- Selama alur proyek, jika kondisi pernyataan jika bernilai Benar, perintah di dalam pernyataan jika akan dieksekusi. Jika kondisi pernyataan jika adalah Salah, perintah di dalam pernyataan jika tidak dieksekusi, dan alur proyek akan berlanjut ke perintah berikutnya. Hal ini memungkinkan Robot VR untuk melakukan perilaku diskret seperti berputar atau berhenti setelah mendeteksi warna tertentu.
- Pernyataan If digunakan dengan loop whiletak terhingga guna memastikan kondisi terus diperiksa, pada hakikatnya menggabungkan alur proyek pernyataan ifdi dalam loop.
Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.