Modul Pembelajaran Interaktif • Pertemuan 04

Percabangan & Pengkondisian
Decision Making Control Flow di Python

Pelajari cara membuat program cerdas yang mampu mengambil keputusan logis berdasarkan kondisi: pernyataan if, if-else, if-elif-else, dan percabangan bersarang (nested if) disertai simulator flowchart, kalkulator kasir tiket bus, dan slip gaji karyawan interaktif.

Apa Itu Percabangan & Indentasi Python?

Pengambilan keputusan (*decision making*) adalah kunci bagaimana komputer merespons berbagai skenario yang berbeda.

Definisi Percabangan (*Conditional Statement*)

Percabangan atau Pengkondisian adalah cara yang digunakan untuk mengambil keputusan berdasarkan kondisi tertentu. Percabangan mengevaluasi kondisi atau ekspresi logika yang menghasilkan nilai boolean (True atau False).

Jika Kondisi Benar (True):

Pernyataan di dalam blok kondisi tersebut akan dieksekusi oleh Python.

Jika Kondisi Salah (False):

Blok kode tersebut dilewati, atau sistem akan mengeksekusi blok cabang alternatif (else).

Aturan Sakral: Indentasi Sebagai Penentu Blok Kode

Tidak seperti bahasa C, C++, Java, atau JavaScript yang menggunakan kurung kurawal { } untuk membungkus blok kode, Python menggunakan indentasi (spasi menjorok ke kanan, standar 4 spasi) setelah tanda titik dua :.

contoh_indentasi.py
# Tanda titik dua (:) mengawali blok kondisi
if 10 > 5:
    # Indentasi 4 spasi (Menjorok ke kanan)
    print("Statement ini berada di dalam blok IF dan akan dieksekusi!")

# Baris tanpa indentasi berarti berada di LUAR blok IF
print("Statement ini akan SELALU dieksekusi karena berada di luar percabangan.")

Pernyataan Percabangan Tunggal: if

Digunakan ketika Anda hanya memiliki 1 kondisi aksi yang ingin dijalankan jika syarat terpenuhi.

Sintaks & Cara Kerja

Jika kondisi bernilai True, maka baris instruksi di dalamnya dijalankan. Jika False, program langsung melompat ke baris berikutnya.

sintaks_if.py
if tes_kondisi:
    # statement dijalankan jika True
    perintah_1()
    perintah_2()

Contoh Kode Nyata

cek_angka.py
angka = 5

if angka > 0:
    print(angka, "adalah bilangan positif lebih besar dari 0")

# Output:
# 5 adalah bilangan positif lebih besar dari 0

Live Test Percabangan Tunggal

Output: 8 lebih besar dari 0 (Kondisi True)

Pernyataan Percabangan Ganda: if ... else

Menyediakan dua alternatif alur: blok if jika kondisi terpenuhi, dan blok else jika tidak.

Flowchart Logika If-Else

Mulai
Kondisi (nilai >= 75)?
True False
Lulus Ujian!
Tidak Lulus!

Contoh Implementasi Python

kelulusan.py
nilai = 74

print("Nilai anda adalah:", nilai)

if nilai >= 75:
    print("Selamat, anda lulus!")
else:
    print("Maaf, anda tidak lulus.")

# Contoh cek bilangan genap / ganjil:
bilangan = 17
if bilangan % 2 == 0:
    print(bilangan, "adalah Bilangan Genap")
else:
    print(bilangan, "adalah Bilangan Ganjil")

Pernyataan Percabangan Majemuk: if ... elif ... else

Digunakan untuk menguji lebih dari 2 kondisi secara berurutan (*cascading conditional statement*).

Kata kunci elif merupakan singkatan dari "else if". Python akan mengevaluasi setiap kondisi dari atas ke bawah. Segera setelah satu kondisi bernilai True, blok tersebut dieksekusi dan Python akan langsung melompati seluruh elif/else berikutnya!

Kalkulator Predikat Nilai Mahasiswa

0 85 100
Aturan Nilai Kuliah:
  • Nilai ≥ 88 → Predikat A (Istimewa)
  • Nilai ≥ 75 → Predikat B (Baik)
  • Nilai ≥ 60 → Predikat C (Cukup)
  • Nilai ≥ 40 → Predikat D (Kurang)
  • Lainnya → Predikat E (Gagal)
Hasil Evaluasi Mahasiswa

Ahmad Faruq

B

Predikat B • Lulus Memuaskan

Nilai 85 memenuhi syarat kondisi (nilai ≥ 75).

penentuan_grade.py
# Program Penentuan Grade Nilai Mahasiswa
nilai = int(input("Masukkan nilai mahasiswa: "))

if nilai >= 88:
    print("Predikat A")
elif nilai >= 75:
    print("Predikat B")
elif nilai >= 60:
    print("Predikat C")
elif nilai >= 40:
    print("Predikat D")
else:
    print("Predikat E")

Percabangan Bersarang (*Nested If*)

Meletakkan blok percabangan di dalam blok percabangan lainnya untuk validasi bertingkat.

Nested If sangat sering digunakan ketika keputusan kedua hanya boleh diperiksa jika keputusan pertama sudah benar. Misalnya: Sistem otentikasi login (Periksa Username dulu → jika benar baru periksa Password).

sistem_login_nested.py
username = input("Username: ")
password = input("Password: ")

# Percabangan Tingkat 1 (Cek Username)
if username == "admin":
    # Percabangan Tingkat 2 (Bersarang di dalam if username)
    if password == "rahasia123":
        print("Login Berhasil! Selamat datang, Admin.")
    else:
        print("Password salah! Akses ditolak.")
else:
    print("Username tidak terdaftar di sistem!")

Studi Kasus 1: Kasir Tiket Bus Pariwisata "XYZ"

Penerapan percabangan majemuk penentuan jurusan kota dan diskon kuantitas tiket.

Form Pemesanan Tiket

Struk Cetak Pembayaran

PENJUALAN TIKET BUS XYZ
Tiket Resmi Perjalanan Antar Kota
Nama Pembeli: Alexander Asep
No. HP: 081234567890
Kota Tujuan: Surabaya
Harga / Tiket: Rp 300.000
Jumlah Beli: 3 Tiket
Subtotal: Rp 900.000
Potongan (10%): - Rp 90.000
TOTAL BAYAR: Rp 810.000
Uang Bayar: Rp 1.000.000
Uang Kembali: Rp 190.000

Studi Kasus 2: Program Hitung Gaji Karyawan

Kalkulasi gaji pokok, tunjangan jabatan (Golongan 1/2/3), tunjangan pendidikan (SMA/D1/D3/S1), dan honor lembur.

Data Karyawan

Rincian Slip Gaji Karyawan

SLIP GAJI KARYAWAN

Karyawan: Muhammad Fikri

Gaji Pokok (Standar): Rp 300.000
Tunjangan Jabatan: Rp 30.000 (10%)
Tunjangan Pendidikan: Rp 90.000 (30%)
Honor Lembur (10 jam): Rp 35.000
TOTAL GAJI DITERIMA: Rp 455.000

Live Python Runner & Code Playground

Jalankan dan uji berbagai program logika percabangan secara langsung di browser Anda.

main.py

Terminal Output:

Klik 'Jalankan Program' untuk melihat hasil eksekusi kode di atas...

Kuis Interaktif: Logika Percabangan Python

Uji ketelitian dan pemahaman logika pengkondisian Anda sebelum melangkah ke materi Perulangan.

Pertanyaan 1 dari 5 Skor Anda: 0/5

Loading pertanyaan kuis...

Progress Kuis

Rangkuman & Roadmap Pertemuan 5

Poin Penting Pertemuan 4

  • Percabangan if mengevaluasi ekspresi boolean (True/False).
  • Indentasi 4 spasi wajib digunakan setelah tanda titik dua : untuk mendefinisikan isi blok kode.
  • if-else menyediakan 2 cabang jalur eksekusi yang saling berlawanan.
  • if-elif-else menguji multi-kondisi dari atas ke bawah dan berhenti pada kondisi pertama yang True.
  • Nested If (percabangan bersarang) digunakan untuk keputusan logis bertingkat.

Materi Pertemuan 5: Perulangan (Loops)

Pada pertemuan berikutnya, kita akan mempelajari otomatisasi tugas berulang:

  • Perulangan for: Iterasi koleksi data dan fungsi range().
  • Perulangan while: Pengulangan kode selama kondisi bernilai True.
  • Control Statement: Penggunaan break, continue, dan pass.
  • Studi Kasus Akbar: Sistem Kasir Gerobak Fried Chicken.
Lanjut ke Pertemuan 5 Buka Colab