Pelajaran 2: Ringkasan Pasca Proyek
Blok [If then else] digunakan agar Robot VR dapat membuat keputusan. Jika kondisi Boolean adalah TRUE, maka blok di dalam cabang 'If Then' akan berjalan. Jika Kondisi Boolean adalah FALSE, maka blok di dalam cabang 'Else' akan berjalan.

Dalam proyek ini, Robot VR melaju menuju sebuah gedung ketika Sensor Jarak mendeteksi sebuah objek dan blok <Distance found object> dilaporkan sebagai BENAR. Ini menginstruksikan cabang 'Jika Maka' dari proyek untuk berjalan. 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, memberi instruksi pada Robot VR untuk terus memeriksa kondisi [Jika maka yang lain] ratusan kali per detik.
Perhatikan bahwa blok [Drive] dan [Turn] di dalam blok [If then else] adalah blok yang tidak menunggu. Blok yang tidak menunggu tidak menghentikan alur proyek saat sedang berjalan. Perilaku tanpa menunggu yang dijalankan dalam blok [If then else] (seperti melaju ke depan jika objek terdeteksi) akan terus berlanjut selagi kondisi diperiksa, dan hanya akan berubah saat kondisi berubah.

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

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

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

Saat menjalankan suatu proyek dengan beberapa blok [If then], mungkin saja beberapa kondisi akan melaporkan TRUE dan proyek tersebut berjalan melalui perintah dalam blok [Forever]. Dalam proyek ini, kedua kondisi 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 bisa BENAR pada saat tertentu dengan blok ini.
