🔄 Perulangan (Looping) & Pola Bintang
Memahami Otomatisasi Perintah dan Menjawab Tantangan Pola 1 - 4
🎯 Agenda Pembelajaran Hari Ini:
- Konsep & Keuntungan Penggunaan Looping.
- Struktur Kode For Loop & While Loop.
- Trik Perkalian String di Python (
"*" * n). - Praktik Mandiri: Solusi Pola Bintang dari Level 1 hingga Diamond.
Mengapa Kita Butuh Looping?
Bayangkan kamu diminta mencetak teks "Saya Belajar Python" sebanyak 100 kali.
❌ Tanpa Loop (Manual)
Mengetik 100 baris perintah yang sama. Sangat boros waktu!
print("Saya Belajar Python")
print("Saya Belajar Python")
# ... diulang 100x
✅ Dengan Loop (Efisien)
Cukup 2 baris instruksi ringkas untuk berapa pun pengulangan.
for i in range(100):
print("Saya Belajar Python")
For Loop & Fungsi range()
Digunakan ketika jumlah pengulangan sudah diketahui secara pasti sejak awal.
for i in range(1, 6):
print(f"Pengulangan ke-{i}")
💡 Penjelasan Komponen:
i= Variabel penampung indeks urutan pengulangan.range(1, 6)= Menghasilkan angka 1 sampai 5 (batas akhir 6 tidak termasuk).- Indentasi (Spasi) = Perintah di dalam blok yang akan diulang.
While Loop (Berbasis Kondisi)
Akan terus berjalan selama kondisi bernilai True (Benar).
angka = 1
while angka <= 3:
print(f"Angka sekarang: {angka}")
angka = angka + 1 # Pembaruan nilai variabel
⚠️ Catatan Penting:
Pastikan variabel bertambah (angka + 1) agar kondisi bisa menjadi False dan perulangan berhenti.
Perbandingan For vs While
| Fitur | For Loop | While Loop |
|---|---|---|
| Jumlah Ulang | Sudah pasti / diketahui. | Belum pasti, tergantung kondisi. |
| Penghitung | Otomatis oleh range(). |
Wajib ditambah manual. |
| Penggunaan Utama | Iterasi angka & pola daftar data. | Program menu, game, validasi password. |
Trik Perkalian Teks (String)
Python memiliki keunikan di mana teks bisa dikalikan dengan angka untuk mengulangnya dalam 1 baris.
# Mengalikan karakter bintang 5 kali:
print("*" * 5)
# Hasil Output:
# *****
💡 Manfaat untuk Gambar Pola:
Dengan fitur ini, kita bisa membuat gambar bintang tanpa harus menyusun loop bertingkat (*nested loop*) yang rumit!
🟩 Level 1: Baris & Persegi Panjang
Mencetak bintang mendatar dan mengulangnya membentuk persegi panjang.
Target Output (Ukuran 4 Baris x 6 Kolom):
******
******
******
******
💡 Clue: Gunakan for i in range(4): dan cetak "*" * 6 di dalamnya.
🟨 Level 2: Segitiga Siku-Siku
Setiap baris, jumlah bintang bertambah 1 mengikuti urutan baris.
Target Output (Tinggi 5 Baris):
*
**
***
****
*****
💡 Clue: Pada perulangan ke-i, kalikan bintang sebanyak i (contoh: "*" * i).
🟦 Level 3: Piramida Sama Kaki
Memadukan spasi di kiri dan bintang berjumlah ganjil (1, 3, 5, 7) di tengah.
Target Output (Tinggi 4 Baris):
*
***
*****
*******
💡 Clue: Spasi = " " * (tinggi - i), Bintang = "*" * (2 * i - 1).
💎 Level 4: Diamond (Belah Ketupat)
Gabungkan Piramida Atas (Level 3) dan Piramida Terbalik Bawah!
Target Output (Setengah Tinggi = 4):
*
***
*****
*******
*****
***
*
👑 Tantangan Utama: Buat 2 struktur `for loop` terpisah (1 untuk atas, 1 untuk bawah).