Pernyataan if

Posted on   Januari 29, 2018   |   Last Modified   Februari 6, 2018
pernyataan if c

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)

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *