Candra Puji / 3IB04 / 11417292
Tugas Matkul : Algoritma dan Pemrograman Kasus T. Elektro
Dosen : Antonius Irianto Sukowati
“APLIKASI
ALGORITMA PENGULANGAN MIKROKONTROLER
PADA SEVEN SEGMENT MENGGUNAKAN ARDUINO UNO”
Pada kesempatan ini
penulis akan membuat contoh dari penerapan algoritma pemrograman yaitu pengulangan
pada mikrokontroler dengan menggunakan Arduino Uno yang diterapkan untuk sebuah
Seven Segment yang difungsikan sebagai counter up 0 – 9. Sebelum kita bahas
lebih lanjut berikut penjelasan mengenai perulangan terlebih dahulu.
Definsi Perulangan[1]
Dalam bahasa C++ tersedia
suatu fasilitas yang digunakan untuk melakukan proses yang berulang-ulang
sebanyak keinginan kita. Misalnya saja, bila kita ingin menginput dan mencetak
bilangan dari 1 sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan.
Namun dengan struktur perulangan proses, kita tidak perlu menuliskan perintah
sampai 100 atau 1000 kali, cukup dengan beberapa perintah saja. Struktur
perulangan dalam bahasa C mempunyai bentuk yang bermacammacam. Sebuah/kelompok
instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan
sebelumnya ataupun tidak. Struktur pengulangan terdiri atas dua bagian : (1).
Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk
melaksanakan pengulangan; (2). Isi atau badan pengulangan yaitu satu atau lebih
pernyataan (aksi) yang akan diulang.
1. Statement For Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Bentuk umum perulangan for adalah sebagai berikut :
1. Statement For Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi. Bentuk umum perulangan for adalah sebagai berikut :
For ( inisialisasiNilai; SyaratPerulangan; PerubahanNilai
)
{
Statement yang diulang;
}
{
Statement yang diulang;
}
Sebenarnya statement yang bisa dipakai untuk
pengulangan pada arduino masih ada lagi seperti while, do while. Namun disini
penulis hanya akan membahas mengenai statement for sesuai dengan pemrograman
yang akan digunakan sebagai contoh pada artikel kali ini.
Gambar Rangkaian Schematic 7 Segment pada Proteus
Listing Program dan
Penjelasanya[2]
const byte numeral[10]
=
{
//
0 = led dalam seven segment yang tidak diberikan tagangan
//
1 = led dalam seven segment yang diberikan tagangan masukan
B11111101,
// angka 0
B01100001,
// angka 1
B11011011,
// angka 2
B11110011,
// angka 3
B01100111,
// angka 4
B10110111,
// angka 5
B00111111,
// angka 6
B11100001,
// angka 7
B11111111,
// angka 8
B11100111,
// angka 9
};
// pin dari
segment dp,G,F,E,D,C,B,A
const int segmentPins[8]
= { 5,9,8,7,6,4,3,2};
void setup()
{
for(int
i=0; i < 8; i++)
{
pinMode(segmentPins[i],
OUTPUT);
}
}
void loop()
{
//Seven
segment akan memulai dari 0 sampai 9
//cara
kerjanya sistem ditambah 1 dengan delay 1 detik dan ditambah 1 dengan delay 1
detik sampai batas nilai 9.
for(int
i=0; i <= 9; i++)
{
showDigit(i);
delay(1000);
}
delay(2000);
}
void showDigit(
int number)
{
boolean
isBitSet;
for(int
segment = 1; segment < 8; segment++)
{
if(
number < 0 || number > 9)
{
isBitSet
= 0; // turn off all segments
}
else
{
//
isBitSet will be true if given bit is 1
isBitSet
= bitRead(numeral[number], segment);
}
isBitSet
= !isBitSet; //
digitalWrite(
segmentPins[segment], isBitSet);
}
}
Pembahasan Hasil
Percobaan
Seperti yang telah dijelaskan sebelumnya
bahwa fungsi for bisa digunakan untuk meringkas suatu pengulangan program
sesuai dengan yang kita inginkan asalkan mengetahui pola , batas nilai, syarat
looping dan perubahannya sehingga penulisan listing program akan lebih efektif.
Pada listing program diatas terdapat Script for(int i=0;i<=9;i++)
{ statement}
Pengulangan akan dilakukan dari 0-9, berarti ada
10x pengulangan.
Arti variable i=0 adalah nilai awal dari i
adalah 0.
Arti i<=9 adalah maksimal pengulangan
yang dilakukan adalah sampai 10.
Arti i++ adalah menambahkan nilai setiap
pengulangan yang sudah di eksekusi, contoh nya jika kita sudah memasukkan nilai
di i[0] , maka akan langsung lanjut ke i[1] dan seterusnya hingga
i[9][3].
Referensi :
[1] Dasar-Pemrograman-Modul-4-Perulangan.pdf
[2] pdf Muhammad Adli Nur. Seven Segment Menggunakan
Arduino UNO – Counter 0 sampai 9 https://www.warriornux.com/seven-segmen-menggunakan-arduino-uno-counter-0-sampai-9/
Diakses 29 Juni 2020
[3] https://simplesays.wordpress.com/2013/05/09/fungsi-looping-pengulangan/ Diakses 29 Juni 2020
Tidak ada komentar:
Posting Komentar