Dasar Bahasa C · Pelajaran 5 dari 12
Perulangan for, while, dan do-while
9 menit baca · BelajarCode
1#include <stdio.h>23int main(void) {4 int jumlah = 0;5 for (int i = 1; i <= 100; i++) {6 jumlah += i;7 }8 printf("1 + 2 + ... + 100 = %d\n", jumlah);910 int n = 2026, digit = 0;11 while (n > 0) {12 n /= 10;13 digit++;14 }15 printf("Banyak digit 2026 = %d\n", digit);16 return 0;17}1 + 2 + ... + 100 = 5050 Banyak digit 2026 = 4
do-while untuk validasi
do-while menjalankan isinya minimal sekali, cocok untuk meminta masukan sampai valid.
1#include <stdio.h>23int main(void) {4 int nilai;5 do {6 printf("Nilai (0-100): ");7 if (scanf("%d", &nilai) != 1) return 1;8 } while (nilai < 0 || nilai > 100);9 printf("\nNilai diterima: %d\n", nilai);10 return 0;11}120 -5 88
Nilai (0-100): Nilai (0-100): Nilai (0-100): Nilai diterima: 88
Karena masukan di Playground diketik lebih dulu, angka yang kamu ketik tidak ikut tampil di keluaran. Itulah sebabnya ketiga pertanyaan terlihat bersambung dalam satu baris.
Perulangan bersarang
1#include <stdio.h>23int main(void) {4 for (int i = 1; i <= 4; i++) {5 for (int j = 1; j <= 4; j++) {6 printf("%4d", i * j);7 }8 printf("\n");9 }10 return 0;11}1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16
break dan continue
1#include <stdio.h>23int main(void) {4 for (int i = 1; i <= 20; i++) {5 if (i % 2 == 0) continue;6 if (i > 11) break;7 printf("%d ", i);8 }9 printf("\n");10 return 0;11}1 3 5 7 9 11
Cek pemahaman
Berapa kali isi perulangan for (int i = 10; i > 0; i -= 3) dijalankan?
Latihan
Bilangan prima
Baca sebuah bilangan n, lalu tampilkan semua bilangan prima dari 2 sampai n. Bilangan prima hanya habis dibagi 1 dan dirinya sendiri. Cukup periksa pembagi sampai akar kuadratnya, yaitu selama d * d <= k.
Pembahasan
1#include <stdio.h>23int main(void) {4 int n;5 if (scanf("%d", &n) != 1) return 1;6 for (int k = 2; k <= n; k++) {7 int prima = 1;8 for (int d = 2; d * d <= k; d++) {9 if (k % d == 0) {10 prima = 0;11 break;12 }13 }14 if (prima) printf("%d ", k);15 }16 printf("\n");17 return 0;18}50
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
Jika k punya pembagi lebih besar dari akar k, pasti ada pasangannya yang lebih kecil dari akar k. Karena itu pemeriksaan sampai akar sudah cukup.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler C online.