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;
}
}
0 comments:
Post a Comment