Statement if-elif-else
Pada kondisi tertentu, kita sering dihadapi dengan pilihan-pilihan. Misalnya, saat pergi ke suatu tempat, terdapat banyak jalan menuju tempat tersebut. Manakah jalan yang akan dipilih? Kita akan berpikir dan mempertimbangkan pilihan yang akan diambil. Apakah melalui jalan x lebih cepat sampai dari pada jalan y, ataukah sebaliknya?
Kita dapat membuat komputer berpikir seperti di atas dengan kode pemilihan. Ada tiga model kode pemilihan di python:
if
, dipakai saat pilihan kondisinya ada satu,if-else
, dipakai saat pilihan kondisinya ada dua, danif-elif-else
, dipakai saat pilihan kondisinya lebih dari dua.
Pernyataan if
Sama dengan bahasa pemrograman lainnya, Python juga menggunakan pernyataan if
. Pernyatan if ini berisi sebuah ekspresi logika menggunakan data yang telah dibandingkan, dan menghasilkan sebuah keputusan yang dibuat berdasarkan perbandingan tersebut.
Aturan penulisan untuk pernyataan if sebagai berikut:
if kondisi:
pernyataan_benar
Semua pernyataan dituliskan dengan indentasi setelah bagian kondisi bersyarat. Python menggunakan indentasi untuk mengelompokkan satu atau beberapa pernyataan.
Pada pernyataan if, syarat kondisi akan dijalankan pertama kali. Jika kondisi tersebut benar, maka pernyataan pada blok pernyataan_benar akan dijalankan. Berikut contohnya,
x = 10
if x > 0:
... print 'Hello'
...
Hello
Pada contoh di atas, pernyataan if akan menampilkan teks ‘Hello’ jika nilai variabel x lebih besar dari 0.
Pernyataan else
Pernyataan else
ini biasanya digabungkan dengan pernyataan if
di atas. Pernyataan else
dapat berisi satu atau beberapa blok pernyataan (kode) yang mana akan dijalankan jika kondisi tersebut salah (atau tidak sesuai dengan syarat yang berlaku). Berikut syntax untuk if else
,
if kondisi:
pernyataan_benar
else:
pernyataan_salah
Sebagai contoh, untuk mengetahui apakah suatu bilangan merupakan genap atau ganjil, kita bisa menggunakan kode seperti berikut ini
if (bilangan % 2 == 0):
print 'genap'
else:
print 'ganjil'
Pada contoh di atas, 'genap' akan ditampilkan jika sisa dari pembagian bilangan dengan 2 sama dengan 0. Dan sebaliknya jika tidak sama dengan 0, maka akan ditampilkan 'ganjil'.
Pernyataan elif
Pernyataan elif memperbolehkan kita untuk menguji beberapa kondisi bersyarat untuk tiap-tiap nilai dan menjalankan kode pernyataan yang sesuai dengan syarat yang diberlakukan. Berikut syntax dari pernyataan elif,
if kondisi_1:
pernyataan_1_benar
elif kondisi_2:
pernyataan_2_benar
elif kondisi_N:
pernyataan_N_benar
else:
pernyataan_tidak_sesuai_syarat_di_atas
Contoh berikut ini menggunakan pernyataan elif untuk menampilkan apakah huruf yang kita input merupakan huruf vokal. Jika tidak, maka sebuah pesan lain akan ditampilkan.
huruf = raw_input("Masukkan sebuah huruf: ")
if (huruf == 'a'):
print "Ini adalah huruf vokal - a -"
elif (huruf == 'e'):
print "Ini adalah huruf vokal - e -"
elif (huruf == 'i'):
print "Ini adalah huruf vokal - i -"
elif (huruf == 'o'):
print "Ini adalah huruf vokal - o -"
elif (huruf == 'u'):
print "Ini adalah huruf vokal - u -"
else:
print "Ini bukan huruf vokal"
Pada contoh kode di atas, ketika seorang user mengetikkan sebuah huruf maka huruf tersebut akan diproses apakah huruf vokal atau bukan. Jika user mengetikkan huruf ‘a‘, maka sesuai syarat yang berlaku maka akan ditampilkan ‘Ini adalah huruf vokal – a - ‘. Jika kondisinya tidak sesuai, misalkan user mengetikkan huruf ‘ u ‘, maka akan dilanjutkan kondisi bersyarat elif yang berikutnya sampai ditemukan kondisi yang sesuai dan akan ditampilkan hasilnya ‘Ini adalah huruf vokal – u -‘. Jika user mengetikkan huruf ‘x‘, maka tidak ada syarat yang sesuai dengan kondisi bersyarat if dan elif. Dan pernyataan else yang dijalankan yaitu ‘Ini bukan huruf vokal‘.
Pernyataan If Bersarang
Pada kondisi tertentu, kita dapat menggunakan pernyataan if bersarang. Maksudnya adalah kita dapat menuliskan pernyataan if..else di dalam pernyataan if..else. Berikut contoh penggunaan if bersarang pada program untuk menentukan apakah huruf yang dimasukkan user adalah huruf besar atau huruf kecil,
huruf = raw_input("Masukkan sebuah huruf: ")
if (huruf >= 'A'):
if (huruf <= 'Z'):
print "Ini adalah huruf besar"
elif (huruf >= 'a'):
if (huruf <= 'z'):
print "Ini adalah huruf kecil"
else:
print "Huruf > z"
else:
print "Huruf > z tapi < a"
else:
print "huruf < A"
contoh kedua:
gaji = 10000000
berkeluarga = True
punya_rumah = True
if gaji > 3000000:
print "Gaji sudah diatas UMR"
if berkeluarga:
print "Wajib ikutan asuransi dan menabung untuk pensiun"
else:
print "Tidak perlu ikutan asuransi"
if punya_rumah:
print "wajib bayar pajak rumah"
else:
print "tidak wajib bayar pajak rumah"
else:
print "Gaji belum UMR"