Percabangan dengan Ternary Operator pada Python

baca 2 menit
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 nilai
  • nilai-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:

python
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:

python
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

python
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...