If dan Else

If digunakan untuk menentukan "apakah suatu tindakan dilakukan atau tidak dilakukan" berdasarkan nilai suatu variabel. Saat menggunakan if, nilai suatu variabel dibandingkan dengan angka atau nilai variabel lain dengan menggunakan operator relasional. Perbandingan tersebut disebut dengan kondisi. Selain kondisi, if juga harus memiliki statement yang harus dikerjakan. Syntax penulisan if bisa kalian lihat di bawah ini.

  • if(kondisi)statement;
  • if(kondisi){statement1;statement2;...}

If yang artinya "jika" seharusnya sudah bisa mempermudah kalian untuk memahami kegunaannya. Jika kondisi bernilai benar atau terpenuhi, if akan mengeksekusi statement yang dimilikinya. Jika kondisi salah, program akan mengabaikan statement dari if.

Kalau kalian lupa dengan operator relasional, kalian bisa melihatnya lagi di bawah ini.

  • Kurang dari ( < )
  • Lebih dari (> )
  • Sama dengan ( == )
  • Tidak sama dengan ( != )
  • Kurang dari sama dengan ( <= )
  • Lebih dari sama dengan ( >= )
Kondisi dalam if bisa berupa perbandingan dengan operator relasional atau variabel. Tapi, umumnya if menggunakan perbandingan.

If dan Else

If bisa dipasangkan dengan else jika kalian ingin memberikan statement alternatif yang harus diproses saat kondisi dalam if salah atau tidak sesuai. Syntax penulisan if-else bisa kalian lihat di bawah ini.

  • if(kondisi)statement;else statement;
  • if(kondisi){statement1;statement2;...}
    else (kondisi){statement1;statement2;...}
  • Contoh penerapan if dan else misalnya saat kita ingin mengecek apakah suatu bilangan genap atau ganjil. Untuk mengetahui suatu bilangan genap atau ganjil, kalian membutuhkan mod (%). Syarat suatu bilangan genap atau ganjil adalah seperti di bawah ini.

    • jika(angka mod 2==0)maka angka tersebut genap.
    • jika(angka mod 2==1)maka angka tersebut ganjil.
    Sisa hasil bagi dari angka yang dibagi dengan dua(2) hanya ada 2 kemungkinan, yaitu 1 dan 0. Karena itu, kalian tidak perlu menggunakan if dua kali. Kalian bisa menggunakan if bersama dengan else, karena kalian hanya butuh salah satu kondisi saja. Saat kondisi if tidak terpenuhi, maka statement milik else yang dikerjakan.
    #include <iostream>
    
    using namespace std;
    
    int main(){
    	int angka;
    	
    	cout << "angka : ";cin >> angka;
    	
    	if(angka % 2==0)cout <<"angka tersebut adalah angka genap";
    	else cout << "angka tersebut adalah angka ganjil";
    	return 0;
    }
    Contoh :
    angka : 23
    angka tersebut adalah angka ganjil
    

    Kalian bisa menggunakan if tanpa else. Tapi, sebaliknya, else tidak bisa digunakan tanpa if. Jika kalian menghilangkan else seperti di bawah ini, maka program akan segera selesai saat kondisi dalam if tidak tepat karena tidak ada statement yang diproses.

    #include <iostream>
    
    using namespace std;
    
    int main(){
    	int angka;
    	
    	cout << "angka : ";cin >> angka;
    	
    	if(angka % 2==0)cout <<"angka tersebut adalah angka genap";
    	return 0;
    }

    Compound Statement

    Saat kalian membutuhkan lebih dari satu statement dalam if atau else, kalian bisa mengapitnya dengan tanda kurung kurawal. Kumpulan statement yang berada di dalam kurung kurawal disebut dengan compound statement. Contoh penulisan compound statement bisa kalian lihat di bawah ini.

    #include <iostream>
    
    using namespace std;
    
    int main(){
    	int angka;
    	
    	cout << "angka : ";cin >> angka;
    	
    	if(angka % 2!=0)cout <<"ganjil";
    	else{
    	    if(angka==0)cout << "Nol";
    	    else cout << "genap";
    	}
    	return 0;
    }
    Contoh :
    angka : 24
    genap

    Saat hanya ada satu statement, tanda kurung kurawal bersifat opsional. Jika kalian tidak menggunakan kurung kurawal, statement yang diproses hanya ada satu. Jika ada else setelah beberapa statement di bawah if, program mungkin saja akan error karena else tidak dianggap sebagai bagian dari if.

    Else if

    Kalian bisa meletakkan if dan else di dalam else yang lain saat ada lebih dari satu kondisi yang dicek dengan if seperti contoh kode program compound statement di atas. Tapi, cara penulisan tersebut membuat kode program terlihat panjang. Kalian bisa mempersingkat kode program tersebut sehingga jadi seperti di bawah ini.
    #include <iostream>
    
    using namespace std;
    
    int main(){
    	int angka;
    	
    	cout << "angka : ";cin >> angka;
    	
    	if(angka % 2!=0)cout <<"ganjil";
    	else if(angka==0)cout << "Nol";
    	else cout << "genap";
    
    	return 0;
    }
    Hasil kode program di atas sama dengan contoh kode program untuk compound statement. Kode program tersebut membuat if menempel dengan else sehingga menjadi "else if" karena tanda kurung kurawal dihilangkan. Selain menggunakan satu "else if" seperti contoh di atas, kalian juga bisa menggunakan beberapa else if seperti contoh di bawah ini.
    #include <iostream>
    
    using namespace std;
    
    int main(){
    	int angka;
    	
    	cout << "angka : ";cin >> angka;
    	
    	if(angka < 0)cout <<"Bilangan Negatif";
            else if(angka==0)cout << "Nol";
            else if(angka<=10)cout << "Bilangan positif antara 1 s.d. 10";
            else if(angka<20)cout << "Angka Belasan";
            else cout << "Angka lainnya";
    
    	return 0;
    }

    Sekumpulan else if bisa kalian letakkan di di antara else dan if. Kondisi dalam else if tersebut akan dicek secara berurutan jika kondisi di dalam if tidak terpenuhi. Jika tidak ada satupun kondisi di dalam else if yang terpenuhi, maka statement di dalam else yang akan diproses jika ada.

    Alternatif Lainnya?

    Kalian sebenarnya bisa saja menulis kode program di atas hanya dengan if dan else jika menggunakan compound statement. Tapi, itu cuma akan memperpanjang kode programnya.
    #include <iostream>
    
    using namespace std;
    
    int main(){
    	int angka;
    	
    	cout << "angka : ";cin >> angka;
    	
    	if(angka < 0)cout <<"Bilangan negatif";
    	else{ if(angka==0)cout << "Nol";
            else{ if(angka<=10)cout << "Bilangan positif antara 1 s.d. 10";
            else{ if(angka<20)cout << "Angka Belasan";
    	else cout << "Angka lainnya";
            }}}
    
    	return 0;
    }

    Hasilnya sama dengan kode program sebelumnya. Tapi, karena yang kalian gunakan adalah "nested if dan else", kalian perlu mengingat berapa tanda kurung kurawal pembuka yang kalian gunakan. Tanda kurung penutup harus sama dengan tanda kurung pembuka jika kalian menggunakan compound statement bertingkat. Kalian bisa saja merapikannya, tapi jadinya akan lebih panjang.

    #include <iostream>
    
    using namespace std;
    
    int main(){
    	int angka;
    	
    	cout << "angka : ";cin >> angka;
    	
    	if(angka < 0)cout <<"Bilangan negatif";
    	else{
                if(angka==0)cout << "Nol";
                else{
                    if(angka<=10)cout << "Bilangan positif antara 1 s.d. 10";
                    else{
                        if(angka<20)cout << "Angka Belasan";
                        else cout << "Angka lainnya";
                    }
                }
            }
    
    	return 0;
    }
    Contoh :
    angka : 24
    Angka lainnya
    

    Sekali lagi, hasilnya tetap sama dengan beberapa contoh else if sebelumnya. Ada banyak cara untuk mendapatkan hasil yang sama. Tapi, kalau bisa simpel, kenapa harus repot.