Pelajaran 2: Ringkasan Pasca-Proyek
Blok [If then else] digunakan agar Robot VR dapat mengambil keputusan. Jika kondisi Boolean bernilai TRUE, maka blok kode di dalam cabang 'If Then' akan dijalankan. Jika kondisi Boolean bernilai FALSE, maka blok kode di dalam cabang 'Else' akan dijalankan.

Dalam proyek ini, Robot VR bergerak menuju sebuah bangunan ketika Sensor Jarak mendeteksi sebuah objek dan blok <Distance found object> dilaporkan sebagai TRUE. Ini menginstruksikan cabang 'If Then' dari proyek untuk dijalankan. Cabang ini mencakup blok [Drive]. Robot VR kemudian melewati cabang 'Else' dari proyek tersebut.

Karena blok [If then else] ditempatkan di dalam blok [Forever], proyek akan kembali ke bagian atas blok [Forever] untuk memeriksa kondisi blok [If then else]. Perulangan ini akan terus berlanjut selamanya, menginstruksikan Robot VR untuk terus memeriksa kondisi [Jika maka else] ratusan kali per detik.
Perhatikan bahwa blok [Drive] dan [Turn] di dalam blok [If then else] adalah blok yang tidak menunggu. Blok non-tunggu tidak menghentikan alur proyek saat sedang berjalan. Perilaku tanpa menunggu yang dieksekusi dalam blok [Jika maka else] (seperti maju jika objek terdeteksi) akan berlanjut selama kondisi diperiksa, dan hanya akan berubah ketika kondisi berubah.

Jika blok <Distance found object> melaporkan FALSE, maka cabang 'Else' dari proyek akan dieksekusi. Cabang 'Else' mencakup blok [Turn].

Untuk Informasi Anda
Blok [If then else] digunakan untuk memastikan bahwa hanya satu cabang dalam proyek yang dijalankan ketika kondisi diperiksa. Hanya satu kejadian atau kondisi yang dapat benar pada satu waktu. Hal ini membuat proyek menjadi lebih efisien.

Bandingkan proyek saat ini dengan proyek yang dibuat di Unit 7. Proyek Unit 7 menggunakan empat blok [Jika maka].

Saat menjalankan proyek dengan beberapa blok [If then], ada kemungkinan beberapa kondisi akan melaporkan TRUE dan proyek menjalankan perintah di blok [Forever]. Dalam proyek ini, kedua kondisi tersebut dapat melaporkan TRUE selama loop [Selamanya] yang sama. Konflik seperti ini dapat menyebabkan proyek berhenti berjalan atau berjalan lebih lambat.

Menggunakan blok [If then else] akan menghindari bug seperti ini karena hanya satu kondisi yang dapat bernilai TRUE pada saat tertentu dengan blok ini.

Pertanyaan
Silakan pilih tautan di bawah ini untuk mengakses kuis pelajaran.
Google Doc / .docx / .pdf