Pelajaran 2: Pernyataan If Else
Dalam Pelajaran ini, Anda akan membuat proyek di mana Robot VR merobohkan setidaknya dua kastil di Dynamic Castle Crasher Playground. Suatu algoritma akan dibutuhkan untuk memecahkan tantangan tersebut menggunakan loop dan umpan balik sensor karena tata letak Taman Bermain berubah setiap kali pengaturan ulang.
Contoh Tata Letak Playground Castle Crasher Dinamis:

Hasil belajar
- Identifikasi bahwa pernyataan if elsemenjalankan perintah di dalam cabang 'if' atau 'else' berdasarkan nilai Boolean yang dilaporkan.
- Identifikasi bahwa pernyataan if else biasanya digunakan dengan loop for atau loop whiletak terhingga untuk memeriksa kondisi lebih dari sekali.
- Identifikasi dan jelaskan mengapa pernyataan if elsedigunakan dengan loop.
- Jelaskan apa yang menyebabkan cabang 'if' atau cabang 'else' dijalankan dalam suatu proyek dengan pernyataan if else.
Mengapa Menggunakan Pernyataan If Else?
Tantangan Dynamic Castle Crasher berbeda dengan tantangan Castle Crasher di Unit 2. Tantangan Unit 2 menggunakan urutan sederhana dan perintah Drivetrain untuk merobohkan kastil di taman bermain statis.
def main():
drivetrain.set_drive_velocity(100, PERSEN)
drivetrain.set_turn_velocity(100, PERSEN)
drivetrain.drive_for(MAJU, 1550, MM)
drivetrain.turn_for(KANAN, 180, DERAJAT)
drivetrain.drive_for(MAJU, 700, MM)
drivetrain.turn_for(KANAN, 90, DERAJAT)Namun, karena perubahan tata letak Dynamic Castle Crasher Playground,perintah Drivetrain saja tidak akan cukup untuk membuat Robot VR merobohkan dua atau lebih kastil. Seperangkat perintah Drivetrain mungkin berfungsi di satu Playground, tetapi tidak di Playground lain. Suatu algoritma yang menggunakan sensor dan seleksi dalam iterasi akan dibutuhkan. Pernyataan if elseakan digunakan untuk membuat algoritma dengan menambahkan pilihan dengan pernyataan kondisional ke proyek ini.

Pernyataan Jika Lain
Pernyataan if else adalah pernyataan yang menerima kondisi Boolean. Pernyataan if elseadalah pernyataan kondisional yang mengendalikan alur suatu proyek. Pernyataan if elseakan mengeksekusi serangkaian perintah tertentuif kondisinya terpenuhi, else(jika kondisinya terpenuhi) maka serangkaian perintah lain akan dieksekusi – dengan demikian 'membuat cabang' aliran proyek. Hanya satu cabang dalam jika tidakyang akan dieksekusi pada satu waktu.
jika kondisi:
lulus
yang lain:
lulus- Jika kondisi dilaporkan sebagai Benar, perintah di dalam cabang 'if' dijalankan.
- Jika kondisi dilaporkan sebagai Salah, perintah di dalam cabang 'else' dijalankan.
- Setelah semua perintah di dalam salah satu cabang dijalankan, proyek akan beralih ke perintah berikutnya di luar pernyataanif else.
Anda mungkin sering menggunakan logikajikadalam tindakan sehari-hari. Misalnya, saat memutuskan apa yang perlu Anda bawa saat meninggalkan rumah berdasarkan cuaca di luar, Anda dapat menggunakan logikajika tidak. Jikahujan, bawalah payung; jika tidakbawalah kacamata hitam.
Cabang 'Jika' -
- Dalam skenario ini, kondisi 'hujan' terpenuhi, jadi cabang 'jika'akan dieksekusi, dan Anda akan membawa payung.

Cabang 'Lainnya' -
- Dalam skenario ini, kondisi 'hujan' adalah bukan terpenuhi, jadi cabang 'lainnya' akan dieksekusi, dan Anda akan mengambil kacamata hitam.

Pernyataan If Else dan Masalah Castle Crasher Dinamis
Ada dua langkah utama bagi Robot VR untuk berhasil merobohkan kastil di Dynamic Castle Crasher Playground. Pada dasarnya, Robot VR harus mampu menemukan dan mendeteksi kastil di taman bermain, lalu melaju untuk merobohkannya. Dalam pernyataanif else, hal ini dapat dibingkai sebagai:
- Jika Robot VR mendeteksi sebuah kastil, melajulah ke arah kastil tersebut untuk menjatuhkannya.

- Jika tidak,(ketika Robot VR tidak mendeteksi adanya kastil), putar balik dan periksa kastil di lokasi lain di Taman Bermain.

Sensor Jarak pada Robot VR dapat digunakan untuk mendeteksi kastil di Taman Bermain ini.Tidak seperti Taman Bermain lainnya, Taman Bermain Dynamic Castle Crasher tidak memiliki dinding. Karena kastil merupakan satu-satunya objek pada Dynamic Castle Crasher Playground, saat Sensor Jarak mendeteksi sebuah objek, objek tersebut akan menjadi kastil. Robot VR perlu memeriksa kondisi Sensor Jarak berulang kali, sehingga setelah kedua langkah dasarini selesai, Robot VR dapat kembali dan menggunakan Sensor Jarak untuk menemukan kastil berikutnya yang harus dirobohkan.
Merencanakan Proyek dengan Pernyataan If Else
- Mulai proyek baru dan pilih Dynamic Castle Crasher Playgroundsaat diminta.

- Beri nama proyek Unit9Pelajaran2.

-
Tambahkan komentar ke ruang kerja yang menguraikan tujuan proyek, berdasarkan langkah-langkah yang diidentifikasi di atas. Komentar pertama menjelaskan kondisi pernyataan if else, dan dua komentar berikutnya menjelaskan tindakan setiap cabang pernyataan if else. Ingat bahwa komentar Python dimulai dengan simbol # (pound). Proyek Anda akan terlihat seperti ini:
def main(): # Apakah Sensor Jarak mendeteksi kastil? # Kastil tabrakan terdeteksi oleh Sensor Jarak # Putar untuk menemukan kastil menggunakan Sensor Jarak -
Pernyataan if else dapat digunakan untuk memicu setiap tindakan yang diuraikan di atas. Setiap tindakan bergantung pada apakah kondisi Boolean dalam pernyataan if elsedilaporkan sebagai Benar atau Salah. Tambahkan pernyataan if elsesetelah komentar. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Apakah Sensor Jarak mendeteksi kastil? # Kastil tabrakan terdeteksi oleh Sensor Jarak # Putar untuk menemukan kastil menggunakan Sensor Jarak jika kondisi: lulus yang lain: lulus -
Setiap cabang pernyataanif else dapat didefinisikan menggunakan komentar. JikaSensor Jarak mendeteksi adanya kastil, Robot VR harus melaju untuk menjatuhkan kastil tersebut; jika tidakharus berputar untuk mendeteksi adanya kastil. Pindahkan cabang if dan else proyek agar selaras dengan komentar yang menjelaskan tindakan terkait. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Apakah Sensor Jarak mendeteksi kastil? jika kondisi: # Kastil tabrakan terdeteksi oleh Sensor Jarak lulus yang lain: # Putar untuk menemukan kastil menggunakan Sensor Jarak lulus
Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.