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')

Penjelasan notasi algoritma diatas :

Versi 1
    if (angka mod 2 = 0 & angka =/= 0) then
        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')
  • 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')
  • 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')
  • 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')
  • 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]
Diberdayakan oleh Blogger.