Percabangan IF sendiri merupakan sebuah pemilihan statement yang akan dieksekusi berdasarkan suatu kondisi. Kondisi tidak hanya satu saja tapi bisa lebih. Pada kali ini kita akan membahasnya lebih detail dan kompleks dengan contoh program IF bersarang.
IF Bersarang (Nested If) merupakan percabangan IF dengan struktur yang lebih kompleks. Dimana didalam sebuah pernyataan IF terdapat pernyataan IF lainnya, Dengan kata lain terdapat sebuah kondisi IF didalam IF. Penggunaan struktur IF Bercabang biasa digunakan untuk pemilihan beberapa pernyataan bertingkat, Ketika sebuah pernyataan IF dijalankan dan bernilai true maka akan terdapat pernyataan if lainnya pada blok tersebut.
Struktur IF Bersarang
if (kondisi 1)
{
if (kondisi 1.1)
{
pernyataan;
}
}else {
pernyataan;
}
Contoh Program IF bersarang (Nested IF)
#include <Keypad.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); #define Password_Length 8 int signalPin = 13; char Data[Password_Length]; char Master[Password_Length] = "123789A"; byte data_count = 0, master_count = 0; bool Pass_is_good; char customKey; const byte ROWS = 4; const byte COLS = 3; char hexaKeys[ROWS][COLS] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3, 2}; Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); lcd.begin(16, 2); lcd.setCursor(1, 0); lcd.print("Riyan Ade"); lcd.setCursor(0, 1); lcd.print("15419642"); delay(5000); lcd.clear(); pinMode(signalPin, OUTPUT); } void loop(){ lcd.setCursor(0,0); lcd.print("Sandi:"); customKey = customKeypad.getKey(); if (customKey){ Data[data_count] = customKey; lcd.setCursor(data_count,1); lcd.print(Data[data_count]); data_count++; } if(data_count == Password_Length-1){ lcd.clear(); if(!strcmp(Data, Master)){ lcd.print("Sandi Benar"); digitalWrite(signalPin, HIGH); } else{ lcd.print("Sandi Salah"); digitalWrite(signalPin, LOW); delay(1000); } lcd.clear(); clearData(); } } void clearData(){ while(data_count !=0){ Data[data_count--] = 0; } return; }
Mendownload Library Arduino
- Library Keypad.h
- Library LCD 12C.h
Penerapan Percabangan Bersarang
Kali ini saya akan Simulasikan Program yang diatas ada beberapa software pedukung yaitu :
- Software Proteus 8
- Software Arduino IDE
Skematik Rangkaian
Komponen yang digunakan :
- Led
- KeyPad 3x4
- Lcd 16x2
- Arduino Uno
Penjelasan Singkat Hasil Outputnya :
Program keypad 3×4 Arduino ini akan menampilkan nilai angka pada LCD I2C 16×2 sesuai dengan yang ditekan pada keypad dan digunakan untuk menginput password pin yang telah kita buat pada program.
Apabila password yang kita input telah sesuai pada program, maka LED akan menyala dan Lcd akan tertulis Sandi Benar. Begitu juga sebaliknya apabila password yang kita input tidak sesuai pada program maka LED akan mati dan tampilan pada LCD akan terbaca Sandi Salah
Untuk lebih jelasnya bisa melihant hasil nya di Video dibawah ini
Tidak ada komentar:
Posting Komentar