Python 04: Mengontrol Aliran Program dengan Conditioal Expression (Percabangan)

Memperkenalkan cara mengontrol aliran program menggunakan conditional statement (if, elif, dan else)

Dede Kurniawan
Data Science Indonesia
7 min readNov 3, 2022

--

Photo by Skitterphoto from Pexels

Seperti bahasa pemrograman lainnya, Python juga menawarkan mekanisme untuk mengatur bagaimana program dieksekusi atau mengontrol aliran program (control flow). Terdapat tiga jenis utama aliran program dalam Python, yaitu sequential control flow, decision control flow, dan loop control flow [2].

Tiga jenis utama aliran sebuah program (sequential, loop, and decision control flow)
Tiga jenis utama aliran program [2].

Decision control flow direpresentasikan oleh conditional expression. Conditional expression atau percabangan dapat digunakan untuk mengatur bagaimana program dieksekusi. Ini juga berfungsi sebagai pemeriksaan untuk melihat apakah suatu baris kode harus dieksekusi atau tidak. Conditional expression di Python meliputi pernyataan if, elif, dan else.

Program Python dapat melakukan tindakan yang berbeda tergantung pada kondisi boolean (True atau False). Ketika suatu kondisi bernilai True, maka Python akan menjalankan kode program yang telah ditetapkan. Sebaliknya, ketika suatu kondisi bernilai False, maka kode program yang telah diatur tidak akan dijalankan.

Daftar isi:
1. Boolean Expression
2. If Statement
3. Else Statement
4. Elif Statement
5. Nested Conditional Statement
6. Contoh Program Sederhana

Boolean Expression

Dalam pengontroloan aliran sebuah program, kalian akan sering menggunakan boolean expression. Boolean expression merupakan sebuah ekspresi yang bernilai True atau False. Expression atau ekspresi merupakan kombinasi dari nilai, variabel, dan operator [1]. Terdapat dua jenis operator yang selalu mengembalikan nilai boolean, yaitu operator perbandingan dan operator logika.

Operator perbandingan

Operator perbandingan atau operator relasional digunakan untuk membandingkan dua buah nilai atau lebih. Setiap kali kita melakukan operasi perbandingan, itu akan mengembalikan nilai boolean. Operasi perbandingan dalam Python memiliki prioritas atau urutan eksekusi yang sama. Ada beberapa operator perbandingan di Python, lebih jelasnya dapat dilihat pada tabel berikut.

Operator perbandingan di Python
Operator perbandingan di Python [4]

Simbol operator perbandingan di Python berbeda dari simbol matematika pada umumnya. Jika simbol persamaan dalam matematika adalah =, tetapi dalam Python, kita menggunakan == karena = adalah operator penugasan.

>>> 10 == 10
True

>>> 7 != 10
True

>>> 20 < 15
False

>>> 20 >= 30
False

Kami juga dapat membandingkan dua tipe data yang berbeda, tetapi hanya berlaku untuk == jika tidak, itu akan mengembalikan kesalahan.

>>> 5 == 'five'
False

>>> 5 <= 'five'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<=' not supported between instances of 'int' and 'str'

Kita juga dapat melakukan operasi perbandingan rantai.

>>> 6 > 3 > 10
False

>>> 5 > 10 > 3
False

Ada hal-hal yang perlu diperhatikan di sini jika kita melakukan operasi perbandingan berantai. Dalam contoh, 6 > 3 > 10 mengembalikan False karena 6 > 3 dievaluasi terlebih dahulu dan ketika mengembalikan True maka 6 > 10 akan dievaluasi. Jika 6 > 3 mengembalikan False, maka 6 > 10 tidak akan dievaluasi. Ketika satu perbandingan mengembalikan False, ekspresi kembali ke False dan melewatkan semua perbandingan yang tersisa.

Operator logika

Operator logika digunakan untuk melakukan operasi logika yang menggabungkan pernyataan kondisional dan akan mengembalikan True atau False. Ada 3 operator logika dalam Python: and, or, and not.

Operator logika di Python
Operator logika di Python [4]

Operator and akan mengembalikan True jika kedua nilai adalah True, operator or akan mengembalikan True jika salah satu nilainya adalah True, dan operator not akan mengembalikan True jika nilai yang dibandingkan adalah False atau sebaliknya.

>>> x = True
>>> y = False
>>> x and Y
False

>>> x or y
True

>>> not x
False

Dibandingkan dengan potongan kode yang dibandingkan, operator logika memiliki prioritas yang lebih rendah. Dengan kata lain, potongan dihitung terlebih dahulu, diikuti dengan perbandingan [1].

>>> 5 > 10 and 10 == 10
False

Contohnya: 5 > 10 ini dievaluasi terlebih dahulu, kemudian 10 == 10 akan dievaluasi dan setelah itu, hasil keduanya akan dievaluasi (False dan True). Tetapi untuk membuat kode lebih mudah dibaca dan menghindari kebingungan tentang prioritas adalah dengan menambahkan tanda kurung.

>>> (True and False) or (5 < 10)
True

If Statement

Statement if sangat banyak digunakan di aplikasi dan program komputer untuk membuat decision [4]. Untuk membuat rangkaian kondisional, hal pertama yang harus didefinisikan adalah pernyataan if. if dituliskan terlebih dahulu, diikuti dengan menuliskan elif, dan terakhir menggunakan else jika ada hal yang tidak tertangkap oleh kondisi lainnya.

Struktur sintaks if (Gambar oleh penulis)

Struktur pernyataan kondisional terdiri dari header dan body. Header berisi pernyataan if yang diikuti dengan suatu kondisi (benar atau salah) dan diakhiri dengan tanda titik dua (:). Selanjutnya, bagian body (ditulis menjorok ke dalam) berisi baris perintah yang akan dieksekusi jika kondisinya bernilai benar. Tidak ada batasan jumlah baris perintah di dalam body, tetapi minimal satu [1].

Contoh penulisan if statement
Contoh penulisan if statement (Gambar oleh penulis)

Dalam kode ini, kita mendefinisikan if statement dan mengikutinya dengan suatu kondisi yaitu 10 < 20. Ketika kondisinya benar, maka kode print(“10 kurang dari 20”) akan dieksekusi. JIka kondisinya salah, maka tidak akan muncul output apapun.

Ketika tidak ingin mengeksekusi sesuatu pada body (biasanya sebagai placeholder untuk kode yang belum tulis), kita bisa menggunakan pass statement.

Selain itu, kita juga bisa menuliskan if statement lebih dari satu dalam suatu rangkaian kondsional.

Penggunaan if lebih dari satu (Gambar oleh penulis)

Namun, tidak disarankan untuk menulis rangakaian kondisional untuk beberapa kondisi menggunakan if dua kali. Hal ini membuat kode lebih sulit untuk dibaca dan di-debug. Ada cara yang lebih baik, yaitu menggunakan pernyataan else atau elif.

Else Statement

Selain menggunakan if, bagian lain dari rangkaian kondisional adalah pernyataan else.

Struktur sintaks if dan else
Struktur sintaks if dan else (Gambar oleh penulis)

Statement else digunakan sebagai alternatif eksekusi ketika seluruh kondisi bernilai False. Dengan ini akan ada dua kemungkinan dan kondisi akan menentukan mana yang akan dieksekusi. Setelah if, hanya ada satu kemungkinan else yang merupakan statement opsional.

Serangkaian kondisional menggunakan if dan else
Rangkaian kondisional menggunakan if dan else (Gambar oleh penulis)

Pada kode tersebut, ketika kondisi pertama bernilai True, maka program akan menampilkan pesan print("ini bilangan positif"). Kemudian, jika kondisi pertama bernilai False, maka program akan menampilkan print(“ini bilangan negatif”). Karena kondisi hanya bernilai benar atau salah, maka hanya ada satu alternatif yang akan dieksekusi. Alternatif tersebut dikenal dengan cabang (percabangan).

Elif Statement

Terkadang, saat membuat program, kita memerlukan beberapa kemungkinan eksekusi atau cabang. Statement elif memungkinkan kita untuk melakukan hal ini.

Struktur sintaks if, elif, dan else (Gambar oleh penulis)

Dengan elif statement, kita dapat memeriksa beberapa kondisi dan menjalankan blok kode setiap kali salah satu kondisi benar. Statement ini solah-olah mengatakan “jika kondisi sebelumnya tidak benar, maka cobalah kondisi ini”. Berbeda dengan else, bisa terdapat sejumlah elif statement setelah if.

Rangkaian kondisional menggunakan if, elif, dan else (Gambar oleh penulis)

Pada kode tersebut, ketika nilai > 80 hasilnya True, maka program akan mengeksekusi print(“Kamu mendapat nilai A”). Jika kondisi tersebut False, maka program akan mengevaluasi kondisi berikutnya, yaitu nilai > 60, dan jika kondisi tersebut True maka print(“Kamu mendapat nilai B”) akan dieksekusi. Akhirnya, ketika semua kondisi di atas dievaluasi dan menghasilkan False, else akan menangkapnya dan print(“Kamu mendapat niali C”) akan dieksekusi.

Nested Conditional Statement

Dalam beberapa keadaan, kita mungkin harus menempatkan if statement di dalam pernyataan lain. if statement yang mengandung if statement lain, baik di dalam blok if atau blok else disebut nested if statement [2].

Contoh nested kondisional (Gambar oleh penulis)

Pada sintaks tersebut, kondisi luar memiliki dua percabangan. Cabang pertama berisi if statement sederhana. Kemudian, cabang kedua berisi if statement lainnya yang memiliki dua cabang sendiri. Hal ini lah yang dinamakan nested conditional.

Contoh Program Sederhana

Setelah memahami teori tentang mengatur aliran program dengan conditional expression, kita akan membuat sebuah program sederhana menggunakan conditional statement. Collab notebook yang berisi program tersebut dapat diakses pada link: https://s.ub.ac.id/program.

1. Menentukan bilangan ganjil dan genap

2. Kalkulator aritmatika

3. Indeks prestasi kumulatif (IPK)

4. Menghitung BMI

Dasar Dasar Pemrograman Python

8 stories

Daftar Pustaka:

[1] Downey, A. B. (2015). Think Python: How to Think Like a Computer Scientist. O’Reilly Media.

[2] Gowrishankar S. and Veena A. (2019). Introduction to Python Programming. CRC.

[3] Lubanovic, B. (2019). Introducing Python: Modern Computing in Simple Packages. O’Reilly Media.

[4] Simpson, A. and Shovic, J. (2021). Python All-in-One For Dummies (2nd ed.). For Dummies.

--

--

Dede Kurniawan
Data Science Indonesia

A writer who focuses on the topics of Python 🐍, Data Science 📊, and Biology 🧬. My LinkedIn: https://www.linkedin.com/in/dede-kurniawann/