Menguasai Pernyataan Kondisional dalam C: IF, IF-ELSE, dan Nested IF-ELSE Dijelaskan
Apa itu Pernyataan Kondisional dalam C?
Pernyataan Kondisional dalam C digunakan untuk membuat keputusan berdasarkan kondisi. Pernyataan kondisional dieksekusi secara berurutan ketika tidak ada kondisi di sekitar pernyataan. Jika Anda menempatkan beberapa kondisi untuk blok pernyataan, alur eksekusi dapat berubah berdasarkan hasil evaluasi kondisi. Proses ini disebut pengambilan keputusan dalam 'C.'
Dalam pemrograman 'C', pernyataan kondisional memungkinkan dengan bantuan dua konstruk berikut:
1. Pernyataan If
2. Pernyataan If-else
Ia juga disebut sebagai branching karena program memutuskan pernyataan mana yang akan dieksekusi berdasarkan hasil dari kondisi yang dievaluasi.
Dalam tutorial ini, Anda akan mempelajari-
Apa itu Pernyataan Kondisional?
Pernyataan If
Operator Relasional
Pernyataan If-Else
Ekspresi Kondisional
Pernyataan If-else Bersarang
Pernyataan Else-if Bersarang
Pernyataan If
Ia adalah salah satu pernyataan kondisional yang kuat. Pernyataan If bertanggung jawab untuk mengubah alur eksekusi program. Pernyataan If 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 (kondisi) instruksi;
Kondisi mengevaluasi menjadi benar atau salah. Benar selalu adalah nilai non-nol, dan salah adalah nilai yang mengandung nol. Instruksi dapat berupa satu instruksi atau blok kode yang diapit oleh kurung kurawal { }.
Program berikut menggambarkan penggunaan konstruk if dalam pemrograman 'C':
#include<stdio.h> int main() { int num1=1; int num2=2; if(num1<num2) //test-condition { printf("num1 lebih kecil dari num2"); } return 0; }
Output:
num1 lebih kecil dari num2
Program di atas menggambarkan penggunaan konstruk if untuk memeriksa kesamaan dua angka.
Dalam program di atas, kami telah menginisialisasi dua variabel dengan num1, num2 dengan nilai 1, 2 masing-masing.
Lalu, kami telah menggunakan if dengan ekspresi uji untuk memeriksa angka mana yang terkecil dan angka mana yang terbesar. Kami telah menggunakan ekspresi relasional dalam konstruk if. Karena nilai num1 lebih kecil dari num2, kondisi akan mengevaluasi ke benar.
Jadi akan mencetak pernyataan di dalam blok If. Setelah itu, kontrol akan pergi di luar blok dan program akan diakhiri dengan hasil yang berhasil.
Operator Relasional
C memiliki enam operator relasional yang dapat digunakan untuk merumuskan ekspresi Boolean untuk mengambil keputusan dan menguji kondisi, yang mengembalikan benar atau salah :
< lebih kecil dari
<= lebih kecil atau sama dengan
> lebih besar dari
>= lebih besar atau sama dengan
== sama dengan
!= tidak sama dengan
Perhatikan bahwa tes kesamaan (==) berbeda dari operator penugasan (=) karena merupakan salah satu masalah paling umum yang dihadapi programmer dengan mencampurnya.
Contoh:
int x = 41; x =x+ 1; if (x == 42) { printf("Anda berhasil!");}
Output :
Anda berhasil
Ingatlah bahwa kondisi yang mengevaluasi ke nilai non-nol dianggap sebagai benar.
Contoh:
int present = 1; if (present) printf("Ada seseorang yang hadir di kelas \n");
Output :
Ada seseorang yang hadir di kelas
Pernyataan If-Else
Pernyataan if-else adalah versi diperluas dari If. Bentuk umum dari if-else adalah sebagai berikut:
if (ekspresi-uji) { Blok pernyataan benar } Else { Blok pernyataan salah } Pernyataan;
Dalam konstruk ini, jika nilai ekspresi-uji benar, maka blok pernyataan benar akan dieksekusi. Jika nilai ekspresi-uji salah, maka blok pernyataan salah akan dieksekusi. Dalam setiap kasus, setelah eksekusi, kontrol akan secara otomatis dialihkan ke pernyataan yang muncul di luar blok If.
Program-program berikut menggambarkan penggunaan konstruk if-else:
Kami akan menginisialisasi variabel dengan beberapa nilai dan menulis program untuk menentukan apakah nilai kurang dari sepuluh atau lebih dari sepuluh.
Mari kita mulai.
#include<stdio.h> int main() { int num=19; if(num<10) { printf("Nilai kurang dari 10"); } else { printf("Nilai lebih dari 10"); } return 0; }
Output:
Nilai lebih dari 10
Kami telah menginisialisasi variabel dengan nilai 19. Kami harus mengetahui apakah angka lebih besar atau lebih kecil dari 10 menggunakan program 'C'. Untuk melakukan ini, kami telah menggunakan konstruk if-else.
Di sini kami telah memberikan kondisi num<10 karena kami harus membandingkan nilai kita dengan 10.
Seperti yang Anda lihat, blok pertama selalu adalah blok benar yang berarti, jika nilai ekspresi-uji benar maka blok pertama yang merupakan If, akan dieksekusi.
Blok kedua adalah blok else. Blok ini berisi pernyataan yang akan dieksekusi jika nilai ekspresi-uji menjadi salah. Dalam program kami, nilai num lebih besar dari sepuluh sehingga kondisi tes menjadi salah dan blok else dieksekusi. Jadi, output kami akan dari blok else yaitu "Nilai lebih dari 10". Setelah if-else, program akan diakhiri dengan hasil yang berhasil.
Dalam pemrograman 'C' kami dapat menggunakan banyak konstruk if-else di dalam satu sama lain yang disebut sebagai bersarangnya pernyataan if-else.
Ekspresi Kondisional
Ada cara lain untuk menyatakan pernyataan if-else yaitu dengan memperkenalkan operator ?:. Dalam ekspresi kondisional operator ?: hanya memiliki satu pernyataan yang terkait dengan if dan else.
Contoh:
#include <stdio.h> int main() { int y; int x = 2; y = (x >= 6) ? 6 : x;/* Ini setara dengan: if (x >= 5) y = 5; else y = x; */ printf("y =%d ",y); return 0;}
Output :
y =2
Pernyataan If-else Bersarang
Ketika serangkaian keputusan diperlukan, if-else bersarang digunakan. Bersarang berarti menggunakan satu konstruk if-else di dalam konstruk lain.
Mari kita tulis program untuk menggambarkan penggunaan if-else bersarang.
#include<stdio.h> int main() { int num=1; if(num<10) { if(num==1) { printf("Nilai adalah:%d\n",num); } else { printf("Nilai lebih dari 1"); } } else { printf("Nilai lebih dari 10"); } return 0; }
Output:
Nilai adalah:1
Program di atas memeriksa apakah suatu angka kurang atau lebih dari 10 dan mencetak hasilnya menggunakan konstruk if-else bersarang.
Pertama, kami telah mendeklarasikan variabel num dengan nilai 1. Lalu kami telah menggunakan konstruk if-else.
Dalam if-else luar, kondisi yang diberikan memeriksa apakah suatu angka kurang dari 10. Jika kondisi benar maka dan hanya maka itu akan mengeksekusi loop dalam. Dalam hal ini, kondisi benar sehingga blok dalam diproses.
Dalam blok dalam, kami lagi-lagi memiliki kondisi yang memeriksa apakah variabel kami berisi nilai 1 atau tidak. Ketika kondisi benar, maka akan memproses blok If jika tidak akan memproses blok else. Dalam hal ini, kondisi benar sehingga blok If dijalankan dan nilai dicetak di layar output.
Program di atas akan mencetak nilai variabel dan keluar dengan sukses.
Cobalah mengubah nilai variabel lihat bagaimana program berperilaku.
CATATAN: Dalam if-else bersarang, kami harus berhati-hati dengan indentasi karena banyak konstruk if-else yang terlibat dalam proses ini, jadi sulit untuk mengetahui konstruk individu. Indentasi yang tepat membuat mudah untuk membaca program.
Pernyataan Else-if Bersarang
Else-if bersarang digunakan ketika diperlukan keputusan multipath.
Sintaks umum bagaimana else-if ladder dibangun dalam pemrograman 'C' adalah sebagai berikut:
if (ekspresi-uji 1) { pernyataan1; } else if (ekspresi-uji 2) { Pernyataan2; } else if (ekspresi-uji 3) { Pernyataan3; } else if (ekspresi-uji n) { Pernyataan n; } else { default; } Pernyataan x;
Jenis struktur ini dikenal sebagai else-if ladder. Rantai ini umumnya terlihat seperti tangga sehingga juga disebut sebagai else-if ladder. Ekspresi-uji dievaluasi dari atas ke bawah. Kapan pun ekspresi-uji benar ditemukan, pernyataan yang terkait dengannya dieksekusi. Ketika semua ekspresi-uji n menjadi salah, maka pernyataan default else dieksekusi.
Mari kita lihat kerja aktual dengan bantuan sebuah program.