Sebuah program akan menjalankan sebuah tugas tertentu jika memenuhi sebuah kondisi. Contoh sederhana: jika sebuah nilai merupakan bilangan genap, maka program akan mencetak ke layar “bilangan genap” dan begitu juga jika nilai tersebut merupakan bilangan ganjil, maka program tersebut akan mencetak ke layar “bilangan ganjil”. Contoh tersebut merupakan contoh pengambilan keputusan dimana program akan melakukan sesuatu sesuai dengan syarat/kondisi yang sudah ditetapkan. Komputer tidak akan dapat mengambil keputusan secara otomatis, maka diperlukan sebuah pernyataan, salah satunya pernyataan if
.
Pernyataan if
merupakan salah satu pernyataan yang digunakan untuk memberikan pilihan pada komputer untuk mengambil keputusan sesuai dengan kondisi/syarat yang sudah ditentukan.
Berikut struktur pernyataan if
:
if(ekspresi) //tulis perintah di sini
atau
if(ekspresi) { //tulis perintah di sini }
Jika perintah yang akan dijalankan dalam pernyataan if
hanya SATU BARIS, maka buka/tutup kurung kurawal pada pernyataan if
dapat DIABAIKAN dan apabila perintah yang akan dijalankan dalam pernyataan if
lebih dari satu baris, maka harus menggunakan buka/tutup kurang kuwaral untuk menyatakan perintah-perintah tersebut adalah block pernyataan if
. Ekspresi yang ada dalam pernyataan if
adalah sebuah syarat yang harus dipenuhi untuk menjalankan perintah-perintah yang ada di dalam penyataan if
. Ekspresi ini hanya menghasilkan dua nilai, yaitu true (benar) atau false (salah).
contoh:
1 < 5
Ekspresi ini akan menghasilkan true, karena ekspresinya benar bahwa 1 lebih kecil dari 5
1 < 0
Ekspresi ini akan menghasilkan false karena ekspresinya salah bahwa 1 tidaklah lebih kecil dari 0
true dan false dalam bahasa C dinyatakan dalam angka, dimana true itu adalah angka BUKAN NOL seperti 1, 2, 3, -1 dan sebagainya sedangkan false adalah angka NOL. Jadi, dari contoh sebelumnya, maka 1 < 5 akan menghasilkan 1 dan 1 < 0 akan menghasilkan 0.
Untuk lebih memahami pernyataan if
mari lihat contoh di bawah.
#include <stdio.h> int main() { int nilai; nilai = 10; if(nilai % 2 == 0) printf("bilangan genap\n"); if(nilai % 2 == 1) printf("bilangan ganjil\n"); return 0; }
Penjelasan:
Apa yang dilakukan pada kode di atas adalah mencetak ke layar tulisan bilangan genap
jika variabel nilai
berisi bilangan genap dan mencetak ke layar bilangan ganjil
jika variabel nilai
berisi bilangan ganjil. Kondisi yang ada dalam pernyataan if
adalah ekspresi nilai % 2 == 0
, dimana variabel nilai
dimodulo dengan 2. Jika hasil variabel nilai
modulo 2 sama dengan 0, maka ekspresi akan menghasilkan 1 (true) dan sebaliknya jika hasilnya 1, maka ekspresi akan menghasilan 0 (false). Operator % adalah operator modulo, untuk mencari hasil sisa bagi. Jika ekspresi tersebut menghasilkan 1 (true), maka perintah yang ada di dalam if
akan dijalankan dan sebaliknya. Dalam kasus source di atas, program akan mencetak bilangan genap
karena variable nilai
berisi bilangan genap, yaitu 10 dan sisa bagi dari 10 bagi 2 adalah 0 dan menghasilkan 1 (true).
if-else
else
adalah kata kunci yang digunakan untuk menjalakan sebaris atau blok perintah jika ekspresi yang ada dalam pernyataan if
tidak memenuhi syarat.
Berikut bentuk pernyataan if-else
.
if(ekspresi) { //tulis perintah di sini } else { //tulis perintah di sini }
Sama seperti aturan sebelumnya, jika perintah yang ada di dalam else
hanya satu baris, buka/tutup kurung kuwaral dapat diabaikan.
Contoh:
#include <stdio.h> int main() { int nilai = 10; if(nilai % 2 == 0) printf("bilangan genap"); else printf("bilangn ganjil"); return 0; }
Penjelasan:
Jika ekspresi pernyataan if
pada baris ke-6 menghasilkan 0 (false), maka perintah pada baris ke-7 tidak akan dijalankan dan perintah pada baris ke-9 lah yang akan dijalankan.
Dengan bantuan else
, pernyataan if
dapat dibuat bertingkat seperti di bawah.
if(ekspresi) { } else if(ekspresi) { } else if(ekspresi) { } else { }
Contoh:
#include <stdio.h> int main() { int nilai = 65; if(nilai >= 90) { printf("Nilai huruf: A"); } else if(nilai >= 75) { printf("Nilai huruf: B"); } else if(nilai >= 60) { printf("Nilai huruf: C"); } else if(nilai >= 40) { printf("Nilai huruf: D"); } else { printf("Nilai huruf: E"); } return 0; }
statement if-else
juga dapat dibuat bersarang seperti di bawah.
if(ekspresi) { if(ekspresi) { } } else if(ekspresi) { if(ekspresi) { if(ekspresi) { } } } else { if(ekspresi) { } else { } }
Ternary Operator
Ternary operator (?:) adalah operator yang digunakan untuk mempersingkat pernyataan if-else
.
Format ternary operator:
(ekspresi)? (A): (B)
keterangan:
A adalah nilai yang akan dikembalikan jika ekspresi true.
B adalah nilai yang akan dikembalikan jika ekspresi false.
dimana A dan B HARUS memiliki TIPE DATA yang SAMA.
Perhatikan pernyataan if-else
di bawah.
if(nilai % 2 == 0) { printf("bilangan genap"); } else { printf("bilangan ganjil"); }
Pernyataan if-else
di atas dapat disingkat dengan ternary operator menjadi.
printf("%s", ((nilai % 2 == 0)? ("bilangan genap"): ("bilangan ganjil")));
Ternary operator juga dapat dibuat bersarang seperti if-else
.
(ekspresi 1)?((ekspresi 2)? (A): (B)): (C)
Hello, i believe that i saw you visited my weblog so i came to return the desire?.I’m attempting to find issues
to improve my website!I suppose its good enough to use a few of your concepts!!
You made some good points there. I did a search on the matter and found nearly all persons
will agree with your blog.