Arduino 10 : Membuat Variabel yang Menyimpan Data di Arduino

Seperti yang diketahui dalam membuat program di Arduino IDE tidak terlepas dari 2 fungsi utama yaitu setup dan loop. Sering terjadi kendala dalam penempatan variabel yaitu variabel tidak bisa menyimpan data sebelumnya. Mungkin bagi yang telah menempih mata kuliah Algoritma dan pemrograman akan mengetahui hal tersebut. Tetapi ada juga yang tidak tahu penyebabnya. Maka dari itu pada kesempatan kali ini saya mencoba menjelaskan bagaimana membuat variabel yang bisa menyimpan data selama program berjalan.

Variabel Global dan Variabel Lokal

Variabel global merupakan variabel yang dapat digunakan atau dipanggil oleh semua fungsi. Variabel global ini juga dapat digunakan jika ada variabel yang digunakan pada beberapa fungsi/prosedur. Hal ini utamanya bertujuan menghemat variabel. utamanya lagi variabel ini menyimpan data sebelumnya ketika sebuah fungsi di panggil ulang.
Penulisan variabel Global di Arduino diletakkan di luar fungsi baik setup, loop, ataupun yang lainnya.
int hitungAngka = 0;
void setup(){
}
void loop(){
}
Pada contoh tersebut hitungAngka merupakan variabel global dan bisa digunakan untuk semua fungsi, begitu juga dengan nilainya bisa diakses dan dirubah oleh setiap fungsi yang ada.

Syarat :

  • Pendeklarasian variabel berada di luar fungsi apa pun.
  • Pendeklarasian variabel dilakukan sebelum fungsi dimana dia digunakan.
  • Pendeklarasian variabel disarankan sebelum fungsi setup.
  • Aturan umum variabel berlaku (seperti nama variabel, pemberian nilai dsb).
Variabel lokal adalah variabel yang hanya dapat digunakan atau dipanggil dalam satu prosedur saja. Variabel lokal hanya dikenal oleh fungsi dimana variabel lokal dideklarasikan dan tidak ada inisialisasi secara otomatis (dibuat nilainya tidak menentu).  contoh penulisan variabel lokal :
void setup(){
}
void loop(){
    int hitung = 0;
}
Pada contoh tersebut hitung merupakan variabel lokal dari fungsi looping, variabel ini hanya dikenal di fungsi looping saja, fungsi setup ataupun fungsi lain yang akan dibuat tidak akan mengenal dan tidak bisa mengakses variabel ini.
Syarat :

  • Pendeklarasian variabel dilakukan di dalam fungsi
  • Harus dilakukan inisialisasi (pemberian nilai variabel)
  • Berlaku aturan umum dalam pembuatan variabel.

Tipe Data Static 

Pada Arduino, tipe data static digunakan dalam membuat variabel yang hanya bisa diakses di dalam fungsi itu saja (seperti variabel lokal). Tetapi tidak seperti variabel lokal data yang dibuat dan disimpan akan hilang ketika fungsi itu dipanggil. tipe data static menyimpan data hasil pemanggilan fungsi sebelumnya. tipe data static hanya bisa dideklarasikan di awal fungsi. contoh:
void setup(){
}
void loop(){
     static int hitungAngka;
}
atau 
void setup(){
}
void loop(){
     static int hitungAngka=0;
}

Contoh Kasus

Dalam kasus pencetakan "angka ke-0, angka ke-1,...,angka ke-n" di Arduino per detiknya angka selalu bertambah 1. 
kita bisa menggunakan cara :
1. Menggunakan variabel global
Program :

int hitungAngka=0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
void loop() {
  // put your main code here, to run repeatedly:
  Serial.print("angka ke-");
  Serial.println(hitungAngka);
  hitungAngka +=1;
  delay(1000);
}

Hasil:


2. Menggunakan tipe data static cara 1
Program :

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
void loop() {
  // put your main code here, to run repeatedly:
  static int hitungAngka;
  Serial.print("angka ke-");
  Serial.println(hitungAngka);
  hitungAngka +=1;
  delay(1000);
}

Hasil :



3. Menggunakan tipe data static cara 1
Program :
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
void loop() {
  // put your main code here, to run repeatedly:
  static int hitungAngka=0;
  Serial.print("angka ke-");
  Serial.println(hitungAngka);
  hitungAngka +=1;
  delay(1000);
}
Hasil :

Referensi :
https://www.arduino.cc/reference/en/language/variables/variable-scope--qualifiers/static/ 
https://49012032sehatsempurna.wordpress.com/2012/04/06/perbedaan-antara-variabel-global-dan-variabel-lokal/

1 komentar untuk "Arduino 10 : Membuat Variabel yang Menyimpan Data di Arduino"

  1. Artikel yang sangat bermanfaat, jelas dan detail. Terimakasih kak artikelnya dapat menambah wawasan saya dalam Membuat Variabel yang Menyimpan Data di Arduino".

    Kunjungi Blog saya di
    http://aurelliafemilya.blogspot.com/

    Dan Kunjungi juga
    http://www.atmaluhur.ac.id/

    BalasHapus

Berilah komentar, saran, dan kritik dengan bijak