Langsung ke konten utama

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:

Tiga tampilan dari atas ke bawah dari Taman Bermain Castle Crasher Dinamis, masing-masing menampilkan susunan kastil acak yang berbeda, dengan Robot VR yang selalu diposisikan di titik awal bawah.

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.

Tampilan dari atas arena bermain Dynamic Castle Crasher yang menunjukkan bahwa hanya sebagian kastil yang telah roboh. Robot VR berada di pojok kanan atas taman bermain setelah bergerak mengelilingi taman bermain.

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. Di sisi kiri terdapat contoh kode yang berbunyi jika hujan:, bawa payung. Setelah pernyataan if, tertulis else: ambil kacamata hitam. Di atas kode tersebut terdapat awan hujan dengan tetesan air hujan. Di sebelah kanan terdapat payung warna-warni dengan tetesan air di atasnya. Menurut aturan tersebut, jika hujan, orang tersebut akan membawa payung; jika tidak, mereka akan membawa kacamata hitam.

Cabang 'Lainnya' -

  • Dalam skenario ini, kondisi 'hujan' adalah bukan yang terpenuhi, sehingga cabang 'else' akan dieksekusi, dan Anda akan mengambil kacamata hitam. Di sisi kiri terdapat contoh kode yang berbunyi jika hujan:, bawa payung. Setelah pernyataan if, tertulis else: ambil kacamata hitam. Di atas kode tersebut terdapat matahari yang terang. Di sebelah kanan ada kacamata hitam berwarna merah. Menurut aturan tersebut, jika hujan, orang tersebut akan membawa payung; jika tidak, mereka akan membawa 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:

  1. Jika Robot VR mendeteksi sebuah kastil, bergeraklah maju ke arahnya untuk merobohkannya.Tampilan dari atas taman bermain Dynamic Castle Crasher. Kastil di tengah taman bermain ini ditandai dengan kotak merah dan panah yang menunjuk ke arahnya dari posisi awal Robot VR, menunjukkan bahwa Robot VR akan bergerak menuju kastil tersebut.
  2. Jika tidak,(ketika Robot VR tidak mendeteksi kastil), berbalik dan periksa kastil di lokasi lain di Taman Bermain.Tampilan dari atas arena bermain Dynamic Castle Crasher dengan kastil di tengah yang ditandai dengan kotak merah. Panah di sekitar Robot VR menunjukkan putaran searah jarum jam, yang mengindikasikan bahwa robot akan berputar hingga melihat kastil lain.

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. Gambar mini untuk area bermain Dynamic Castle Crasher yang terlihat saat memilih Area Bermain baru di VEXcode VR.
  • Beri nama proyek Unit9Lesson2.
    Toolbar VEXcode VR tempat nama proyek disorot dengan warna merah. Nama proyeknya adalah Unit 9 Pelajaran 2.
  • 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.