Python - Nested Loops (Indonesia)
Halo, pemrogram aspiran! Hari ini, kita akan memasuki dunia yang menarik dari loop bersarang di Python. Sebagai guru komputer ramah lingkunganmu, saya sangat senang untuk mengajarkan kamu pada perjalanan ini. Percayalah, pada akhir pelajaran ini, kamu akan melakukan looping seperti seorang profesional!
Apa itu Nested Loops?
Sebelum kita melompat ke ujung yang dalam, mari kita mulai dengan dasar-dasar. Bayangkan jika kamu sedang mengorganisir rak pakaianmu. Kamu melalui setiap rak (itu adalah satu loop), dan untuk setiap rak, kamu mengurutkan semua item di atasnya (itu adalah loop lain di dalam loop pertama). Itulah esensi dari apa itu loop bersarang dalam pemrograman – loop di dalam loop!
Python Nested for Loop
Mari kita mulai dengan for
loop, yang seperti seorang teman lama yang dapat dipercaya di dunia Python.
Struktur Dasar
Inilah struktur umum dari loop bersarang for
:
for outer_variable in outer_sequence:
# Badan loop luar
for inner_variable in inner_sequence:
# Badan loop dalam
Contoh Sederhana: Tabel Perkalian
Mari kita buat tabel perkalian sederhana untuk memahami ini lebih baik:
for i in range(1, 6):
for j in range(1, 6):
print(f"{i} x {j} = {i*j}", end="\t")
print() # Pindah ke baris berikutnya setelah setiap baris
Kode ini akan menghasilkan:
1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5
2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15
4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20
5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25
Ayo kita pecahkan:
- Loop luar (
for i in range(1, 6)
) berjalan 5 kali, mewakili baris. - Untuk setiap iterasi loop luar, loop dalam (
for j in range(1, 6)
) berjalan 5 kali, mewakili kolom. - Kami mencetak setiap hasil perkalian, menggunakan
end="\t"
untuk menambahkan spasi tab bukannya baris baru. - Setelah setiap baris (iterasi loop luar), kami mencetak baris kosong untuk pindah ke baris berikutnya.
Contoh Dunia Nyata: Susunan Kursi
Bayangkan jika kamu adalah seorang guru (seperti saya!) yang mengatur kursi untuk kelas. Mari kita buat peta kursi:
students = ["Alice", "Bob", "Charlie", "David", "Eve"]
rows = 3
seats_per_row = 2
seat_number = 0
for row in range(1, rows + 1):
print(f"Baris {row}:")
for seat in range(1, seats_per_row + 1):
if seat_number < len(students):
print(f" Kursi {seat}: {students[seat_number]}")
seat_number += 1
else:
print(f" Kursi {seat}: Kosong")
print() # Baris kosong antara baris
Ini akan menghasilkan:
Baris 1:
Kursi 1: Alice
Kursi 2: Bob
Baris 2:
Kursi 1: Charlie
Kursi 2: David
Baris 3:
Kursi 1: Eve
Kursi 2: Kosong
Dalam contoh ini:
- Loop luar mengulangi setiap baris.
- Loop dalam menetapkan siswa ke kursi di setiap baris.
- Kami menggunakan variabel
seat_number
untuk melacak siswa yang akan kita tetapkan berikutnya. - Jika kita kehabisan siswa, kita tandai kursi yang tersisa sebagai "Kosong".
Python Nested while Loop
Sekarang, mari kita kenal dengan sepupu while
loop – loop bersarang while
. Ini seperti pengawal yang pantas yang terus memeriksa kondisi.
Struktur Dasar
Inilah bagaimana loop bersarang while
biasanya terlihat:
while outer_condition:
# Badan loop luar
while inner_condition:
# Badan loop dalam
Contoh: Piramida Angka
Mari kita buat piramida angka untuk melihat loop bersarang while
dalam aksi:
row = 1
while row <= 5:
col = 1
while col <= row:
print(col, end=" ")
col += 1
print() # Pindah ke baris berikutnya
row += 1
Ini akan menghasilkan:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Ayo kita pecahkan:
- Loop
while
luar mengontrol jumlah baris (1 sampai 5). - Untuk setiap baris, loop
while
dalam mencetak angka dari 1 sampai nomor baris saat ini. - Kami menambahkan
col
di dalam loop dalam danrow
di dalam loop luar.
Contoh Dunia Nyata: Pemeriksaan Inventori
Bayangkan jika kamu adalah seorang manajer toko kecil. Kamu perlu memeriksa inventori kamu secara teratur. Mari kita simulasi ini dengan loop bersarang while
:
inventory = {
"apel": 50,
"pisang": 30,
"jeruk": 40
}
days = 1
while days <= 3: # Pemeriksaan selama 3 hari
print(f"Hari {days} Pemeriksaan Inventori:")
for fruit, quantity in inventory.items():
while quantity > 0:
print(f"Memeriksa {fruit}...")
quantity -= 10 # Simulasikan menjual 10 unit setiap pemeriksaan
if quantity <= 20:
print(f"Peringatan stok rendah untuk {fruit}! Hanya {quantity} lagi.")
break # Hentikan pemeriksaan buah ini jika stok rendah
inventory[fruit] = quantity # Perbarui inventori
print(f"Inventori Akhir Hari {days}: {inventory}\n")
days += 1
Ini akan menghasilkan sesuatu seperti:
Hari 1 Pemeriksaan Inventori:
Memeriksa apel...
Memeriksa apel...
Memeriksa apel...
Peringatan stok rendah untuk apel! Hanya 20 lagi.
Memeriksa pisang...
Peringatan stok rendah untuk pisang! Hanya 20 lagi.
Memeriksa jeruk...
Memeriksa jeruk...
Peringatan stok rendah untuk jeruk! Hanya 20 lagi.
Inventori Akhir Hari 1: {'apel': 20, 'pisang': 20, 'jeruk': 20}
Hari 2 Pemeriksaan Inventori:
Memeriksa apel...
Peringatan stok rendah untuk apel! Hanya 10 lagi.
Memeriksa pisang...
Peringatan stok rendah untuk pisang! Hanya 10 lagi.
Memeriksa jeruk...
Peringatan stok rendah untuk jeruk! Hanya 10 lagi.
Inventori Akhir Hari 2: {'apel': 10, 'pisang': 10, 'jeruk': 10}
Hari 3 Pemeriksaan Inventori:
Memeriksa apel...
Peringatan stok rendah untuk apel! Hanya 0 lagi.
Memeriksa pisang...
Peringatan stok rendah untuk pisang! Hanya 0 lagi.
Memeriksa jeruk...
Peringatan stok rendah untuk jeruk! Hanya 0 lagi.
Inventori Akhir Hari 3: {'apel': 0, 'pisang': 0, 'jeruk': 0}
Dalam contoh ini:
- Loop
while
luar simulasi pemeriksaan inventori selama 3 hari. - Kami menggunakan loop
for
untuk mengulangi setiap buah di inventori. - Loop
while
dalam simulasi pemeriksaan dan menjual setiap buah sampai stok rendah atau habis. - Kami menggunakan
break
untuk berhenti memeriksa buah jika jumlahnya turun ke 20 atau kurang.
Kesimpulan
Selamat! Kamu baru saja menguasai seni loop bersarang di Python. Ingat, loop bersarang adalah alat yang kuat, tapi gunakanlah dengan bijak. Mereka dapat membuat kode kamu berjalan lebih lambat jika tidak digunakan secara efisien.
Seperti semua konsep pemrograman, praktek membuat perfect. Cobalah membuat skenario loop bersarang kamu sendiri – mungkin setup papan catur, atau jadwal sekolah mingguan. Kemungkinan itu tak terbatas!
Teruskan coding, teruskan belajar, dan yang paling penting, nikmati prosesnya! Sampai jumpa lagi, ini adalah guru komputer ramah lingkunganmu yang menandatangani off. Selamat looping!
Credits: Image by storyset