Fungsi pada Bahasa Pemrograman Arduino

Fungsi digunakan supaya koding lebih termanagable, readable dan digunakan pada task yang dilakukan berulang-ulang. Sebagai contoh kita melakukan wudhu sebelum shalat lima kali sehari mulai dari subuh, zuhur, asar, magrib dan isya yaitu pada jam 5, 12, 16, 18 dan jam 20 berturut-turut. Kegiatan yang dilakukan untuk wudhu adalah sebagai berikut:
– Ganti baju
– baca doa sebelum wudhu
– berwudhu
– baca doa setelah wudhu
– pergi ke masjid

 

Program untuk kegiatan di atas adalah:

if (jam==5){
  gantiBaju;
  bacaDoaSebelumWudhu;
  wudhu;
  bacaDoaSetelahWudhu;
  pergiKeMasjid;
  shalatSubuh;
} 
if (jam==12){
  gantiBaju; 
  bacaDoaSebelumWudhu;
  wudhu; 
  bacaDoaSetelahWudhu;
  pergiKeMasjid; 
  shalatZuhur;
}
if (jam==16){ 
  gantiBaju; 
  bacaDoaSebelumWudhu;
  wudhu; 
  bacaDoaSetelahWudhu;
  pergiKeMasjid; 
  shalatAsar; 
} 
if (jam==18){ 
  gantiBaju; 
  bacaDoaSebelumWudhu;
  wudhu; 
  bacaDoaSetelahWudhu;
  pergiKeMasjid; 
  shalatMagrib;
}
if (jam==20){ 
  gantiBaju; 
  bacaDoaSebelumWudhu;
  wudhu; 
  bacaDoaSetelahWudhu;
  pergiKeMasjid; 
  shalatIsya;
}

Perhatikan bahwa kegiatan di atas dilakukan berulang, tanpa menggunakan fungsi sintaksnya panjang, jika kita buat fungsi bernama berwudu() yang didefinisikan sebagai berikut:

berwudhu(){
  gantiBaju; 
  bacaDoaSebelumWudhu;
  wudhu; 
  bacaDoaSetelahWudhu;
  pergiKeMasjid;
}

Cukup dengan memanggil fungsi Shalat() untuk tiap kondisi if di atas, maka sintaksnya menjadi lebih ringkas seperti di bawah ini:

if (jam==5){ //jika jam 5 maka dijalankan fungsi atau statemen di tubuh if ini
  berwudhu();//memanggil fungsi berwudhu()
  shalatSubuh;
}
if (jam==12){ //jika jam 12 maka dijalankan fungsi atau statemen di tubuh if ini 
  berwudhu();//memanggil fungsi berwudhu()
  shalatZuhur;
}
if (jam==16){ //jika jam 16 maka dijalankan fungsi atau statemen di tubuh if ini
  berwudhu();//memanggil fungsi berwudhu()
  shalatAsar; } 
if (jam==18){ //jika jam 12 maka dijalankan fungsi atau statemen di tubuh if ini 
  berwudhu();//memanggil fungsi berwudhu()
  shalatMagrib;
}
if (jam==20){ //jika jam 12 maka dijalankan fungsi atau statemen di tubuh if ini 
  berwudhu();//memanggil fungsi berwudhu()
  shalatIsya;
}

Perhatikan bahwa fungsi dapat mempersingkat koding yang panjang.

Fungsi di dalam C memiliki tiga aspek yaitu definisi fungsi, memanggil (call) serta deklarasi fungsi. Definisi fungsi terdiri dari semua statemen yang akan dieksekusi, call fungsi untuk memanggil fungsi sedangkan deklarasi berfungsi untuk menginformasikan compiler tentang nama, parameter dan tipe data dari nilai kembali. Sintaks untuk tiap aspek fungsi adalah sebagai berikut:

Tabel 5.1. Sintaks aspek fungsi

definisi, deklarasi dan memanggil fungsi di arduino

Mendefinisikan dan mendeklarasi fungsi harus dilakukan sebelum memanggilnya. Di IDE Arduino, mendefinisikan fungsi di dalamnya juga termasuk mendeklarasikannya. Perhatikan contoh berikut:

//mendefinisikan fungsi
void NamaSaya () //deklarasi fungsi
{
  Serial.println(“Pauzan“);//menulis kata Pauzan di serial monitor, println menunjukkan setelah Pauzan ditulis, penulisan berikutnya ada di baris di bawahnya
}

Saat kita mendefinisikan fungsi NamaSaya(), fungsi tersebut juga dideklarasikan. Jadi dalam IDE Arduino, kita akan selalu menggunakan istilah definisi fungsi (deklarasi fungsi ada di dalamnya). Dari sintaks di atas, nilai kembali adalah void, nama fungsi adalah NamaSaya, sedangkan argumennya tidak ada (kalau tidak ada, boleh ditulis void). void menunjukkan bahwa fungsi tidak memiliki nilai kembali, dengan kata lain fungsi NamaSaya() tidak bisa dimasukkan di dalam suatu perhitungan matematik. Memanggil sebuah fungsi Untuk menggunakan fungsi yang dibuat di atas, maka fungsi tersebut harus dipanggil. Perhatikan program berikut:

void setup() {
  Serial.begin(9600); //komunikasi serial dengan komputer
  NamaSaya(); //memanggil fungsi
  Serial.printIn(“Teknik Komputer”);//menuliskan “Teknik Komputer” di bawah fungsi NamaSaya()
  NamaSaya();//memanggil fungsi nama saya
}

void loop() {
}

//mendefinisikan fungsi bernama NamaSaya()
void NamaSaya() //deklarasi fungsi
{
  Serial.printIn(“Pauzan“);
}

Perhatikan hasilnya pada serial monitor di bawah ini:

fungsi di ide arduino

 

Gambar 5.1. Penggunaan fungsi di IDE Arduino

Pada sketch atau program di atas, fungsi NamaSaya() didefinisikan pada bagian paling bawah dan dipanggil dua kali pada blok fungsi setup(). Perhatikan bahwa jika fungsi dipanggil, cukup menambahkan semikolon di akhir fungsi, seperti NamaSaya() menjadi NamaSaya();.

 

PREVIOUS: Loop Do While

NEXT: Argumen Fungsi

KE DAFTAR ISI

Leave a Reply

Your email address will not be published. Required fields are marked *