For dan While
Memahami struktur kontrol perulangan dari konsep dasar hingga implementasi kode dalam C++ dan Python
Agenda
Konsep Perulangan
Apa itu loop?
For Loop
Sintaks & contoh C++ & Python
While Loop
Sintaks & contoh C++ & Python
For vs While
Kapan menggunakan yang mana?
Latihan & Tugas Individu
Soal literasi & numerasi C4-C6
Tiga komponen utama yang membentuk setiap struktur perulangan.
Menetapkan nilai
awal variabel penghitung sebelum loop dimulai. Contoh: int i = 0 atau i = 0.
Ekspresi boolean yang diperiksa setiap iterasi. Jika true, loop berjalan. Jika false, loop berhenti.
Perubahan nilai variabel penghitung di setiap akhir iterasi. Contoh: i++ atau i += 1.
Perulangan (loop) memungkinkan program mengeksekusi blok kode secara berulang selama kondisi terpenuhi. Tanpa loop, kita harus menulis kode yang sama berkali-kali — tidak efisien!
Mencetak angka 1 sampai 5
#include <iostream>
using namespace std;
int main() {
// Mencetak angka 1-5
for (int i = 1; i <= 5; i++) {
cout << i << " ";
}
return 0;
}
// Output: 1 2 3 4 5
# Mencetak angka 1-5
for i in range(1, 6):
print(i, end=" ")
# Output: 1 2 3 4 5
Perbedaan kunci: C++ for loop
memiliki inisialisasi, kondisi, dan update dalam satu baris (for(int i=1; i<=5; i++)). Python for loop
menggunakan range() untuk menentukan rentang
iterasi (for i in range(1, 6)).
Menghitung jumlah deret & pola bintang segitiga
#include <iostream>
using namespace std;
int main() {
int total = 0;
for (int i = 1; i <= 10; i++) {
total += i;
}
cout << "Total: " << total;
return 0;
}
// Output: Total: 55
total = 0
for i in range(1, 11):
total += i
print("Total:", total)
# Output: Total: 55
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++)
cout << "*";
cout << endl;
}
// Output:
// *
// **
// ***
// ****
// *****
for i in range(1, 6):
print("*" * i)
# Output:
# *
# **
# ***
# ****
# *****
Mencetak angka 1 sampai 5 dengan while
#include <iostream>
using namespace std;
int main() {
int i = 1;
while (i <= 5) {
cout << i << " ";
i++;
}
return 0;
}
// Output: 1 2 3 4 5
i = 1
while i <= 5:
print(i, end=" ")
i += 1
# Output: 1 2 3 4 5
Bahaya infinite loop! Jika
kondisi while selalu true, program tidak akan pernah berhenti. Pastikan ada mekanisme yang
mengubah kondisi menjadi false di dalam loop — seperti i++ atau i += 1.
Menebak angka & menghitung jumlah digit
#include <iostream>
using namespace std;
int main() {
int rahasia = 7, tebakan = 0;
while (tebakan != rahasia) {
cout << "Tebak: ";
cin >> tebakan;
if (tebakan > rahasia)
cout << "Terlalu besar!" << endl;
else if (tebakan < rahasia)
cout << "Terlalu kecil!" << endl;
}
cout << "Benar!";
return 0;
}
rahasia = 7
tebakan = 0
while tebakan != rahasia:
tebakan = int(input("Tebak: "))
if tebakan > rahasia:
print("Terlalu besar!")
elif tebakan < rahasia:
print("Terlalu kecil!")
print("Benar!")
int angka = 12345, jumlah = 0;
while (angka > 0) {
jumlah += angka % 10;
angka /= 10;
}
cout << jumlah;
// Output: 15
angka = 12345
jumlah = 0
while angka > 0:
jumlah += angka % 10
angka //= 10
print(jumlah)
# Output: 15
Alur For Loop: Inisialisasi → Cek kondisi → Jika Ya, proses lalu update → Kembali cek kondisi → Jika Tidak, keluar loop.
Kapan menggunakan yang mana?
Key insight: Pilih for jika Anda tahu berapa kali loop harus berjalan. Pilih while jika jumlah iterasi bergantung pada kondisi yang baru diketahui saat program berjalan.
C4-C6, Literasi & Numerasi — konteks SMA Padang
Perhatikan kode berikut yang menghitung rata-rata
nilai 5 siswa SMAN 2 Padang. Jika nilai = {85, 72, 93, 68, 77}, berapa output program?
Tunjukkan tracing variabel total di setiap iterasi.
Seorang siswa ingin membuat program untuk menghitung total biaya photocopy di percetakan dekat SMAN 2 Padang. Tarif: ≤100 lembar @Rp200, >100 lembar @Rp150. Menurut Anda, apakah for atau while lebih tepat? Apakah ada risiko infinite loop? Jelaskan.
Buatlah program dalam C++ DAN Python untuk mencetak pola piramida bintang (n baris, n diinput user). Kemudian buat program kedua yang menghitung jumlah huruf vokal dalam sebuah kalimat menggunakan while loop. Gambar flowchart untuk kedua program.
Pilih 2 soal dari latihan C4-C6 di slide sebelumnya
Sendiri
Kerjakan sendiri
2
Soal dipilih
C4-C6
Level kognitif
Mencetak tabel perkalian (1-10) menggunakan for loop
Program kasir kantin SMA Padang — input item & harga, while loop sampai selesai, hitung total
Pola diamond bintang menggunakan nested for
Buat skenario sendiri yang relevan kehidupan SMA di Padang
Flowchart
Gambar di kertas / digital
Kode C++
Sesuai flowchart
Kode Python
Sesuai flowchart
Screenshot
Output program
Tips: Buat flowchart terlebih dahulu sebelum menulis kode. Pastikan loop memiliki kondisi berhenti yang jelas. Test kode dengan minimal 3 kombinasi input berbeda. Untuk while loop, pastikan variabel kondisi berubah di dalam loop agar tidak terjebak infinite loop.