C Pernyataan Bersyarat:IF, IF Else dan Nested IF Else dengan Contoh
Apa itu Pernyataan Bersyarat dalam C?
Pernyataan Bersyarat dalam C pemrograman digunakan untuk membuat keputusan berdasarkan kondisi. Pernyataan bersyarat dieksekusi secara berurutan ketika tidak ada kondisi di sekitar pernyataan. Jika Anda menempatkan beberapa kondisi untuk blok pernyataan, alur eksekusi dapat berubah berdasarkan hasil yang dievaluasi oleh kondisi tersebut. Proses ini disebut pengambilan keputusan dalam 'C.'
Dalam pemrograman 'C' pernyataan kondisional dimungkinkan dengan bantuan dua konstruksi berikut:
1. Jika pernyataan
2. Pernyataan if-else
Ini juga disebut percabangan karena program memutuskan pernyataan mana yang akan dieksekusi berdasarkan hasil dari kondisi yang dievaluasi.
Dalam tutorial ini, Anda akan belajar-
Apa itu Pernyataan Bersyarat?
Pernyataan jika
Operator Relasional
Pernyataan If-Else
Ekspresi Bersyarat
Pernyataan If-else Bersarang
Pernyataan Else-if bertingkat
Jika pernyataan
Ini adalah salah satu pernyataan kondisional yang kuat. Jika pernyataan bertanggung jawab untuk memodifikasi aliran eksekusi suatu program. Jika pernyataan selalu digunakan dengan kondisi. Kondisi dievaluasi terlebih dahulu sebelum mengeksekusi pernyataan apa pun di dalam tubuh If. Sintaks untuk pernyataan if adalah sebagai berikut:
if (condition)
instruction;
Kondisi dievaluasi menjadi benar atau salah. Benar selalu merupakan nilai bukan nol, dan salah adalah nilai yang mengandung nol. Instruksi dapat berupa instruksi tunggal atau blok kode yang diapit oleh kurung kurawal {}.
Program berikut mengilustrasikan penggunaan if construct dalam pemrograman 'C':
#include<stdio.h>
int main()
{
int num1=1;
int num2=2;
if(num1<num2) //test-condition
{
printf("num1 is smaller than num2");
}
return 0;
}
Keluaran:
num1 is smaller than num2
Program di atas mengilustrasikan penggunaan konstruk if untuk memeriksa persamaan dua bilangan.
Pada program di atas, kita telah menginisialisasi dua variabel dengan angka1, angka2 dengan nilai masing-masing sebagai 1, 2.
Kemudian, kami telah menggunakan if dengan ekspresi uji untuk memeriksa angka mana yang terkecil dan mana yang terbesar. Kami telah menggunakan ekspresi relasional dalam konstruksi if. Karena nilai num1 lebih kecil dari num2, kondisinya akan bernilai true.
Dengan demikian akan mencetak pernyataan di dalam blok If. Setelah itu, kontrol akan keluar dari blok dan program akan dihentikan dengan hasil yang berhasil.
Operator Relasional
C memiliki enam operator relasional yang dapat digunakan untuk merumuskan ekspresi Boolean untuk membuat keputusan dan kondisi pengujian, yang mengembalikan nilai true atau false :
<=kurang dari atau sama dengan
> lebih besar dari
>=lebih besar dari atau sama dengan
==sama dengan
!=tidak sama dengan
Perhatikan bahwa equal test (==) berbeda dari operator penugasan (=) karena ini adalah salah satu masalah paling umum yang dihadapi programmer dengan mencampurkannya.
Misalnya:
int x = 41;
x =x+ 1;
if (x == 42) {
printf("You succeed!");}
Keluaran :
You succeed
Perlu diingat bahwa kondisi yang mengevaluasi ke nilai bukan nol dianggap benar.
Misalnya:
int present = 1;
if (present)
printf("There is someone present in the classroom \n");
Keluaran :
There is someone present in the classroom
Pernyataan If-Else
Pernyataan if-else adalah versi lanjutan dari If. Bentuk umum if-else adalah sebagai berikut:
if (test-expression)
{
True block of statements
}
Else
{
False block of statements
}
Statements;
n jenis konstruk ini, jika nilai ekspresi-tes benar, maka blok pernyataan yang benar akan dieksekusi. Jika nilai ekspresi-tes jika salah, maka blok pernyataan yang salah akan dieksekusi. Bagaimanapun, setelah eksekusi, kontrol akan secara otomatis ditransfer ke pernyataan yang muncul di luar blok If.
Program berikut mengilustrasikan penggunaan konstruk if-else:
Kami akan menginisialisasi variabel dengan beberapa nilai dan menulis program untuk menentukan apakah nilainya kurang dari sepuluh atau lebih besar dari sepuluh.
Mari kita mulai.
#include<stdio.h>
int main()
{
int num=19;
if(num<10)
{
printf("The value is less than 10");
}
else
{
printf("The value is greater than 10");
}
return 0;
}
Keluaran:
The value is greater than 10
Kita telah menginisialisasi sebuah variabel dengan nilai 19. Kita harus mencari tahu apakah bilangan tersebut lebih besar atau lebih kecil dari 10 menggunakan program ‘C’. Untuk melakukan ini, kami telah menggunakan konstruksi if-else.
Di sini kami menyediakan kondisi num<10 karena kami harus membandingkan nilai kami dengan 10.
Seperti yang Anda lihat, blok pertama selalu merupakan blok yang benar yang artinya, jika nilai ekspresi uji benar, maka blok pertama yaitu If, akan dieksekusi.
Blok kedua adalah blok lain. Blok ini berisi pernyataan-pernyataan yang akan dieksekusi jika nilai ekspresi-tes menjadi salah. Dalam program kami, nilai num lebih besar dari sepuluh maka kondisi pengujian menjadi salah dan blok lain dijalankan. Dengan demikian, output kami akan berasal dari blok lain yaitu "Nilainya lebih besar dari 10". Setelah if-else, program akan dihentikan dengan hasil yang berhasil.
Dalam pemrograman 'C' kita dapat menggunakan beberapa konstruksi if-else dalam satu sama lain yang disebut sebagai bersarang dari pernyataan if-else.
Ekspresi Bersyarat
Ada cara lain untuk mengekspresikan pernyataan if-else adalah dengan memperkenalkan ?: operator. Dalam ekspresi bersyarat ?: operator hanya memiliki satu pernyataan yang terkait dengan if dan yang lainnya.
Misalnya:
#include <stdio.h>
int main() {
int y;
int x = 2;
y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */
printf("y =%d ",y);
return 0;}
Keluaran :
y =2
Pernyataan If-else Bersarang
Ketika serangkaian keputusan diperlukan, if-else bersarang digunakan. Bersarang berarti menggunakan satu konstruksi if-else di dalam konstruksi lainnya.
Mari kita buat program untuk mengilustrasikan penggunaan if-else bersarang.
#include<stdio.h>
int main()
{
int num=1;
if(num<10)
{
if(num==1)
{
printf("The value is:%d\n",num);
}
else
{
printf("The value is greater than 1");
}
}
else
{
printf("The value is greater than 10");
}
return 0;
}
Keluaran:
The value is:1
Program di atas memeriksa apakah suatu angka lebih kecil atau lebih besar dari 10 dan mencetak hasilnya menggunakan konstruksi if-else bersarang.
Pertama, kita telah mendeklarasikan variabel num dengan nilai 1. Kemudian kita menggunakan konstruk if-else.
Dalam if-else luar, kondisi yang disediakan memeriksa apakah suatu angka kurang dari 10. Jika kondisinya benar maka dan hanya maka itu akan mengeksekusi loop dalam. Dalam hal ini, kondisinya benar maka blok bagian dalam diproses.
Di blok bagian dalam, kita kembali memiliki kondisi yang memeriksa apakah variabel kita berisi nilai 1 atau tidak. Ketika suatu kondisi benar, maka akan memproses blok If jika tidak maka akan memproses blok lain. Dalam hal ini, kondisinya benar maka jika blok dieksekusi dan nilainya dicetak pada layar output.
Program di atas akan mencetak nilai variabel dan keluar dengan sukses.
Coba ubah nilai variabel, lihat bagaimana program berperilaku.
CATATAN: Dalam if-else bersarang, kita harus berhati-hati dengan indentasi karena beberapa konstruksi if-else terlibat dalam proses ini, sehingga menjadi sulit untuk mengetahui konstruksi individu. Indentasi yang tepat memudahkan untuk membaca program.
Pernyataan Else-if bertingkat
Nested else-if digunakan ketika keputusan multipath diperlukan.
Sintaks umum bagaimana tangga else-if dibangun dalam pemrograman 'C' adalah sebagai berikut:
Jenis struktur ini dikenal sebagai tangga else-if. Rantai ini umumnya terlihat seperti tangga sehingga disebut juga sebagai tangga else-if. Ekspresi tes dievaluasi dari atas ke bawah. Setiap kali ekspresi uji yang benar jika ditemukan, pernyataan yang terkait dengannya dieksekusi. Ketika semua n ekspresi uji menjadi salah, maka pernyataan default else dijalankan.
Mari kita lihat cara kerja sebenarnya dengan bantuan sebuah program.