ALGORITMA PEMROGRAMAN & KASUS TEKNIK ELEKTRO
SIMULASI PEMROGRAMAN ALGORITMA PERCABANGAN BERSARANG MENGGUNAKAN
ARDUINO UNO
A. LATAR BELAKANG
Saat ini, Bahasa pemrograman bukanlah
suatu hal baru bagi manusia di era kemajuan teknologi ini. Bahasa pemrograman
adalah suatu bahasa yang digunakan oleh para programmer atau penggiat computer untuk
membuat suatu hal baru berupa aplikasi ataupun software pada sebuah komputer, dasar-dasar yang digunakan
adalah prinsip kerja dari suatu algoritma yang sudah dipelajari, bahasa
pemrogaman sendiri sudah ditemukan pada tahun setelah ditemukannya mesin computer
pertama, mulai generasi yang paling pertama kali yaitu sebuah kode mesin,
sampai pada generasi saat ini yang banyak digunakan sebagai bahasa pemrograman
dalam pembuatan berbagai macam aplikasi komputer maupun handphone, dalam hal
ini, setiap bahasa pemrograman memiliki yang namanya kode, kode tersebut akan
mendasari mulai dari pemrosesan bertahap atau langkah berdasarkan tipe data
yang digunakan oleh seorang programmer. Bahasa pemrograman saat ini mulai
banyak digunakan dibanyak bidang, salah satunya ialah penggunakan untuk mengontrol
suatu sistem melalui pemrograman tersebut. Memang lah banyak sekali kegunaannya
di era yang maju ini, namun banyak kendala yang terjadi karena sulitnya memahami
dasar dasar penggunaan bahasa pemrograman dan memahami algoritma nya tersebut.
B. STUDI LITERATUR
Studi literatur dilakukan dengan
membaca dan memahami suatu sistem pemrograman dari modul yang dikirimkan oleh
dosen terkait materi Algoritma Percabangan Bersarang. Setelah mempelajari
dengan seksama, algoritma tersebut dapat digunakan dengan sebuah
mikrokontoroler dan menggunakan Bahasa pemrograman Arduino untuk melakukan pengontrolan
komponen elektronika, kemudian dituangkan dalam bentuk simulasi. Pembuatan simulasi
hanya dengan menggunakan aplikasi Protheus dan suatu mikrokontroler Arduino
Uno, LED dan Push Button.
·
Kelebihan
·
Dapat digunakan untuk mengontrol
suatu sistem
·
Algoritma percabangan
bersarang dapat diterapkan pada suatu alat
·
Kekurangan
·
Bahasa sulit dipahami
bagi orang awam yang ingin mempelajari, sehingga dibutuhkan pelatihan dasar
mengenai fungsi ataupu statement yang digunakan.
C. METODE PERANCANGAN
·
Software
Berikut adalah
pemrograman Arduino dengan bahasa C untuk simulasi pemrograman Algoritma Percabangan
Bersarang menggunakan software Arduino IDE :
#include <LiquidCrystal.h>
int led1
= 8;
int led2
= 6;
int led3
= 5;
const int button1 = 13;
const int button2 = 12;
int button1Status = HIGH;
int button2Status = HIGH;
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
void setup() {
pinMode(button1,INPUT);
pinMode(button2,INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Warna LED ?");
Serial.begin(9600);
}
void loop() {
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Warna LED ?");
delay(500);
lcd.clear();
delay(500);
Serial.begin(9600);
button1Status = digitalRead(button1);
if(button1Status == LOW &&
button2Status == HIGH)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
lcd.setCursor(0,0);
lcd.print("LED MODE ON");
lcd.setCursor(0,1);
lcd.print("BLUE LED ON");
delay(500);
lcd.clear();
delay(500);
}
button2Status = digitalRead(button2);
if(button2Status == LOW &&
button1Status == HIGH)
{
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
lcd.setCursor(0,0);
lcd.print("LED MODE ON");
lcd.setCursor(0,1);
lcd.print("RED LED ON");
delay(500);
lcd.clear();
delay(500);
}
if(button1Status == HIGH &&
button2Status == HIGH);
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
delay(500);
lcd.setCursor(0,0);
lcd.print("LED MODE ON");
lcd.setCursor(0,1);
lcd.print("GREEN STANDBY");
delay(500);
lcd.clear();
delay(500);
}
}
·
Hardware
Alat & Bahan :
1. LED : Blue,
Red, Green
2. Arduino Uno
3. Kabel Jumper
4. Push Button
5. LCD 16x2
·
Schematic Rangkaian
·
Video Simulasi
·
Cara
Kerja
Algoritma percabangan bersarang ini memiliki sistem
peralihan fungsi ketika suatu kondisi yang
dijalankan bernilai false maka algoritma
ini akan berusaha menjalankan decision ke 2/kondisi 2. Didalam kondisi 2
tersebut terdapat decision True & False. Jika kondisinya masih bernilai
false maka akan menjalankan kondisi 3.
Algoritma
percabangan Bersarang atau biasa disebut nested adalah algoritma yang memiliki
persyaratan di dalam persyaratan. Percabangan ini memiliki format dasar:
IF <kondisi
1> THEN
IF
<kondisi 1.1> THEN
<pernyataan
1>
END IF
IF ELSE
<kondisi 2> THEN <pernyataan 2>
IF ELSE
<kondisi n> THEN <pernyataan n>
ELSE
<pernyataan n+1> END IF
Pada saat simulasi dijalankan, akan terdapat 3 kondisi.
Jika kondisi 1 dijalankan dengan menekan push button, maka output berupa LED
biru dan tampilan pada LCD. Lalu jika kondisi 2 dijalankan, maka output berupa
LED merah dan tampilan pada LCD, namun apabila decision kondisi ke 1 dan ke 2
tidak dijalankan maka akan beralih ke kondisi 3 dimana kondisi ini merupakan suatu
perulangan dan outputnya berupa LED hijau dan tampilan pada lcd yang berulang
ulang ketika kondisi 1 dan 2 tidak dijalankan.
D. HASIL PERCOBAAN
1. Kondisi
1 : LED 1 ( biru ) akan menyala apabila push button ditekan
2. Kondisi
2 : LED 2 ( merah ) akan menyala apabila push button ditekan
3. Kondisi
3 : kondisi ini akan berjalan apabila decision pada kondisi 1 dan kondisi 2 bernilai
false/tidak. Output berupa LED hijau dan tampilan pada LCD, dan kondisi ini
akan berulang ulang apabila salah satu dari kondisi diatas tidak berjalan.
4.
Jika kondisi 1 dan kondisi 2 dijalankan bersamaan, maka output berupa LED dan
LCD dari masing masing kondisi tidak akan keluar, melainkan hanya perulangan
pada kondisi 3.
5.
Jika kondisi 1 ataupun 2 telah selesai, maka program akan Kembali melakukan
perulangan pada kondisi 3.
E.
KESIMPULAN
Apabila kondisi 1 dan 2 dijalankan maka output berupa masing
masing LED yang tertera dan sebuah tampilan pada LCD. Jika tidak maka akan beralih
ke kondisi 3 dimana kondisi ini akan melakukan perulangan secara terus menerus
sampai kondisi 1 atau 2 dijalankan.
REFERENSI :
Artikel
- https://classroom.google.com/u/0/w/NjExMzI3OTg0NzBa/t/all
#note : Mohon maaf apabila ada kesalahan pada teori, pemrograman, penjelasan, maupun simulasi. Penulisan ini hanya semata mata untuk memenuhi tugas pada mata kuliah Algoritma Pemrograman & Kasus Teknik Elektro. Terimakasih
#note : Mohon maaf apabila ada kesalahan pada teori, pemrograman, penjelasan, maupun simulasi. Penulisan ini hanya semata mata untuk memenuhi tugas pada mata kuliah Algoritma Pemrograman & Kasus Teknik Elektro. Terimakasih
Komentar
Posting Komentar