Modul 3: Pengkondisian

Di modul ini anda akan belajar materi tentang:

  • Operator perbandingan

  • Kondisi

  • Statement if-elif-else

  • Block program

  • Nested if

Petunjuk Penggunaan Trinket.io

  • Trinket.io dapat digunakan untuk menjalankan kode Python di browser

  • Sebelum menjalankan Trinket.io, pastikan mereset kode terlebih dahulu. Karena perubahan yang dilakukan oleh pengguna sebelumnya akan terlihat oleh pengguna web setelahnya. Sehingga bisa jadi kode contoh yang anda lihat saat ini bukanlah yang asli, tetapi hasil perubahan pengunjung web ini sebelumnya.

  • Cara untuk reset adalah: klik menu (garis 3) pojok kiri atas, lalu klik Reset.

Operator Perbandingan

Selain menghitung (e.g., 4 + 20 ** 2), komputer juga bisa menjawab Yes/No question sederhana, misalnya apakah nilai yang diinputkan user bilangan positif? Apakah uang yang ingin ditarik nasabah kurang dari limit pengambilan ATM dan kurang dari uang yang ada di tabungannya?

Jika difikirkan lagi, pertanyaan yang mirip seperti di atas sangat penting bagi banyak program komputer. Dengan mengetahui jawaban dari pertanyaan-pertanyaan di atas, program bisa memilih aksi yang tepat, seperti meminta user menginputkan lagi jumlah mahasiswa dengan angka yang valid (e.g., tidak negatif), atau membatalkan transaksi ATM karena uang yang ingin ditarik melebihi batas pengambilan di ATM.

Dari pertanyaan di atas, komputer hanya akan memiliki 2 kemungkinan jawaban, yaitu:

  • True (benar/yes)

  • False (salah/no)

Perhatikan contoh kode berikut, coba beberapa kali dengan memasukkan angka yang berbeda-beda (i.e., positif, negatif):

>>> bil = int(input("Masukkan sebuah bilangan : "))
>>> print("Apakah bilangan yang dimasukkan merupakan bilangan positif?")
>>> print(bil > 0)

Contoh output jika bilangan yang dimasukkan 10, dan -1:

Masukkan sebuah bilangan : 10
Apakah bilangan yang dimasukkan merupakan bilangan positif?
True

Masukkan sebuah bilangan : -1
Apakah bilangan yang dimasukkan merupakan bilangan positif?
False

Dari contoh di atas, program menanyakan apakah bilangan yang diinputkan user positif atau tidak menggunakan operator perbandingan > (lebih besar dari).

Berikutnya mari kita lihat jenis operator perbandingan lainnya yang bisa digunakan program untuk bertanya.

Sama dengan (==)

Tanda == menanyakan apakah nilai di kiri sama dengan nilai di kanan?

Contoh penggunaannya adalah ketika kita ingin memastikan pilihan menu yang diinputkan oleh user.

>>> menu = int(input("Masukkan pilihan menu 1-3 : "))
>>> print(menu == 1)
>>> print(menu == 2)
>>> print(menu == 3)
>>> pwd = "rahasia"

>>> user_pwd = input("Masukkan password : ")
>>> print(user_pwd == pwd)

Selain hasil perbandingan user_pwd == pwd langsung diprint, tentu saja kita bisa simpan di sebuah variable, untuk digunakan lagi kemudian.

>>> pwd = "rahasia"

>>> user_pwd = input("Masukkan password : ")
>>> cek = user_pwd == pwd
>>> print(cek)

Note

Perhatikan perbedaan antara operator = (assignment), dengan operator == (sama dengan). Mirip namun sangat berbeda maknanya.

Anda bisa memikirkan contoh pertanyaan lain dan mencoba memformulasikan pertanyaan tersebut dengan operator ==.

Tidak sama dengan (!=)

Berlawanan dengan ==, operator != menanyakan apakah nilai di kiri tidak sama dengan nilai di kanan?

Jawaban yang dihasilkan tentu berlawanan dengan jawaban yang dihasilkan dari operator ==, jika operator == menghasilkan True, maka != akan menghasilkan False, dan sebaliknya.

>>> asal = input("Dari mana asal kotamu? ")
>>> print(asal != "Bandung")

Meskipun jawaban operator != bisa didapat dengan menegasikan (True –> False, False –> True) jawaban dari operator == dan sebaliknya, namun pada prakteknya kedua operator tetap digunakan. Kita biasa menggunakan operator == ketika kita lebih tertarik jika kedua nilai yang dibandingkan adalah sama, dan sebaliknya.

Sebagai contoh, setelah user menginputkan menu yang dipilih, maka program akan menampilkan foto dan harga menu yang dipilih tersebut. Di sini program lebih tertarik untuk mengetahui menu mana yang dipilih oleh user, maka gunakan operator ==.

Bandingkan jika yang diinginkan adalah sebaliknya. Awalnya foto dan harga ketiga menu ditampilkan ke user, setelah user menginputkan menu yang dipilih, maka foto menu yang tidak dipilih akan dihilangkan. Dengan kata lain, program lebih tertarik mengetahui menu mana yang tidak dipilih, maka sebaiknya gunakan operator !=.

Hal yang sama berlaku untuk pasangan-pasangan operator selanjutnya.

Lebih besar dari (>) dan Lebih kecil dari (<)

Operator > menanyakan apakan nilai yang di kiri lebih besar dari nilai yang di kanan, sedangkan operator < menanyakan sebaliknya.

Umumnya operator ini digunakan untuk data dengan tipe numerik seperti integer dan floats.

>>> print(10 > (3 * 2 + 4))
>>> max_penarikan_ATM = 1000
>>> print(2000 > max_penarikan_ATM)
>>> umur = 16
>>> print(umur < 17)

Lebih besar dari atau sama dengan (>=) dan Lebih kecil dari atau sama dengan (<=)

Mirip seperti >, namun sebagai tambahan operator >= juga menghasilkan True jika nilai kiri sama dengan nilai kanan. Begitu juga untuk <=.

Meskipun bisa digunakan untuk integer dan floats, operator ini khususnya lebih terasa manfaatnya untuk tipe data floats, perhatikan contoh berikut.

Kelulusan mata kuliah bisa diketahui dari nilai akhirnya, mahasiswa yang lulus adalah yang dengan nilai minimal 70. Jika nilai bertipe data integer, maka kita bisa tanyakan dengan cara berikut:

nilai > 69

atau

nilai >= 70

Namun jika tipe data nilai adalah floats, maka pilihan kita hanyalah menggunakan operator >=, yaitu nilai >= 70. Hal ini dikarenakan jika menggunakan > 69 maka nilai 69.9 juga akan menjadi True padahal seharusnya False.

>>> nilai = 69.9
>>> print(nilai > 69)
>>> print(nilai >= 70)

Kita harus berhati-hati menggunakan operator >= atau <=, apalagi jika digunakan bersamaan untuk membandingkan dua hal yang sama, seperti contoh kedua ketika var = 5, kedua pertanyaan menghasilkan True. Meskipun anda belum melihat letak masalahnya, saat ini cukup diingat bahwa anda harus berhati-hati dalam memilih menggunakan operator.

>>> var = 5.5
>>> print(var >= 5)
>>> print(var <= 5)

>>> var = 5
>>> print(var >= 5)
>>> print(var <= 5)

Update prioritas operator

Prioritas operator-operator perbandingan di bawah operator aritmatik yang telah kita bahas sebelumnya, sehingga tabel sebelumnya kita update menjadi:

Prioritas

Operator

Jenis

1.

()

2.

**

3.

+, -

unary

4.

*, /, %, //

5.

+, -

binary

6.

<, <=, >, >=, ==, !=

Note

Sejauh ini kita selalu menggunakan Python prompt/console untuk menuliskan kode. Hal itu dikarenakan kode yang dibuat tidak terlalu panjang dan agar anda fokus memahami perilaku setiap baris kode yang dijalankan. Mulai saat ini kita akan beralih menggunakan Editor mengingat kode yang ditulis semakin panjang, dan anda lebih mudah mengedit kode tanpa perlu menulis ulang dari awal.

Pengkondisian

Setelah sebelumnya kita tau cara bertanya dan jawaban yang mungkin dihasilkan, maka di bagian ini kita akan membahas bagaimana memanfaatkan jawaban True atau False tersebut.

Perlu ditekankan, bahwa komputer hanya bisa menjawab dengan True atau False dan tidak bisa keduanya sekaligus. Kemungkinan lain adalah program berhenti dieksekusi karena terdapat error pada kode yang kita buat sehingga tidak menghasilkan salah satu jawaban tersebut.

Kondisi-Aksi

Setiap program komputer umumnya terdiri dari banyak aksi, bayangkan apa yang bisa dilakukan oleh sebuah aplikasi chatting di handphone anda:

  • mengirim pesan

  • menghapus pesan

  • menelfon

  • membuat group baru

  • masuk ke halaman setting

  • dan lain-lain

Meskipun ada banyak aksi yang mungkin, namun biasanya aksi-aksi tersebut tidak dilakukan serta merta dan secara bersamaan. Di satu waktu ada aksi yang dijalankan, dan ada aksi yang tidak dijalankan. Biasanya ada kondisi tertentu yang mentrigger satu atau lebih aksi untuk dijalankan.

Untuk lebih jelasnya:

  • Kondisi: Ekspresi yang jika dievaluasi bernilai True atau False.

  • Aksi: Instruksi yang dijalankan berdasarkan nilai Kondisi.

Berikut adalah contoh kondisi dan aksi:

  • Misalnya, apakah menu setting disentuh, jika iya maka program akan menampilkan halaman setting.

  • Apakah ada pesan masuk, jika True, maka bunyikan nada masuk dan getar.

  • Apakah nilai akhir lebih dari 60, jika iya tampilkan pesan “Lulus”.

nilai_akhir = int(input("Nilai Akhir: "))
kondisi = nilai_akhir > 60 #ini adalah kondisi
print("Lulus") #ini adalah aksi yang ingin dijalankan hanya ketika kondisi bernilai True
Nilai Akhir: 40
Lulus

Di kode di atas kita dapat menuliskan kondisi dan aksi, namun aksi tersebut belum bergantung terhadap nilai kondisi. Baik kondisi True ataupun False, aksi print("Lulus") tetap dijalankan. Berikut ini kita akan melihat bagaimana agar aksi dapat bergantung dengan kondisi.

Statement if

Agar statement aksi hanya dijalankan ketika kondisi tertentu bernilai True, maka Python menyediakan instruksi khusus yang disebut conditional statement dengan keyword if. Berikut adalah bentuk penggunaannya:

if <kondisi>:
    <aksi>
  • if: adalah kata kunci, dan case sensitive

  • kondisi: dapat diisi ekspresi apapun yang bernilai True atau False

  • : (titik dua): penanda berakhirnya ekspresi kondisi

  • aksi: awal penulisan kode aksi harus terdapat indentasi (menjorok ke dalam sekitar 4 spasi dari posisi awal if)

Di sinilah peran pertanyaan dan jawaban True/False yang kita pelajari sebelumnya. Untuk memformulasikan kondisi yang mentrigger aksi, kita biasa gunakan Yes/No question, lalu statement aksi di bawahnya hanya akan dijalankan jika jawaban dari kondisi adalah True.

Perhatikan contoh kode berikut:

nilai_akhir = int(input("Nilai Akhir: "))
kondisi = nilai_akhir > 60 #ini adalah kondisi
if kondisi == True:
    print("Lulus") #ini adalah aksi yang ingin dijalankan hanya ketika kondisi bernilai True
Nilai Akhir: 40

Perhatikan, setelah digunakan statement if, maka ketika nilai akhir yang diinputkan adalah 40, program tidak mem-print string "Lulus", karena kondisi bernilai False. Coba jalankan kembali program di atas, dan masukkan nilai 80.

== True tidak diperlukan

Di contoh di atas kita melihat

if kondisi == True:

sedangkan kondisi itu sendiri bernilai boolean yang artinya True atau False. Jadi, sebenarnya sedikit pemborosan kalau kita menuliskan:

  • ketika kondisi bernilai True, maka: True == True, dan hasilnya adalah True

  • ketika kondisi bernilai False, maka: False == True, dan hasilnya adalah False dengan kata lain, kita bisa menghapus == True, karena hasilnya akan sama saja.

Sehingga kita cukup menuliskan seperti di bawah ini:

bil = 4

var_kondisi = bil >= 5 #Apakah nilai bil lebih dari atau sama dengan 5?
if var_kondisi:
    print("Bilangan lebih dari atau sama dengan 5")  #jika var_kondisi bernilai True, maka statement ini akan dijalankan

Jika bil kurang dari 5, maka aksi print("Bilangan lebih dari atau sama dengan 5") di-skip (tidak dieksekusi) oleh komputer. Namun jika bil diganti dengan 10 misalnya, maka akan tampak di console hasil eksekusi perintah print().

Silakan coba contoh berikutnya:

pwd = input("Masukkan password : ")

if pwd == "rahasia":
    print("Password benar")

Latihan

Buatlah program untuk memberikan warning “Inputan tidak boleh negatif!”, jika angka yang diberikan adalah negatif.

Statement if-else

Pada statement if kita telah melihat bahwa jika kondisi True maka ada aksi yang akan dijalankan, namun bagaimana jika kita juga perlu menjalankan suatu aksi lain jika kondisi False?

Python menyediakan keyword else yang bisa digunakan setelah if yang artinya aksidefault di bawah else akan dijalankan jika kondisi bernilai False.

if kondisi:
    aksi
else:
    aksidefault

Perhatikan contoh berikut:

pwd = input("Masukkan password : ")

if pwd == "rahasia":
    print("Password benar")
else:
    print("Password salah")

Cara kerja if-else

  • Pertama, kondisi setelah if akan dievaluasi nilainya apakah True atau False,

  • Jika kondisi bernilai True, maka aksi yang berada di bawah if akan dijalankan, lalu if-else statement selesai.

  • Jika kondisi bernilai False, maka aksi di bawah if akan diskip, dan yang dijalankan adalah aksi di bawah else, lalu if-else statement selesai.

Perhatikan bahwa, pada statement if-else pasti ada salah satu aksi yang dijalankan. Sementara jika tanpa else ada kemungkinan tidak ada aksi yang dijalankan dari statement if.

Statement elif

Adanya else telah membuat program mampu memilih antara 2 buah aksi, namun di dunia nyata tak jarang ada lebih dari 2 pilihan aksi. Misalnya, contoh menu makanan kita sebelumnya terdapat 3 jenis menu. Contoh lain, kontrol game komputer sederhana yang bisa menggerakkan pemain ke 4 pilihan arah (i.e., maju, mundur, kiri, kanan).

Untuk mengakomodasi hal tersebut, Python menyediakan keyword lainnya yaitu elif yang bisa diintegrasikan dengan statement if.

Cara kerja elif

elif adalah singkatan dari else if, bedanya dengan else adalah elif tidak serta merta akan menjalankan aksinya jika kondisi if di atasnya bernilai False, melainkan ia akan melakukan pengecekan tambahan pada kondisi kedua yang berada setelah elif. Jika kondisi kedua bernilai True, barulan aksi elif dijalankan.

Bentuk paling simple dari elif adalah sebagai berikut:

if kondisi1:
    aksi1
elif kondisi2:
    aksi2

Namun jika ada banyak kondisi, maka kita bisa menggunakan beberapa elif atau bisa ditambahkan else di akhir jika ada aksi default.

if kondisi1:
    aksi1
elif kondisi2:
    aksi2
elif kondisi3:
    aksi3
elif kondisi4:
    aksi4
else:
    aksidefault

Perhatikan dan jalankan kode berikut ini, lalu ubahlah nilai variable menu ke 2, 3, dan 4 dan jalankan lagi “untuk memahami efek penggunaan elif:

menu = int(input("Pilih menu : "))

if menu == 1:
    print("Nasi Goreng: Rp. 15.000")
elif menu == 2:
    print("Ayam Bakar: Rp. 20.000")
elif menu == 3:
    print("Mie Rebus: Rp. 10.000")

Jika menu = 1, maka kode di atas akan menghasilkan Nasi Goreng: Rp. 15.000. Jika menu = 2, Ayam Bakar: Rp. 20.000 akan tampil di layar. Namun jika menu diassign dengan selain 1, 2, atau 3, maka tidak ada aksi yang dieksekusi.

Pada statement if, program selalu mulai memeriksa dari kondisi paling atas. Lalu jika False akan berpindah ke elif di bawahnya, dan sterusnya. Statement if akan selesai jika:

  • ada kondisi yang bernilai True, maka aksinya dijalankan, lalu keluar dari statement if.

  • atau semua kondisi telah diperiksa.

Perhatikan contoh kode berikut:

menu = int(input("Pilih menu : "))

if menu == 1:
    print("Nasi Goreng: Rp. 15.000")
elif menu == 1: #kondisi sama persis dengan kondisi pertama
    print("Ayam Bakar: Rp. 20.000")
elif menu == 3:
    print("Mie Rebus: Rp. 10.000")

Jika kode di atas dieksekusi, terlihat hanya aksi1 saja yang dijalankan, padahal kondisi kedua juga bernilai True, namun aksi2 tidak dijalankan. Hal ini dikarenakan, ketika kondisi pertama bernilai True, maka program akan mengeksekusi aksi1, lalu setelahnya langsung keluar dari statement if tanpa memeriksa kondisi di bawahnya.

Aksi default

Dalam merumuskan kondisi-kondisi di statement if, kita perlu memperhatikan semua kemungkinan nilai variable yang berada di kondisi. Hal ini untuk memastikan agar program kita selalu bisa memberikan respon yang tepat.

Seperti pada contoh kode menu di atas, ketika user menginputkan menu selain 1, 2, atau 3, maka program tidak memberikan respon apapun. Meskipun tidak membuat error, ada kalanya kita ingin agar program memberikan informasi ke user tentang nilai yang valid.

Untuk menangani nilai variable selain yang sudah ditangani oleh kondisi-kondisi pada if, kita bisa menambahkan else di akhir statement if.

Sebagai contoh, perhatikan kode berikut:

menu = 4

if menu == 1:
    print("Nasi Goreng: Rp. 15.000")
elif menu == 2:
    print("Ayam Bakar: Rp. 20.000")
elif menu == 3:
    print("Mie Rebus: Rp. 10.000")
else:
    print("menu tidak valid")

Dengan penambahan else di akhir, maka kita bisa memberikan sebuah aksi default yang akan dijalankan ketika semua kondisi if di atasnya bernilai False.

Rangkaian if

Perlu diingat bahwa satu rangkaian statement if:

  • dimulai dari if

  • lalu secara opsional diikuti satu atau lebih elif

  • lalu secara opsional diakhiri oleh else.

Urutan ini tidak bisa diubah, jika diubah akan menyebabkan error.

Ubahlah urutan if-elif-else berikut dan perhatikan error yang muncul.

kodeMK = "A1"

else:
    print("Kode tidak valid")
elif kodeMK == "A2":
    print("Kalkulus")
elif kodeMK == "A3":
    print("Pengenalan Pemrograman")
if kodeMK == "A1":
    print("Bahasa Indonesia")

if independen

Jika ada statement if kemudian diikuti if yang lain yang memiliki indentasi yang sama, maka kedua if tersebut bukanlah satu rangkaian alias independen. Konsekuensi if independen adalah, apapun nilai kondisi (True atau False) pada if pertama, program tetap akan mengevaluasi kondisi pada if kedua, sehingga memungkinkan aksi pada masing-masing if akan dijalankan semuanya.

Perhatikan contoh berikut:

var = 15

if var % 3 == 0:
    print("Kelipatan 3")

if var % 5 == 0:
    print("Kelipatan 5")

Meskipun kondisi pertama sudah bernilai True dan aksi pertama dijalankan, program tetap saja mengevaluasi kondisi kedua dan menjalankan aksi kedua.

Block statements-Indentasi

Dari contoh-contoh sebelumnya, kita lihat terdapat indentasi (beberapa spasi dari kiri yang membuat kode menjorok ke dalam) pada penulisan statement aksi. Indentasi tersebut menentukan bahwa aksi tersebut merupakan bagian dari statement if.

Seandainya indentasinya dihapus, apa yang terjadi?

bil = 4
if (bil > 0):
print("Bilangan positif")

Maka akan terjadi error IndentationError: expected an indented block. Artinya Python mengharapkan ada block di bawah statement if yang terindentasi.

Apa itu Block (statement)?

Block statement adalah urutan satu atau lebih statement yang bertindak seperti satu kesatuan, sehingga jika satu statement dijalankan, statement lainnya di block yang sama juga akan dijalankan. Block pada Python ditandai dengan indentasi. Seperti pada gambar di atas, Block 1 merupakan keseluruhan statement pada program, sementara Block 2 merupakan bagian dari Block 1 dan seterusnya.

Perhatikan contoh berikut untuk memahami lebih lanjut tentang block.

bil = 10            #1  block1
if bil >= 0:        #2  block1
  print("Positif")  #3      block2a
  if bil % 2 == 0:  #4      block2a
    print("Genap")  #5         block3a
  else:             #6      block2a-lanjutan
    print("Ganjil") #7         block3b
else:               #8  block1-lanjutan
  print("Bilangan") #9     block2b
  print("Negatif")  #10    block2b
print("Selesai")    #11 block1-lanjutan 

Suatu block dimulai dengan indentasi dan akan berakhir ketika menemukan statement yang lebih kurang indentasinya. Contohnya, block2a dimulai pada baris ke-3 dan berakhir pada baris ke-7, karena baris ke-8 memiliki indentasi yang lebih sedikit. Sementara itu, jika menemukan statement dengan indentasi lebih dalam (block baru), maka block tetap berlanjut.

Statement yang mengharapkan block

Perlu diperhatikan bahwa selain statement if, ada beberapa statement lagi (e.g., looping, function) yang mengharuskan ada block baru yang lebih dalam di bawahnya , dan semua statement yang membutuhkan block tersebut diakhiri dengan : (titik dua).

Multi-aksi

Pada contoh-contoh sebelumnya kita selalu melihat bahwa aksi yang ada pada statement if berjumlah 1 saja, namun setelah kita tau bahwa if mengharapkan sebuah block, dan block artinya satu atau lebih statement, maka tentu kita bisa menuliskan banyak aksi dengan indentasi yang sama di bawah statement if, sebagaimana contoh pada baris ke-9 dan ke-10 pada kode di atas.

Block pada bahasa pemrograman lainnya

Tidak semua bahasa pemrograman menggunakan indentasi sebagai penanda block, bahkan lebih banyak yang menggunakan { dan } (kurung kurawal) sebagai pembuka dan penutup block, seperti pada bahasa C, Java, dan Javascript. Meskipun sering terlihat ada indentasi di bahasa-bahasa tersebut, namun hal tersebut bukanlah sebuah keharusan melainkan style penulisan kode saja.

PEP 8-indentation

Python memperbolehkan anda menggunakan jumlah spasi atau tab berapapun untuk menandakan indentasi. Namun, berdasarkan PEP 8 maka direkomendasikan untuk menggunakan 4 spasi untuk setiap level indentasi. Sedangkan penggunaan tab tidak disarankan.

Mixing spasi dan tab

Python tidak memperbolehkan anda menggabungkan penggunaan spasi dan tab untuk identasi, sehingga konsistensi sangat diperlukan. Banyak editor sudah secara otomatis mengkonversi tab menjadi spasi, sehingga seolah-olah error tidak terjadi. Namun jika anda coba ketikkan ulang kode berikut ini di Python Shell, anda akan menemukan error: SyntaxError: inconsistent use of tabs and spaces in indentation.

if True:
    print("4 spasi") #indentasi dengan 4 spasi
    print("tab")     #indentasi dengan tab

Nested if-else

Terkadang kita membutuhkan beberapa kali pengecekan kondisi sebelum bisa menentukan suatu aksi yang akan dieksekusi oleh program. Sebagai contoh, misalkan sebuah perusahaan akan memberikan bonus kepada karyawan dengan kriteria sebagai berikut:

  • bonus diberikan hanya untuk karyawan dengan masa kerja >=5 tahun (karyawan baru tidak mendapatkan bonus)

  • karyawan dengan umur > 50 tahun mendapat bonus 20%, selainnya akan mendapat bonus 10%

Untuk menghitung bonus yang didapatkan setiap karyawan, maka setelah kita mendapatkan input berupa masa_kerja dan umur, maka kita perlu melakukan 2 kali pengecekan kondisi, 1) apakah masa_kerja >= 5 tahun? jika ya, maka kita akan lanjutkan pengecekan 2) apakah umur > 50 tahun?.

Pengecekan kondisi bertingkat tersebut disebut nested if-else. Perhatikan implementasinya berikut ini:

masa_kerja = int(input("Masa Kerja : "))
umur = int(input("Umur : "))

if masa_kerja >= 5:
    if umur >50:
        print("Anda mendapatkan bonus 20%")
    else:
        print("Anda mendapatkan bonus 10%")
else:
    print("Maaf anda belum mendapatkan bonus")

Tentu saja jumlah nested if-else tersebut tidak terbatas, sebagai contoh kita bisa mempunyai 3 tingkatan yaitu if di dalam if di dalam if seperti kode di bawah ini:

bil1 = int(input("Bilangan ke-1 : "))
bil2 = int(input("Bilangan ke-2 : "))
bil3 = int(input("Bilangan ke-3 : "))

if bil1 > bil2:
    if bil2 > bil3:
        print(bil1, bil2, bil3)
    else:
        if bil3 > bil1:
            print(bil3, bil1, bil2)
        else:
            print(bil1, bil3, bil2)
else:
    if bil1 > bil3:
        print(bil2, bil1, bil3)
    else:
        if bil3 > bil2:
            print(bil3, bil2, bil1)
        else:
            print(bil2, bil3, bil1)
Bilangan ke-1 : 1
Bilangan ke-2 : 2
Bilangan ke-3 : 3
3 2 1

Coba anda bermain-main dengan kode di atas:

Selamat anda telah menyelesaikan Modul 3!!

Mohon berkenan memberikan Rating dan Feedback agar kami dapat meningkatkan kualitas modul ini!