Berpikir Komputasional bukan berarti berpikir seperti komputer, melainkan kemampuan memecahkan masalah secara sistematis dan terstruktur sebelum diimplementasikan ke dalam program C++ Arduino.
4 Pilar Utama Berpikir Komputasional
1. Dekomposisi
Memecah masalah kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola.
Studi Kasus Arduino:
Membagi sistem "Smart Garden" menjadi: Sensor Kelembaban (Input), Microcontroller (Proses), dan Pompa Air (Output).
2. Pengenalan Pola
Mencari kesamaan atau pola berulang dari masalah yang pernah diselesaikan sebelumnya.
Studi Kasus Arduino:
Lampu lalu lintas dan LED kedip-kedip menggunakan logika perulangan yang sama (`delay` & `digitalWrite`).
3. Abstraksi
Memfokuskan pada informasi penting saja dan mengabaikan detail rumit yang tidak relevan.
Studi Kasus Arduino:
Fokus pada status tombol (`HIGH` / `LOW`), tanpa memusingkan aliran elektron mikroskopis pada kabel.
4. Algoritma
Mengembangkan petunjuk langkah-demi-langkah berurutan dan logis untuk menyelesaikan masalah.
Studi Kasus Arduino:
Flowchart: Mulai → Baca Tombol → Jika Ditekan: LED Menyala → Jika Tidak: LED Mati → Selesai.
Visualisasi Algoritma: Lampu Otomatis
Klik pada tiap blok flowchart di bawah ini untuk melihat bagaimana berpikir komputasional diterjemahkan ke logikanya:
LANGKAH 1
Inisialisasi Pin
Set Output & Input
LANGKAH 2
Baca Sensor Pin
`digitalRead()`
KEPUTUSAN
Tombol Ditekan?
Apakah `HIGH`?
AKSI OUTPUT
Nyalakan LED
`digitalWrite(HIGH)`
Penjelasan Detail Algoritma:Klik salah satu kotak algoritma di atas untuk menampilkan detail alur berpikir dan padanan kodenya!
Modul 02
Sintaks & Struktur Dasar C++ Arduino
Pelajari dua fungsi utama `setup()` dan `loop()` serta perintah kontrol I/O digital.
Blink_Basic.ino
C++ Arduino
1
const intpinLED = 13; // Pin LED bawaan Board
2
3
voidsetup() {
4
pinMode(pinLED, OUTPUT); // Atur pin 13 jadi Output
5
}
6
7
voidloop() {
8
digitalWrite(pinLED, HIGH); // Nyalakan LED (5V)
9
delay(1000); // Tunggu 1000 milidetik (1 detik)
10
digitalWrite(pinLED, LOW); // Matikan LED (0V)
11
delay(1000); // Tunggu 1 detik
12
}
Klik pada baris kode di sebelah kiri untuk mempelajari fungsi masing-masing perintah!
Variabel & Const
Pendeklarasian Variabel
`const int pinLED = 13;` digunakan untuk menyimpan nomor pin mikroprosesor ke dalam nama variabel yang mudah diingat. Kata kunci `const` membuat nilainya konstan dan tidak bisa diubah tidak sengaja saat program berjalan.
Perintah Kunci C++ Arduino:
pinMode(pin, mode);
Mengatur fungsi pin apakah sebagai INPUT atau OUTPUT.
digitalWrite(pin, val);
Mengirim sinyal DIGITAL: HIGH (Nyalakan / 5V) atau LOW (Matikan / 0V).
digitalRead(pin);
Membaca status sinyal masukan dari tombol atau sensor digital (HIGH/LOW).
Modul 03
Simulasi Hardware Interaktif Arduino
Uji coba logika C++ secara langsung pada virtual breadboard & microcontroller Arduino UNO.
Board Arduino UNO & LED
STATUS: STANDBY
ARDUINO UNO
PIN 13PIN 2GND
LED Red (Pin 13)
Tombol Saklar (Pin 2)Tekan & Tahan
Mode: Smart Switch Mode
Logika C++ yang Sedang Berjalan:
voidloop() {
int buttonState = digitalRead(2);
if (buttonState == HIGH) {
digitalWrite(13, HIGH); // LED ON
} else {
digitalWrite(13, LOW); // LED OFF
}
}
Serial Monitor (9600 baud)
[System Ready] Klik "Jalankan Simulasi" untuk menguji kode...
Modul 04
Arena Coding / Playground C++
Uji logika pemrogramanmu! Lengkapi potongan kode C++ di bawah ini agar sistem dapat berjalan sesuai spesifikasi tantangan.
Tantangan Coding #1
Membuat Sistem Kedip LED Bergantian (Blink Alternate)
Lengkapi bagian berpola ___( ISI )___ dengan kata kunci C++ Arduino yang benar!
Latihan_Program.cpp Interactive Validator
const int ledMerah = 12;
voidsetup() {
(ledMerah, );
}
voidloop() {
digitalWrite(ledMerah,
); // Nyalakan LED
(1000); // Tunggu 1 Detik
}
Modul Evaluasi
Kuis & Evaluasi Pemahaman
Uji sejauh mana pemahamanmu tentang Berpikir Komputasional & Algoritma Pemrograman C++ Arduino.
Hasil Evaluasi Belajar
0
dari 100 poin total
Pilih jawaban pada soal kuis di samping, lalu tekan tombol Submit Jawaban Kuis untuk melihat perolehan nilaimu!