Belajar Python Dasar : Percabangan (If-Else dan Elif)


01. Apa itu Percabangan

  • Percabangan –dalam dunia pemrograman– adalah proses penentuan keputusan atau dalam bahasa inggris ini biasa disebut sebagai conditional statement.
  • Konsepnya sederhana: kita menginstruksikan komputer untuk melakukan suatu aksi tertentu (X), hanya jika suatu kondisi Y terpenuhi. Atau, kita memerintahkan komputer untuk melakukan aksi tertentu (A) jika suatu kondisi tidak terpenuhi.



    Premisnya adalah “Jika-Maka”. Contoh:

    1. Jika nilai siswa lebih dari atau sama dengan 90, maka dia dapat predikat A.
    2. Jika nilai siswa lebih dari atau sama dengan 80, maka dia dapat predikat B.
    3. Jika nilai siswa lebih dari atau sama dengan 40, maka dia dapat predikat C.
    4. Dan seterusnya.

    Ilustrasi:



02. Percabangan Pada Python

Dalam bahasa pemrograman python, syntax atau statement yang digunakan untuk melakukan percabangan adalah:

  • if
  • elif
  • dan else

Di mana if merupakan kondisi utama, sedangkan elif adalah kondisi kedua atau ketiga hingga ke-x, sedangkan else adalah kondisi terakhir di mana semua kondisi sebelumnya tidak ada yang terpenuhi.

Blok If

Blok kode if pada python, strukturnya seperti ini:

Bagian kondisi adalah sebuah variabel / atau nilai yang bertipe data boolean. Baik berupa nilai True/False secara langsung, atau pun sebuah ekspresi logika.

Jika kondisi bernilai True, maka statements() akan dieksekusi oleh sistem.

Dibawah ini adalah contoh penggunaan kondisi if pada Python :



Jika kita jalankan, kode program di atas hanya akan memunculkan output:

Kode program ini akan dieksekusi
Kode program ini akan selalu dieksekusi

Hal ini karena kondisi if yang kedua tidak bernilai True, sehingga statemen yang ada di dalamnya pun tidak akan pernah dieksekusi oleh sistem.

Dan print() yang ke-3 akan selalu dieksekusi karena ia berada di luar blok kode if.

Selain menggunakan boolean secara langsung, kita juga bisa menggunakan ekspresi logika untuk percabangan.

Perhatikan contoh berikut:



Dari contoh diatas, jika program dijalankan maka akan mencetak string "Sembilan Lebih Besar Dari Angka Tujuh" sebanyak 1 kali yaitu pada if pertama. 

Di if kedua statement bernilai salah, jadi perintah print("Sembilan Lebih Besar Dari Angka Sepuluh") tidak akan dieksekusi.

Blok if..else

Blok if else ini biasa dinamakan percabangan, karena memiliki setidaknya 2 cabang: 
  • Cabang if
  • Cabang else

Jika pernyataan True maka kode dalam if akan dieksekusi, tetapi jika bernilai False maka akan mengeksekusi kode di dalam else.

Dibawah ini adalah contoh penggunaan kondisi if else pada Python :


Pada contoh diatas, jika program dijalankan maka akan mencetak string "Maaf Anda Tidak Lulus" karena pernyataan pada if bernilai False

Blok elif

Elif atau kependekan dari else if adalah suatu percabangan setelah if.  Dengan elif kita bisa membuat kode program yang akan menyeleksi beberapa kemungkinan yang bisa terjadi.

Sama seperti if, elif akan menjalankan kode program di bawahnya jika kondisi dalam blok if atau elif sebelumnya tidak terpenuhi (bernilai False) dan kondisi pada blok elif tersebut terpenuhi.

Contoh yang paling umum digunakan untuk kasus percabangan if..elif..else adalah menentukan grade nilai suatu siswa.

Jika nilainya sekian, dia dapat predikat A. Sedangkan jika nilainya sekian maka predikatnya adalah B, dan seterusnya.

Berikut ini rules yang akan kita gunakan:
  • Predikat A untuk nilai >= 90
  • Predikat B untuk nilai >= 80 < 90
  • Predikat C untuk nilai >= 60 < 80
  • Predikat D untuk nilai >= 40 < 60
  • Selain itu, maka predikat E.

Dari 5 rule di atas, kita akan menggunakan satu if, 3 elif, dan 1 else.

Perhatikan contoh berikut:


Jalankan program lalu memasukkan angka 80, maka kita akan mendapatkan output predikat B:
Masukkan nilai: 80
Predikat B

Kenapa Pakai elif? Kan Bisa Pakai if saja?

Sebelum kita jawab pertanyaan di atas, mari kita coba ubah kode program di atas menjadi menggunakan if semua, tanpa elif sama sekali.


Jalankan program, lalu coba masukkan angka 80.

Sistem akan memberikan kita output seperti berikut:
Masukkan nilai: 80
Predikat B
Predikat C
Predikat D

Kenapa?

Karena setiap kali kita membuat blok if, itu artinya kita membuat satu pohon percabangan. 

Dan pada pemrograman, pohon percabangan selalu hanya mengeluarkan satu kondisi yang terpenuhi.

Jika ada lebih dari satu kondisi yang terpenuhi, maka kondisi yang pertamalah yang akan dieksekusi. Tidak semuanya.

Oleh karena itu, di kode program yang pertama, kita sejatinya hanya membuat satu pohon percabangan, dan kondisi yang dieksekusi hanya 1, meskipun yang terpenuhi lebih dari 1.

Berbeda dengan contoh yang kedua, kita sejatinya sedang membuat 4 buah pohon percabangan, oleh karena itu outputnya pun akan berbeda sesuai dengan banyaknya pohon percabangan yang kita buat.

03. Operator-Operator Boolean

Pada percabangan if..else, operator logika dan juga tipe data boolean akan sangat sering kita gunakan.

Berikut ini contohnya untuk operator keanggotaan:


Contoh output ketika saya ketik ‘mangga’:
Masukkan nama buah dalam huruf kecil: mangga
Buah yang anda cari tersedia!

04. Percabangan Satu Baris

Pada python, kita bisa menggunakan if..else dalam satu baris. Biasanya, pada bahasa pemrograman lainnya, ini disebut sebagai ternary (meskipun python cukup unik dari segi sintaksisnya).

Perhatikan contoh berikut:


Kode program di atas adalah shortcut dari kode seperti di bawah:


05. Percabangan Bertingkat

Percabangan bertingkat adalah sebuah istilah untuk if di dalam if. 

Silakan coba dan jalankan kode program di bawah ini:


Kode program di atas akan memeriksa terlebih dahulu apakah nilai yang dimasukkan adalah lulus atau tidak. Setelah itu, program akan memeriksa usia, apakah dia akan disapa dengan “kakak” atau kah dengan “adek”.

Sumber:
https://jagongoding.com/python/dasar/percabangan/
https://belajarpython.com/tutorial/kondisi-if-else-python/