Pengenalan Arduino
Diterbitkan pada 28 July 2026
Pengenalan Arduino dan Bahasa Pemrograman C

Arduino merupakan mikrokontroler bersifat open source yang memungkinkan Anda untuk mengontrol berbagai perangkat elektronik menggunakan kode program yang Anda tulis.
Sintaks Dasar dalam Pemrograman Arduino
Sintaks merupakan struktur atau aturan yang harus diikuti dalam menulis kode pemrograman. Sintaks mengatur cara Anda dalam berkomunikasi dengan mikrokontroler, memerintahkan apa yang harus dilakukan oleh hardware dan bagaimana respons yang diharapkan. Pada dasarnya, pemrograman Arduino menggunakan Bahasa pemrograman C/C++. https://www.robotikindonesia.com/2019/11/struktur-pemrograman-arduino-ide.html
setup() dan loop()
void setup() {
// inisialisasi
}
void loop() {
// kode yang akan diulang
}
Keterangan:
Fungsi Setup() :
Pada program Arduino memiliki dua fungsi utama, yaitu setup() dan loop(). Fungsi setup() digunakan untuk mengatur konfigurasi awal, seperti mengatur pin I/O. Sedangkan
Fungsi loop() :
berisi kode yang akan dieksekusi secara berulang atau mengeksekusi program yang akan dijalankan.
Fungsi setup() hanya dipanggil satu kali ketika pertama kali program dijalankan. Fungsi setup() digunakan untuk mendefinisikan mode pin atau memulai komunikasi serial. Fungsi setup() harus diikutsertakan dalam program meskipun tidak ada statement yang dijalankan.
Pengaturan pin dan perintah dasar
- pinMode : perintah untuk mengatur sebuah pin digital agar berfungsi sebagai INPUT (penerima sinyal) atau OUTPUT (pengirim sinyal). Perintah ini biasanya ditulis di dalam bagian void setup() pada program Arduino.
- Fungsi digitalWrite : Perintah untuk menulis atau mengirim nilai logika ke pin digital.Nilai: HIGH (memberi tegangan 5V/3.3V) atau LOW (tegangan 0V / ground).
- Contoh Penggunaan: Menyalakan LED, menggerakkan buzzer, atau memicu relay.Penulisan: digitalWrite(pin, HIGH);
- Fungsi digitalRead: Perintah untuk membaca status atau nilai sinyal listrik dari pin digital.Nilai Balik: HIGH (ada tegangan) atau LOW (tidak ada tegangan).
- Contoh Penggunaan: Membaca status tombol (push button) atau sensor digital.Penulisan: digitalRead(pin);Jika Anda ingin, saya bisa memberikan contoh program lengkap untuk menggabungkan digitalWrite dan digitalRead pada rangkaian tombol dan LED.
- Serial.begin() : Perintah dalam pemrograman Arduino untuk memulai hubungan atau komunikasi data antara papan mikrokontroler dan komputer. Perintah ini mengatur kecepatan kirim data yang disebut baud rate, dengan angka yang sering dipakai yaitu 9600. Cara Kerja dan Fungsi Membuka jalur data agar alat dan komputer bisa saling kirim pesan. Menentukan kecepatan kirim data tiap detik lewat satuan bps (bit per detik). Ditaruh pada bagian awal program atau fungsi setup() supaya siap dipakai sejak awal
- Contoh PenggunaanMenulis Serial.begin(9600); berarti alat siap mengirim data dengan kecepatan 9600 bit per detik. Dibutuhkan jika kamu ingin melihat tulisan atau hasil kerja alat di layar komputer lewat menu Serial Monitor.
Contoh lengkap:
void setup() {
// Membuka jalur komunikasi serial dengan kecepatan 9600 bps
Serial.begin(9600);
// Mengatur Pin 13 sebagai OUTPUT untuk mengendalikan LED
pinMode(13, OUTPUT);
}
void loop() {
// 1. Menyalakan LED
digitalWrite(13, HIGH);
// Mengirim pesan status ke komputer
Serial.println("LED menyala");
delay(1000); // Tunggu 1 detik
// 2. Mematikan LED
digitalWrite(13, LOW);
// Mengirim pesan status ke komputer
Serial.println("LED mati");
delay(1000); // Tunggu 1 detik
}
Berikut adalah penjelasan detail mengenai alur kerja program dari awal papan Arduino dinyalakan.
- Fase Inisialisasi: void setup()
Fungsi ini merupakan blok kode konfigurasi awal. Dieksekusi satu kali oleh hardware pasca-proses Power-On Reset (POR).
Serial.begin(9600);
Proses: Mengatur register internal untuk menetapkan kecepatan transmisi data (baud rate) sebesar 9600 bit per detik (bps). Jalur komunikasi pada pin Rx/Tx diaktifkan untuk sinkronisasi data dengan host (komputer).
pinMode(13, OUTPUT);
Proses: Pin digital 13 diatur ke mode impedansi rendah sebagai OUTPUT, agar mampu menyalurkan arus listrik (source current) ke beban (LED).2.
- Fase Siklus Utama : void loop()
Setelah setup() selesai, Program Counter beralih ke loop(). Fungsi ini merupakan infinite loop (perulangan tanpa batas) yang mengontrol runtime sistem.
digitalWrite(13, HIGH);
Mengubah status register PORT pin 13 ke logika HIGH. Tegangan 5V dilepaskan, membuat LED berada dalam kondisi forward bias (menyala).
Serial.println("LED menyala");
Fungsi ini memanggil pustaka Serial. String "LED menyala" dikonversi menjadi deretan karakter ASCII, diubah menjadi data biner, lalu dikirimkan byte demi byte ke buffer transmisi UART menuju komputer. Akhiran ln menambahkan karakter Carriage Return (CR) dan Line Feed (LF) untuk membuat baris baru.
delay(1000);
Sistem mengeksekusi instruksi blocking delay. Mikrokontroler menahan eksekusi kode berikutnya selama 1000 milidetik menggunakan timer internal. Status komponen (LED menyala) dipertahankan selama fase ini.
digitalWrite(13, LOW);
Mengubah status logika pin 13 menjadi LOW (0V). Potensial listrik hilang, menyebabkan LED padam.
Serial.println("LED mati");
UART kembali melakukan transmisi data biner dari string ASCII "LED mati" ke komputer melalui jalur komunikasi serial yang telah diinisialisasi sebelumnya.
delay(1000);
Sistem kembali masuk ke mode blocking selama 1000 milidetik dengan kondisi LED padam.
- Iterasi Berkelanjutan
Ketika eksekusi mencapai kurung kurawal penutup }, instruksi berikutnya diarahkan kembali ke alamat memori awal fungsi loop(). Struktur UART tidak diinisialisasi ulang karena register Serial.begin sudah menetap di memori sejak fase setup().
💬 Diskusi (0)
Belum ada diskusi bray. Jadilah yang pertama nanya!
Punya Pertanyaan atau Masukan?
Mau ikut diskusi bray? Login dulu buat join Kombel!