C++ & Python

Perulangan

For dan While

Memahami struktur kontrol perulangan dari konsep dasar hingga implementasi kode dalam C++ dan Python

Loop Kode Iterasi

Agenda

Daftar Materi

01

Konsep Perulangan

Apa itu loop?

02

For Loop

Sintaks & contoh C++ & Python

03

While Loop

Sintaks & contoh C++ & Python

04

For vs While

Kapan menggunakan yang mana?

05

Latihan & Tugas Individu

Soal literasi & numerasi C4-C6

01

Konsep Perulangan

Tiga komponen utama yang membentuk setiap struktur perulangan.

Inisialisasi

Menetapkan nilai awal variabel penghitung sebelum loop dimulai. Contoh: int i = 0 atau i = 0.

Kondisi

Ekspresi boolean yang diperiksa setiap iterasi. Jika true, loop berjalan. Jika false, loop berhenti.

Iterasi (Update)

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!

02

For Loop: Sintaks Dasar

Mencetak angka 1 sampai 5

C++
for_loop.cpp
#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
Python
for_loop.py
# 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)).

02

For Loop: Contoh Lanjutan

Menghitung jumlah deret & pola bintang segitiga

C++Jumlah 1-10
sum_deret.cpp
#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
PythonJumlah 1-10
sum_deret.py
total = 0
for i in range(1, 11):
    total += i

print("Total:", total)

# Output: Total: 55
C++Pola bintang
pattern.cpp
for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= i; j++)
        cout << "*";
    cout << endl;
}
// Output:
// *
// **
// ***
// ****
// *****
PythonPola bintang
pattern.py
for i in range(1, 6):
    print("*" * i)

# Output:
# *
# **
# ***
# ****
# *****
03

While Loop: Sintaks Dasar

Mencetak angka 1 sampai 5 dengan while

C++
while_loop.cpp
#include <iostream>
using namespace std;

int main() {
    int i = 1;
    while (i <= 5) {
        cout << i << " ";
        i++;
    }
    return 0;
}
// Output: 1 2 3 4 5
Python
while_loop.py
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.

03

While Loop: Contoh Lanjutan

Menebak angka & menghitung jumlah digit

C++Tebak angka
guess.cpp
#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;
}
PythonTebak angka
guess.py
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!")
C++Jumlah digit
digits.cpp
int angka = 12345, jumlah = 0;
while (angka > 0) {
    jumlah += angka % 10;
    angka /= 10;
}
cout << jumlah;
// Output: 15
PythonJumlah digit
digits.py
angka = 12345
jumlah = 0
while angka > 0:
    jumlah += angka % 10
    angka //= 10

print(jumlah)
# Output: 15
03

Flowchart Perulangan (For)

Mulai Inisialisasi (i = 1) i <= 5 ? Ya Cetak i Tidak Update (i++) kembali Selesai

Alur For Loop: Inisialisasi → Cek kondisi → Jika Ya, proses lalu update → Kembali cek kondisi → Jika Tidak, keluar loop.

04

For vs While

Kapan menggunakan yang mana?

For Loop

  • Jumlah iterasi diketahui/dapat ditentukan sebelumnya
  • Contoh: mencetak 1-100, menghitung deret
  • Sintaks ringkas dalam satu baris

While Loop

  • Jumlah iterasi tidak diketahui, bergantung pada kondisi runtime
  • Contoh: menebak angka, menunggu input valid
  • Lebih fleksibel untuk kondisi kompleks

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.

Latihan

Latihan Soal

C4-C6, Literasi & Numerasi — konteks SMA Padang

C4

Menganalisis

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.

C5

Mengevaluasi

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.

C6

Mencipta

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.

Tugas

Tugas Individu

Pilih 2 soal dari latihan C4-C6 di slide sebelumnya

Ketentuan

Sendiri

Kerjakan sendiri

2

Soal dipilih

C4-C6

Level kognitif

Skenario Pilihan (atau buat sendiri)

A

Mencetak tabel perkalian (1-10) menggunakan for loop

B

Program kasir kantin SMA Padang — input item & harga, while loop sampai selesai, hitung total

C

Pola diamond bintang menggunakan nested for

D

Buat skenario sendiri yang relevan kehidupan SMA di Padang

Yang Dikumpulkan

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.