Ilustrasi: Fundamental Python Bab 9: Menolak Jadi Pekerja Paksa (Perulangan / Looping)
tutorial-python dasar-pemrograman looping for-while pemula

Fundamental Python Bab 9: Menolak Jadi Pekerja Paksa (Perulangan / Looping)

Oleh Herdi Herdianurdin
Daftar Isi ▼

Di Bab 8 sebelumnya, kita telah membuat aplikasi kita menjadi lebih cerdas karena mampu mengambil keputusannya sendiri melalui struktur if-else. Kini, saatnya kita melipatgandakan kekuatan aplikasi tersebut.

Ada sebuah pepatah terkenal di dunia teknologi: “Kemalasan adalah sifat terbaik yang bisa dimiliki oleh seorang programmer.”

Tentu saja, ini bukan kemalasan dalam arti berbaring seharian tanpa melakukan apa-apa. Ini adalah kemalasan yang cerdas. Di dunia nyata, kita dipaksa untuk melakukan rutinitas yang repetitif dan membosankan setiap hari—makan, mandi, menempuh perjalanan sekolah atau kantor—dan kita tidak bisa melewatkan siklus tersebut.

Namun, ketika duduk di depan komputer, seorang programmer menolak keras untuk menjadi pekerja manual.

Otomatisasi dan Menolak Bekerja Dua Kali

Sebagai seorang developer, saya mengelola beberapa aplikasi di Google Play Store dan mempublikasikan konten web. Dulu, saya bisa menghabiskan waktu berjam-jam hanya untuk melakukan pekerjaan repetitif: mengklik tombol rename pada ratusan file gambar, atau mengonversi format .png ke .webp satu per satu. Saya juga harus memantau metrik organik (App Store Optimization) aplikasi saya secara manual setiap hari.

Karena merasa “malas” dan kelelahan membuang waktu untuk rutinitas tersebut, saya akhirnya merancang sebuah skrip Python dan perintah otomatis dadakan. Hasilnya? Pekerjaan konversi gambar dan penarikan data metrik yang tadinya memakan waktu berjam-jam, kini selesai hanya dalam satu detik dengan satu kali klik.

Skrip tersebut mengambil alih pekerjaan repetitif itu tanpa pernah mengeluh, tanpa meminta istirahat, dan tanpa melakukan kesalahan (human error). Rahasia di balik keajaiban otomatisasi ini adalah konsep yang kita sebut dengan Perulangan (Looping).

Secara teori formal, Iterasi (Perulangan) adalah sebuah struktur kontrol aliran (control flow) yang memungkinkan satu blok kode dieksekusi berkali-kali secara berulang, baik berdasarkan jumlah iterasi yang sudah pasti, maupun berdasarkan evaluasi suatu kondisi logika.

Doctor Strange dan Jebakan Waktu

Ilustrasi Doctor Strange Time Loop

Untuk memahami konsep perulangan yang bergantung pada kondisi, ingatlah momen klimaks dalam film Doctor Strange (2016). Strange menghadapi entitas kosmik raksasa bernama Dormammu yang jauh lebih kuat darinya. Ia tahu ia tidak bisa menang secara fisik.

Apa yang ia lakukan? Strange menggunakan sihir untuk menjebak Dormammu di dalam sebuah siklus waktu tanpa batas (infinite loop). Setiap kali Dormammu membunuh Strange, waktu mereset dirinya kembali ke awal dengan kalimat ikonik: “Dormammu, I’ve come to bargain!”

Siklus itu berulang ratusan kali dan tidak akan pernah berhenti, KECUALI satu syarat atau kondisi terpenuhi: Dormammu menyerah. Dalam pemrograman, kita menggunakan logika yang sama persis untuk mengeksekusi perulangan.

Di Python, kita memiliki dua senjata utama untuk melakukan hal ini: For Loop dan While Loop.


1. Perulangan Pasti (for Loop)

Perulangan for digunakan ketika Anda sudah mengetahui secara pasti berapa kali pekerjaan tersebut harus diulang. Ibarat Anda disuruh berlari memutari lapangan sebanyak 5 kali.

Di Python, for biasanya dipasangkan dengan fungsi range(), yang bertugas menciptakan deret angka sebagai batas perulangan. Buka Python Playground dan jalankan kode ini:

# Komputer akan mengulang kode di bawahnya sebanyak 5 kali
for angka in range(5):
    print("Saya tidak akan mengulangi kesalahan yang sama, janji ke-", angka)

Jika Anda menjalankannya, Anda mungkin akan terkejut. Komputer akan mencetak kalimat tersebut berurutan, tetapi angkanya dimulai dari 0 hingga 4 (bukan 1 sampai 5). Mengapa demikian?

Di dunia ilmu komputer, ada satu hukum baku yang disebut Zero-based indexing. Mesin komputer selalu mulai menghitung dari angka Nol (0). Jadi, ketika Anda meminta mesin menghitung 5 langkah, ia akan menghitung: 0, 1, 2, 3, 4. Totalnya tetap tepat 5 langkah, hanya saja titik awalnya adalah nol.

2. Perulangan Kondisional (while Loop)

Berbeda dengan for, perulangan while digunakan ketika Anda tidak tahu pasti berapa kali ia harus berulang. Perulangan ini hanya bergantung pada sebuah kondisi logika. Selama kondisinya bernilai True, perulangan akan terus berjalan. Inilah mantra time-loop milik Doctor Strange.

baterai = 3

# Selama nilai baterai lebih besar dari 0, blok di bawah ini terus dieksekusi
while baterai > 0:
    print("Baterai masih ada:", baterai, "persen. Mesin menyala!")

    # Ini sangat PENTING! Kita harus mengurangi nilai baterai
    # Jika tidak dikurangi, baterai akan selalu bernilai 3, dan perulangan tidak akan pernah berhenti!
    baterai = baterai - 1

print("Baterai habis, mesin mati.")

3. Kendali Putaran (break dan continue)

Ilustrasi Kendali Putran

Terkadang, Anda ingin menginterupsi sebuah putaran waktu di tengah jalan, seperti Doctor Strange yang membatalkan mantranya saat Dormammu akhirnya menyerah. Untuk memanipulasi putaran mesin, kita menggunakan dua perintah khusus:

  • break (Hancurkan): Perintah ini secara paksa akan menghancurkan dan menghentikan seluruh perulangan seketika, tidak peduli apakah kondisinya masih True atau batasannya belum selesai.
  • continue (Lompati): Perintah ini hanya melewatkan (men-skip) siklus putaran yang saat ini sedang berjalan, dan langsung menyuruh mesin melompat ke siklus putaran berikutnya.

Perhatikan bedanya dalam kode ini:

for angka in range(1, 6): # Deret angka 1 sampai 5
    if angka == 3:
        continue # Saat angka mencapai 3, abaikan perintah print di bawah, langsung lompat ke 4
    if angka == 5:
        break    # Saat angka mencapai 5, HANCURKAN perulangan sepenuhnya!

    print("Mengeksekusi angka:", angka)

# Hasil di layar hanya akan mencetak angka 1 dan 2.
# Angka 3 di-skip (continue), dan di angka 5 program hancur (break).

Tantangan Bab 9: Meretas Sistem Keamanan (Brute-Force)

Mari kita padukan ilmu Bab 8 (If-Else) dengan Bab 9 (While Loop & Break).

Bayangkan Anda sedang membuat sebuah sistem Login keamanan. Anda ingin mesin terus-menerus menanyakan password secara berulang-ulang tanpa henti, dan siklus tersebut hanya bisa dihancurkan (break) jika pengguna memasukkan password yang benar.

Tugas Anda: Saya telah membuat kerangka kodenya di bawah ini, tetapi saya sengaja mengosongkan beberapa perintah kuncinya (ditandai dengan ___). Lengkapilah kode tersebut di Python Playground!

# 'while True' akan menciptakan perulangan waktu abadi (Infinite Loop)
___ True:
    tebakan = ___("Masukkan kata sandi rahasia: ")

    ___ tebakan == "algoritma2026":
        print("Akses Diterima! Selamat datang di sistem.")
        ___ # Hancurkan perulangan abadi ini karena password sudah benar!
    ___:
        print("Akses Ditolak! Coba lagi.")

print("Sistem telah terbuka, perulangan berhenti.")

Ganti bagian yang kosong (___) dengan logika sintaks yang tepat (while, input, if, else, atau break). Jika Anda berhasil merakit sistemnya, copy kode utuh Anda dan paste di kolom komentar!

(Artikel ini adalah Bagian ke-9 dari Seri Fundamental Python).

Baca Selanjutnya: Bab 10 - Menyusun Fungsi / Blueprint Terakhir >>

Foto profil Herdi Herdianurdin

Tentang Penulis

Herdi Herdianurdin adalah seorang pengembang perangkat lunak profesional. Berfokus pada perancangan ekosistem Android native (Kotlin), optimasi memori, dan arsitektur web berkinerja tinggi.

Lihat Profil & Portofolio ->

Diskusi & Komentar