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
·      Flow Chart


·      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



Dalam video tersebut merupakan simulasi sederhana dari pemrograman Algoritma Percabangan bersarang, menggunakan software protheus dan komponen nya meliputi LED, LCD 16x2, Arduino Uno serta Push Button. Penjelasan dapat dibaca di cara kerja.

·         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

Komentar