Lompat ke konten Lompat ke sidebar Lompat ke footer

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.

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.

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.

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.
Operator `and` memastikan kedua kondisi tersebut diperiksa secara bersamaan.

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:
  1. Angka pertama lebih besar.
  2. Angka kedua lebih besar.
  3. 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 `==`.

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")


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:
  1. Biodata
  2. Nilai
  3. Keluar
Gunakan `if`, `elif`, dan `else`.

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.
Hitung rata-rata ketiga nilai. Kemudian tentukan predikat:
  • 90 atau lebih = A.
  • 80–89 = B.
  • 70–79 = C.
  • 60–69 = D.
  • Di bawah 60 = E.
Selain itu, program harus menentukan status kelulusan. Siswa dinyatakan lulus jika:
  • 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"

  1. Apa fungsi utama dari sistem input absen di SMAN 8 Semarang?

    BalasHapus
    Balasan
    1. Untuk mencatat dan mendokumentasikan kehadiran siswa secara digital, cepat, akurat, dan dapat diakses oleh pihak sekolah maupun orang tua.

      Hapus
  2. Siapa pihak yang berwenang menginput absen harian siswa?

    BalasHapus
  3. Melalui apa guru melakukan input absen di SMAN 8 Semarang?

    BalasHapus
    Balasan
    1. Melalui sistem informasi sekolah berbasis daring yang dapat diakses dari komputer atau perangkat ponsel.

      Hapus
  4. Jenis ketidakhadiran apa saja yang diinput dalam sistem absen?

    BalasHapus
    Balasan
    1. Hadir, izin, sakit, dan tanpa keterangan (alpa).

      Hapus
  5. Apakah sistem absen terhubung langsung dengan orang tua atau wali murid?

    BalasHapus
    Balasan
    1. Ya, sistem ini mengirimkan notifikasi kepada orang tua jika siswa tidak hadir.

      Hapus
  6. Bagaimana cara orang tua mengetahui kehadiran anaknya?

    BalasHapus
    Balasan
    1. Melalui notifikasi aplikasi sekolah, SMS, atau email dari sistem informasi akademik sekolah.

      Hapus
  7. Apakah sistem absen dapat diakses di luar lingkungan sekolah?

    BalasHapus
    Balasan
    1. Ya, selama perangkat terhubung ke internet dan memiliki akun yang terdaftar.

      Hapus
  8. Apa yang dilakukan jika terjadi kesalahan input absen oleh guru?

    BalasHapus
    Balasan
    1. Guru dapat mengedit data absen setelah verifikasi dan persetujuan dari wali kelas atau petugas tata usaha.

      Hapus
  9. Kapan data absen direkap oleh wali kelas?

    BalasHapus
    Balasan
    1. Biasanya setiap akhir minggu dan akhir bulan, serta menjelang pembagian rapor.

      Hapus
  10. Bagaimana sistem mengatasi kendala teknis saat input tidak bisa dilakukan karena gangguan jaringan?

    BalasHapus
    Balasan
    1. Sistem memiliki fitur simpan sementara atau mode offline yang dapat disinkronkan saat koneksi kembali stabil.

      Hapus
  11. Apakah siswa dapat mengubah data kehadirannya di sistem?

    BalasHapus
    Balasan
    1. Tidak. Siswa hanya memiliki hak akses untuk melihat data, bukan mengubah.

      Hapus
  12. Apa dampak dari ketidakhadiran siswa yang tercatat dalam sistem terhadap nilai rapor?

    BalasHapus
    Balasan
    1. Data kehadiran mempengaruhi penilaian sikap dan catatan kedisiplinan siswa dalam rapor.

      Hapus
  13. Apakah sistem input absen digunakan selama kegiatan pembelajaran jarak jauh?

    BalasHapus
    Balasan
    1. Ya, sistem tetap digunakan untuk mencatat kehadiran selama pembelajaran daring.

      Hapus
  14. Apakah guru dapat mencetak laporan kehadiran siswa dari sistem?

    BalasHapus
    Balasan
    1. Ya, sistem menyediakan fitur cetak untuk laporan harian, mingguan, dan bulanan.

      Hapus
  15. Apakah sistem absen ini mendukung fitur tanda tangan digital guru?

    BalasHapus
    Balasan
    1. Ya, pada versi terbaru sistem sudah dilengkapi dengan fitur tanda tangan digital untuk validasi.

      Hapus
  16. Bagaimana sekolah memastikan keamanan data kehadiran siswa?

    BalasHapus
    Balasan
    1. Dengan menggunakan sistem yang memiliki pengamanan berbasis sandi, enkripsi, dan akses terbatas.

      Hapus
  17. Apa peran operator sekolah dalam sistem input absen?

    BalasHapus
    Balasan
    1. Operator bertugas melakukan verifikasi data, pencadangan, dan pengawasan kelengkapan laporan kehadiran.

      Hapus
  18. Bagaimana guru mengecek siswa yang sering absen dalam satu semester?

    BalasHapus
    Balasan
    1. Melalui fitur rekap statistik kehadiran per siswa dalam sistem informasi sekolah.

      Hapus
  19. Apakah sistem input absen terintegrasi dengan aplikasi Dapodik?

    BalasHapus
    Balasan
    1. Ya, data kehadiran dari sistem dapat diolah dan disesuaikan untuk pengisian Dapodik.

      Hapus
  20. Apakah SMAN 8 Semarang merencanakan peningkatan fitur sistem absen ke depan?

    BalasHapus
    Balasan
    1. Ya, sekolah terus mengembangkan sistem, termasuk kemungkinan penggunaan identifikasi wajah atau kartu elektronik ke depannya.

      Hapus

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 -