Percabangan dengan Ternary Operator pada Python
Kembali lagi membahas tentang percabangan pada Python. Kalau sebelumnya sudah kita bahas tentang if
, elif
, dan else
, kali ini kita akan membahas tentang versi pendeknya yaitu conditional ternary operator. Nah kira-kira apa itu dan bagaimana cara menggunakannya? mari kita bahas lebih lanjut...
Tentang Ternary Operator
Ternary operator merupakan operasi dalam bahasa pemrograman yang membutuhkan 3 operand. Tidak lebih dan tidak kurang. Nah selain ternary ini ada yang namanya binary operator (2 operand) dan unary operator (1 operand).
Sadar atau tidak, kita sudah sering bertemu dengan yang namanya binary operator. Yang paling familiar adalah operasi aritmatika, perbandingan, dan logika boolean. Nah bagaimana dengan ternary operator?
Pada Python sendiri terdapat beberapa ternary operator, salah satunya adalah conditional ternary operator yang fungsinya untuk mempersingkat assignment yang melibatkan kondisi if-else
.
Format Conditional Ternary Operator pada Python
Sebagai ternary operator, operasi ini tentunya membutuhkan 3 operand, yaitu nilai utama, kondisi, dan nilai alternatif. Untuk operator yang digunakan ada 2 yaitu keyword if
dan else
. Berikut ini format penulisannya:
<nilai-utama> if <kondisi> else <nilai-alternatif>
nilai-utama
: Nilai yang akan dikembalikan ketika kondisi terpenuhi (True
)kondisi
: Kondisi boolean untuk mengambil keputusan pengembalian nilainilai-alternatif
: NIlai yang akan dikembalikan ketika kondisi tidak terpenuhi (False
)
Menggunakan Conditional Ternary Operator
Kita coba masuk ke contoh program. Program kali ini bertujuan untuk menampilkan predikat kelulusan berdasarkan nilai yang didapat.
Coba perhatikan kode berikut ini:
nilai = 90;
predikat = ""
if (nilai > 76):
predikat = "lulus"
else:
predikat = "tidak lulus"
print(predikat)
Pada kode tersebut kita mendeklarasikan variable nilai
dengan nilai 90, lalu ada variable predikat
yang berupa string kosong. Nah selanjutnya kita mengisi nilai dari variable predikat
sesuai dengan kondisi yang ada. Yaitu "lulus" jika nilai lebih dari 76, dan "tidak lulus" jika dibawahnya.
Deklarasi variable
predikat
di awal adalah opsional, namun lebih baik jika dilakukan untuk mencegah kemungkinan undefined variable
Outputnya sudah bisa dipastikan lah ya...
Sekarang kita coba pakai kekuatan ternary conditional opearator untuk membuat kode tersebut lebih pendek lagi. Dengan logika yang sama, kodenya dapat diubah menjadi begini:
nilai = 90
predikat = "lulus" if nilai > 76 else "tidak lulus"
print(predikat)
Nah loh, jadi cuma 3 baris kan. Sekarang coba jalankan kode tersebut, seharusnya sih tidak ada perbedaan dari sebelumnya.
Apa yang sebenarnya terjadi?
Kalau deklarasi variabel predikat
diubah ke bahasa manusia (baca: bahasa Indonesia) maka kurang lebih akan seperti ini.
predikat adalah "lulus" jika nilai lebih dari 76, jika tidak maka "tidak lulus"
Bagaimana, mulai masuk akal kan? Dengan kekuatan kemanusiaan yang dimiliki Python, semua bisa dimengerti dengan mudah ehehe...
Pada dasarnya, ternary operator ini mengembalikan salah satu dari 2 kemungkinan nilai yang ada sesuai dengan kondisi. Nah nilai kembalian ini bisa langsung digunakan untuk melakukan operasi.
Nah dari sini bisa kita perpendek lagi nih kodenya
nilai = 90
print("lulus" if nilai > 76 else "tidak lulus")
Nah loh, tinggal 2 baris aja kan. Kalau mau lihat hasilnya tinggal jalankan sendiri
Penutup
Cukup sekian untuk kesempatan kali ini, semoga bermanfaat
Pada kesempatan selanjutnya kita akan membahas satu lagi ternary operator pada Python yaitu list comprehension pada Python 3.
See ya...