Control Flow - If Else

Saat operasi data yang hendak kita lakukan semakin kompleks dan rumit kita akan butuh yang namanya Control Flow, yaitu cara untuk mengontrol program yang sedang kita buat. Di materi ini kita akan belajar terkait percabangan dan perulangan.

Untuk percabangan di python, kita akan belajar tentang If-Else dan Ternary Operator. Kemudian untuk perulangan, kita akan membahas tentang For, While, Break, dan Continue.

If-Else

Percabangan ini merepresentasikan hubungan Jika-Maka pada konsep matematika. Beberapa contoh penggunaan if-else yaitu seperti membandingkan dua nilai, menentukan ambang batas, dan pastinya sebagai penentu langkah eksekusi berikutnya.

If

Sesuai dengan sub-judulnya, If dan Else sejatinya adalah dua komponen yang berbeda. If merupakan komponen utama dari sebuah percabangan, karena disinilah kita meletakkan logika percabangan kita. Komponen if dijalankan hanya ketika kondisi logika percabangan terpenuhi.

Misalnya saja, kita sedang membuat sebuah program untuk menentukan lulus atau tidaknya seorang mahasiswa pada sebuah mata kuliah. Anggaplah batas nliai minimum untuk lulus dari mata kuliah tersebut adalah 75.

nilai_ujian = 60

if nilai_ujian >= 75:
	# blok ini tidak akan dieksekusi karena nilai_ujian kurang dari 75
	print('Lulus')

# kode lanjutan ada disini
print('ini adalah kode setelah if')

Perlu dicatat bahwa python menggunakan indentasi untuk memisahkan hirarki blok kode, seperti pada contoh diatas sebuah blok baru dimulai setelah tanda : pada if.

Pada potongan kode diatas, karena kondisi if tidak terpenuhi maka blok yang di eksekusi adalah kode setelah if. Sedangkan jika kondisi if terpenuhi maka blok didalamnya akan dieksekusi terlebih dahulu, baru kemudian kode setelah if akan dieksekusi. Sehingga jika kita coba menjalankan potongan kode diatas, hasilnya akan seperti berikut.

Else

Lantas, bagaimana caranya manambahkan blok kode alternatif ketika kondisi pada if tidak terpenuhi?

Nah, disinilah elemen else berperan. Else merupakan sebuah flow alternatif yang bisa kita gunakan apabila kondisi pada if tidak terpenuhi seperti contoh sebelumnya.

Berbeda dengan if, elemen else ini tidak bisa berdiri sendiri tanpa adanya if. Else selalu menempel pada if, hal ini karena penggunaan else hanya ditujukan ketika kita memiliki flow alternatif.

Pada contoh sebelumnya, program kita baru mengakomodir kondisi ketika seorang mahasiswa lulus pada sebuah mata kuliah saja. Namun, pada kasus sebelumnya ekspektasi kita adalah program mampu menampilkan kalimat 'Tidak Lulus' ketika nilai ujian dibawah 75. Mari kita coba lengkapi potongan kodenya menjadi seperti berikut.

nilai_ujian = 60

if nilai_ujian >= 75:
	print('Lulus')
else:
	# blok ini akan dieksekusi karena nilai_ujian kurang dari 75
	print('Tidak Lulus')

# kode lanjutan ada disini
print('ini adalah kode setelah if')

Kemudian jika kode diatas kita jalankan, maka hasilnya akan sesuai dengan ekspektasi kita seperti berikut.

Elif

Sampai disini, kita sudah menguasai percabangan if-else. Mari kita coba kembangkan studi kasus sebelumnya agar lebih menarik.

Atas kebaikan bapak/ibu dosen, beliau memberikan opsi keringanan bagi para mahasiswa. Mereka yang memiliki nilai antara 60-74 masih tetap bisa lulus, namun wajib melakukan remidi pada mata kuliah tersebut. Tentunya jika kita mencoba menggunakan kode sebelumnya, program kita akan menghasilkan kalimat 'Tidak Lulus'. Karenanya, di tahap ini kita akan mempelajari satu lagi flow alternatif yang bernama Elif.

Elif sendiri merupakan singkatan dari Else-If, yang artinya kita bisa melakukan extend terhadap sebuah flow alternatif yang akan kita bangun. Salah satunya yaitu studi kasus yang sedang kita kerjakan saat ini. Sebelumnya, kita tahu bahwa untuk mahasiswa yang nilainya dibawah 60 akan tetap dinyatakan tidak lulus pada mata kuliah tersebut. Jadi, dalam menambahkan sebuah flow alternatif baru ini kita harus tetap mempertahankan kode sebelumnya agar flow tidak berubah menjadi kacau. Baiklah mari kita coba terapkan.

nilai_ujian = 60

if nilai_ujian >= 75:
	print('Lulus')
elif nilai_ujian >= 60:
	# blok ini akan dieksekusi karena nilai_ujian dalam rentang antara 60-75
	print('Lulus bersyarat')
else:	
	print('Tidak Lulus')

# kode lanjutan ada disini
print('ini adalah kode setelah if')

Sebelum mencoba eksekusi potongan kode diatas, mari kita perhatikan terlebih dahulu. Kita baru saja menambahkan blok elif tepat diantara blok if dan else. Perlu diketahui bahwa kita tidak akan bisa menambahkan blok elif setelah else. Hal ini dikarenakan blok else menunjukkan bahwa blok tersebut merupakan alternatif paling akhir dari seluruh alternatif yang ada. Sedangkan blok elif menunjukkan bahwa blok tersebut merupakan salah satu flow alternatif dengan kondisi yang berbeda. Sehingga jika kita bisa menambahkan blok elif setelah else, maka secara urutan program yang kita bangun tidaklah logis.

Kita bisa menambahkan beberapa blok elif diantara blok if-else, namun kita hanya bisa memiliki satu blok else saja.

Sekarang saatnya kita coba mengeksekusi potongan kode diatas, dan berikut adalah hasilnya.

Last updated