Lompat ke isi 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. 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:

Tiga tampilan atas ke bawah dari Dynamic Castle Crasher Playground, masing-masing menampilkan susunan kastil acak yang berbeda, dengan Robot VR yang diposisikan secara konsisten di titik awal bagian 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 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.

Tampilan atas Dynamic Castle Crasher Playground yang menunjukkan hanya beberapa kastil yang roboh. Robot VR berada di kanan atas taman bermain setelah bergerak mengelilingi taman bermain.

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 tidakJikahujan, bawalah payung; jika tidakbawalah kacamata hitam.

Cabang 'Jika' -

  • Dalam skenario ini, kondisi 'hujan' terpenuhi, jadi cabang 'jika'akan dieksekusi, dan Anda akan membawa payung. Di sisi kiri adalah contoh kode yang berbunyi jika hujan:, ambil payung. Setelah pernyataan if berbunyi else: pakai kacamata hitam. Di atas kode terdapat awan hujan dengan tetesan hujan. Di sebelah kanan adalah payung berwarna-warni dengan tetesan air di atasnya. Berdasarkan kode tersebut, jika hujan, orang tersebut akan membawa payung; jika tidak, mereka akan membawa kacamata hitam.

Cabang 'Lainnya' -

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

  1. Jika Robot VR mendeteksi sebuah kastil, melajulah ke arah kastil tersebut untuk menjatuhkannya.Tampilan atas taman bermain Dynamic Castle Crasher. Kastil di tengah taman bermain ini disorot dengan kotak merah dan panah yang menunjuk ke arahnya dari posisi awal Robot VR, yang menunjukkan bahwa Robot VR akan bergerak menuju kastil.
  2. Jika tidak,(ketika Robot VR tidak mendeteksi adanya kastil), putar balik dan periksa kastil di lokasi lain di Taman Bermain.Tampilan atas ke bawah dari Dynamic Castle Crasher Playground dengan kastil di tengahnya disorot dengan kotak merah. Panah di sekitar Robot VR menunjukkan gerakan berputar searah jarum jam, yang menunjukkan bahwa robot akan berputar hingga melihat kastil lainnya.

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. Gambar kecil untuk taman bermain Dynamic Castle Crasher yang terlihat saat memilih taman bermain baru di VEXcode VR.
  • Beri nama proyek Unit9Pelajaran2.
    Toolbar VEXcode VR tempat nama proyek disorot dalam warna merah. Nama proyeknya adalah Unit 9 Pelajaran 2.
  • 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.