Percabangan if, elif, dan else dalam Python
Sebuah program tidak selalu menjalankan semua perintah secara berurutan. Dalam banyak keadaan, program perlu menentukan tindakan berdasarkan kondisi tertentu. Misalnya, program harus menentukan apakah nilai seorang siswa termasuk kategori lulus atau belum lulus, menentukan apakah sebuah bilangan genap atau ganjil, atau menentukan kategori usia seseorang. Kemampuan program untuk memilih tindakan berdasarkan kondisi disebut percabangan.
Sebelum lebih lanjut membaca materi tentang Percabangan if, elif, dan else dalam Python, terlebih dahulu pelajari materi tentang: Input, Output, dan Import dalam Python, Operator dalam Python, dan Boolean dalam Python.
Sebelum lebih lanjut membaca materi tentang Percabangan if, elif, dan else dalam Python, terlebih dahulu pelajari materi tentang: Input, Output, dan Import dalam Python, Operator dalam Python, dan Boolean dalam Python.
Dalam Python, percabangan dapat dibuat menggunakan `if`, `elif`, dan `else`. Ketiga bagian tersebut memungkinkan program melakukan pemeriksaan terhadap suatu kondisi dan menjalankan perintah tertentu sesuai hasil pemeriksaan.
Konsep percabangan sangat penting karena membuat program tidak hanya menerima dan mengolah data, tetapi juga dapat mengambil keputusan.
"Jika nilai siswa minimal 75, tampilkan keterangan lulus."
Aturan tersebut dapat diterjemahkan ke dalam Python:
nilai = 80
if nilai >= 75:
print("Lulus")
Karena nilai 80 lebih besar dari 75, kondisi tersebut bernilai `True`. Program kemudian menjalankan perintah `print("Lulus")`.
Jika nilai yang diberikan adalah 60, kondisi menjadi `False` sehingga perintah di dalam `if` tidak dijalankan.
Bentuk dasarnya:
if kondisi:
perintah
Kondisi biasanya menghasilkan `True` atau `False`.
Contoh:
umur = 18
if umur >= 17:
print("Sudah memenuhi batas umur")
Karena umur 18 memenuhi kondisi, program menampilkan:
Sudah memenuhi batas umur
Contoh:
if nilai >= 75:
print("Lulus")
Tanda titik dua menunjukkan bahwa setelah kondisi tersebut terdapat blok perintah yang berkaitan dengan `if`. Jika tanda titik dua tidak ditulis, program akan menghasilkan kesalahan sintaks.
Contoh:
nilai = 90
if nilai >= 75:
print("Nilai memenuhi syarat")
print("Siswa lulus")
Kedua perintah `print()` memiliki jarak menjorok ke dalam. Artinya, kedua perintah tersebut merupakan bagian dari `if`. Indentasi merupakan bagian penting dalam sintaks Python.
Contoh berikut tidak benar:
nilai = 90
if nilai >= 75:
print("Lulus")
Python tidak dapat mengetahui struktur blok dengan benar.
Contoh:
nilai = 65
if nilai >= 75:
print("Lulus")
else:
print("Belum lulus")
Karena nilai 65 tidak memenuhi syarat, program menjalankan bagian `else`.
Hasil:
Belum lulus
Apakah kondisi benar?
|
Ya | Tidak
|
if else
Penjelasan:
Contoh:
nilai = int(input("Masukkan nilai: "))
if nilai >= 80 and nilai <= 100:
print("Kategori sangat baik")
elif nilai >= 70:
print("Kategori baik")
else:
print("Perlu peningkatan")
Operator logika membantu menggabungkan batas bawah dan batas atas.
Contoh:
aktif = True
if aktif:
print("Sistem sedang aktif.")
else:
print("Sistem sedang tidak aktif.")
Tidak perlu menulis:
if aktif == True:
karena:
if aktif:
sudah cukup jelas.
Kesalahan pertama, lupa tanda titik dua.
Contoh:
nama = input("Nama siswa: ")
tugas = float(input("Nilai tugas: "))
ujian = float(input("Nilai ujian: "))
praktik = float(input("Nilai praktik: "))
kehadiran = float(input("Kehadiran (%): "))
rata_rata = (tugas + ujian + praktik) / 3
if rata_rata >= 90:
predikat = "A"
elif rata_rata >= 80:
predikat = "B"
elif rata_rata >= 70:
predikat = "C"
elif rata_rata >= 60:
predikat = "D"
else:
predikat = "E"
if rata_rata >= 75 and kehadiran >= 80:
status = "Lulus"
else:
status = "Belum lulus"
print()
print("===== HASIL PENILAIAN =====")
print("Nama :", nama)
print("Rata-rata :", rata_rata)
print("Predikat :", predikat)
print("Kehadiran :", kehadiran, "%")
print("Status :", status)
Latihan tersebut menggabungkan beberapa materi Python yang telah dipelajari sebelumnya, yaitu variabel, input, konversi tipe data, operator aritmatika, operator perbandingan, operator logika, dan percabangan.
`if` digunakan untuk memeriksa kondisi utama. Jika kondisi tersebut bernilai `True`, perintah di dalam blok `if` dijalankan.
`else` digunakan sebagai pilihan ketika kondisi `if` tidak terpenuhi. Dengan demikian, program dapat memberikan tindakan berbeda untuk keadaan benar dan salah.
Sementara itu, `elif` digunakan ketika terdapat beberapa kemungkinan kondisi. Python memeriksa kondisi dari atas ke bawah dan menjalankan blok pertama yang memenuhi syarat.
Percabangan dapat dikombinasikan dengan operator perbandingan seperti `==`, `!=`, `>`, `<`, `>=`, dan `<=`. Operator logika seperti `and`, `or`, dan `not` juga dapat digunakan untuk membuat kondisi yang lebih kompleks.
Pemahaman terhadap `if`, `elif`, dan `else` menjadi dasar penting untuk membuat program yang mampu mengambil keputusan. Setelah menguasai materi ini, siswa dapat mulai membuat program yang lebih interaktif, seperti pemeriksa nilai, kalkulator, menu sederhana, permainan tebak angka, sistem penilaian, dan berbagai program lainnya.
Semakin banyak latihan dilakukan, semakin mudah memahami bagaimana sebuah program memilih tindakan berdasarkan kondisi yang diberikan. Konsep percabangan juga akan menjadi dasar untuk mempelajari materi berikutnya, terutama perulangan dan pembuatan program yang memiliki alur kerja lebih kompleks.
Konsep percabangan sangat penting karena membuat program tidak hanya menerima dan mengolah data, tetapi juga dapat mengambil keputusan.
Pengertian Percabangan
Percabangan adalah mekanisme yang memungkinkan program memilih perintah berdasarkan kondisi. Sebagai contoh, terdapat aturan sederhana:"Jika nilai siswa minimal 75, tampilkan keterangan lulus."
Aturan tersebut dapat diterjemahkan ke dalam Python:
nilai = 80
if nilai >= 75:
print("Lulus")
Karena nilai 80 lebih besar dari 75, kondisi tersebut bernilai `True`. Program kemudian menjalankan perintah `print("Lulus")`.
Jika nilai yang diberikan adalah 60, kondisi menjadi `False` sehingga perintah di dalam `if` tidak dijalankan.
Fungsi `if`
`if` digunakan untuk memeriksa sebuah kondisi.Bentuk dasarnya:
if kondisi:
perintah
Kondisi biasanya menghasilkan `True` atau `False`.
Contoh:
umur = 18
if umur >= 17:
print("Sudah memenuhi batas umur")
Karena umur 18 memenuhi kondisi, program menampilkan:
Sudah memenuhi batas umur
Tanda Titik Dua
Setelah kondisi `if`, Python menggunakan tanda titik dua `:`.Contoh:
if nilai >= 75:
print("Lulus")
Tanda titik dua menunjukkan bahwa setelah kondisi tersebut terdapat blok perintah yang berkaitan dengan `if`. Jika tanda titik dua tidak ditulis, program akan menghasilkan kesalahan sintaks.
Indentasi dalam Percabangan
Python menggunakan indentasi untuk menunjukkan perintah yang termasuk dalam suatu blok.Contoh:
nilai = 90
if nilai >= 75:
print("Nilai memenuhi syarat")
print("Siswa lulus")
Kedua perintah `print()` memiliki jarak menjorok ke dalam. Artinya, kedua perintah tersebut merupakan bagian dari `if`. Indentasi merupakan bagian penting dalam sintaks Python.
Contoh berikut tidak benar:
nilai = 90
if nilai >= 75:
print("Lulus")
Python tidak dapat mengetahui struktur blok dengan benar.
Percabangan dengan `else`
`else` digunakan ketika program harus melakukan tindakan lain apabila kondisi `if` tidak terpenuhi.Contoh:
nilai = 65
if nilai >= 75:
print("Lulus")
else:
print("Belum lulus")
Karena nilai 65 tidak memenuhi syarat, program menjalankan bagian `else`.
Hasil:
Belum lulus
Cara Kerja `if` dan `else`
Struktur sederhananya dapat dipahami seperti ini:Apakah kondisi benar?
|
Ya | Tidak
|
if else
Penjelasan:
- Jika kondisi bernilai `True`, perintah dalam `if` dijalankan.
- Jika kondisi bernilai `False`, perintah dalam `else` dijalankan.
Hanya salah satu bagian yang dijalankan.
angka = int(input("Masukkan angka: "))
if angka > 0:
print("Bilangan positif")
else:
print("Bukan bilangan positif")
Jika pengguna memasukkan 10, program menampilkan:
Bilangan positif
Jika pengguna memasukkan -5, program menampilkan:
Bukan bilangan positif
angka = int(input("Masukkan angka: "))
if angka % 2 == 0:
print("Bilangan genap")
else:
print("Bilangan ganjil")
Jika angka dapat dibagi 2 tanpa sisa, kondisi bernilai benar. Jika masih memiliki sisa, program menjalankan bagian `else`.
Contoh:
nilai = 85
if nilai >= 90:
print("Sangat baik")
elif nilai >= 75:
print("Baik")
else:
print("Perlu belajar lebih giat")
Program memeriksa kondisi dari atas ke bawah.
Pertama, Python memeriksa:
nilai >= 90
Kondisi tersebut salah karena nilai 85.
Kemudian Python memeriksa:
nilai >= 75
Kondisi tersebut benar sehingga program menampilkan:
Baik
Contoh:
nilai = 78
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
elif nilai >= 60:
print("D")
else:
print("E")
Program tersebut membagi nilai ke dalam beberapa kategori.
Perhatikan:
nilai = 90
if nilai >= 60:
print("D")
elif nilai >= 70:
print("C")
elif nilai >= 80:
print("B")
elif nilai >= 90:
print("A")
Program hanya menghasilkan:
D
Mengapa? Karena 90 sudah memenuhi kondisi pertama, yaitu `nilai >= 60`. Python langsung menjalankan bagian tersebut dan tidak melanjutkan pemeriksaan `elif`.
Penulisan yang lebih tepat adalah mengurutkan kondisi dari batas tertinggi ke terendah.
nilai = 90
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
elif nilai >= 60:
print("D")
else:
print("E")
Hasil:
A
nilai = int(input("Masukkan nilai: "))
if nilai >= 90:
print("Predikat A")
elif nilai >= 80:
print("Predikat B")
elif nilai >= 70:
print("Predikat C")
elif nilai >= 60:
print("Predikat D")
else:
print("Predikat E")
Program tersebut menerima nilai dari pengguna kemudian menentukan predikat.
nilai = int(input("Masukkan nilai: "))
if nilai >= 75:
print("Selamat, dinyatakan lulus.")
else:
print("Belum mencapai nilai kelulusan.")
Program tersebut cocok digunakan sebagai contoh dasar penerapan percabangan.
Contoh:
nilai = 85
kehadiran = 90
if nilai >= 75 and kehadiran >= 80:
print("Memenuhi syarat kelulusan")
else:
print("Belum memenuhi syarat")
Ada dua kondisi yang harus benar:
Contoh:
izin_orang_tua = True
izin_sekolah = False
if izin_orang_tua or izin_sekolah:
print("Memiliki izin")
else:
print("Tidak memiliki izin")
Karena `izin_orang_tua` bernilai `True`, kondisi keseluruhan bernilai benar.
Contoh:
jawaban = input("Apakah sudah belajar? ")
if jawaban == "ya":
print("Bagus, lanjutkan persiapan.")
else:
print("Sebaiknya mulai belajar.")
Program membandingkan masukan pengguna dengan teks `"ya"`.
pilihan = input("Pilih menu: ")
if pilihan == "1":
print("Menu data siswa")
elif pilihan == "2":
print("Menu nilai")
elif pilihan == "3":
print("Menu laporan")
else:
print("Pilihan tidak tersedia")
Program memeriksa pilihan dari pengguna dan memberikan keluaran yang sesuai.
Contoh:
nilai = 85
kehadiran = 90
if nilai >= 75:
if kehadiran >= 80:
print("Lulus")
else:
print("Nilai cukup, tetapi kehadiran kurang")
else:
print("Nilai belum memenuhi syarat")
Program pertama memeriksa nilai. Jika nilai memenuhi syarat, program melanjutkan pemeriksaan kehadiran. Jika kedua kondisi terpenuhi, siswa dinyatakan lulus.
Contoh:
if nilai >= 75 and kehadiran >= 80:
print("Lulus")
else:
print("Belum lulus")
Kode tersebut lebih ringkas daripada percabangan bersarang sebelumnya.
a = int(input("Angka pertama: "))
b = int(input("Angka kedua: "))
if a > b:
print("Angka pertama lebih besar.")
elif a < b:
print("Angka kedua lebih besar.")
else:
print("Kedua angka sama.")
Program tersebut memiliki tiga kemungkinan:
umur = int(input("Masukkan umur: "))
if umur < 5:
print("Balita")
elif umur < 13:
print("Anak-anak")
elif umur < 18:
print("Remaja")
else:
print("Dewasa")
Program memeriksa kondisi secara berurutan. Jika umur 15, kondisi pertama dan kedua tidak terpenuhi, sedangkan kondisi ketiga terpenuhi sehingga hasilnya `Remaja`.
jumlah = int(input("Jumlah barang: "))
if jumlah >= 10:
print("Mendapat potongan besar")
elif jumlah >= 5:
print("Mendapat potongan sedang")
else:
print("Tidak mendapatkan potongan")
Program memberikan perlakuan berbeda berdasarkan jumlah barang.
angka = int(input("Masukkan angka: "))
if angka > 0:
print("Positif")
elif angka < 0:
print("Negatif")
else:
print("Nol")
Penjelasan:
Contoh Menentukan Bilangan Positif
Berikut adalah program yang digunakan untuk menentukan bilangan positif.angka = int(input("Masukkan angka: "))
if angka > 0:
print("Bilangan positif")
else:
print("Bukan bilangan positif")
Jika pengguna memasukkan 10, program menampilkan:
Bilangan positif
Jika pengguna memasukkan -5, program menampilkan:
Bukan bilangan positif
Menentukan Bilangan Genap atau Ganjil
Operator `%` dapat digunakan bersama percabangan.angka = int(input("Masukkan angka: "))
if angka % 2 == 0:
print("Bilangan genap")
else:
print("Bilangan ganjil")
Jika angka dapat dibagi 2 tanpa sisa, kondisi bernilai benar. Jika masih memiliki sisa, program menjalankan bagian `else`.
Percabangan `elif`
Terkadang program memiliki lebih dari dua kemungkinan. Dalam keadaan seperti itu, `elif` dapat digunakan. `elif` merupakan singkatan dari "else if".Contoh:
nilai = 85
if nilai >= 90:
print("Sangat baik")
elif nilai >= 75:
print("Baik")
else:
print("Perlu belajar lebih giat")
Program memeriksa kondisi dari atas ke bawah.
Pertama, Python memeriksa:
nilai >= 90
Kondisi tersebut salah karena nilai 85.
Kemudian Python memeriksa:
nilai >= 75
Kondisi tersebut benar sehingga program menampilkan:
Baik
Menggunakan Beberapa `elif`
Jumlah `elif` dapat disesuaikan dengan kebutuhan.Contoh:
nilai = 78
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
elif nilai >= 60:
print("D")
else:
print("E")
Program tersebut membagi nilai ke dalam beberapa kategori.
Pentingnya Urutan Kondisi
Urutan kondisi sangat penting.Perhatikan:
nilai = 90
if nilai >= 60:
print("D")
elif nilai >= 70:
print("C")
elif nilai >= 80:
print("B")
elif nilai >= 90:
print("A")
Program hanya menghasilkan:
D
Mengapa? Karena 90 sudah memenuhi kondisi pertama, yaitu `nilai >= 60`. Python langsung menjalankan bagian tersebut dan tidak melanjutkan pemeriksaan `elif`.
Penulisan yang lebih tepat adalah mengurutkan kondisi dari batas tertinggi ke terendah.
nilai = 90
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
elif nilai >= 60:
print("D")
else:
print("E")
Hasil:
A
Percabangan untuk Nilai Siswa
Percabangan dapat digunakan untuk membuat program penilaian sederhana.nilai = int(input("Masukkan nilai: "))
if nilai >= 90:
print("Predikat A")
elif nilai >= 80:
print("Predikat B")
elif nilai >= 70:
print("Predikat C")
elif nilai >= 60:
print("Predikat D")
else:
print("Predikat E")
Program tersebut menerima nilai dari pengguna kemudian menentukan predikat.
Menentukan Status Kelulusan
Program berikut menggunakan `if` dan `else`.nilai = int(input("Masukkan nilai: "))
if nilai >= 75:
print("Selamat, dinyatakan lulus.")
else:
print("Belum mencapai nilai kelulusan.")
Program tersebut cocok digunakan sebagai contoh dasar penerapan percabangan.
Menggunakan Operator Logika
Percabangan dapat digabungkan dengan operator `and`, `or`, dan `not`.Contoh:
nilai = 85
kehadiran = 90
if nilai >= 75 and kehadiran >= 80:
print("Memenuhi syarat kelulusan")
else:
print("Belum memenuhi syarat")
Ada dua kondisi yang harus benar:
- Nilai minimal 75.
- Kehadiran minimal 80 persen.
Menggunakan `or`
Operator `or` dapat digunakan jika salah satu kondisi sudah cukup.Contoh:
izin_orang_tua = True
izin_sekolah = False
if izin_orang_tua or izin_sekolah:
print("Memiliki izin")
else:
print("Tidak memiliki izin")
Karena `izin_orang_tua` bernilai `True`, kondisi keseluruhan bernilai benar.
Percabangan dengan Teks
Kondisi tidak hanya dapat berupa angka. Teks juga dapat digunakan.Contoh:
jawaban = input("Apakah sudah belajar? ")
if jawaban == "ya":
print("Bagus, lanjutkan persiapan.")
else:
print("Sebaiknya mulai belajar.")
Program membandingkan masukan pengguna dengan teks `"ya"`.
Memeriksa Pilihan Pengguna
Percabangan dapat digunakan untuk membuat menu sederhana.pilihan = input("Pilih menu: ")
if pilihan == "1":
print("Menu data siswa")
elif pilihan == "2":
print("Menu nilai")
elif pilihan == "3":
print("Menu laporan")
else:
print("Pilihan tidak tersedia")
Program memeriksa pilihan dari pengguna dan memberikan keluaran yang sesuai.
Percabangan Bersarang
Python juga memungkinkan sebuah `if` berada di dalam `if` lainnya. Struktur ini disebut percabangan bersarang.Contoh:
nilai = 85
kehadiran = 90
if nilai >= 75:
if kehadiran >= 80:
print("Lulus")
else:
print("Nilai cukup, tetapi kehadiran kurang")
else:
print("Nilai belum memenuhi syarat")
Program pertama memeriksa nilai. Jika nilai memenuhi syarat, program melanjutkan pemeriksaan kehadiran. Jika kedua kondisi terpenuhi, siswa dinyatakan lulus.
Alasan Penggunaan Percabangan Bersarang
Percabangan bersarang berguna ketika sebuah keputusan hanya perlu diperiksa setelah kondisi sebelumnya terpenuhi. Namun, penggunaan terlalu banyak percabangan bersarang dapat membuat kode sulit dibaca. Dalam beberapa situasi, beberapa kondisi dapat digabungkan menggunakan operator logika.Contoh:
if nilai >= 75 and kehadiran >= 80:
print("Lulus")
else:
print("Belum lulus")
Kode tersebut lebih ringkas daripada percabangan bersarang sebelumnya.
Membandingkan Bilangan
Percabangan juga dapat menentukan hubungan antara dua angka.a = int(input("Angka pertama: "))
b = int(input("Angka kedua: "))
if a > b:
print("Angka pertama lebih besar.")
elif a < b:
print("Angka kedua lebih besar.")
else:
print("Kedua angka sama.")
Program tersebut memiliki tiga kemungkinan:
- Angka pertama lebih besar.
- Angka kedua lebih besar.
- Kedua angka sama.
Menentukan Kategori Usia
Contoh lainnya adalah membuat kategori berdasarkan usia.umur = int(input("Masukkan umur: "))
if umur < 5:
print("Balita")
elif umur < 13:
print("Anak-anak")
elif umur < 18:
print("Remaja")
else:
print("Dewasa")
Program memeriksa kondisi secara berurutan. Jika umur 15, kondisi pertama dan kedua tidak terpenuhi, sedangkan kondisi ketiga terpenuhi sehingga hasilnya `Remaja`.
Menentukan Harga Berdasarkan Jumlah
Percabangan juga dapat digunakan dalam program penjualan.jumlah = int(input("Jumlah barang: "))
if jumlah >= 10:
print("Mendapat potongan besar")
elif jumlah >= 5:
print("Mendapat potongan sedang")
else:
print("Tidak mendapatkan potongan")
Program memberikan perlakuan berbeda berdasarkan jumlah barang.
Menentukan Bilangan Positif, Negatif, atau Nol
Tiga kemungkinan dapat ditangani menggunakan `if`, `elif`, dan `else`.angka = int(input("Masukkan angka: "))
if angka > 0:
print("Positif")
elif angka < 0:
print("Negatif")
else:
print("Nol")
Penjelasan:
- Jika angka 25, hasilnya `Positif`.
- Jika angka -10, hasilnya `Negatif`.
- Jika angka 0, hasilnya `Nol`.
Menggunakan Kondisi Rentang
Program dapat memeriksa apakah nilai berada dalam rentang tertentu.Contoh:
nilai = int(input("Masukkan nilai: "))
if nilai >= 80 and nilai <= 100:
print("Kategori sangat baik")
elif nilai >= 70:
print("Kategori baik")
else:
print("Perlu peningkatan")
Operator logika membantu menggabungkan batas bawah dan batas atas.
Perbandingan dengan Nilai Boolean
Kondisi juga dapat menggunakan variabel Boolean secara langsung.Contoh:
aktif = True
if aktif:
print("Sistem sedang aktif.")
else:
print("Sistem sedang tidak aktif.")
Tidak perlu menulis:
if aktif == True:
karena:
if aktif:
sudah cukup jelas.
Kesalahan yang Sering Terjadi
Berikut adalah beberapa jenis kesalahan yang sering terjadi ketika menggunakan perintah if else.Kesalahan pertama, lupa tanda titik dua.
Salah:
if nilai >= 75
print("Lulus")
Benar:
if nilai >= 75:
print("Lulus")
Kesalahan kedua, salah menggunakan `=` dan `==`.
if nilai >= 75
print("Lulus")
Benar:
if nilai >= 75:
print("Lulus")
Kesalahan kedua, salah menggunakan `=` dan `==`.
Untuk membandingkan nilai, gunakan `==`.
if nilai == 75:
print("Nilainya tepat 75")
Tanda `=` digunakan untuk memberikan nilai kepada variabel.
Kesalahan ketiga, salah indentasi.
Benar:
if nilai >= 75:
print("Lulus")
Perintah setelah `if` harus berada dalam blok yang sesuai.
Kesalahan keempat, urutan `elif` tidak tepat.
Kondisi yang lebih khusus atau batas lebih tinggi biasanya perlu ditempatkan sebelum kondisi yang lebih umum.
Contoh yang lebih tepat:
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
if nilai == 75:
print("Nilainya tepat 75")
Tanda `=` digunakan untuk memberikan nilai kepada variabel.
Kesalahan ketiga, salah indentasi.
Benar:
if nilai >= 75:
print("Lulus")
Perintah setelah `if` harus berada dalam blok yang sesuai.
Kesalahan keempat, urutan `elif` tidak tepat.
Kondisi yang lebih khusus atau batas lebih tinggi biasanya perlu ditempatkan sebelum kondisi yang lebih umum.
Contoh yang lebih tepat:
if nilai >= 90:
print("A")
elif nilai >= 80:
print("B")
elif nilai >= 70:
print("C")
Latihan 1
Buat program yang meminta nilai siswa. Jika nilai minimal 75, tampilkan `Lulus`. Jika kurang dari 75, tampilkan `Belum lulus`.Latihan 2
Buat program untuk menentukan apakah sebuah bilangan merupakan bilangan genap atau ganjil.Latihan 3
Buat program yang meminta umur kemudian menampilkan kategori:- Anak-anak.
- Remaja.
- Dewasa.
Latihan 4
Buat program yang menerima dua angka dan menentukan angka yang lebih besar. Jika kedua angka sama, tampilkan keterangan bahwa keduanya memiliki nilai yang sama.Latihan 5
Buat program yang menentukan predikat berdasarkan nilai:- 90–100 = A.
- 80–89 = B.
- 70–79 = C.
- 60–69 = D.
- Di bawah 60 = E.
Latihan 6
Buat program yang meminta nilai dan kehadiran. Siswa dinyatakan lulus jika nilai minimal 75 dan kehadiran minimal 80 persen.Latihan 7
Buat program menu sederhana. Pilihan:- Biodata
- Nilai
- Keluar
Latihan 8
Buat program untuk menentukan apakah sebuah angka:- Positif.
- Negatif.
- Nol.
Latihan 9
Buat program sederhana untuk menentukan potongan harga berdasarkan total belanja. Contohnya:- Minimal Rp500.000 mendapat potongan 20%.
- Minimal Rp250.000 mendapat potongan 10%.
- Di bawah Rp250.000 tidak mendapat potongan.
Latihan 10
Buat program yang menentukan apakah seseorang dapat mengikuti suatu kegiatan. Syaratnya adalah umur minimal 15 tahun dan sudah mendapatkan izin.Tantangan
Buat sebuah program penilaian siswa yang lebih lengkap. Program harus meminta:- Nama siswa.
- Nilai tugas.
- Nilai ujian.
- Nilai praktik.
- Persentase kehadiran.
- 90 atau lebih = A.
- 80–89 = B.
- 70–79 = C.
- 60–69 = D.
- Di bawah 60 = E.
- Nilai rata-rata minimal 75.
- Kehadiran minimal 80 persen.
Contoh:
nama = input("Nama siswa: ")
tugas = float(input("Nilai tugas: "))
ujian = float(input("Nilai ujian: "))
praktik = float(input("Nilai praktik: "))
kehadiran = float(input("Kehadiran (%): "))
rata_rata = (tugas + ujian + praktik) / 3
if rata_rata >= 90:
predikat = "A"
elif rata_rata >= 80:
predikat = "B"
elif rata_rata >= 70:
predikat = "C"
elif rata_rata >= 60:
predikat = "D"
else:
predikat = "E"
if rata_rata >= 75 and kehadiran >= 80:
status = "Lulus"
else:
status = "Belum lulus"
print()
print("===== HASIL PENILAIAN =====")
print("Nama :", nama)
print("Rata-rata :", rata_rata)
print("Predikat :", predikat)
print("Kehadiran :", kehadiran, "%")
print("Status :", status)
Latihan tersebut menggabungkan beberapa materi Python yang telah dipelajari sebelumnya, yaitu variabel, input, konversi tipe data, operator aritmatika, operator perbandingan, operator logika, dan percabangan.
Kesimpulan
Percabangan merupakan salah satu konsep penting dalam pemrograman Python. Dengan percabangan, program dapat menentukan tindakan berdasarkan kondisi yang terjadi.`if` digunakan untuk memeriksa kondisi utama. Jika kondisi tersebut bernilai `True`, perintah di dalam blok `if` dijalankan.
`else` digunakan sebagai pilihan ketika kondisi `if` tidak terpenuhi. Dengan demikian, program dapat memberikan tindakan berbeda untuk keadaan benar dan salah.
Sementara itu, `elif` digunakan ketika terdapat beberapa kemungkinan kondisi. Python memeriksa kondisi dari atas ke bawah dan menjalankan blok pertama yang memenuhi syarat.
Percabangan dapat dikombinasikan dengan operator perbandingan seperti `==`, `!=`, `>`, `<`, `>=`, dan `<=`. Operator logika seperti `and`, `or`, dan `not` juga dapat digunakan untuk membuat kondisi yang lebih kompleks.
Pemahaman terhadap `if`, `elif`, dan `else` menjadi dasar penting untuk membuat program yang mampu mengambil keputusan. Setelah menguasai materi ini, siswa dapat mulai membuat program yang lebih interaktif, seperti pemeriksa nilai, kalkulator, menu sederhana, permainan tebak angka, sistem penilaian, dan berbagai program lainnya.
Semakin banyak latihan dilakukan, semakin mudah memahami bagaimana sebuah program memilih tindakan berdasarkan kondisi yang diberikan. Konsep percabangan juga akan menjadi dasar untuk mempelajari materi berikutnya, terutama perulangan dan pembuatan program yang memiliki alur kerja lebih kompleks.
Artikel ini akan dibaca oleh: Anasya' Bania Mu'Allifatunnasoha, Andhika Caesar Putra, Anggie Harsellia Suryani, Anggun Stya Mas Putri, dan Anindya Galuh Prabeswari.
40 komentar untuk "Percabangan if, elif, dan else dalam Python"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
Apa fungsi utama dari sistem input absen di SMAN 8 Semarang?
BalasHapusUntuk mencatat dan mendokumentasikan kehadiran siswa secara digital, cepat, akurat, dan dapat diakses oleh pihak sekolah maupun orang tua.
HapusSiapa pihak yang berwenang menginput absen harian siswa?
BalasHapusGuru mata pelajaran dan wali kelas.
HapusMelalui apa guru melakukan input absen di SMAN 8 Semarang?
BalasHapusMelalui sistem informasi sekolah berbasis daring yang dapat diakses dari komputer atau perangkat ponsel.
HapusJenis ketidakhadiran apa saja yang diinput dalam sistem absen?
BalasHapusHadir, izin, sakit, dan tanpa keterangan (alpa).
HapusApakah sistem absen terhubung langsung dengan orang tua atau wali murid?
BalasHapusYa, sistem ini mengirimkan notifikasi kepada orang tua jika siswa tidak hadir.
HapusBagaimana cara orang tua mengetahui kehadiran anaknya?
BalasHapusMelalui notifikasi aplikasi sekolah, SMS, atau email dari sistem informasi akademik sekolah.
HapusApakah sistem absen dapat diakses di luar lingkungan sekolah?
BalasHapusYa, selama perangkat terhubung ke internet dan memiliki akun yang terdaftar.
HapusApa yang dilakukan jika terjadi kesalahan input absen oleh guru?
BalasHapusGuru dapat mengedit data absen setelah verifikasi dan persetujuan dari wali kelas atau petugas tata usaha.
HapusKapan data absen direkap oleh wali kelas?
BalasHapusBiasanya setiap akhir minggu dan akhir bulan, serta menjelang pembagian rapor.
HapusBagaimana sistem mengatasi kendala teknis saat input tidak bisa dilakukan karena gangguan jaringan?
BalasHapusSistem memiliki fitur simpan sementara atau mode offline yang dapat disinkronkan saat koneksi kembali stabil.
HapusApakah siswa dapat mengubah data kehadirannya di sistem?
BalasHapusTidak. Siswa hanya memiliki hak akses untuk melihat data, bukan mengubah.
HapusApa dampak dari ketidakhadiran siswa yang tercatat dalam sistem terhadap nilai rapor?
BalasHapusData kehadiran mempengaruhi penilaian sikap dan catatan kedisiplinan siswa dalam rapor.
HapusApakah sistem input absen digunakan selama kegiatan pembelajaran jarak jauh?
BalasHapusYa, sistem tetap digunakan untuk mencatat kehadiran selama pembelajaran daring.
HapusApakah guru dapat mencetak laporan kehadiran siswa dari sistem?
BalasHapusYa, sistem menyediakan fitur cetak untuk laporan harian, mingguan, dan bulanan.
HapusApakah sistem absen ini mendukung fitur tanda tangan digital guru?
BalasHapusYa, pada versi terbaru sistem sudah dilengkapi dengan fitur tanda tangan digital untuk validasi.
HapusBagaimana sekolah memastikan keamanan data kehadiran siswa?
BalasHapusDengan menggunakan sistem yang memiliki pengamanan berbasis sandi, enkripsi, dan akses terbatas.
HapusApa peran operator sekolah dalam sistem input absen?
BalasHapusOperator bertugas melakukan verifikasi data, pencadangan, dan pengawasan kelengkapan laporan kehadiran.
HapusBagaimana guru mengecek siswa yang sering absen dalam satu semester?
BalasHapusMelalui fitur rekap statistik kehadiran per siswa dalam sistem informasi sekolah.
HapusApakah sistem input absen terintegrasi dengan aplikasi Dapodik?
BalasHapusYa, data kehadiran dari sistem dapat diolah dan disesuaikan untuk pengisian Dapodik.
HapusApakah SMAN 8 Semarang merencanakan peningkatan fitur sistem absen ke depan?
BalasHapusYa, sekolah terus mengembangkan sistem, termasuk kemungkinan penggunaan identifikasi wajah atau kartu elektronik ke depannya.
Hapus