Langsung ke konten utama

Pelajaran 3: Menggunakan blok [Jika maka]

Dalam Tantangan Labirin Cakram, Robot VR memeriksa kondisi Sensor Mata Depan untuk melihat warna apa yang dilaporkan. Setiap warna sesuai dengan perilaku berbeda yang harus dilakukan oleh Robot VR.

Blok C If Then VEXcode VR dengan parameter boolean 'Apakah mata depan mendeteksi warna merah?'.
  • Mulailah proyek baru dan beri nama Unit7Lesson3.

    Toolbar VEXcode VR dengan tombol 'Nama Proyek' disorot dalam kotak merah, di sebelah kiri tombol Pilih Playground. Nama proyek ditetapkan menjadi Unit 7 Pelajaran 3.
  • Seret blok [Jika maka] ke ruang kerja dan lampirkan ke blok [Saat dimulai].

    Program blok VEXcode VR menggunakan blok When Started dan blok If Then C yang kosong.

    Untuk Informasi Anda

    Blok [If then] adalah blok C yang menerima blok pelapor Boolean sebagai input. Dengan menggunakan pola yang diamati saat menyelesaikan Labirin Cakram di Pelajaran 2, sebuah proyek dapat dibuat di mana Robot VR membuat keputusan apakah kondisi tersebut dilaporkan sebagai BENAR atau SALAH.

    Blok C If Then VEXcode VR dengan kotak merah yang menyoroti ruang parameter boolean.

    Blok [Jika maka] akan dijalankan satu kali dalam sebuah proyek. Dalam contoh ini, Sensor Mata Depan akan melaporkan TRUE jika objek hijau terdeteksi, dan menjalankan perintah di dalam blok C - berbelok ke kanan 90 derajat. Jika objek berwarna hijau tidak terdeteksi, proyek akan beralih ke perintah berikutnya dalam tumpukan.

    Proyek blok VR VEXcode yang berbelok ke kanan jika Front Eye mendeteksi warna hijau. Proyek tersebut berbunyi: Saat dimulai, jika mata depan mendeteksi warna hijau, maka belok kanan 90 derajat. Di luar pernyataan if terdapat blok stop driving.

    Menggunakan Blok Sakelar 


    Gambar di bawah ini menunjukkan pernyataan blok Switch [If then] untuk proyek contoh Pelajaran ini. 

    Proyek blok VR VEXcode yang sama tetapi dengan blok sakelar yang disertakan, yang berbelok ke kanan jika Front Eye mendeteksi warna hijau. Proyek ini dimulai dengan blok "When started" dan diikuti oleh versi blok "switch C" dari blok "If Then". Kode Python tersebut berbunyi 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'. Di luar pernyataan if terdapat blok stop driving.

    Proyek di bawah ini mencakup perintah yang sama yang dikonversi menjadi satu blok Switch.  

    Baris kode pertama, if front_eye.detect(GREEN): adalah perulangan kondisional yang memeriksa apakah Sensor Mata Depan mendeteksi warna hijau. Perhatikan bahwa seharusnya ada titik dua (:) di akhir baris ini. 

    Baris kode kedua, drivetrain.turn_for(RIGHT, 90, DEGREES) memberi tahu robot untuk berbelok ke kanan sebesar 90 derajat ketika Sensor Mata Depan mendeteksi warna hijau. Baris ini diberi indentasi default sebesar 4 spasikarena ini adalah perilaku spesifik yang akan dilakukan jika Sensor Mata Depan mendeteksi warna hijau. 

    Proyek blok VR VEXcode yang sama tetapi dengan blok sakelar yang disertakan, yang berbelok ke kanan jika Front Eye mendeteksi warna hijau. Proyek ini dimulai dengan blok "When started" dan diikuti oleh versi blok "switch C" dari blok "If Then". Kode Python tersebut berbunyi 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'. Di luar pernyataan if terdapat blok stop driving.

  • Seret blok <Color sensing> ke ruang kerja ke dalam input heksagonal blok [Jika maka].

    Proyek blok VR VEXcode yang menggunakan pernyataan if untuk mendeteksi warna cakram. Diawali dengan blok "When Started" dan kemudian blok komentar yang berbunyi 'jika Front Eye mendeteksi warna hijau maka belok kanan'. Terakhir, ada blok If Then kosong dengan parameter boolean dari blok Color Sensing yang berbunyi 'Mata depan mendeteksi warna merah?'.
  • Ubah parameter blok <Color sensing> menjadi 'hijau'.

    Proyek blok VR VEXcode yang menggunakan pernyataan if untuk mendeteksi cakram hijau. Diawali dengan blok "When Started" dan kemudian blok komentar yang berbunyi 'jika Front Eye mendeteksi warna hijau maka belok kanan'. Terakhir, ada blok If Then kosong dengan parameter boolean dari blok Color Sensing yang berbunyi 'Mata depan mendeteksi warna hijau?'. Menu tarik-turun warna terbuka untuk mengubah warna dari merah ke hijau.
  • Ketika Sensor Mata Depan mendeteksi cakram hijau, Robot VR perlu berbelok 90 derajat ke kanan untuk mulai menyelesaikan Labirin Cakram. Seret blok [Turn for] ke dalam blok [If then].

    Proyek blok VR VEXcode yang menggunakan pernyataan if untuk mendeteksi cakram hijau lalu berbelok ke kanan. Diawali dengan blok "When Started" dan kemudian blok komentar yang berbunyi 'jika Front Eye mendeteksi warna hijau maka belok kanan'. Terakhir, terdapat blok If Then dengan parameter boolean dari blok Color Sensing yang berbunyi 'Mata depan mendeteksi warna hijau?' dan blok Belok kanan 90 derajat di dalam kontainer If yang akan terpicu jika boolean tersebut bernilai benar.
  • Ikuti langkah-langkah yang sama untuk menambahkan blok [Jika maka] lainnya untuk ketiga warna di Labirin Cakram (hijau, biru, dan merah). Setiap warna dikaitkan dengan perilaku yang berbeda. Blok-blok di dalam blok [Jika maka] harus sesuai dengan perilaku yang diinginkan. Tambahkan blok-blok berikut ke proyek. Ketika Robot VR mendeteksi warna 'biru,' Robot VR akan berbelok ke kiri 90 derajat.

    Proyek blok VR VEXcode yang sama seperti sebelumnya, tetapi dengan tambahan pernyataan if untuk berbelok ke kiri jika ada cakram biru. Ini dimulai dengan blok When Started dan kemudian ada blok If Then dengan parameter boolean dari blok Color Sensing yang berbunyi 'Mata depan mendeteksi warna hijau?' dan blok Turn right for 90 degrees di dalam kontainer If. Terakhir, ada tumpukan blok if dan blok putar yang sama tetapi diubah menjadi putar ke kiri 90 derajat jika warna biru terdeteksi.
  • Ketika Robot VR mencapai ujung labirin, Robot VR akan mendeteksi warna 'merah'.

    Robot VR di taman bermain VR Disk Maze, robot tersebut berhenti dan melihat ke arah cakram merah.
  • Untuk menghentikan Robot VR, blok [Jika maka] lain perlu ditambahkan dengan instruksi tentang apa yang harus dilakukan ketika Robot VR mendeteksi 'merah'. Tambahkan blok-blok berikut ke proyek.

    Proyek blok VR VEXcode yang sama seperti sebelumnya, tetapi dengan tambahan pernyataan if untuk menghentikan pergerakan jika terdapat cakram merah. Ini dimulai dengan blok When Started dan kemudian ada blok If Then dengan parameter boolean dari blok Color Sensing yang berbunyi 'Mata depan mendeteksi warna hijau?' dan blok Turn right for 90 degrees di dalam kontainer If. Selanjutnya ada blok if dan blok putar yang sama, tetapi diubah menjadi belok kiri 90 derajat jika warna biru terdeteksi. Terakhir, tumpukan blok jika dan blok belok yang sama digunakan tetapi diubah menjadi Berhenti Mengemudi jika warna merah terdeteksi.
  • Robot VR juga dapat mengambil keputusan jika tidak melihat suatu warna dengan menggunakan nilai 'none'. Di titik awal Labirin Cakram, Robot VR tidak mendeteksi warna apa pun.

    Tampilan arena bermain VR dengan dasbor terbuka dan kotak merah yang menyoroti nilai sensor Mata Depan robot. Nilai 'Objek' saat ini adalah false, dan nilai 'Warna' saat ini adalah none.
  • Karena Sensor Mata Depan tidak mendeteksi warna di awal Labirin Cakram, Robot VR perlu bergerak maju hingga mendeteksi cakram hijau. Blok [Jika maka] lainnya dapat ditambahkan untuk menginstruksikan Robot VR tentang apa yang harus dilakukan ketika tidak ada warna yang terdeteksi.

    Blok VEXcode VR Color Sensing, yang bertuliskan 'Mata Depan tidak mendeteksi apa pun?'. Terdapat menu tarik-turun yang terbuka untuk menunjukkan bagaimana pengguna dapat mengubah warna target menjadi tidak ada.
  • Tambahkan blok-blok berikut ke proyek. Ketika Robot VR tidak mendeteksi warna apa pun, Robot VR akan bergerak maju.

    Proyek blok VR VEXcode yang sama seperti sebelumnya, tetapi dengan tambahan pernyataan if untuk melanjutkan jika tidak ada disk yang terdeteksi. Ini dimulai dengan blok When Started dan kemudian ada blok If Then dengan parameter boolean dari blok Color Sensing yang berbunyi 'Mata depan mendeteksi warna hijau?' dan blok Turn right for 90 degrees di dalam kontainer If. Selanjutnya ada blok if dan blok putar yang sama, tetapi diubah menjadi belok kiri 90 derajat jika warna biru terdeteksi. Selanjutnya, tumpukan blok jika dan blok belok yang sama digunakan tetapi diubah menjadi Berhenti Mengemudi jika warna merah terdeteksi. Terakhir, tumpukan blok dan putar yang sama digunakan tetapi diubah menjadi Maju jika tidak ada warna yang terdeteksi.
  • Robot VR kini memiliki instruksi untuk setiap warna yang terdeteksi oleh Sensor Mata.
    • Sensor Mata Depan mendeteksi 'hijau?'
      • Belok kanan 90 derajat
    • Sensor Mata Depan mendeteksi 'biru?'
      • Belok kiri 90 derajat
    • Sensor Mata Depan mendeteksi 'merah?'
      • Berhenti mengemudi
    • Sensor Mata Depan mendeteksi 'tidak ada?'
      • Terus maju
  • Buka Disk Maze Playground dan jalankan proyeknya.

Pilih tombol Berikutnya untuk melanjutkan ke bagian selanjutnya dari Pelajaran ini.