Pernyataan IF

Tags

IF-ELSE

Pernyataan IF adalah salah satu pernyataan penyeleksian yang memungkain kita memanipulasi aliran jalanya program berdasarkan conditional expression. Hal ini dapat memungknkan kita membuat program yang berjalan secara fleksibel sesuai keinginan dari pengguna.

Penyeleksian if adalah pernyataan penyeleksian yang mencari kebenaran dari conditional expression yang disebutkan. Dengan arti lain conditional expression harus berupa bilangan Boolean atau operasi yang menghasilkan bilangan Boolean.

Ketika mesin eksekusi bertemu dengan penyeleksian if maka CPU akan memeriksa kebenaran dari conditional expression yang tercantum, jika 1 (true) maka perintah yang ada dibawahnya akan dijalankan, jika 0 (false) maka akan memeriksa pernyataan else if (jika ada), hal itu dilakukan berulang satu demi satu hingga menemukan kondisi yang bernilai 1 (true). Jika tidak ditemukan maka akan melakukan perintah pernyataan else. Jika else tidak ada maka pernyataan if secara keseluruhan akan diabaikan.
If(Kondisi){
   Pernyataan;
}else if(Kondisi){
   Pernyataan;
}else{
   Pernyataan;
}

Secara keutuhan penyataan penyeleksian if memiliki bentuk struktur seperti di atas. Dan juga ada bagian yang termasuk sebagai tambahan (anda bebas untuk menyertakan atau tidak) yaitu else if dan else. setiap bentuk dari pernyataan if memiliki nama sendiri-sendiri.

Bentuk Pernyataan IF
If(Kondisi){
   Pernyataan;
}

Bentuk Pernataan IF-ELSE
If(Kondisi){
   Pernyataan;
}else{
   Pernyataan;
}

Bentuk Pernyataan IF-ELSE Majemuk
If(Kondisi){
   Pernyataan;
}else if(Kondisi){
   Pernyataan;
}else{
   Pernyataan;
}

jika pernyataan merupakan pernyataan tunggal sebagai perintah pernyataan if kita tidak diwajibkan menggunakan sepasang tanda kurung kurawal.

If(Kondisi)
   Pernyataan;
else if(Kondisi)
   Pernyataan;
else
   Pernyataan;

Hal itu dapat dilakukan, compiler akan menganggap bahwa apapun pernyataan, satu pernyataan setelah pernyataan if / else if / else akan dianggap sebagai substatement atau badan dari pernyataan tersebut.

Kondisi setelah keyword if atau else if adalah tempat dimana anda menaruh sebuah ekspresi seperti perbandingan, logika dan lain-lain yang menghasilkan bilangan Boolean. Hal itu karena pernyataan if hanya bekerja berdsarkan bilangan Boolean.

Jika evaluasi ekspresi bernilai 1 (benar) sesuai kondisi maka program akan melaksanakan perintah(pernyataan) di bawahnya. Jika tidak maka akan diabaikan dan beralih ke pilihan lain atau keluar dari pernyataan penyeleksian IF.

Else if adalah pilihan alternative dari penyeleksian untuk mencari kondisi yang diinginkan, else if sama seperti pernyataan if hanya berbeda pada penempatanya, setiap pilihan alternative menggunakan kata kunci else if setelah pernyataan IF pertama.

Else adalah pilihan terakhir yang akan dijalankan jika semua pilihan tidak sesuai dengan kondisi yang ada. Else merupakan pernyataan opsional untuk digunakan berdsarkan kebutuhan, jika tidak menggunakan pernyataan else maka pernyataan if tersebut akan diabaikan.

Contoh Program :
#include <iostream>
using namespace std ;

int main() {
    int nomer ;

    cout<<" Masukkan [1/2/3] : ";cin>>nomer;
    if (nomer<=0){
        cout<<"kurang dari 1"<<endl;
    }else if(nomer==1){
        cout<<"1"<<endl;
    }else if(nomer==2){
        cout<<"2"<<endl;
    }else if(nomer==3){
        cout<<"3"<<endl;
    }else{
        cout<<"lebih dari 3"<<endl;
    }
    return 0 ;
}

Cara kerja CPU dalam melaksanakan pernyataan if adalah, pertama CPU masuk dan mengevaluasi ekspresi yang tertera pada pernyataan if, jika bernilai 1 (true) maka pernyataan-pernyataan di bawah pernyataan if akan dijalankan, setelah dijalankan maka CPU akan keluar dari keseluruhan pernyataan if. jika 0 (false) dan disertakan pernyataan else if maka CPU akan mengevaluasi ekspresi pada else if, jika 1 (true) akan dijalankan jika 0 (false) akan beralih ke-lainnya, hal itu terjadi berulang-ulang. jika dari semua pilihan tersebut tidak ada yang 1 (true) maka pernyataan secara keseluruhan if akan diabaikan atau menjalankan pernyataan else jika disertakan.

Pembacaan Program, CPU akan mengalir dari atas kebawah, jika telah menemukan kondisi yang 1 (true) maka akan dijalankan dan keluar dari keseluruhan pernyataan if, tidak peduli jika ada pilihan alternative lainnya yang memiliki kondisi yang juga 1 (true).

Nested IF
Merupakan hal yang dimungkinkan dalam bahasa pemrograman C++ yaitu membuat pernyataan IF di dalam pernyataan IF. hal ini dapat memungkinkan anda untuk membuat tahapan penyeleksian.

Contoh Penulisan
if(kondisi){
     if(kondisi){
          pernyataan;
     }else if{
          pernyataan;
     }else{
          pernyataan;
     }
}else if (kondisi){
     if(kondisi){
          pernyataan;
     }else if{
          pernyataan;
     }else{
          pernyataan;
 }
}else{
     if(kondisi){
          pernyataan;
     }else if{
          pernyataan;
     }else{
          pernyataan;
     }
}

Contoh Kasus :
Suatu perusahaan menjual pakaian dengan ketentuan sebagai berikut:
  • Jika kode buku =1 maka judulBuku = belajarcpp.com, dengan kode Diskon = ‘S’, maka harganya 45000, Jika kode Diskon bukan s maka harganya 50000.
  • Jika kode buku = 2 maka judulBuku = belajarcpp.com, dengan code Diskon= ‘S’, maka harganya 65000, Jika code Diskon bukan s maka harganya 70000.
  • Jika user memasukan kode Selain kode Buku diatas, maka akan mencetak “salah memasukan kode”.

Penyelesaian :
#include <iostream>
#include <string.h>
using namespace std;

int main( ){
    char kode,kodeDiskon,namaBuku[30];
    long harga=0;

    cout<<"Kode Buku : ";cin>>kode;
    cout<<"Kode Diskon : ";cin>>kodeDiskon;
    if (kode == '1')    {
        strcpy(namaBuku,"Belajarcpp.com");
        if (kodeDiskon=='S' || kodeDiskon =='s'){
           harga=45000;
        } else {
           harga = 50000;
        }
    } else if (kode=='2') {
        strcpy(namaBuku,"Belajar C++");
        if (kodeDiskon=='S' || kodeDiskon=='s'){
           harga=65000;
        } else {
           harga = 70000;
        }
    } else {
        cout<<"Salah Kode Buku"<<endl;
    }
    cout<<"----------------------"<<endl;
    cout<<"Judul Buku : "<<namaBuku<<endl;
    cout<<"Harga Buku : "<<harga<<endl;
    return 0;
}


EmoticonEmoticon