Pembelajaran Arduino tidak cukup hanya memahami bahasa pemrogramannya saja. Setelah tahu tentang variabel, fungsi, dan struktur dasar kode, langkah penting berikutnya adalah memahami Input/Output (I/O) — karena di sinilah Arduino benar-benar “hidup” dan berinteraksi dengan dunia nyata.
Mulai dari membuat LED berkedip, membaca tombol, hingga mengontrol sensor dan motor, semuanya berawal dari konsep I/O.
Pada artikel ini kamu akan mempelajari:
- Apa itu I/O pada Arduino
- Perbedaan pin digital dan pin analog
- Mode pin:
INPUT,INPUT_PULLUP,OUTPUT - Cara membaca input (tombol/sensor)
- Cara mengontrol output (LED, buzzer, relay)
- Contoh kode lengkap pemula
Mari kita mulai!
1. Apa Itu I/O pada Arduino?
Arduino memiliki banyak pin (kaki) yang digunakan untuk berkomunikasi dengan komponen eksternal. Pin-pin tersebut terbagi menjadi dua fungsi utama:
✔ Input — menerima sinyal
Digunakan untuk membaca nilai dari perangkat seperti:
- Tombol (push button)
- Sensor cahaya (LDR)
- Sensor suhu
- Sensor ultrasonik
- Potensiometer
- dan lain-lain
✔ Output — mengirim sinyal
Digunakan untuk mengontrol perangkat seperti:
- LED
- Buzzer
- Motor DC
- Relay
- Display 7 segment
- Servo
Semua proyek Arduino pasti berhubungan dengan Input dan Output.
2. Perbedaan Pin Digital dan Pin Analog
Arduino, terutama tipe Uno, memiliki dua jenis pin:
A. Pin Digital (D0–D13)
Pin digital hanya mengenal dua kondisi:
- HIGH → 1 → 5V
- LOW → 0 → 0V
Contoh penggunaan:
- Kirim sinyal ke LED
- Baca kondisi tombol
- Trigger relay
- Kontrol buzzer
B. Pin Analog (A0–A5)
Pin analog dapat membaca nilai 0–1023 (10-bit ADC).
Biasanya digunakan untuk:
- Sensor yang menghasilkan tegangan variatif
- Potensiometer
- Sensor cahaya / suhu analog
Contoh pembacaan:
int nilai = analogRead(A0);
// hasilnya 0 - 1023
3. Mode Pin pada Arduino
Sebelum digunakan, pin harus disetel di setup().
✔ OUTPUT
Digunakan untuk mengirim sinyal – misalnya untuk menyalakan LED.
pinMode(13, OUTPUT);
✔ INPUT
Untuk membaca sinyal dari tombol atau sensor.
pinMode(2, INPUT);
✔ INPUT_PULLUP
Mode input dengan resistor internal pull-up.
Fungsinya: mencegah input “mengambang” (floating).
pinMode(2, INPUT_PULLUP);
Jika memakai INPUT_PULLUP, logika tombol menjadi terbalik:
- Lepas → HIGH
- Ditekan → LOW
4. Contoh Output: Mengontrol LED
Ini adalah dasar paling penting dalam Arduino.
Skema:
- LED + resistor ke pin 13
- GND ke kaki resistor
Kode: LED berkedip (blink)
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // LED on
delay(1000); // 1 detik
digitalWrite(13, LOW); // LED off
delay(1000);
}
5. Contoh Input: Membaca Tombol
Skema:
- Tombol ke pin digital 2
- Resistor pull-down ke GND
Kode membaca tombol
int tombol = 2;
void setup() {
pinMode(tombol, INPUT);
Serial.begin(9600);
}
void loop() {
int nilai = digitalRead(tombol);
if (nilai == HIGH) {
Serial.println("Tombol ditekan");
} else {
Serial.println("Tombol dilepas");
}
delay(200);
}
6. Contoh Input + Output: LED menyala saat tombol ditekan
Kode sederhana dan paling sering diajarkan ke pemula.
int tombol = 2;
int led = 13;
void setup() {
pinMode(tombol, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
int status = digitalRead(tombol);
if (status == HIGH) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
7. Contoh Membaca Sensor Analog
Misal memakai potensiometer di A0:
int nilai;
void setup() {
Serial.begin(9600);
}
void loop() {
nilai = analogRead(A0);
Serial.println(nilai); // 0 - 1023
delay(100);
}
8. Mengontrol Perangkat Output Lainnya
✔ Buzzer
digitalWrite(8, HIGH);
✔ Relay
digitalWrite(7, LOW); // biasanya LOW = ON
✔ Servo (butuh library Servo.h)
servo.write(90);
9. Kesimpulan
Dalam pembelajaran Arduino, memahami Input dan Output adalah fondasi utama untuk membuat berbagai proyek elektronik interaktif.
Dengan memahami:
- Jenis pin Arduino
- Cara membaca input
- Cara mengontrol output
- Mode pin (
INPUT,OUTPUT,INPUT_PULLUP) - Perbedaan digital & analog
Kamu sudah memiliki dasar kuat untuk lanjut ke materi yang lebih dalam seperti sensor ultrasonik, LCD, modul WiFi, IoT, hingga robotik.

