Tutorial Belajar C Part 39: Perulangan DO WHILE Bahasa C

Perulangan DO WHILE yang akan kita pelajari kali ini dalam banyak hal mirip seperti perulangan WHILE sebelumnya, namun dengan 1 kunci perbedaan. Apa itu? dalam lanjutan tutorial bahasa pemrograman C di Duniailkom kali ini kita akan bahas dengan lebih detail.


Pengertian Struktur Perulangan DO WHILE Bahasa C

Perulangan DO WHILE merupakan modifikasi dari perulangan WHILE, yakni dengan memindahkan posisi pemeriksaan kondisi ke akhir perulangan. Artinya, kita akan lakukan dulu sebuah perulangan, baru di akhir diperiksa apakah kondisi variabel counter sudah terpenuhi atau belum.

Berikut format dasar struktur perulangan DO WHILE dalam bahasa C:

start;
do 
{
 // kode program
 // kode program
 increment;
} 
while (condition)

Sama seperti perulangan WHILE, di bagian start biasanya terdapat perintah inisialisasi variabel counter, misalnya i = 0. Kemudian di dalam block do ditulis kode program yang akan di ulang, tidak lupa sebuah perintah untuk menaikkan nilai variabel counter, misalnya dengan perintah i++.

Di bagian paling bawah, terdapat perintah while (condition). Di sinilah kondisi perulangan akan diperiksa. Selama kondisi ini menghasilkan nilai true, maka perulangan akan lanjut ke iterasi berikutnya.


Contoh Kode Program Perulangan Do While Bahasa C

Agar bisa dibandingkan dengan bahasan di perulangan FOR dan WHILE, berikut contoh kode program bahasa C untuk menampilkan 5 kali teks 'Hello World' menggunakan perulangan DO WHILE:

#include <stdio.h>

int main(void)
{
  int i = 1;
  do {
    printf("Hello World \n");
    i++;
  }
  while (i <= 5);
  return 0;
}

Hasil kode program:

Hello World
Hello World
Hello World
Hello World
Hello World

Di baris 5 saya mendefinisikan variabel counter i dan memberikan nilai awal 1.

Kemudian terdapat block kode program do di baris 6 – 9. Inilah kode program yang akan di ulang, yakni berisi sebuah perintah printf untuk menampilkan teks 'Hello World', dan sebuah perintah increment i++ untuk menaikkan nilai variabel i sebanyak 1 angka.

Terakhir di baris 10 terdapat perintah while (i <= 5). Artinya, selama variabel counter i bernilai kurang dari atau sama dengan 5, jalankan kembali perulangan.

Dalam perulangan DO WHILE ini kita juga bisa mengakses variabel counter, seperti contoh berikut:

#include <stdio.h>

int main(void)
{
  int i = 1;
  do {
    printf("%i ",i*3);
    i++;
  }
  while (i <= 5);
  return 0;
}

Tanpa menjalankan kode program ini, bisakah anda menebak hasil yang tampil?

Yup, ini adalah kode program untuk membuat sebuah deret dengan kelipatan 3:

3 6 9 12 15


Kunci penting yang membedakan perulangan DO WHILE dengan perulangan WHILE adalah posisi pemeriksaan kondisi. Karena dalam perulangan DO WHILE pemeriksaan kondisi di lakukan di akhir, maka perulangan akan selalu di jalankan minimal 1 kali, meskipun syarat perulangan sudah tidak dipenuhi.

Berikut contoh kasusnya:

#include <stdio.h>

int main(void)
{
  int i = 10;
  do {
    printf("%i ",i*3);
    i++;
  }
  while (i <= 5);
  return 0;
}

Hasil kode program: 30.

Di baris 5 saya mengisi angka 10 ke dalam variabel counter i. Namun syarat kondisi adalah while (i <= 5). Apakah i <=5 ? tidak (false). Namun meskipun kondisi ini tidak dipenuhi, perulangan akan tetap dijalankan 1 kali.

Jika kondisi yang sama dibuat menggunakan WHILE, perulangan tidak akan pernah dijalankan karena kondisi di periksa di awal. Inilah yang jadi perbedaan antara perulangan WHILE dan DO WHILE dalam bahasa C.


Dalam tutorial ini kita telah membahas tentang prinsip kerja dari perulangan DO WHILE dalam bahasa C. Berikutnya akan disambung dengan tutorial tentang penggunakan perintah break dalam perulangan.

11 Comments

  1. Faqih
    03 Apr 19
    • Andre
      04 Apr 19
  2. aditya
    12 Jul 19
  3. Muhamad Rakha Aubin
    20 Nov 19
  4. samudra
    08 Oct 20
    • Kopicoding
      12 Dec 20
      • Orang ganteng
        31 Mar 22
    • Kopicoding
      12 Dec 20
      • yuda
        25 Sep 22
  5. yuda
    25 Sep 22
  6. Jermia
    06 Dec 22

Add Comment

Leave a Reply to Kopicoding Cancel reply