Membuat 3 Kondisi (Ganjil, Genap, dan 0) Menggunakan If-Else
Ini adalah artikel kelanjutan dari Membuat Kondisi Ganjil Genap Menggunakan If-Else . artikel tersebut menjelaskan tentang bagaimana cara membedakan antara bilangan ganjil dan genap menggunakan if-else dengan cara operasi sisa hasil bagi (modulus/mod). jika bilangan itu genap, maka bilangan itu akan habis dibagi 2. namun jika bilangan itu ganjil, maka bilangan itu selalu akan menghasilkan sisa hasil angka 1 jika dibagi 2.
Lalu bagaimana dengan angka 0? apakah 0 masuk ke dalam bilangan genap atau bilangan ganjil? jawabannya adalah tidak, kita tahu bahwa 0 adalah 0 (bukan ganjil bukan juga genap). konsep kali ini adalah bisa dengan 2 cara (yang akan saya bahas dibawah). bisa dengan menggunakan 3 kondisi IF-ELSE ELSE-IF ELSE atau dengan menggunakan 2 kondisi saja namun dengan NESTED IF (IF didalam IF). bagi para pemula mungkin akan lebih mudah (menurut saya) menggunakan banyak kondisi, tapi hal tersebut akan menjadi tidak efisien bagi kasus tertentu, maka dari itu digunakanlah NESTED IF atau IF bersarang / IF didalam IF. untuk pembahasan lebih lanjut mengenai NESTED IF akan dibahas di artikel berikutnya.
Langsung saja ke pembahasan 3 kondisi ganjil, genap dan angka 0 :
Program
Menentukan Bilangan Ganjil atau Genap atau Nol
{dibaca sebuah variabel berupa angka integer}
{menentukan apakah hasil akhir berupa bilangan ganjil atau genap atau nol}
{membuat notasi algoritma dengan kondisi if-else dan nested if}
{output berupa kalimat apakah bilangan itu ganjil atau genap atau nol}
{menggunakan 2 versi algoritma}
--------------------------------------------------------------------------------------------
Kamus
angka : integer
--------------------------------------------------------------------------------------------
Algoritma
angka : 4
{versi 1}
if (angka mod 2 = 0 & angka =/= 0) then
output ('Bilangan Genap')
else if (angka = 0) then
output ('Angka Nol')
else
output ('Bilangan Ganjil')
{versi 2, nested if}
if (angka mod 2 = 0 & angka =/= 0) then
output ('Bilangan Genap')
else
if (angka mod 2 = 1) then
output('Bilangan Ganjil')
else
output('Angka Nol')
Menentukan Bilangan Ganjil atau Genap atau Nol
{dibaca sebuah variabel berupa angka integer}
{menentukan apakah hasil akhir berupa bilangan ganjil atau genap atau nol}
{membuat notasi algoritma dengan kondisi if-else dan nested if}
{output berupa kalimat apakah bilangan itu ganjil atau genap atau nol}
{menggunakan 2 versi algoritma}
--------------------------------------------------------------------------------------------
Kamus
angka : integer
--------------------------------------------------------------------------------------------
Algoritma
angka : 4
{versi 1}
if (angka mod 2 = 0 & angka =/= 0) then
output ('Bilangan Genap')
else if (angka = 0) then
output ('Angka Nol')
else
output ('Bilangan Ganjil')
{versi 2, nested if}
if (angka mod 2 = 0 & angka =/= 0) then
output ('Bilangan Genap')
else
if (angka mod 2 = 1) then
output('Bilangan Ganjil')
else
output('Angka Nol')
Penjelasan notasi algoritma diatas :
Versi 1
if (angka mod 2 = 0 & angka =/= 0) then
output ('Bilangan Genap')
output ('Bilangan Genap')
- Jika sisa hasil bagi nilai variabel 'angka' dibagi 2 adalah 0, maka nilai variabel 'angka' tersebut adalah genap.
- Ada parameter & ANGKA =/= 0, parameter itu adalah kondisi agar angka 0 tidak masuk ke dalam kondisi IF. kalau tidak ditulis parameter diatas maka angka 0 masuk ke dalam kondisi IF, karena sisa hasil bagi 2 angka 0 adalah tetap 0.
- Negasi =/= adalah TIDAK SAMA DENGAN.
- Variabel 'angka' bernilai 4, maka penyelesaiannya adalah 4 mod 2 = 0.
- Kebetulan variabel 'angka' adalah bernilai 4, jadi kondisi terpenuhi masuk ke dalam IF.
else if (angka = 0) then
output ('Angka Nol')
output ('Angka Nol')
- Jika nilai variabel 'angka' adalah 0, maka masuk ke dalam kondisi ELSE-IF diatas.
- Selain angka 0, maka tidak akan masuk ke dalam kondisi ini.
else
output ('Bilangan Ganjil')
output ('Bilangan Ganjil')
- Jika kondisi tidak memenuhi ke dalam kondisi IF, maka masuk ke dalam kondisi ELSE.
- Jika variabel 'angka' adalah bernilai 5 maka ia tidak masuk ke dalam kondisi IF karena tidak memenuhi syarat. dan tidak masuk ke dalam kondisi ELSE-IF karena tidak memenuhi syarat juga.
- Jadi ELSE adalah kondisi dimana jika IF tidak terpenuhi.
Versi 2
else
if (angka mod 2 = 1) then
output('Bilangan Ganjil')
if (angka mod 2 = 1) then
output('Bilangan Ganjil')
- Langsung membahas pada NESTED IF.
- Setelah membuat kondisi IF-ELSE, buat lagi sebuah IF-ELSE didalam kondisi ELSE.
- Logikanya, jika jika variabel 'angka' tidak memenuhi kondisi di dalam IF (bilangan genap), maka akan masuk ke dalam nested IF diatas.
- Didalam ELSE, akan terjadi pengecekan kondisi kembali.
- Penggalan notasi algoritma diatas adalah SETELAH masuk ELSE, maka TERDAPAT sebuah kondisi IF yang melakukan pengecekan apakah variabel 'angka' jika dioperasi menggunakan MOD akan menghasilkan sisa 1.
- Jika variabel 'angka' telah dicek dan memenuhi kondisi (bilangan ganjil), maka telah selesai.
else
output ('Angka Nol')
output ('Angka Nol')
- Jika kondisi tidak memenuhi ke dalam kondisi IF, maka masuk ke dalam kondisi ELSE.
- Setelah melakukan pengecekan di IF luar dan IF dalam, jika tidak masuk ke dalam keduanya maka akan dicek sekali lagi didalam kondisi ELSE.
- jika sebuah variabel 'angka' bernilai 0, artinya tidak akan masuk kedalam kondisi DIATAS penggalan algoritma diatas. dan variabel 'angka' akan memenuhi kondisi pada ELSE didalam ELSE.
kalau sudah paham dengan notasi algoritma diatas, kita lanjutkan menggunakan (coding) bahasa pemrograman dibawah.
Disini saya menggunakan bahasa pemrograman C.
[code]
#include <stdio.h> int main(){ int angka; angka=4; /// versi 1 if(angka%2==0 && angka!=0){ printf("Angka Genap\n"); }else if(angka==0){ printf("Angka Nol\n"); }else{ printf("Angka Ganjil\n"); } /// versi 2 if(angka%2==0 && angka!=0){ printf("Angka genap\n"); }else{ if(angka%2==1){ printf("Angka ganjil\n"); } else{ printf("Angka Nol\n"); } } } [/code]

