Apa itu Conditional Statement di C?
Pernyataan Bersyarat dalam pemrograman C digunakan untuk membuat keputusan berdasarkan kondisi. Pernyataan bersyarat dijalankan secara berurutan ketika tidak ada kondisi di sekitar pernyataan. Jika Anda menempatkan beberapa kondisi untuk sekumpulan pernyataan, aliran eksekusi dapat berubah berdasarkan hasil yang dievaluasi oleh kondisi tersebut. Proses ini disebut pengambilan keputusan di 'C.'
Dalam pemrograman 'C', pernyataan kondisional dimungkinkan dengan bantuan dua konstruksi berikut:
1. Jika pernyataan
2. Pernyataan If-else
Ini juga disebut sebagai 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?
- Jika pernyataan
- Operator Relasional
- Pernyataan If-Else
- Ekspresi Bersyarat
- Pernyataan If-else Bersarang
- Pernyataan bertingkat Else-if
Jika pernyataan
Ini adalah salah satu pernyataan bersyarat yang kuat. Jika pernyataan bertanggung jawab untuk mengubah aliran eksekusi suatu program. Jika pernyataan selalu digunakan dengan kondisi. Kondisi dievaluasi terlebih dahulu sebelum menjalankan pernyataan apa pun di dalam tubuh If. Sintaks untuk pernyataan if adalah sebagai berikut:
if (condition)instruction;
Kondisi dievaluasi menjadi benar atau salah. True selalu merupakan nilai bukan nol, dan salah adalah nilai yang berisi nol. Instruksi bisa instruksi tunggal atau blok kode yang diapit oleh tanda kurung kurawal {}.
Program berikut mengilustrasikan penggunaan if construct dalam pemrograman 'C':
#includeint main(){int num1=1;int num2=2;if(num1 Keluaran:
num1 is smaller than num2Program di atas mengilustrasikan penggunaan if construct untuk memeriksa persamaan dua bilangan.
- Dalam program di atas, kami telah menginisialisasi dua variabel dengan num1, num2 dengan nilai masing-masing 1, 2.
- Kemudian, kami telah menggunakan if dengan ekspresi uji untuk memeriksa angka mana yang terkecil dan angka mana yang terbesar. Kami telah menggunakan ekspresi relasional di if construct. Karena nilai num1 lebih kecil dari num2, kondisi akan dievaluasi menjadi benar.
- Maka itu 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 menguji kondisi, yang mengembalikan true atau false:
<= kurang dari atau sama dengan
> lebih besar dari
> = lebih dari atau sama dengan
== sama dengan
! = tidak sama dengan
Perhatikan bahwa tes yang sama (==) berbeda dari operator penugasan (=) karena ini adalah salah satu masalah paling umum yang dihadapi programmer dengan mencampurnya.
Sebagai contoh:
int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}Keluaran:
You succeedPerlu diingat bahwa kondisi yang mengevaluasi ke nilai bukan nol dianggap benar.
Sebagai contoh:
int present = 1;if (present)printf("There is someone present in the classroom \n");Keluaran:
There is someone present in the classroomPernyataan If-Else
Pernyataan if-else is adalah versi perpanjangan dari If. Bentuk umum dari if-else adalah sebagai berikut:
if (test-expression){True block of statements}Else{False block of statements}Statements;n jenis konstruksi ini, jika nilai ekspresi uji benar, maka blok pernyataan sebenarnya akan dieksekusi. Jika nilai ekspresi uji jika salah, maka blok pernyataan palsu akan dieksekusi. Bagaimanapun, setelah eksekusi, kontrol akan secara otomatis ditransfer ke pernyataan yang muncul di luar blok If.
Program berikut mengilustrasikan penggunaan konstruksi if-else:
Kami akan menginisialisasi variabel dengan beberapa nilai dan menulis program untuk menentukan apakah nilainya kurang dari sepuluh atau lebih besar dari sepuluh.
Ayo mulai.
#includeint 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 variabel dengan nilai 19. Kita harus mencari tahu apakah angkanya lebih besar atau lebih kecil dari 10 menggunakan program 'C'. Untuk melakukan ini, kami telah menggunakan konstruksi if-else.
- Di sini kami telah memberikan kondisi num <10 karena kami harus membandingkan nilai kami dengan 10.
- Seperti yang Anda lihat, blok pertama selalu merupakan blok benar yang artinya, jika nilai ekspresi uji benar maka blok pertama yaitu Jika, akan dieksekusi.
- Blok kedua adalah blok lain. Blok ini berisi pernyataan yang akan dieksekusi jika nilai ekspresi uji menjadi salah. Dalam program kami, nilai num lebih besar dari sepuluh sehingga kondisi pengujian menjadi salah dan blok lain dijalankan. Jadi, keluaran kita akan berasal dari blok lain yang "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 penumpukan 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 terkait dengan jika dan lain.
Sebagai contoh:
#includeint 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 =2Pernyataan If-else Bersarang
Saat serangkaian keputusan diperlukan, bertumpuk jika-lain digunakan. Bersarang berarti menggunakan satu konstruk if-else di dalam yang lain.
Mari menulis program untuk mengilustrasikan penggunaan nested if-else.
#includeint 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:1Program di atas memeriksa apakah suatu angka kurang atau lebih besar dari 10 dan mencetak hasilnya menggunakan konstruksi if-else bersarang.
- Pertama, kita telah mendeklarasikan variabel num dengan nilai sebagai 1. Kemudian kita menggunakan konstruk if-else.
- Di luar if-else, kondisi yang disediakan memeriksa apakah angka kurang dari 10. Jika kondisinya benar maka dan hanya maka itu akan mengeksekusi loop dalam. Dalam hal ini, kondisinya benar maka blok dalam diproses.
- Di blok bagian dalam, kami kembali memiliki kondisi yang memeriksa apakah variabel kami berisi nilai 1 atau tidak. Ketika suatu kondisi benar, maka itu akan memproses blok If jika tidak maka akan memproses blok lain. Dalam hal ini, kondisinya benar maka jika blok dijalankan dan nilainya dicetak pada layar keluaran.
- Program di atas akan mencetak nilai variabel dan keluar dengan sukses.
Coba ubah nilai variabel, lihat bagaimana program berperilaku.
CATATAN: Dalam nested if-else, kita harus berhati-hati dengan indentasi karena beberapa konstruksi if-else terlibat dalam proses ini, sehingga menjadi sulit untuk mengetahui konstruksi individual. Lekukan yang tepat memudahkan untuk membaca program.
Pernyataan bertingkat Else-if
Nested else-if digunakan saat keputusan multipath diperlukan.
Sintaks umum how else-if ladders dibangun dalam pemrograman 'C' adalah sebagai berikut:
if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;Jenis struktur ini dikenal sebagai tangga else-if. Rantai ini umumnya berbentuk tangga sehingga disebut juga tangga else-if. Ekspresi tes dievaluasi dari atas ke bawah. Setiap kali ekspresi uji yang benar jika ditemukan, pernyataan yang terkait dengannya akan dijalankan. Ketika semua ekspresi uji n menjadi salah, maka pernyataan default yang lain dieksekusi.
Mari kita lihat yang sebenarnya bekerja dengan bantuan sebuah program.
#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;} Keluaran:
First classProgram di atas mencetak nilai sesuai nilai yang dicetak dalam tes. Kami telah menggunakan konstruksi tangga else-if pada program di atas.
- Kami telah menginisialisasi variabel dengan tanda. Pada struktur tangga else-if, kami telah menyediakan berbagai kondisi.
- Nilai dari tanda variabel akan dibandingkan dengan kondisi pertama karena benar pernyataan yang terkait dengannya akan dicetak pada layar keluaran.
- Jika kondisi pengujian pertama ternyata salah, maka dibandingkan dengan kondisi kedua.
- Proses ini akan berlanjut hingga semua ekspresi dievaluasi jika tidak kontrol akan keluar dari tangga else-if, dan pernyataan default akan dicetak.
Coba ubah nilainya dan perhatikan perubahan pada keluarannya.
Ringkasan
- Pengambilan keputusan atau pernyataan percabangan digunakan untuk memilih satu jalur berdasarkan hasil ekspresi yang dievaluasi.
- Ini juga disebut sebagai pernyataan kontrol karena mengontrol aliran eksekusi program.
- 'C' menyediakan if, if-else membangun pernyataan pengambilan keputusan.
- Kami juga dapat menumpuk jika-lain dalam satu sama lain ketika beberapa jalur harus diuji.
- Tangga else-if digunakan ketika kita harus memeriksa berbagai cara berdasarkan hasil ekspresi.