ngodingdulu
Dasar PemrogramanTutorialPemula

Percabangan dan Perulangan di Python untuk Pemula

Program yang bisa mengambil keputusan dan mengulang pekerjaan. Dua konsep ini yang mengubah daftar perintah menjadi program yang benar-benar berguna.

Oleh Afa Hernandes5 menit baca

Daftar isi

Sejauh ini program kita berjalan lurus dari atas ke bawah. Program sungguhan perlu dua kemampuan lagi:

  • Percabangan: melakukan hal berbeda tergantung kondisinya. Kalau nilainya 75 ke atas, tulis “lulus”. Kalau tidak, tulis “remedial”.
  • Perulangan: mengulang pekerjaan tanpa menulis kode yang sama berkali-kali. Untuk setiap barang di keranjang, tambahkan harganya ke total.

Dengan dua konsep ini, ditambah variabel dan tipe data, kamu sudah bisa membuat program kecil yang benar-benar berguna. Semua contoh diuji dengan Python 3.13.

Membandingkan nilai

Percabangan bergantung pada kondisi yang hasilnya True atau False. Kondisi dibuat dengan operator perbandingan:

Operator Arti Contoh Hasil
== sama dengan 5 == 5 True
!= tidak sama dengan 5 != 3 True
> / < lebih besar / lebih kecil 5 > 3 True
>= / <= lebih besar atau sama / lebih kecil atau sama 5 <= 5 True

Beberapa kondisi bisa digabung dengan and (keduanya harus benar), or (salah satu cukup), dan not (membalik).

Perhatikan perbedaan = dan ==. Satu tanda sama dengan menyimpan nilai ke variabel, dua tanda sama dengan membandingkan.

if, elif, else

nilai.py
nilai = 82
if nilai >= 85:
huruf = "A"
elif nilai >= 75:
huruf = "B"
elif nilai >= 60:
huruf = "C"
else:
huruf = "D"
print(f"Nilai {nilai} mendapat huruf {huruf}")
Output
Nilai 82 mendapat huruf B

Cara membacanya: Python memeriksa kondisi dari atas ke bawah, menjalankan blok pertama yang kondisinya benar, lalu melewati sisanya. 82 >= 85 salah, 82 >= 75 benar, jadi huruf menjadi "B", dan dua cabang terakhir tidak diperiksa lagi.

Indentasi bukan hiasan

Di Python, baris-baris yang masuk ke dalam sebuah blok harus menjorok ke dalam (biasanya 4 spasi). VS Code melakukannya otomatis setelah kamu mengetik tanda titik dua : dan menekan Enter. Indentasi menentukan baris mana yang termasuk dalam if dan mana yang tidak:

indentasi.py
saldo = 50000
harga = 75000
if harga > saldo:
print("Saldo tidak cukup")
print("Silakan isi ulang")
print("Terima kasih")
Output
Saldo tidak cukup
Silakan isi ulang
Terima kasih

Dua baris pertama hanya dijalankan kalau kondisinya benar. Baris Terima kasih tidak menjorok, jadi selalu dijalankan.

Perulangan for

for mengulang sebuah blok untuk setiap item dalam sebuah kumpulan. Untuk mengulang sejumlah kali, pakai range():

for_range.py
for i in range(3):
print("Putaran ke", i)
for angka in range(1, 6):
print(angka, end=" ")
print()
Output
Putaran ke 0
Putaran ke 1
Putaran ke 2
1 2 3 4 5

Dua hal yang sering membingungkan pemula:

  • range(3) menghasilkan 0, 1, 2. Mulai dari 0, dan angka 3 tidak termasuk.
  • range(1, 6) menghasilkan 1 sampai 5. Angka akhirnya tidak pernah ikut.

for juga bisa mengulang setiap huruf dalam teks, atau setiap item dalam daftar (list, yang dibahas lengkap di list dan dictionary):

belanja.py
harga_barang = [18000, 25000, 30000]
total = 0
for harga in harga_barang:
total = total + harga
print(f"Total: Rp{total:,}".replace(",", "."))
if total > 50000:
diskon = total * 10 // 100
print(f"Dapat diskon 10%: Rp{diskon:,}".replace(",", "."))
print(f"Bayar: Rp{total - diskon:,}".replace(",", "."))
Output
Total: Rp73.000
Dapat diskon 10%: Rp7.300
Bayar: Rp65.700

Pola “mulai dari total = 0, lalu tambahkan setiap item di dalam perulangan” (disebut akumulator) akan sangat sering kamu pakai.

Perulangan while

while mengulang selama kondisinya benar. Pakai while kalau kamu tidak tahu sejak awal berapa kali harus mengulang, misalnya sampai pengguna menebak dengan benar:

tebak.py
rahasia = 73
percobaan = 0
while True:
tebakan = int(input("Tebak angka 1-100: "))
percobaan += 1
if tebakan < rahasia:
print("Terlalu kecil")
elif tebakan > rahasia:
print("Terlalu besar")
else:
print(f"Benar! Kamu menebak dalam {percobaan} percobaan.")
break

Dijalankan dengan tebakan 50, 80, lalu 73:

Output
Tebak angka 1-100: Terlalu kecil
Tebak angka 1-100: Terlalu besar
Tebak angka 1-100: Benar! Kamu menebak dalam 3 percobaan.

Hal-hal baru di sini:

  • while True mengulang terus, dan break menghentikan perulangan saat tebakan benar.
  • percobaan += 1 adalah singkatan dari percobaan = percobaan + 1.
  • Ada juga continue, yang melompati sisa putaran dan langsung lanjut ke putaran berikutnya.

Awas perulangan tanpa akhir

Kalau kondisi while tidak pernah menjadi salah dan tidak ada break, program akan berjalan selamanya. Kalau itu terjadi, tekan Ctrl + C di terminal untuk menghentikannya. Penyebab paling umum: lupa mengubah variabel yang diperiksa kondisi.

hitung_mundur.py
hitung = 3
while hitung > 0:
print(hitung)
hitung -= 1 # tanpa baris ini, perulangan tidak pernah berhenti
print("Mulai!")
Output
3
2
1
Mulai!

for atau while?

Situasi Pakai
Mengulang untuk setiap item dalam daftar atau teks for
Mengulang sejumlah kali yang sudah diketahui for dengan range()
Mengulang sampai sesuatu terjadi (input benar, data habis) while

Kalau ragu, mulai dengan for. Lebih sulit membuat perulangan tanpa akhir dengan for.

Error yang sering muncul

IndentationError: expected an indented block after 'if' statement on line 3 Baris setelah if, for, atau while tidak menjorok. Tambahkan 4 spasi di awal baris itu.

SyntaxError: expected ':' Lupa tanda titik dua di akhir baris if, elif, else, for, atau while.

SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='? Kamu menulis if nilai = 75:. Untuk membandingkan, pakai ==.

Cara membaca pesan error seperti ini secara umum dibahas di membaca pesan error Python.

Latihan

  1. Buat program yang menampilkan bilangan genap dari 1 sampai 20. (Petunjuk: %.)
  2. Ubah program tebak angka supaya pemain hanya punya 5 kesempatan. Kalau habis, tampilkan angka rahasianya.

Coba dulu sendiri sebelum bertanya ke AI.

Kesimpulan

Percabangan (if, elif, else) membuat program memilih jalan berdasarkan kondisi. Perulangan (for untuk setiap item atau sejumlah kali, while selama kondisi benar) membuat program mengulang tanpa menulis kode berulang. Jaga indentasi, bedakan = dan ==, dan pastikan setiap while punya jalan keluar.

Langkah berikutnya di jalur Mulai Ngoding dari Nol: membungkus kode menjadi bagian yang bisa dipakai ulang, dengan function.

Bagikan:WhatsAppTelegramXFacebook

Enter bukaEsc tutupHalaman pencarian