Tutorial Belajar C Part 41: Fungsi dan Pengertian Perintah Continue

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 yang 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;
}

Contoh kode program perintah continue bahasa pemrograman C

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.

3 Comments

  1. andre
    09 Apr 19
    • Andre
      09 Apr 19
      • andre
        09 Apr 19

Add Comment