Kontrol Program Pemilihan dengan Pernyataan IF (> 2 kasus)


Pernyataan atau statement IF digunakan untuk melakukan pemilihan atau menguji suatu kondisi/kasus. Berikut akan dijelaskan mengenai penggunaan pernyataan IF untuk menangani dua kasus atau lebih. Pada pemilihan jenis ini kita diizinkan untuk menempatkan beberapa (lebih dari satu) kondisi sesuai dengan kebutuhan program yang akan kita buat. Berikut ini adalah gambar konsep dari pemilihan statement  yang didasarkan atas tiga kasus atau lebih.






Skema flowchart statement if untuk tiga kasus atau lebih

Adapun bentuk umum dari blok pemilihan menggunakan statement if untuk tiga kasus atau lebih di dalam bahasa C adalah sebagai berikut.

if (kondisi-1)
{
  statement_yang_akan_dikerjakan_jika_kondisi-1_benar;
}
else if (kondisi-2)
{
  statement_yang_akan_dikerjakan_jika_kondisi-2_benar;
}
else if (kondisi-3)
{
  statement_yang_akan_dikerjakan_jika_kondisi-3_benar;
}
else if (kondisi-4)
{
  statement_yang_akan_dikerjakan_jika_kondisi-4_benar;
}
else
{
  statement_alternatif; //yang akan dikerjakan jika semua kondisi salah;
}


Sebagai contoh sederhana untuk mengimplementasikan pemilihan yang didasarkan atas tiga kasus atau lebih adalah pengkondisian nilai variabel ‘data’ dan nilai keluaran PORTA pada kondisi tertentu dari masukan PIND. Adapun ketentuannya adalah sebagai berikut.

1. Nilai variabel ‘data’ = PIND dan PORTA = 0xFF pada kondisi PIND = 0x80.
2. Nilai variabel ‘data’ = PIND dan PORTA = 0x00 pada kondisi PIND = 0xEC.
3. Nilai variabel ‘data’ = PIND dan PORTA = 0xED pada kondisi PIND = 0x0C.
4. Nilai variabel ‘data’ = PIND dan PORTA = 0xCB pada kondisi PIND = 0xD9.
Nilai variabel ‘data’ dan PORTA alternatif apabila semua kondisi nilai PIND tidak terpenuhi adalah nilai variabel ‘data’ = ~PIND dan PORTA = 0xFE.

Contoh:

#include <mega8535.h>
int data;
void main(void)
{
  if (PIND>0x80)           // kondisi-1
      {
        data = PIND;
        PORTA = 0xFF;
      }
  else if (PIND<0xEC)      // kondisi-2
      {
        data = PIND;
        PORTA = 0x00;
      }
  else if (PIND>=0x0C))    // kondisi-3
      {
        data = PIND;
        PORTA = 0xED;
      }
  else if (PIND<=0xD9)     // kondisi-4
      {
        data = PIND;
        PORTA = 0xCB;
      }
  else
      {                    // Pernyataan alternatif
        data = ~PIND;
        PORTA = 0xFE;
      }
 }




Share on Google Plus

About Robotics University

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment