python part 6 seleksi kondisi

Python (Part 6) – Seleksi Kondisi

Diposting pada 1.253 views

Bentuk if-elif-else

Program milik Budi yang telah kita buat sekarang mampu mencetak teks ucapan ulang tahun saat Caca berulang tahun, dan mencetak teks lainnya ketika bukan di hari ulang tahun Caca. Namun Budi merasa ingin mengucapkan peringatan hari lainnya, misalnya saat tahun baru yang terjadi setiap tanggal 1 Januari.

Untuk melakukan hal tersebut, kita harus menambah satu kondisi lagi untuk mengecek apakah sekarang tanggal 1 Januari. Bentuk seleksi kondisi if-elif-else memungkinkan kita untuk menerapkan hal tersebut. Dengan menggunakan if-elif-else kita bisa mengecek lebih dari dua kondisi. Namun, pada kasus ini kita akan cek dua kondisi saja. Kondisi tersebut ialah apakah sekarang ulang tahun Caca? Lalu jika bukan, apakah sekarang tanggal 1 Januari. Untuk penulisan kodenya bisa kita lihat bersama di bawah ini.

ultah_caca = "9 Agustus"
tgl_sekarang = input("Sekarang tanggal berapa? ")

if tgl_sekarang == ultah_caca:
    print("Selamat ulang tahun, Caca!!")
elif tgl_sekarang == "1 Januari":
    print("Selamat tahun baru,Caca!!")
else:
    print("Semoga harimu indah")

Pertama, kita cek terlebih dahulu apakah sekarang ulang tahun Caca atau bukan. Jika Ya, maka program akan menghasilkan output berupa teks ucapan ulang tahun seperti program yang sebelumnya dan program berhenti. Jika ternyata kondisi ini tidak terpenuhi, program tidak langsung menuju else, namun akan menuju kondisi selanjutnya.

Kedua, kita cek apakah sekarang tanggal 1 Januari atau bukan. Jika Ya, maka program akan mencetak output ucapan selamat tahun baru. Jika Tidak, maka program akan menuju else dan mencetak kalimat “Semoga harimu indah”.

Untuk lebih jelasnya kita coba jalankan program tersebut beberapa kali dan masukkan tanggal yang berbeda. Misalnya pada eksekusi pertama masukkan 1 Januari, kemudian eksekusi lagi dengan tanggal 2 Januari. Maka hasilnya akan tampak seperti berikut.

layar akan menampilkan ucapan selamat tahun baru jika memasukkan tanggal 1 Januari
layar mengeksekusi blok else karena tidak memenuhi semua kondisi

Perlu diketahui bahwa pengecekan kondisi akan dilakukan secara berurutan dari kondisi pertama hingga terakhir. Program akan berhenti melakukan pengecekan dan keluar dari seleksi kondisi setelah cocok dengan salah satu kondisi. Dalam hal ini urutan pengecekan kondisi perlu diperhatikan.

Misalnya saja jika ulang tahun Caca kita ganti menjadi tanggal 1 Januari sehingga kondisi pertama dan kondisi kedua sama-sama mengecek apakah sekarang tanggal 1 Januari. Kemudian jalankan program tersebut. Pada layar program akan mencetak ucapan ulang tahun karena blok tersebut ada pada urutan pertama. Lalu mengapa program tidak mencetak selamat tahun baru? Hal ini terjadi karena setelah program menemukan kondisi bernilai True (yaitu kondisi pertama), sesaat setelah itu program langsung keluar dari seleksi kondisi tanpa mengecek kondisi dua. Silakan dipraktekkan sendiri ya 🙂 .

Bentuk Nested if (Seleksi Kondisi Bertumpuk)

Nested if atau if bersarang adalah dimana terdapat pengecekan kondisi di dalam suatu kondisi. Atau secara sederhana bisa kita bilang if di dalam if.

Sebelumnya kita telah membantu Budi untuk membuat program sederhana untuk Caca. Sekarang giliran Caca yang ingin membuatkan program untuk Budi. Caca ingin membuat program yang menanyakan kabar Budi sebagai bentuk atas perhatian dan kepeduliannya 🙂 . Mari kita simak kode berikut untuk lebih jelasnya.

kabar_budi = input("Hai Budi, apa kabar? ")

if kabar_budi == "baik":
    print("Senang mendengarnya! Tetap jaga kesehatan ya :)")

else:
    sakit_parah = input("Apakah sakitmu parah? ")

    if sakit_parah == "ya":
        print("Segera periksakan ke dokter!")
    else:
        print("Banyak-banyak istirahat ya!")
        
    print("Jangan lupa minum obat")
    print("Semoga cepat sembuh :)")

Pada program tersebut jika kabar budi baik, maka program akan mengingatkan Budi untuk tetap menjaga kesehatan. Jika kabar budi sedang tidak baik, maka program akan menanyakan apakah sedang sakit parah. Jika Ya, maka program akan menyarankan untuk segera pergi ke dokter. Jika Tidak, maka program hanya menyarankan untuk banyak-banyak istirahat. Selain itu program juga mengingatkan untuk minum obat dan mendoakan agar cepat sembuh. Mari kita jalankan program tersebut dan kita masukkan beberapa input yang berbeda-beda untuk melihat hasilnya.

output program saat input kabar baik

Pertama, kita beri tahu program bahwa kabar sedang baik. Maka program menjalankan fungsi print pada baris ke-4, kemudian keluar dari penyeleksian kondisi. Program selesai dijalankan.

output program saat kabar tidak baik dan tidak sakit parah

Kedua, kita coba masukkan bukan kabar baik. Maka program akan menuju blok else dan menanyakan apakah sakit parah atau tidak (baris 7). Kemudian dilakukan pengecekan lagi pada baris 9. Namun karena tidak memenui kondisi, maka program menuju blok else pada baris 11 dan mengeksekusi baris 12. Kemudian program juga mengeksekusi baris 14 dan 15 karena masih dalam blok else kondisi pertama (perhatikan indentasi atau jarak tab). Program selesai dijalankan.

output program saat kabar tidak baik dan sedang sakit parah

Terakhir, kita coba masukkan kabar tidak baik seperti sebelumnya. Kemudian masukkan “ya” untuk meyakinkan program bahwa memang sedang sakit parah. Dengan jawaban tersebut kondisi pada baris 9 bernilai True sehingga program mengeksekusi baris 10. Dan kemudian diakhiri dengan mengeksekusi baris 14 dan 15 seperti sebelumnya. Program selesai dijalankan.

Bagaimana? Menarik bukan? Sekarang program Caca seakan-akan bisa memahami apa yang dialami Budi. Good.

Masih bingung? Mari kita coba buat contoh satu lagi yang lebih sederhana dengan menggunakan angka. Perhatikan kode berikut ini.

a = int(input("Masukkan sembarang bilangan:  "))

if a == 0:
    print("angka 0")
else:
    if a > 0:
        print("bilangan positif")
    else:
        print("bilangan negatif")

Program tersebut akan meminta sembarang bilangan dan disimpan pada variabel a (baris pertama). Jika memenuhi kondisi pada baris 3 yaitu jika angka tadi bernilai nol, maka tampilkan teks “angka 0”. Jika tidak, maka cek lagi apakah a lebih besar dari 0. jika benar, maka cetak teks “bilangan positif”. Lalu jika tidak, maka cetak teks “bilangan negatif”.

Jalankan program tersebut dengan memasukkan input yang bervariasi dan lihat hasilnya seperti di bawah ini.

output program saat input bilangan 2
output program saat input bilangan -5
output program saat input bilangan 0

Bonus

Kita sudah membantu Budi membuat program untuk Caca. Program tersebut sudah mengimplementasikan penggunaan seleksi kondisi dengan baik. Namun, pada program tersebut kita masih menginputkan tanggal secara manual setiap kali program dijalankan. Untuk itu mari kita perbarui dengan mengambil tanggal sekarang dengan bantuan sebuah modul datetime. Dengan modul tersebut, memungkinkan kita mengambil tanggal ataupun waktu saat program dijalankan tanpa perlu menginputkan secara manual. Dokumentasi lengkap mengenai datetime bisa dibaca di sini.

Berikut adalah kode selengkapnya.

# Import modul
from datetime import datetime

# Ambil waktu sekarang
sekarang = datetime.now()

# Cetak tanggal sekarang
print("Sekarang tanggal:", sekarang.date())

# Jika sekarang bulan 8 dan tanggal 9 (9 Agustus)
if sekarang.month == 8 and sekarang.day == 9:
    
    # Maka ucapkan selamat ulang tahun
    print("Selamat ulang tahun, Caca!!")
    
# Jika sekarang bulan 1 dan tanggal 1
elif sekarang.month == 1 and sekarang.day == 1:
    
    # Ucapkan selamat tahun baru
    print("Selamat tahun baru, Caca!!")
    
# Jika kondisi di atas tidak terpenuhi
else:
    print("Semoga harimu indah")

Tampilan setelah dijalankan kira-kira seperti berikut ini.

program untuk caca

Silakan jika teman-teman ingin copy atau di-custom dan kasihkan ke orang tersayang. Jangan lupa diubah tanggal ulang tahunnya ya. 🤭

Oh iya, saya ingatkan lagi untuk memperhatikan indentasi. Jika tidak tepat maka akan menghasilkan error. Jadi kita harus lebih teliti dalam menuliskan bloknya.

Sekian dulu pembahasan mengenai seleksi kondisi pada Python. Semoga bermanfaat! Sampai jumpa di tulisan berikutnya mengenai perulangan.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *