‹ Daftar slidePertemuan 3: Kontrol Seleksi dan Perulangan
Program Studi Bisnis Digital • FEB UNDIP
Algoritma dan Pemrograman
Pertemuan 3 — Kontrol Seleksi dan Perulangan
Bagaimana program mengambil keputusan (if/elif/else) dan mengulang pekerjaan secara otomatis (for/while) — dua fondasi paling sering dipakai di kode bisnis digital.
RPS MINGGU 3 • 2×50 MENIT
Tujuan Pembelajaran Hari Ini
Setelah pertemuan ini, Anda diharapkan mampu menerapkan struktur kontrol seleksi dan perulangan untuk menyelesaikan persoalan bisnis digital sederhana. Secara rinci:
CAPAIAN 1
IF
Kontrol Seleksi
Menulis dan menelusuri if, elif, else untuk cabang keputusan bertingkat.
CAPAIAN 2
LOOP
Kontrol Perulangan
Menulis dan menelusuri for dan while, serta mengendalikannya dengan break/continue.
Kedua kontrol ini adalah tulang punggung hampir semua program — mulai dari kalkulator diskon toko online sampai sistem antrian dan rekomendasi produk.
Bagian 1 dari 3
Kontrol Seleksi: if / elif / else
Bagaimana program memilih jalur eksekusi berdasarkan sebuah kondisi bernilai benar atau salah.
Alur Keputusan: Konsep Percabangan
Setiap kondisi di Python dievaluasi menjadi nilai boolean(True/False) — tipe data logika yang hanya berisi dua kemungkinan. Struktur seleksi memilih blok kode mana yang dijalankan berdasarkan nilai ini.
Operator perbandingan yang menghasilkan boolean: == (sama dengan), != (tidak sama), >, <, >=, <=. Operator logika: and, or, not.
Sintaks if / elif / else
Python membaca blok kode berdasarkan indentasi (spasi di awal baris) — bukan tanda kurung kurawal seperti bahasa lain.
Bagaimana program mengerjakan tugas yang sama berkali-kali tanpa Anda menulis ulang kodenya.
Konsep For Loop: Iterasi
for mengulang blok kode sebanyak jumlah elemen dalam sebuah urutan (sequence) — misalnya angka dari range() atau daftar produk. Setiap satu putaran disebut satu iterasi.
range(5) → 0, 1, 2, 3, 4 (5 iterasi, tidak sampai 5)
Sintaks For Loop
Contoh: mencetak daftar produk UMKM beserta nomor urutnya.
produk = ["Kopi Robusta", "Keripik Tempe", "Batik Tulis"]
for i in range(len(produk)):
print(f"{i + 1}. {produk[i]}")
# Output:# 1. Kopi Robusta# 2. Keripik Tempe# 3. Batik Tulis
Alternatif lebih ringkas: for nama in produk: langsung mengambil tiap elemen tanpa perlu range(len(...)) — akan Anda pakai lebih sering setelah materi list pertemuan 7.
Konsep While Loop: Berdasar Kondisi
while mengulang blok kode selama sebuah kondisi masih bernilai True. Dipakai saat jumlah pengulangan tidak diketahui di awal — misalnya "selama stok masih ada".
Infinite loop (loop tak berhenti) terjadi kalau kondisi tidak pernah menjadi False — misalnya lupa menulis stok = stok - 1. Program akan macet dan harus dihentikan paksa.
Hitung dari Nol: Trace While Loop
Menelusuri kode pemrosesan stok di slide sebelumnya, mulai stok = 5 pesanan yang harus diproses.
Iterasi
Cek Kondisi
Aksi & Stok Baru
1
5 > 0 ? True
proses 1 pesanan → stok = 4
2
4 > 0 ? True
proses 1 pesanan → stok = 3
3
3 > 0 ? True
proses 1 pesanan → stok = 2
4
2 > 0 ? True
proses 1 pesanan → stok = 1
5
1 > 0 ? True
proses 1 pesanan → stok = 0
6
0 > 0 ? False
loop berhenti
TOTAL PESANAN DIPROSES
5
loop berjalan 5 kali sebelum kondisi False
Mengendalikan Loop: break dan continue
break — hentikan loop
for produk in daftar:
if produk == "Habis":
break
print(produk)
Keluar dari loop seketika saat kondisi terpenuhi.
continue — lewati satu putaran
for produk in daftar:
if produk == "Nonaktif":
continue
print(produk)
Lompat ke iterasi berikutnya, sisa blok dilewati.
Nested Loop: Perulangan Bersarang
Loop di dalam loop — dipakai saat mengulang atas dua dimensi data, misalnya baris dan kolom struk belanja.
pesanan = ["Kopi", "Roti"]
jumlah = [2, 3]
for i in range(len(pesanan)):
for j in range(jumlah[i]):
print(f" - {pesanan[i]} #{j + 1}")
Loop luar berjalan 2 kali (2 jenis produk); untuk setiap putaran itu, loop dalam berjalan sesuai jumlahnya (2 lalu 3 kali) — total 5 baris tercetak.
Coba Sendiri: Menelusuri Alur Eksekusi Kode
Jalankan kode langkah demi langkah dan lihat baris mana yang aktif serta bagaimana nilai variabel berubah di if/elif/else, while, dan nested loop.
Bagian 3 dari 3
Kombinasi Seleksi + Perulangan
Kasus bisnis nyata jarang memakai satu struktur kontrol saja — biasanya keduanya digabung.
Studi Kasus: Sistem Antrian Sederhana
Sebuah kedai kopi UMKM melayani antrian; pelanggan dengan kode "VIP" dilayani lebih dulu ditandai, lainnya diproses biasa.
antrian = ["Reguler", "VIP", "Reguler", "VIP", "Reguler"]
for i in range(len(antrian)):
if antrian[i] == "VIP":
print(f"Nomor {i + 1}: dilayani PRIORITAS")
else:
print(f"Nomor {i + 1}: dilayani normal")
Loop for mengurus perulangan atas antrian; if/else di dalamnya mengurus keputusan tiap pelanggan — dua kontrol bekerja bersama dalam satu blok.
Kesalahan Umum Pemula
Seleksi
Menulis = padahal maksudnya ==
Lupa titik dua : setelah kondisi
Indentasi tidak konsisten (campur tab/spasi)
Urutan elif salah — kondisi lebih sempit ditulis setelah kondisi lebih luas
Perulangan
Lupa mengubah variabel kondisi di while → infinite loop
Salah batas range() — lupa range(5) berhenti di 4
Mengakses index di luar jangkauan list
Menempatkan break di posisi yang salah
Latihan Kelas: Kerjakan Sekarang
Buka editor Python Anda. Kerjakan berpasangan, waktu 10 menit.
Soal: Sebuah UMKM punya daftar stok 5 produk: stok = [0, 3, 0, 7, 2]. Tulis program dengan for yang mencetak "Produk ke-N: HABIS" jika stok 0, atau "Produk ke-N: tersedia (jumlah)" jika stok > 0. Gunakan if/else di dalam loop.
TARGET OUTPUT
5 baris tercetak, sesuai indeks stok (indeks 0 → Produk ke-1, dst).
PETUNJUK
Pola sama seperti studi kasus antrian VIP di slide 17 — ganti kondisinya saja.
Rangkuman & Persiapan Minggu Depan
Konsep
Kegunaan
if / elif / else
Memilih satu jalur eksekusi dari beberapa kemungkinan kondisi
for
Mengulang sejumlah kali yang diketahui / atas setiap elemen data
while
Mengulang selama sebuah kondisi masih True
break / continue
Mengendalikan alur loop secara halus
Pertemuan 4 — Minggu Depan
Konsep string: indexing, slicing, dan method string — membangun kalkulator toko online yang mengolah teks nama produk dan kode transaksi.
TUGAS MANDIRI
Selesaikan latihan antrian VIP + soal stok produk di rumah; simpan sebagai file .py, kumpulkan sebelum pertemuan berikutnya.