Tutorial Belajar C Part 33: Percabangan Kondisi IF Bahasa C

Mulai dari tutorial ini dan beberapa tutorial ke depan, kita akan mempelajari struktur percabangan kode program dalam bahasa C. Sesi bahasan ini dibuka dengan bentuk percabangan yang paling sederhana, yakni kondisi IF.


Pengertian Kondisi IF bahasa C

Dalam pembuatan program, ada saatnya kita butuh suatu percabangan, yakni jika sebuah kondisi terpenuhi, jalankan kode program ini, jika tidak, jalankan kode program yang lain. Menggunakan bahasa C, konsep ini dibuat dari struktur IF dengan aturan penulisan sebagai berikut:

if (condition)
{
  //Kode program yang akan dijalankan jika condition berisi nilai True (1)
}

Bagian condition berperan sebagai penentu dari struktur percabangan. Jika condition terpenuhi (menghasilkan nilai TRUE atau 1), blok kode program akan dijalankan. Jika condition tidak terpenuhi (menghasilkan nilai FALSE atau 0), blok kode program tidak akan dijalankan.

Blok kode program yang saya maksud adalah semua kode yang berada di antara tanda kurung kurawal "{" dan "}". Condition biasanya terdiri dari operasi perbandingan, misalnya apakah variabel a berisi angka 10, atau variabel password berisi string 'rahasia'.

Mari kita bahas dengan contoh kode program.


Contoh Kode Program Percabangan IF Bahasa C

Sebagai contoh pertama saya akan membuat kode program sederhana, yakni melihat apakah sebuah angka lebih besar dari angka lain, lalu tampilkan hasilnya jika kondisi terpenuhi:

#include <stdio.h>

int main(void)
{
  int a = 12;
  int b = 10;

  if (a > b) {
    printf("Variabel a lebih besar dari variabel b \n");
  }

  return 0;
}

Contoh kode program kondisi if bahasa pemrograman C
Di awal kode program saya mengisi variabel a dengan angka 12, dan variabel b dengan angka 10. Kemudian di baris 8 terdapat kondisi if (a > b), yakni apakah variabel a berisi angka yang lebih besar dari b? Apakah 12 lebih besar dari 10? betul (true), maka blok kode program akan dijalankan.

Kita juga bisa membuat struktur if ini beberapa kali tergantung kebutuhan, seperti contoh berikut:

#include <stdio.h>

int main(void)
{
  int a = 12;
  int b = 10;

  if (a > b) {
    printf("Variabel a lebih besar dari variabel b \n");
  }
  if (a < b) {
    printf("Variabel a lebih kecil dari variabel b \n");
  }
  if (a == b) {
    printf("Variabel a sama besar dengan variabel b \n");
  }
  return 0;
}

Hasil kode program:

Variabel a lebih besar dari variabel b

Kode program ini merupakan hasil modifikasi dari kode sebelumnya. Di sini saya membuat 3 buah kondisi, yakni if (a > b), if (a < b), atau if (a == b). Setiap kondisi if akan diperiksa, dan jika operasi perbandingan menghasilkan nilai true atau 1, maka blok kode program tersebut akan diproses. Silahkan anda coba ubah isi variabel a dan b untuk melihat blok kode program mana yang akan dijalankan.

Supaya lebih interaktif, saya bisa modifikasi kode di atas dengan meminta user menginput angka ke dalam variabel a dan b:

#include <stdio.h>

int main(void)
{
  int a, b;

  printf("Input variabel a: ");
  scanf("%d",&a);

  printf("Input variabel b: ");
  scanf("%d",&b);

  printf("\n");

  if (a > b) {
    printf("Variabel a lebih besar dari variabel b \n");
  }
  if (a < b) {
    printf("Variabel a lebih kecil dari variabel b \n");
  }
  if (a == b) {
    printf("Variabel a sama besar dengan variabel b \n");
  }
  return 0;
}

Contoh kode program kondisi if bahasa pemrograman C
Selain tambahan perintah scanf agar user bisa menginput angka, kode program kita masih sama seperti sebelumnya, yakni mencari variabel mana berisi angka yang lebih besar.

Contoh terakhir, mari buat kode program yang bisa menebak apakah angka yang diinput merupakan bilangan genap atau bilangan ganjil:

#include <stdio.h>

int main(void)
{
  int a;

  printf("Input sembarang angka: ");
  scanf("%d",&a);

  printf("\n");

  if (a % 2 == 0) {
    printf("%d adalah angka genap \n", a);
  }
  if (a % 2 == 1) {
    printf("%d adalah angka ganjil \n", a);
  }

  return 0;
}

Hasil kode program:

Input sembarang angka: 28
28 adalah angka genap
 
Input sembarang angka: 9999
9999 adalah angka ganjil

Sekarang kondisi yang diperiksa adalah if (a % 2 == 0) dan if (a % 2 == 1). Di dalam bahasa C, tanda persen ( % ) adalah operator modulus yang dipakai untuk mencari sisa hasil bagi. Lebih lanjut tentang operator ini pernah kita bahas di Operator Aritmatika Bahasa C.

Kondisi pertama, yakni if (a % 2 == 0) akan bernilai true atau menghasilkan angka 1 jika variabel a habis dibagi 2. Ini artinya variabel a berisi angka genap.

Sedangkan kondisi kedua, yakni if (a % 2 == 1) akan bernilai true atau menghasilkan angka 1 jika variabel a bersisa 1 ketika dibagi 2. Ini artinya variabel a berisi angka ganjil.


Percabangan IF seperti ini sangat sering dipakai untuk memecahkan sebuah masalah. Sebagai bentuk lain, kita akan bahas percabangan IF ELSE dalam tutorial selanjutnya.

2 Comments

  1. Fakhri Rasyad
    30 Jul 21
  2. bisma
    27 Nov 21

Add Comment

Leave a Reply to Fakhri Rasyad Cancel reply