Ahmad Dahlan God does not play dice with the Cosmos.

Perulangan FOR Bahasa C

3 min read

Dalam bahasa C (dan juga bahasa turunan C seperti C++, PHP dan Java), terdapat 3 buah struktur perulangan atau looping, yakni perulangan forperulangan 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 counterVariabel 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:

Hasil kode program:

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

#include <stdio.h>
 
int main(void)
{
  int i;
  for (i = 1; i <= 5; i++) {
    printf("Hello World \n");
  }
  return 0;
}

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

Hasil kode program:

Hello World
Hello World
Hello World
Hello World
Hello World

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 = 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

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--“.

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

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

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

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.

Ahmad Dahlan God does not play dice with the Cosmos.

Rumus Fisika Materi Kinematika

Berikut ini adalah kumpulan Rumus Fisika pada materi Kinematika. Kinematika sendiri adalah kajian tenang gerak benda tanpa meninjau penyebab gerak benda. Rumus Pada Materi...
Ahmad Dahlan
38 sec read

Tanggung Jawab Ilmuwan

Ilmu berkembang dari pengetahuan dengan dasar-dasar pembenaran (Gambar 1). Implikasi dinamika perkembangan ilmu pengetahuan menyebabkan adanya hubungan erat antar cabang ilmu, dipertanyakannya nilai-nilai etik...
Ahmad Dahlan
1 min read

Tinggalkan Balasan