Pada tutorial belajar bahasa C kali ini kita akan membahas Fungsi dan Pengertian Perintah Continue. Perintah continue dipakai untuk mengatur alur perulangan yang mirip seperti perintah break dalam tutorial sebelumnya.
Pengertian Perintah Continue dalam Bahasa C
Perintah continue mirip seperti perintah break, hanya saja jika dalam perintah break perulangan langsung berhenti, untuk perintah continue perulangan hanya melewati 1 kali proses iterasi saja.
Berikut format dasar penggunaan perintah continue dalam perulangan FOR:
for (start; condition; increment) {    // kode program    // kode program  if (condition_2) {   continue;  } // kode program lanjutan }
Misalkan kita membuat perulangan 1 sampai 10, lalu terdapat kondisi if (i = 5) { continue; }, maka ketika variabel counter i nilainya sudah mencapai 5, kode program yang ada di bawah perintah continue akan di lewati dan proses lanjut ke perulangan ke 6.
Penjelasan ini akan lebih mudah kita lihat menggunakan contoh kode program.
Contoh Kode Program Perintah Continue Bahasa C
Sama seperti perintah break, berikut perulangan FOR "normal" tanpa perintah continue:
#include <stdio.h> int main(void) { int i; for (i = 1; i <= 10; i++) { printf("%i + %i = %i \n",i,i,i+i); } return 0; }
Hasil kode program:
1 + 1 = 2 2 + 2 = 4 3 + 3 = 6 4 + 4 = 8 5 + 5 = 10 6 + 6 = 12 7 + 7 = 14 8 + 8 = 16 9 + 9 = 18 10 + 10 = 20
Di sini saya menggunakan perulangan FOR untuk membuat daftar penambahan 1 + 1, 2 + 2, dst hingga 10 + 10.
Sekarang kita akan tambah dengan perintah continue:
#include <stdio.h> int main(void) { int i; for (i = 1; i <= 10; i++) { if (i == 5) { continue; } printf("%i + %i = %i \n",i,i,i+i); } return 0; }
Dalam kode program ini, di baris 7 terdapat kondisi if (i == 5) { continue; }. Jika kondisi ini terpenuhi (saat variabel counter i berisi angka 5), maka jalankan perintah continue.
Hasilnya, perintah printf di baris 10 akan dilompati dan perulangan langsung lompat ke iterasi berikutnya, yakni variabel i akan berisi angka 6. Dalam tampilan akhir bisa terlihat bahwa 5 + 5 = 10 tidak ada di daftar penambahan.
Selanjutnya, bisakah anda menebak apa yang salah dari kode program berikut?
#include <stdio.h> int main(void) { int i; for (i = 1; i <= 10; i++) { printf("%i + %i = %i \n",i,i,i+i); if (i == 5) { continue; } } return 0; }
Hasil kode program:
1 + 1 = 2 2 + 2 = 4 3 + 3 = 6 4 + 4 = 8 5 + 5 = 10 6 + 6 = 12 7 + 7 = 14 8 + 8 = 16 9 + 9 = 18 10 + 10 = 20
Pertanyaannya, kenapa hasil 5 + 5 = 10 masih tampil? padahal saya membuat kondisi if (i == 5) {continue; } di baris 9.
Kembali, logika yang sama seperti pada perulangan break juga berlaku di sini. Dalam kode di atas, perintah printf berada sebelum perintah continue. Akibatnya, meskipun perintah continue dijalankan saat i bernilai 5, namun perintah printf sudah terlanjur di proses terlebih dahulu.
Hasilnya, teks 5 + 5 = 10 tetap tampil. Ini menjadi catatan penting saat merancang kode program yang melibatkan perintah continue, karena posisi peletakan perintah sangat berpengaruh ke hasil akhir.
Sebagai tambahan, berikut contoh kode program perintah continue dalam perulangan DO WHILE:
#include <stdio.h> int main(void) { int i = 0; do { i++; if (i == 5) { continue; } printf("%i + %i = %i \n",i,i,i+i); } while (i < 10); return 0; }
Hasil kode program:
1 + 1 = 2 2 + 2 = 4 3 + 3 = 6 4 + 4 = 8 6 + 6 = 12 7 + 7 = 14 8 + 8 = 16 9 + 9 = 18 10 + 10 = 20
Ketika membuat perintah continue dengan perulangan DO WHILE maupun perulangan WHILE, posisi peletakan perintah increment juga sangat berpengaruh.
Contoh kasus, tanpa menjalankan kode program dibawah ini, bisakah anda menebak hasilnya?
#include <stdio.h> int main(void) { int i = 0; do { if (i == 5) { continue; } printf("%i + %i = %i \n",i,i,i+i); i++; } while (i < 10); return 0; }
Hasilnya sebuah infinity loop!, yakni perulangan yang tidak pernah berakhir.
Ini terjadi karena pada saat variabel i bernilai 5, perulangan akan terus berputar-putar antara baris 6 – 9. Perintah increment i++ yang ada di baris 11 tidak bisa di eksekusi karena di tulis setelah perintah continue di baris 8.
Jadi, kata kuncinya adalah: perhatikan logika program terutama ketika membuat perulangan WHILE dan DO WHILE yang melibatkan perintah continue.
Sekedar catatan, jika anda menjalankan kode diatas, akan tampil hasil berikut:
0 + 0 = 0 1 + 1 = 2 2 + 2 = 4 3 + 3 = 6 4 + 4 = 8
Setelah itu tampil baris kosong yang sebenarnya berupa infinity loop, karena perintah printf dan increment di tulis setelah perintah continue.
Dalam lanjutan tutorial bahasa C di duniailkom kali ini kita telah membahas tentang perintah continue. Tutorial ini menutup seri pembahasan tentang struktur kondisi dan perulangan di dalam bahasa C.
Selanjutnya kita akan masuk ke materi tentang function atau fungsi, yang di awali dengan materi Cara Membuat Fungsi (Function) Bahasa C.
min mau tanya ada saran atau tips nggak tentang materi alpro? memakai bahasa C, saya mengerjakan soal tentang alpro kok selalu nggak bisa?
Kuncinya di sering2 latihan kode program saja. Jika materi dasarnya sudah dipahami, berikutnya coba cari contoh2 soal algoritma.
oya terimakasih min infonya, moga2 cepet bisa belajar algoritma
min kalo materi soal pembuatan fungsi bahasa c ada?
Saat ini masih belum ada nih, tapi mudah2an nanti bisa dilengkapi…
#include <stdio.h>
int main(void)
{
int i = 0;
do {
i++;
if (i == 5) {
continue;
}
printf("%i + %i = %i \n",i,i,i+i);
} while (i <= 10);
return 0;
}
setelah saya compile kok malah sampai 11 + 11 min? bukannya ketika variabel counter nyentuh angka 11 sudah termasuk false?
coba ganti int i = 0; nya jd int i = 1; . Karena jk 0 mk terhitung 11 (jumlah/total perulangannya).
Maaf mas. Jawaban sy sblumnya krg tepat.