Percabangan
Dalam pemrograman, sebuah kode program dapat berjalan berdasarkan kondisi tertentu. Maknanya, Anda dapat memberikan instruksi berdasarkan “Jika-maka” (if-else). Misalnya dalam keadaan seperti berikut.- Jika Anda tidak menyelesaikan kelas Memulai Pemrograman dengan Python, maka Anda tidak lulus dari kelas Memulai Pemrograman dengan Python.
- Jika jumlah variabel nama kurang dari dua, maka variabel tersebut tidak memenuhi kriteria kondisi.
Layaknya ilustrasi di atas, setiap kondisi akan mengembalikan nilai true atau false. Dengan nilai boolean ini, Anda dapat menentukan instruksi selanjutnya. Misalnya, jika ayam tersedia (bernilai true), maka ibu akan membeli ayam dan memasaknya.
Mari ubah ilustrasi di atas menjadi kode program Python.
Jika daging ayam tidak tersedia di pasar, maknanya variabel “ketersediaan” akan bernilai kosong atau bernilai bahan makanan lain. Dengan begitu, jika variabel “ketersediaan” tidak memiliki nilai “Daging ayam”, variabel ketersediaan tidak lagi memenuhi kondisi “if ketersediaan == ‘Daging ayam’”. Jadi, program akan mengembalikan teks atau string “Ibu membeli dan memasak tempe”.
Ingat bahwa Python adalah bahasa pemrograman case-sensitive, hal ini berlaku juga pada percabangan. Buktikan sendiri dengan mengubah “Daging ayam” menjadi “Daging Ayam”. Apakah output program masih sama?
Dalam ilustrasi di atas, kita paham bahwa percabangan melibatkan if dan else statement. Anda dapat mengasumsikan statement sebagai instruksi. Selain if dan else statement, sebenarnya Python masih memiliki satu statement lagi yang sering digunakan, yakni elif. Mari kita pelajari satu per satu.
If
If adalah statement Python yang akan mengecek nilai variabel di dalamnya memenuhi kriteria suatu kondisi atau tidak. Jika memenuhi kriteria, kondisi tersebut bernilai true. Jika tidak memenuhi kriteria, kondisi akan bernilai false. Jika kondisi if bernilai true, kode yang berada dalam blok kode if akan dieksekusi.
Perlu diingat bahwa if merupakan blok kode. Jadi, Anda perlu memperhatikan indentasi untuk menjalankan kode, seperti yang ditunjukkan gambar.
Mari tinjau implementasi if pada kode di bawah ini.
- Nilai yang sudah didefinisikan bernilai salah: None dan False.
- Angka nol dari semua tipe numerik: 0, 0.0, 0j, Decimal(0), Fraction(0,1).
- Urutan (sequence) dan koleksi (collection) yang kosong: "", (), , set(), range(0).
Else
Else adalah statement yang menjadi jalan keluar saat kondisi atau hasil evaluasi if statement bernilai false. Maksudnya adalah program akan menjalani blok kode if terlebih dahulu dan jika hasilnya adalah false, program akan menjalankan else statement sebagai jalan keluar atau kondisi terakhir. Jika kita gabungkan if dan else, struktur berikut akan dihasilkan.
Perhatikan gambar di atas, secara sekuensial program akan menjalankan kondisi if statement terlebih dahulu. Jika hasil kondisi adalah true, blok kode dalam if statement akan dieksekusi. Namun, jika kondisi if statement bernilai false, else statement akan dijalankan dan blok kode dalam else statement akan dieksekusi.
Else termasuk statement bersifat opsional. Umumnya, else statement digunakan ketika memiliki kondisi terakhir saat semua kondisi tidak terpenuhi. Mari tinjau penerapannya dalam kasus pengecekan tinggi badan suatu pengunjung untuk menaiki roller coaster.
Elif
Elif merupakan kependekan dari else if dan alternatif untuk if bertingkat atau switch case. Elif statement berada pada posisi setelah if. Anda dapat menambahkan elif statement lebih dari satu karena tidak dibatasi dan opsional. Struktur keseluruhan percabangan jika kita gabungkan antara if, elif, dan else adalah berikut.
Perhatikan gambar di atas, secara sekuensial program akan menjalankan if statement terlebih dahulu. Jika kondisinya bernilai true, blok kode di dalamnya akan dieksekusi. Jika kondisinya false, elif statement akan dijalankan.
Jika kondisi elif statement menghasilkan true, blok kode di dalamnya akan dieksekusi. Kondisi else statement akan dijalankan dan kode di dalamnya akan dieksekusi jika semua kondisi sebelumnya salah atau menghasilkan false.
Mari tinjau penerapannya pada kasus penilaian tugas siswa.
Ternary Operators
Ternary operators termasuk conditional expressions pada Python. Conditional expressions adalah bentuk ekspresi yang bertujuan untuk mengevaluasi kondisi dan mengembalikan nilai berdasarkan hasil evaluasinya. Anda bisa asumsikan bahwa ternary operators ini merupakan versi one-liner dari if dan else. Untuk memahaminya, perhatikan gambar berikut.
Ternary operators dibangun dengan menempatkan “blok kode jika benar” pada posisi awal, lalu diikuti oleh “if statement” serta “kondisi”-nya. Kemudian “else statement” ditempatkan di akhir beserta dengan “blok kode jika salah”.
Mari lihat implementasinya.
Perhatikan bahwa pada ternary tuples kita menggunakan indeks ke-0 tuples sebagai kode jika kondisi salah, sedangkan indeks ke-1 sebagai kode jika kondisi benar.
Mari lihat implementasi ternary tuples di bawah ini.