Looping di C++: For, While, dan Do-While

Looping di C++: For, While, dan Do-While

Looping adalah salah satu konsep penting dalam pemrograman untuk mengulang eksekusi kode berdasarkan kondisi tertentu. Di C++, terdapat tiga jenis loop utama: for, while, dan do-while. Berikut adalah penjelasan dasar dan contoh untuk masing-masing jenis loop.

1. Loop For

Loop for digunakan ketika jumlah iterasi sudah diketahui sebelumnya.

Sintaks Dasar

for (inisialisasi; kondisi; perubahan) {
    // Blok kode yang akan diulang
}
  • Inisialisasi: Variabel yang akan digunakan dalam loop.
  • Kondisi: Selama kondisi ini bernilai true, loop akan terus berjalan.
  • Perubahan: Perubahan pada variabel iterasi (biasanya increment atau decrement).

Contoh

#include <iostream>

int main() {
    for (int i = 1; i <= 5; i++) {
        std::cout << "Iterasi ke-" << i << std::endl;
    }
    return 0;
}

Output:

Iterasi ke-1  
Iterasi ke-2  
Iterasi ke-3  
Iterasi ke-4  
Iterasi ke-5

2. Loop While

Loop while digunakan ketika jumlah iterasi tidak diketahui sebelumnya, tetapi bergantung pada suatu kondisi.

Sintaks Dasar

while (kondisi) {
    // Blok kode yang akan diulang
}
  • Kondisi akan dicek sebelum setiap iterasi. Jika bernilai false, loop akan berhenti.

Contoh

#include <iostream>

int main() {
    int i = 1;

    while (i <= 5) {
        std::cout << "Iterasi ke-" << i << std::endl;
        i++; // Increment variabel iterasi
    }

    return 0;
}

Output:

Iterasi ke-1  
Iterasi ke-2  
Iterasi ke-3  
Iterasi ke-4  
Iterasi ke-5

3. Loop Do-While

Loop do-while mirip dengan while, tetapi blok kode akan dijalankan setidaknya satu kali, karena kondisi dicek setelah eksekusi.

Sintaks Dasar

do {
    // Blok kode yang akan diulang
} while (kondisi);

Contoh

#include <iostream>

int main() {
    int i = 1;

    do {
        std::cout << "Iterasi ke-" << i << std::endl;
        i++;
    } while (i <= 5);

    return 0;
}

Output:

Iterasi ke-1  
Iterasi ke-2  
Iterasi ke-3  
Iterasi ke-4  
Iterasi ke-5

Perbedaan For, While, dan Do-While

FiturForWhileDo-While
PenggunaanJika jumlah iterasi diketahuiJika iterasi tergantung kondisiJika ingin eksekusi minimal satu kali
Cek KondisiSebelum loopSebelum loopSetelah loop
Eksekusi MinimumTidak dijaminTidak dijaminDijamin minimal 1 kali

4. Contoh Penggunaan: Mencetak Deret Angka

Menggunakan For

#include <iostream>

int main() {
    for (int i = 1; i <= 10; i++) {
        std::cout << i << " ";
    }
    return 0;
}

Output:
1 2 3 4 5 6 7 8 9 10

Menggunakan While

#include <iostream>

int main() {
    int i = 1;
    while (i <= 10) {
        std::cout << i << " ";
        i++;
    }
    return 0;
}

Output:
1 2 3 4 5 6 7 8 9 10

Menggunakan Do-While

#include <iostream>

int main() {
    int i = 1;
    do {
        std::cout << i << " ";
        i++;
    } while (i <= 10);

    return 0;
}

Output:
1 2 3 4 5 6 7 8 9 10

5. Break dan Continue

  • Break: Digunakan untuk keluar dari loop sebelum kondisinya selesai.
  • Continue: Digunakan untuk melewati iterasi saat ini dan melanjutkan ke iterasi berikutnya.

Contoh Break

#include <iostream>

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i == 5) {
            break; // Keluar dari loop saat i = 5
        }
        std::cout << i << " ";
    }
    return 0;
}

Output:
1 2 3 4

Contoh Continue

#include <iostream>

int main() {
    for (int i = 1; i <= 10; i++) {
        if (i == 5) {
            continue; // Lewati iterasi saat i = 5
        }
        std::cout << i << " ";
    }
    return 0;
}

Output:
1 2 3 4 6 7 8 9 10

6. Contoh Program Lengkap

Berikut adalah program untuk menghitung jumlah bilangan genap dari 1 hingga 10 menggunakan for:

#include <iostream>

int main() {
    int jumlah = 0;

    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            jumlah += i; // Tambahkan bilangan genap
        }
    }

    std::cout << "Jumlah bilangan genap dari 1 hingga 10 adalah: " << jumlah << std::endl;

    return 0;
}

Output:
Jumlah bilangan genap dari 1 hingga 10 adalah: 30

Dengan memahami ketiga jenis loop ini, Anda dapat menulis program yang lebih fleksibel dan efisien. Apakah Anda ingin mencoba loop dengan skenario tertentu? 😊

Leave a Reply

Your email address will not be published. Required fields are marked *