ARD - Switch Case

Switch case akan mengerjakan suatu blok program pada Case berdasarkan nilai variable dari variable yang sudah ditentukan. Setiap case harus memiliki break; agar case lain tidak ikut dikerjakan. Syntax dari switch case adalah sebagai berikut

switch(namaVariable){
case 0:
instruksi1;//instruksi yang dikerjakan jika namaVariable bernilai 0
break;//keluar dari switch

case 1:
instruksi2;//instruksi yang dikerjakan jika namaVariable bernilai 1
break;//keluar dari switch

case 2:
instruksi3;//instruksi yang dikerjakan jika namaVariable bernilai 2
break;//keluar dari switch

default://instruksi yang dikerjakan jika namaVariable bernilai selain 0, 1 dan 2
instruksi4;
break;//keluar dari switch
}

contoh programnya adalah sebagai berikut

const int PB=3; //membuat konstanta dengan nama PB berisi 3
int hitung=0; //membuat variable dengan nama hitung berisi 0

void setup(){
pinMode(PB, INPUT_PULLUP);
Serial.begin(9600);
}

void loop(){
if (digitalRead(PB)==0){
hitung++;//menambah nilai hitung dengan 1
delay(400);//menghindari debouncing
}

switch(hitung){//membaca nilai hitung
case 0: //jika hitung bernilai 0
Serial.println("hitung: 0");
break;

case 1: //jika hitung bernilai 1
Serial.println("hitung: 1");
break;

case 2: //jika hitung bernilai 2
Serial.println("hitung: 2");
break;

case 3: //jika hitung bernilai 3
Serial.println("hitung: 0");
break;

default: //jika hitung tidak bernilai 0, 1, 2 atau 3
Serial.println("hitung lebih dari 3!");
break;
}


delay(1000);
}

Ketika push button belum ditekan maka pada serial monitor akan muncul tulisan hitung: 0 karena nilai variable hitung masih 0 sehingga case yang dikerjakan adalah case 0. Ketika push button ditekan 1 kali maka pada serial monitor akan muncul tulisan hitung: 1 karena nilai variable menjadi 1 (hitung++) sehingga nilai variable hitung yang asalnya 0 menjadi 1.

Ketika push button ditekan beberapa kali lagi sehingga nilai variable hitung lebih dari 3 (misalkan 7)maka akan muncul tulisan hitung lebih dari 3!.