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. Diperlukan algoritma untuk menyelesaikan tantangan menggunakan perulangan dan umpan balik sensor karena tata letak Taman Bermain berubah setiap kali direset.
Contoh Tata Letak Dynamic Castle Crasher Playground:

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 for loop atau whileloop tak terbatas untuk memeriksa kondisi lebih dari sekali.
- Identifikasi dan jelaskan mengapa pernyataan if elsedigunakan dengan perulangan.
- Jelaskan apa yang akan menyebabkan cabang 'if' atau cabang 'else' dijalankan dalam sebuah 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-kastil di taman bermain statis.
def main():
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 1550, MM)
drivetrain.turn_for(RIGHT, 180, DEGREES)
drivetrain.drive_for(FORWARD, 700, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)Namun, karena tata letak Dynamic Castle Crasher Playground yang berubah-ubah,Perintah penggerak saja tidak akan cukup untuk membuat Robot VR merobohkan dua kastil atau lebih. Seperangkat perintah Drivetrain mungkin berfungsi di satu Playground, tetapi tidak di Playground lainnya. Diperlukan algoritma yang menggunakan sensor dan seleksi secara iteratif. Pernyataan if elseakan digunakan untuk membuat algoritma dengan menambahkan seleksi dengan pernyataan kondisional pada proyek ini.

Pernyataan If Else
Pernyataan if else adalah pernyataan yang menerima kondisi Boolean. Pernyataan if elseadalah pernyataan kondisional yang mengontrol alur suatu proyek. Pernyataan if elseakan mengeksekusi serangkaian perintah tertentujika kondisi terpenuhi, jika tidak(ketika kondisi tidak terpenuhi) serangkaian perintah lain akan dieksekusi – sehingga 'mencabang' alur proyek. Hanya satu cabang dalam pernyataan if elseyang akan dieksekusi pada satu waktu.
jika kondisi terpenuhi:
lulus
jika tidak:
lulus- Jika kondisi dilaporkan bernilai True, maka perintah di dalam cabang 'if' akan dijalankan.
- Jika kondisi dilaporkan sebagai False, perintah di dalam cabang 'else' akan dijalankan.
- Setelah semua perintah di dalam salah satu cabang dijalankan, proyek akan beralih ke perintah berikutnya di luar pernyataanif else.
Anda mungkin sering menggunakan logikaif elsedalam tindakan sehari-hari Anda. Misalnya, ketika memutuskan apa yang perlu Anda bawa saat meninggalkan rumah berdasarkan cuaca di luar, Anda dapat menggunakan logikaif else. Jikahujan, bawalah payung; jika tidakbawalah kacamata hitam.
Cabang 'Jika' -
- Dalam skenario ini, kondisi 'hujan' terpenuhi, sehingga cabang 'jika'akan dieksekusi, dan Anda akan mengambil payung.

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

Pernyataan If Else dan Masalah Penghancur Kastil Dinamis
Ada dua langkah utama agar Robot VR berhasil merobohkan kastil di Dynamic Castle Crasher Playground. Pada dasarnya, Robot VR harus mampu menemukan dan mendeteksi kastil di taman bermain, lalu mengemudi untuk merobohkannya. Dalam konteks pernyataanif else, ini dapat dirumuskan sebagai:
- Jika Robot VR mendeteksi sebuah kastil, bergeraklah maju ke arahnya untuk merobohkannya.

- Jika tidak,(ketika Robot VR tidak mendeteksi kastil), berbalik 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 Penghancur Kastil Dinamis tidak memiliki dinding. Karena kastil adalah satu-satunya objek di Dynamic Castle Crasher Playground, ketika Sensor Jarak mendeteksi suatu objek, objek tersebut akan berupa kastil. Robot VR perlu memeriksa kondisi Sensor Jarak berulang kali, sehingga setelah dua langkah dasarselesai, Robot VR dapat kembali dan menggunakan Sensor Jarak untuk menemukan kastil berikutnya yang akan dirobohkan.
Merencanakan Proyek dengan Pernyataan If Else
- Mulai proyek baru dan pilih Dynamic Castle Crasher Playgroundsaat diminta.

- Beri nama proyek Unit9Lesson2.

-
Tambahkan komentar ke ruang kerja yang menguraikan tujuan proyek, berdasarkan langkah-langkah yang telah diidentifikasi di atas. Komentar pertama menjelaskan kondisi pernyataan if else, dan dua komentar berikutnya menjelaskan tindakan dari setiap cabang pernyataan if else. Ingatlah bahwa komentar Python diawali dengan simbol # (pagar). Proyek Anda seharusnya terlihat seperti ini:
def main(): # Apakah Sensor Jarak mendeteksi kastil? # Kastil runtuh terdeteksi oleh Sensor Jarak # Berputar 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 elsebernilai Benar atau Salah. Tambahkan pernyataan if elsesetelah komentar. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Apakah Sensor Jarak mendeteksi kastil? # Kastil yang runtuh terdeteksi oleh Sensor Jarak # Beralih untuk menemukan kastil menggunakan Sensor Jarak jika kondisi terpenuhi: lewati jika tidak: lewati -
Setiap cabang dari pernyataanif else dapat didefinisikan menggunakan komentar. JikaSensor Jarak mendeteksi sebuah kastil, Robot VR harus bergerak untuk merobohkan kastil; jika tidakia harus berbelok untuk mendeteksi kastil. Pindahkan cabang if dan else pada proyek agar sejajar dengan komentar yang menjelaskan tindakan terkait. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Apakah Sensor Jarak mendeteksi kastil? jika kondisi: # Tabrakan kastil terdeteksi oleh Sensor Jarak langkah jika tidak: # Beralih untuk menemukan kastil menggunakan Sensor Jarak langkah
Pilih tombol Berikutnya untuk melanjutkan ke bagian selanjutnya dari Pelajaran ini.