Lompat ke isi utama

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.

Diagram yang menunjukkan aliran proyek blok if then else dalam loop forever. Saat proyek dimulai, kondisi Sensor Jarak diperiksa. Jika suatu objek ditemukan, kondisi tersebut benar, maka blok Drive forward dieksekusi. Jika Tidak ada objek yang ditemukan, kondisi tersebut melaporkan salah, jika tidak, blok belok kanan dieksekusi. Semua ini diulang terus menerus dalam putaran Selamanya.

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.

Proyek ada di sebelah kiri dengan sorotan hijau yang menunjukkan aliran proyek dari cabang "jika maka" yang sedang dieksekusi. Di sebelah kanan diperlihatkan tampilan atas-bawah Taman Bermain, dengan tanda panah dan kotak merah yang menyorot kastil, atau objek, yang terdeteksi oleh Sensor Jarak dalam contoh ini.

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.

Proyek VEXcode VR yang sama dengan panah yang bergerak dari bawah blok Forever kembali ke atas untuk menunjukkan aliran proyek kembali ke atas loop Forever untuk mengulangi semua perintah di dalamnya.

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

Proyek ada di sebelah kiri dengan sorotan merah yang menunjukkan aliran proyek cabang else yang sedang dieksekusi. Di sebelah kanan diperlihatkan tampilan atas-bawah Playground, dengan tanda panah melengkung di sekeliling Robot VR yang mengindikasikan putaran untuk mendeteksi suatu objek, karena tidak ada objek langsung di depan Sensor Jarak.

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.

Diagram yang menunjukkan aliran proyek blok if then else dalam loop forever. Saat proyek dimulai, kondisi Sensor Jarak diperiksa. Jika suatu objek ditemukan, kondisi tersebut benar, maka blok Drive forward dieksekusi. Jika Tidak ada objek yang ditemukan, kondisi tersebut melaporkan salah, jika tidak, blok belok kanan dieksekusi. Semua ini diulang terus menerus dalam putaran Selamanya.

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

Diagram alur proyek contoh dari Unit 7 dengan empat blok Jika maka yang berurutan. Dalam setiap kasus, parameter If menggunakan Front Eye Sensor untuk mendeteksi warna tertentu, dan melakukan perilaku berdasarkan warna yang terdeteksi. Jika warna terdeteksi, maka Jika benar, dan blok di dalamnya akan berjalan, dan ini akan terjadi berulang kali untuk setiap bagian kode.

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.

Diagram aliran proyek dua blok Jika maka yang berurutan dalam satu putaran selamanya. Saat dimulai, proyek akan terlebih dahulu memeriksa kondisi 1, parameter blok jika maka yang pertama. Jika itu benar, belokan kanan sejauh 90 blok di dalamnya akan berjalan. Jika kondisi tersebut salah, proyek berpindah ke blok if then berikutnya untuk memeriksa kondisi 2. Jika kondisi 2 benar, dorongan maju sejauh blok 200 mm di dalamnya akan berjalan. Jika salah, proyek akan kembali ke puncak putaran selamanya untuk mengulang proses lagi.

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

Diagram aliran proyek menggunakan blok if then else dalam loop forever. Saat dimulai, kondisi cabang if then akan diperiksa. Jika benar, dan penggerak sedang bergerak, maka blok dalam cabang Jika akan berjalan, dan robot akan berbelok ke kiri 90 derajat; jika tidak, robot akan bergerak maju sejauh 200 mm. Keputusan untuk memeriksa satu kondisi ini akan terus dilakukan karena proyek berada dalam siklus yang tidak berkesudahan.

Pertanyaan

Silakan pilih tautan di bawah untuk mengakses kuis pelajaran.

Google Doc / .docx / .pdf