Tutorial Belajar C Part 37: Perulangan FOR Bahasa C

Dalam bahasa C (dan juga bahasa turunan C seperti C++, PHP dan Java), terdapat 3 buah struktur perulangan atau looping, yakni perulangan for, perulangan while dan perulangan do while.

Dalam tutorial bahasa pemrograman C kali ini kita akan bahas perulangan for terlebih dahulu.


Pengertian Struktur Perulangan For Bahasa C

Struktur perulangan (atau dalam bahasa inggris disebut dengan loop) adalah instruksi kode program yang bertujuan untuk mengulang beberapa baris perintah.

Dalam merancang perulangan, kita setidaknya harus mengetahui 3 komponen:

  1. Kondisi awal perulangan.
  2. Kondisi pada saat perulangan.
  3. Kondisi yang harus dipenuhi agar perulangan berhenti.

Berikut format dasar struktur perulangan for dalam bahasa C:

for (start; condition; increment) 
{
   // kode program
   // kode program
}

Start adalah kondisi pada saat awal perulangan. Biasanya kondisi awal ini berisi perintah untuk memberikan nilai kepada variabel counter. Variabel counter sendiri adalah sebuah variabel yang akan menentukan berapa banyak perulangan dilakukan. Kebanyakan programmer menggunakan variabel i sebagai variabel counter (ini tidak harus).

Condition adalah kondisi yang harus dipenuhi agar perulangan berjalan. Selama kondisi ini terpenuhi, maka compiler bahasa C akan terus melakukan perulangan. Misalnya condition ini berisi perintah i < 5, maka selama variabel counter i berisi angka yang kurang dari 5, maka lakukan perulangan.

Increment adalah bagian yang dipakai untuk memproses variabel counter agar bisa memenuhi kondisi akhir perulangan. Bagian ini akan selalu di eksekusi di setiap perulangan.

Disebut increment karena biasanya berisi operasi increment seperti i++, yang sama dengan i = i + 1. Maksudnya, dalam setiap perulangan naikkan variabel i sebanyak 1 angka. Namun kita juga bisa memberikan nilai lain, misalnya i = i + 2, sehingga variabel counter akan naik 2 angka setiap perulangan

Sebagai tambahan, terdapat istilah iterasi (iteration), yang berarti 1 kali perulangan. Istilah ini cukup sering dipakai ketika membahas tentang struktur perulangan.

Baik, cukup dengan teorinya mari kita masuk ke contoh praktek.


Contoh Kode Program Perulangan For Bahasa C

Sebagai contoh pertama, saya ingin menampilkan teks  "Hello World" sebanyak 5 kali. Berikut kode programnya:

#include <stdio.h>

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

Di baris 5 saya membuat sebuah variabel i yang di set dengan tipe data integer. Variabel ini nantinya akan saya pakai sebagai variabel counter, yakni variabel yang menentukan kondisi akhir perulangan.

Perintah di baris 6, yakni for (i = 1; i < 5; i++), bisa dibaca:

"Jalankan perulangan, mulai dari variabel i = 1 sampai i < 5. Dalam setiap iterasi, naikkan nilai variabel i sebanyak 1 angka menggunakan perintah i++".

Berikut hasilnya:

Hello World
Hello World
Hello World
Hello World

Pertanyaannya, kenapa hanya tampil 4 baris "Hello World"? Padahal kita mengulang dari i = 1 sampai i < 5.

Ini berkaitan dengan penggunaan tanda. Kondisi akhir perulangan adalah i < 5, yang artinya akan selalu bernilai true jika i kurang dari 5, tapi jika sudah sampai dengan 5 maka kondisi menjadi false dan perulangan berhenti.

Agar teks "Hello World" bisa tampil sebanyak 5 kali, ada 2 alternatif, yakni mengubah kondisi awal menjadi i = 0, atau mengubah kondisi akhir menjadi i <=5. Pilihan kedua ini tambak lebih baik:

#include <stdio.h>

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

Hasil kode program:

Hello World
Hello World
Hello World
Hello World
Hello World

Sekarang teks "Hello World" sudah tampil sebanyak 5 kali. Sekali lagi, hati-hati dengan menggunakan tanda perbandingan, terutama antara "<" dengan "<=".

Di dalam perulangan, kita juga bisa mengakses variabel counter seperti contoh berikut:

#include <stdio.h>

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

Hasil kode program:

Hello World 1
Hello World 2
Hello World 3
Hello World 4
Hello World 5

Sekarang setelah teks "Hello World", tampil angka yang berasal dari nilai variabel i. Karena dalam setiap iterasi variabel counter i akan dinaikkan 1 angka (proses increment), maka nilainya juga akan naik 1 angka untuk setiap iterasi.

Variabel counter i juga tidak haris di increment, tapi juga bisa di decrement untuk membuat perulangan menurun. Berikut contohnya:

#include <stdio.h>

int main(void)
{
  int i;
  for (i = 5; i >= 1; i--) {
    printf("Hello World %i \n",i);
  }
  return 0;
}

Hasil kode program:

Hello World 5
Hello World 4
Hello World 3
Hello World 2
Hello World 1

Kode kita sangat mirip seperti sebelumnya, tapi perhatikan perintah for di baris 6: for (i = 5; i >= 1; i--). Ini bisa dibaca:

"Jalankan perulangan, mulai dari variabel i = 5 sampai i >= 1. Dalam setiap iterasi, turunkan nilai variabel i sebanyak 1 angka menggunakan perintah i--".

Hasilnya, nilai variabel counter i akan berkurang 1 angka dalam setiap iterasi.

Sebagai contoh terakhir, bisakah anda membuat perulangan untuk menampilkan angka kelipatan 3 sebanyak 10 kali? Hasil akhir yang kita inginkan adalah sebagai berikut:

3 6 9 12 15 18 21 24 27 30

Terdapat beberapa cara untuk menghasilkan deret ini. Pertama, ubah di sisi block perintah yang akan dijalankan. Dimana variabel counter i tetap naik dari 1 sampai 10:

#include <stdio.h>

int main(void)
{
  int i;
  for (i = 1; i <= 10; i++) {
    printf("%i ",i*3);
  }
  printf("\n");
  return 0;
}

Agar menghasilkan angka yang naik kelipatan 3, teknik yang dipakai adalah mengalikan nilai variabel counter i dengan angka 3 untuk setiap iterasi.

Cara kedua adalah memodifikasi proses increment dari variabel counter:

#include <stdio.h>

int main(void)
{
  int i;
  for (i = 3; i <= 30; i = i + 3) {
    printf("%i ",i);
  }
  printf("\n");
  return 0;
}

Perhatikan perintah perulangan for di baris 6. Perintah for (i = 3; i <= 30; i = i + 3) bisa dibaca:

"Jalankan perulangan, mulai dari variabel i = 3 sampai i <= 30. Dalam setiap iterasi, naikkan nilai variabel i sebanyak 3 angka menggunakan perintah i = i + 3".

Teknik ini agak jarang dipakai, tapi itu bisa dilakukan.

Contoh kode program perulangan (loop) FOR bahasa pemrograman C


Dalam tutorial kali ini kita telah membahas tentang perulangan (looping) for. Nantinya looping ini bisa dikombinasikan lebih lanjut misalnya untuk membuat perulangan bersarang (nested loop). Tapi untuk berikutnya kita akan lanjut dulu ke bentuk perulangan kedua dalam bahasa C, yakni perulangan WHILE.

11 Comments

  1. Anonymous
    24 Mar 19
  2. Ignatius Gunawan
    31 Aug 20
    • farhan
      31 Aug 20
      • Andre
        01 Sep 20
        • Ignatius Gunawan
          01 Sep 20
    • Andre
      01 Sep 20
  3. lukman hakim
    02 Jan 22
  4. widya
    30 Nov 22
    • Andre
      30 Nov 22
  5. martin
    25 Oct 23

Add Comment

Leave a Reply to Ignatius Gunawan Cancel reply