Pelajaran 3: Pernyataan Kondisional
Pada Pelajaran sebelumnya, Anda mempelajari cara menggunakan data dari Sensor Optik dalam suatu proyek untuk mengurutkan Disk berdasarkan warna. Dalam Pelajaran ini, Anda akan mengembangkan apa yang Anda pelajari untuk mengeksplorasi opsi dalam VEXcode yang memungkinkan proyek untuk membuat keputusan apa pun warna yang terdeteksi oleh Sensor Optik. Anda akan belajar tentang:
- Mengapa mengoptimalkan pengambilan keputusan penting dalam lingkungan industri.
- Perbedaan antara blokIf then,If then else, danElse if.
Memeriksa Beberapa Kondisi
Pada Pelajaran sebelumnya Anda membuat proyek yang dapat mengurutkan Disk berdasarkan warna ke palet merah atau palet hijau. Meskipun ini efektif, proyek hanya dapat mengurutkan satu Disk dalam satu waktu. Dalam lingkungan pabrik, banyak objek perlu disortir dan diletakkan di palet berulang kali. Agar dapat melakukan ini secara efektif, Lengan 6-Sumbu harus mampu berulang kali membuat keputusan tentang cara menggerakkan objek, atau apakah campur tangan manusia dibutuhkan. Pertimbangkan Kubus yang Anda pindahkan dalam kursus Pengenalan Lengan 6-Sumbu.
Bagaimana jika ada Cube biru di zona pemuatan? Apa yang akan terjadi dalam proyek dari Pelajaran sebelumnya? Dalam lingkungan industri, semua kondisi yang mungkin perlu dipertimbangkan. Jika suatu benda yang salah tercampur ke dalam benda-benda yang akan disortir, campur tangan manusia kemungkinan besar diperlukan untuk memastikan bahwa sel kerja dan para pekerja di sekitarnya tetap aman dan berfungsi secara efektif.
BerurutanJika makablok
Dalam Pelajaran sebelumnya, Anda menggunakan dua blokJika makasecara berurutan untuk memeriksa dua kondisi terpisah satu demi satu, pada dasarnya mengajukan dua pertanyaan dalam proyek.

Pertama, Apakah benda tersebut berwarna merah?, lalu, Apakah benda tersebut berwarna hijau?. Setiap kondisi diperiksa setiap kali proyek dijalankan, terlepas dari apa yang terdeteksi oleh Sensor Optik. Meskipun struktur ini memungkinkan Anda mengurutkan satu Disk pada satu waktu secara efektif, ini bukanlah cara yang paling efisien untuk melakukannya. Cakram merah dapat disortir, tetapi Sensor Optik juga dapat mendeteksi warna hijau dari sesuatu yang lain di lingkungan, dan sebaliknya. Tidak ada pula pertimbangan yang diberikan untuk objek yang bukan merah atau hijau, seperti objek tak terduga yang dapat menimbulkan masalah keselamatan.
Gambar Alur Proyek
Sepanjang Pelajaran ini, gambar yang menjelaskan alur proyek VEXcode dibagikan. Anda dapat membuat ulang gambar-gambar ini di buku catatan teknik Anda saat Anda mempelajari Pelajaran.
Gunakan alat di Google Slides atau Microsoft PowerPoint seperti panah, kotak, atau diagram alur untuk membantu membuat visualisasi yang paling sesuai untuk Anda di buku catatan Anda.

Blok berurutanJika maka yang lain
Ada blok berbeda yang dapat digunakan untuk memungkinkan kita memeriksa kondisi merah dan hijau serta memperhitungkan warna yang berbeda. BlokIf then elseadalah blok C yang menjalankan blok di dalam cabangifatau cabangelse, berdasarkan nilai Boolean yang dilaporkan.

Setelah menjalankan cabang jikaatau cabang jika tidak, proyek akan berpindah ke blok berikutnya dalam tumpukan. Alur proyek blokIf then elsejuga dapat ditampilkan untuk membuat cabangnya lebih terlihat.

Perhatikan bahwa dalam contoh ini, cabang elsedigunakan untuk menangani kondisi suatu objek yang bukan merah maupun hijau. Dalam kasus tersebut, campur tangan manusia akan dibutuhkan. Sebelumnya Anda mempelajari bahwa lampu biru di Menara Sinyal digunakan untuk menunjukkan perlunya campur tangan manusia. Selain itu, penghentian terkendali akan menghentikan gerakan Lengan 6-Sumbu guna menjaga keselamatan manusia dan mesin. Blok menara sinyal Setdan blok penghenti kontrolSetdapat ditambahkan ke cabangelse, sehingga objek yang tidak berwarna merah atau tidak berwarna hijau akan memicu fitur keselamatan ini.

Gambar sejauh ini hanya menunjukkan cara menangani kondisi objek yang berwarna merah. lainnya Jika tidak,diperlukan untuk memeriksa kondisi objek yang berwarna hijau.

Mari kita pikirkan alur proyek dengan struktur ini. Setiap kali proyek dijalankan, beberapa cabang akan dijalankan, tidak peduli warna apa yang terdeteksi oleh Sensor Optik.

Mari kita pikirkan ini dengan Disk merah sebagai contoh. Jika Sensor Optik mendeteksi warna merah, kondisi blokJika maka yang lainpertama akan melaporkan sebagai benar. Blok di dalam cabangjikaakan berjalan, menggerakkan Lengan 6-Sumbu di atas palet merah. Akan tetapi, kondisi di dalam blokIf then elsekedua akan dilaporkan sebagai salah. Artinya blok di dalam cabangatauakan berjalan, yang membuat Lengan 6-Sumbu berhenti secara terkendali dan menyalakan lampu biru di Menara Sinyal. Karena Lengan 6-Sumbu akan berada dalam kondisi berhenti terkendali, tidak ada blok lain dalam proyek yang dapat berjalan, dan itu akan menghentikan semua operasi hingga masalah tersebut teratasi.

Meskipun sekarang kita dapat memperhitungkan objek yang tidak terduga (seperti Kubus biru), tetapi Lengan 6-Sumbu tidak akan pernah mencapai titik dalam proyek pelepasan Cakram ke palet. Daripada memeriksa kondisi merah dan hijau satu demi satu, ada cara untuk memeriksa apakah suatu objek berwarna hijauhanyajika objek tersebut tidak berwarna merah.
Blok bersarangJika maka yang lain
Masing-masing cabang blokIf then elsedapat menerima blok C lainnya di dalamnya. Ini disebut 'bersarang'. Artinya blokIf then elseyang kedua dapat disarangkan dalam cabangelseyang pertama, seperti ini.
Sekarang kondisi Sensor Optik yang mendeteksi warna hijau hanya akan diperiksa jika kondisi sebelumnya (Sensor Optik mendeteksi warna merah) melaporkan sebagai salah. Jadi ketika Sensor Optik mendeteksi warna merah, hanya cabangpertama jikayang akan berjalan, menggerakkan Disk di atas palet merah.

Jika Sensor Optik mendeteksi warna hijau, kondisi cabangjikapertama (Optik mendeteksi merah) akan melaporkan salah, dan cabangjikaakan berjalan. Kondisi blok bersarang Jika maka yang lainakan diperiksa untuk melihat apakah Sensor Optik mendeteksi warna hijau. Kondisi itu akan dilaporkan sebagai benar, jadi blok di dalam cabangjikakedua akan berjalan, memindahkan Disk ke palet hijau.
Jika baik merah maupun hijau tidak terdeteksi oleh Sensor Optik (seperti kasus Kubus biru yang diambil), kedua kondisi akan melaporkan sebagai salah, sehingga cabangelsedari blok bersarangIf then elseakan berjalan, memicu penghentian terkendali dan memperingatkan pekerja akan perlunya campur tangan manusia. Alur proyek ini juga dapat divisualisasikan sebagai diagram alir, seperti yang terlihat di sini.

Blok bersarangJika, maka,blokdapat dilihat sebagai daftar pertanyaan yang berjenjang. Berikut pertanyaannya:
- Apakah bendanya berwarna merah?
- Ya? Minggirlah dari palet merah dan berhentilah bertanya.
- TIDAK? Ajukan pertanyaan lainnya.
- Apakah benda tersebut berwarna hijau?
- Ya? Minggirlah dari palet hijau dan berhentilah bertanya.
- TIDAK? Maka objek tersebut tidak berwarna merah atau hijau. Ubah warna Menara Sinyal dan picu pemberhentian terkendali.
- Apakah benda tersebut berwarna hijau?
Perhatikan bahwa pertanyaan tersebut hanya ditanyakan jika pertanyaan sebelumnya dijawab secara negatif.
Sementara ini menangani semua kondisi yang ingin kita periksa, ada blok lain yang akan memeriksa kondisi dengan cara yang sama, tetapi lebih mudah dibangun daripada blok bersarang.
Jika tidakBlok
Blok Else if memungkinkan Anda memeriksa beberapa kondisi dalam blok yang sama. Setiap kondisi dalam blok ini akan diperiksa secara berurutan, hanya jika kondisi sebelumnya dilaporkan salah. Jika semua kondisi Boolean untuk cabang else if salah, blok di dalam bagian else akan dijalankan.

Blok ini memiliki alur proyek yang sama dengan blok bersarangIf then else, tetapi lebih mudah dibangun karena tidak perlu menumpuk blok. Anda akan mempelajari lebih lanjut tentang pengkodean dengan blok Else ifdalam Pelajaran berikut.
Periksa Pemahaman Anda
Sebelum melanjutkan ke Pelajaran berikutnya, pastikan Anda memahami konsep dalam Pelajaran ini dengan menjawab pertanyaan berikut di buku catatan teknik Anda.
Pertanyaan Periksa Pemahaman Anda > (Google Doc/ .docx / .pdf)
PilihBerikutnya >untuk menerapkan blok Jika tidakdalam suatu proyek.