Materi mapel mikrokonroller ke 4
Materi Ajar: Fungsi-fungsi dan Operator pada Pemrograman Arduino
Uno
Tujuan
Pembelajaran
Setelah mengikuti pembelajaran ini,
peserta didik diharapkan mampu:
- Menjelaskan konsep fungsi dalam pemrograman Arduino Uno, termasuk fungsi bawaan
dan fungsi buatan sendiri.
- Mengidentifikasi dan menjelaskan fungsi utama setup()
dan loop() beserta perannya dalam program Arduino.
- Menjelaskan penggunaan fungsi input/output seperti pinMode(), digitalWrite(), digitalRead(), analogRead(), dan analogWrite().
- Menguraikan fungsi waktu (delay(), millis(), micros()) serta perbedaan karakteristiknya.
- Menjelaskan fungsi komunikasi serial (Serial.begin(), Serial.print(), Serial.println(), Serial.read()).
- Menerapkan fungsi matematika bawaan Arduino seperti min(), max(), abs(), pow(), dan sqrt() dalam program sederhana.
- Membuat dan mengimplementasikan fungsi buatan sendiri
(user-defined functions)
untuk mempermudah penulisan dan pengelolaan program.
- Menyusun program Arduino Uno yang memanfaatkan
kombinasi beberapa fungsi
untuk mengendalikan perangkat elektronik sesuai kebutuhan.
1.
Pendahuluan
Arduino Uno adalah papan
mikrokontroler berbasis ATmega328P yang menggunakan bahasa pemrograman mirip
C/C++. Dalam pemrogramannya, terdapat fungsi yang digunakan untuk
menjalankan instruksi tertentu. Fungsi ini bisa dibagi menjadi fungsi bawaan
(built-in functions) dan fungsi buatan sendiri (user-defined functions).
Fungsi di Arduino memudahkan
penulisan kode agar lebih terstruktur, mudah dibaca, dan bisa digunakan
berulang kali.
2.
Struktur Dasar Program Arduino
Secara umum, setiap program Arduino
memiliki dua fungsi utama:
- setup()
- Dijalankan sekali saat Arduino pertama kali dihidupkan
atau di-reset.
- Digunakan untuk inisialisasi, seperti mengatur mode
pin, memulai komunikasi serial, dll.
- Contoh:
void
setup() {
pinMode(13, OUTPUT); // Mengatur pin 13
sebagai output
}
- loop()
- Dijalankan berulang kali selama Arduino hidup.
- Digunakan untuk menjalankan logika program utama.
- Contoh:
void
loop() {
digitalWrite(13, HIGH); // Menyalakan LED
delay(1000); // Tunggu 1 detik
digitalWrite(13, LOW); // Mematikan LED
delay(1000); // Tunggu 1 detik
}
3.
Fungsi Bawaan Arduino (Built-in Functions)
A.
Fungsi Input/Output
- pinMode(pin, mode)
- Mengatur apakah sebuah pin menjadi INPUT, OUTPUT, atau
INPUT_PULLUP.
- Contoh:
pinMode(2,
INPUT); // Pin 2 sebagai input
pinMode(13,
OUTPUT); // Pin 13 sebagai output
pinMode(7,
INPUT_PULLUP); // Pin 7 input dengan resistor pull-up
- digitalWrite(pin, value)
- Memberikan logika HIGH (5V) atau LOW (0V) pada pin
output digital.
- Contoh:
digitalWrite(13,
HIGH); // LED nyala
digitalWrite(13,
LOW); // LED mati
- digitalRead(pin)
- Membaca logika digital (HIGH/LOW) dari pin input.
- Contoh:
int
tombol = digitalRead(2);
- analogRead(pin)
- Membaca nilai analog (0–1023) dari pin analog (A0–A5).
- Contoh:
int
sensor = analogRead(A0);
- analogWrite(pin, value)
- Mengeluarkan sinyal PWM (0–255) pada pin tertentu.
- Contoh:
analogWrite(9,
128); // PWM 50%
B.
Fungsi Waktu
- delay(ms)
- Menunda eksekusi program dalam milidetik.
- Contoh:
delay(1000);
// Tunggu 1 detik
- millis()
- Mengembalikan jumlah milidetik sejak Arduino mulai
berjalan.
- Contoh:
unsigned
long waktu = millis();
- micros()
- Mengembalikan jumlah mikrodetik sejak Arduino
berjalan.
C.
Fungsi Serial Communication
- Serial.begin(baudrate)
- Memulai komunikasi serial dengan kecepatan tertentu.
- Contoh:
Serial.begin(9600);
- Serial.print(data)
/ Serial.println(data)
- Mengirim data ke monitor serial.
- Contoh:
Serial.println("Hello
Arduino");
- Serial.read()
- Membaca data dari komunikasi serial.
D.
Fungsi Matematika
- min(x, y),
max(x, y), abs(x), pow(base,
exponent), sqrt(x).
- Contoh:
int
nilai = max(10, 20); // Hasil: 20
4.
Fungsi Buatan Sendiri (User-Defined Functions)
Kita dapat membuat fungsi sendiri
agar kode lebih rapi.
Contoh:
void
nyalakanLED(int pin) {
digitalWrite(pin, HIGH);
}
void
matikanLED(int pin) {
digitalWrite(pin, LOW);
}
void
setup() {
pinMode(13, OUTPUT);
}
void
loop() {
nyalakanLED(13);
delay(1000);
matikanLED(13);
delay(1000);
}
Dalam pemrograman Arduino (yang berbasis bahasa C/C++), operator adalah simbol khusus yang digunakan untuk melakukan operasi tertentu pada satu atau lebih operand (nilai atau variabel).
Operator membantu kita melakukan perhitungan, perbandingan, logika, manipulasi data, dan lain-lain.
Berikut penjelasan lengkapnya:
1. Operator Aritmatika
Digunakan untuk operasi matematika dasar.
| Operator | Fungsi | Contoh (kode) |
|---|---|---|
+ | Penjumlahan | z = x + y; |
- | Pengurangan | z = x - y; |
* | Perkalian | z = x * y; |
/ | Pembagian | z = x / y; |
% | Modulus (sisa pembagian) | z = x % y; |
2. Operator Penugasan
Digunakan untuk memberikan nilai ke variabel.
| Operator | Fungsi | Contoh | Sama dengan |
|---|---|---|---|
= | Penugasan langsung | x = 5; | — |
+= | Tambah lalu simpan | x += 3; | x = x + 3; |
-= | Kurangi lalu simpan | x -= 2; | x = x - 2; |
*= | Kali lalu simpan | x *= 4; | x = x * 4; |
/= | Bagi lalu simpan | x /= 5; | x = x / 5; |
%= | Modulus lalu simpan | x %= 3; | x = x % 3; |
3. Operator Perbandingan
Digunakan untuk membandingkan dua nilai. Hasilnya adalah true (benar) atau false (salah).
| Operator | Fungsi | Contoh | Hasil |
|---|---|---|---|
== | Sama dengan | x == y | true/false |
!= | Tidak sama dengan | x != y | true/false |
> | Lebih besar | x > y | true/false |
< | Lebih kecil | x < y | true/false |
>= | Lebih besar atau sama | x >= y | true/false |
<= | Lebih kecil atau sama | x <= y | true/false |
4. Operator Logika
Biasa digunakan dalam pengkondisian (if, while, dll.).
| Operator | Fungsi | Contoh | Keterangan |
|---|---|---|---|
&& | AND (logika DAN) | (x > 0 && y < 10) | Benar jika keduanya benar |
|| | OR (logika ATAU) | `(x > 0 | |
! | NOT (logika TIDAK) | !(x > 0) | Membalikkan nilai logika |
5. Operator Increment & Decrement
Untuk menambah atau mengurangi nilai variabel sebanyak 1.
| Operator | Fungsi | Contoh | Hasil |
|---|---|---|---|
++ | Tambah 1 | x++; | x = x + 1 |
-- | Kurang 1 | x--; | x = x - 1 |
⚠ Prefix vs Postfix
-
++x→ tambah dulu, baru dipakai -
x++→ pakai dulu, baru ditambah
6. Operator Bitwise
Memanipulasi data dalam bentuk biner (bit-level).
| Operator | Fungsi | Contoh |
|---|---|---|
& | AND bitwise | a & b |
| | OR bitwise | a | b |
^ | XOR bitwise | a ^ b |
~ | NOT bitwise | ~a |
<< | Shift kiri | a << 2 |
>> | Shift kanan | a >> 2 |
7. Operator Khusus di Arduino/C++
-
sizeof→ Menghasilkan ukuran (dalam byte) dari variabel/tipe data.
Contoh:sizeof(int) -
?:→ Operator ternary (if singkat).
Contoh:hasil = (x > y) ? x : y;→ jikax > ybenar, hasilx, jika salah, hasily.
Jenis Komentar di Arduino
1. Komentar Satu Baris
Menggunakan // di awal baris.
Semua teks setelah // di baris tersebut akan diabaikan.
2. Komentar Multi-baris
Menggunakan /* ... */.
Semua teks di dalamnya akan diabaikan, meskipun terdiri dari banyak baris.
3. Menonaktifkan Kode Sementara
Bisa menggunakan komentar untuk “mematikan” kode yang tidak ingin dijalankan.
Kesimpulan
- Fungsi adalah blok kode yang digunakan untuk
menjalankan tugas tertentu.
- Arduino memiliki fungsi utama (setup() dan loop()) dan fungsi
bawaan untuk I/O, waktu, komunikasi serial, serta matematika.
- Penggunaan fungsi buatan sendiri membuat program lebih
modular dan mudah dibaca.
Operator adalah simbol khusus yang digunakan untuk melakukan operasi pada data atau variabel, baik itu perhitungan matematika, logika, perbandingan, manipulasi bit, maupun penugasan nilai.
-
Jenis operator pada Arduino (C/C++) meliputi:
-
Aritmatika → untuk perhitungan (+, -, *, /, %).
-
Penugasan → untuk memberi atau mengubah nilai (=, +=, -=, dll.).
-
Perbandingan → membandingkan nilai dan menghasilkan
trueataufalse(==, !=, >, <, >=, <=). -
Logika → menggabungkan atau membalik kondisi logis (&&, ||, !).
-
Increment/Decrement → menambah atau mengurangi nilai 1 (++ dan --).
-
Bitwise → memanipulasi data pada level bit (&, |, ^, ~, <<, >>).
-
Lainnya → seperti
sizeofdan operator ternary?
-
Komentar
Posting Komentar