6.2 KiB
---LESSON_INFO--- Learning Objectives:
- Memahami konsep perulangan for dalam bahasa C
- Belajar menggunakan perulangan for untuk iterasi
- Mengenal struktur perulangan for
- Memahami cara menggunakan perulangan untuk memproses array
- Mengenal perulangan bersarang (nested loops)
Prerequisites:
- Pemahaman tentang variabel dan tipe data
- Pemahaman dasar tentang program C
---END_LESSON_INFO---
Perulangan For dalam C
Perulangan for dalam bahasa C digunakan untuk mengulang blok kode sejumlah kali yang telah ditentukan. Perulangan for sangat berguna ketika Anda tahu berapa kali Anda ingin mengulang kode tersebut.
Sintaks Perulangan For
for (inisialisasi; kondisi; peningkatan) {
// blok kode yang akan diulang
}
Bagian-bagian Perulangan For:
- Inisialisasi: Menetapkan nilai awal pada variabel iterator (dijalankan sekali di awal)
- Kondisi: Kondisi yang diperiksa sebelum setiap iterasi (jika benar, perulangan dilanjutkan)
- Peningkatan: Operasi yang dilakukan setelah setiap iterasi (meningkatkan/mengurangi iterator)
Contoh Dasar Perulangan For
Berikut adalah contoh sederhana dari perulangan for:
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("%d ", i);
}
return 0;
}
Output:
1 2 3 4 5
Perulangan For dengan Array
Perulangan for sangat berguna untuk mengakses elemen-elemen array:
#include <stdio.h>
int main() {
int numbers[] = {10, 20, 30, 40, 50};
int n = sizeof(numbers) / sizeof(numbers[0]); // menghitung jumlah elemen
for (int i = 0; i < n; i++) {
printf("Elemen ke-%d: %d\\n", i, numbers[i]);
}
return 0;
}
Output:
Elemen ke-0: 10
Elemen ke-1: 20
Elemen ke-2: 30
Elemen ke-3: 40
Elemen ke-4: 50
Perulangan For Bersarang (Nested For Loops)
Anda bisa menggunakan perulangan for di dalam perulangan for lainnya untuk membuat nested loops. Ini sangat berguna untuk bekerja dengan struktur data dua dimensi seperti matriks.
#include <stdio.h>
int main() {
// Mencetak pola segitiga
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
printf("* ");
}
printf("\\n");
}
return 0;
}
Output:
*
* *
* * *
* * * *
* * * * *
Jenis-Jenis Peningkatan dalam For Loop
Anda bisa menggunakan berbagai jenis peningkatan dalam perulangan for:
Menaikkan dengan nilai tertentu
for (int i = 0; i <= 10; i += 2) {
printf("%d ", i); // Output: 0 2 4 6 8 10
}
Menurunkan nilai
for (int i = 10; i >= 0; i--) {
printf("%d ", i); // Output: 10 9 8 7 6 5 4 3 2 1 0
}
Peningkatan dengan nilai selain 1
for (int i = 0; i < 20; i += 3) {
printf("%d ", i); // Output: 0 3 6 9 12 15 18
}
Contoh Nyata Penggunaan For Loop
Berikut adalah contoh penggunaan perulangan for dalam situasi nyata:
#include <stdio.h>
int main() {
// Menghitung rata-rata nilai siswa
int scores[] = {85, 92, 78, 96, 88, 76, 94, 89, 91, 87};
int n = sizeof(scores) / sizeof(scores[0]);
int total = 0;
printf("Daftar nilai siswa:\\n");
for (int i = 0; i < n; i++) {
printf("Siswa %d: %d\\n", i+1, scores[i]);
total += scores[i];
}
float average = (float)total / n;
printf("\\nTotal nilai: %d\\n", total);
printf("Rata-rata nilai: %.2f\\n", average);
return 0;
}
Output:
Daftar nilai siswa:
Siswa 1: 85
Siswa 2: 92
Siswa 3: 78
Siswa 4: 96
Siswa 5: 88
Siswa 6: 76
Siswa 7: 94
Siswa 8: 89
Siswa 9: 91
Siswa 10: 87
Total nilai: 876
Rata-rata nilai: 87.60
Perbandingan For dan While Loop
Meskipun for dan while loop bisa digunakan untuk hal yang sama, for loop lebih cocok ketika jumlah iterasi diketahui sebelumnya:
// Menggunakan for loop
for (int i = 0; i < 5; i++) {
printf("%d ", i);
}
// Setara dengan while loop
int i = 0;
while (i < 5) {
printf("%d ", i);
i++;
}
Tips:
- Gunakan for loop ketika Anda tahu berapa kali perulangan akan dijalankan
- Gunakan while loop ketika jumlah iterasi tergantung pada kondisi yang dinamis
- Pastikan kondisi perulangan akan berubah sehingga perulangan tidak menjadi infinite loop
- Gunakan variabel iterator yang sesuai untuk mengakses elemen array atau menghitung iterasi
- Format specifier pada printf: Dalam solusi,
%ddigunakan untuk mencetak bilangan bulat, dan%-3dberarti mencetak bilangan bulat dengan lebar minimum 3 karakter dan rata kiri. Anda bisa menggunakan format seperti%3duntuk rata kanan, atau%.2funtuk bilangan desimal dengan 2 angka di belakang koma.
Referensi:
- https://www.w3schools.com/c/c_for_loop.php
- https://www.w3schools.com/c/c_for_loop_nested.php
- https://www.w3schools.com/c/c_for_loop_reallife.php
---EXERCISE---
Latihan: Matriks Perkalian
Dalam latihan ini, Anda akan membuat program yang mencetak tabel perkalian 5x5 menggunakan nested for loops.
Requirements:
- Gunakan nested for loops untuk membuat tabel perkalian
- Baris dan kolom harus dari 1 hingga 5
- Tampilkan hasil perkalian dari baris dan kolom
- Format output harus rapi dan mudah dibaca
Expected Output:
Tabel Perkalian 5x5:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
Try writing your solution in the code editor below!
---KEY_TEXT--- for i <= 5 j <= 5 i * j printf ---END_KEY_TEXT---
---EXPECTED_OUTPUT---
Tabel Perkalian 5x5:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
---END_EXPECTED_OUTPUT---
---INITIAL_CODE--- #include <stdio.h>
int main() { printf("Tabel Perkalian 5x5:\n");
// TODO: Gunakan nested for loops untuk mencetak tabel perkalian
// Baris dan kolom dari 1 hingga 5
return 0;
} ---END_INITIAL_CODE---
---SOLUTION_CODE--- #include <stdio.h>
int main() { printf("Tabel Perkalian 5x5:\n");
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
printf("%-3d", i * j); // %-3d untuk format rata kiri dengan lebar 3 karakter
}
printf("\\n");
}
return 0;
} ---END_SOLUTION_CODE---