Konsep Program & Data Variable

Setiap program komputer — dari yang sederhana hingga yang kompleks — bekerja dengan cara yang sama: menerima data, memprosesnya, dan menghasilkan keluaran. Kenali fondasi ini sebelum kita mulai memprogram Arduino.

90 Menit
Modul 2: Dasar Pemrograman Pemula
Pertemuan 3

TPTujuan Pembelajaran

  1. Peserta didik dapat menjelaskan apa itu program komputer dan bagaimana ia bekerja.
  2. Peserta didik dapat mendefinisikan variabel dan mendeskripsikan fungsinya dalam penyimpanan data.
  3. Peserta didik dapat mendeklarasikan dan menginisialisasi variabel dalam pseudocode dan kode Arduino sederhana.
  4. Peserta didik dapat menerapkan aturan penamaan variabel yang baik dan menghindari kesalahan umum.

Apa itu Program?

Di Pertemuan 2, kita belajar membuat algoritma — serangkaian langkah terstruktur untuk memecahkan masalah. Sekarang, bayangkan jika ada seseorang yang bisa mengeksekusi algoritma kita dengan kecepatan jutaan instruksi per detik, tanpa bosan, tanpa salah hitung, tanpa perlu istirahat. Itulah yang bisa dilakukan komputer — termasuk Arduino.

Tapi komputer tidak bisa membaca pseudocode atau flowchart kita. Komputer hanya mengerti bahasa yang sangat spesifik: bahasa pemrograman. Dan cara kita berkomunikasi dengan komputer menggunakan bahasa tersebut disebut program.

Setiap program — dari aplikasi ChatGPT yang kompleks hingga kode Arduino sederhana yang menyalakan LED — bekerja dengan pola yang sama:

📥
INPUT
Menerima data dari luar
⚙️
PROSES
Mengolah data sesuai instruksi
📤
OUTPUT
Menghasilkan keluaran

Data — Bahan Bakar Program

Program tidak bisa bekerja tanpa data. Data adalah informasi mentah yang diolah oleh program — angka suhu dari sensor, status tombol yang ditekan, atau nama pengguna yang diketik. Tanpa data, program tidak punya bahan untuk diproses.

Bayangkan sebuah pabrik roti. Bahan baku (tepung, telur, gula) adalah data. Mesin pembuat roti adalah program. Roti yang dihasilkan adalah output. Jika tidak ada tepung, tidak ada roti — sama seperti tanpa data, tidak ada hasil program.

Pertanyaannya adalah: di mana data disimpan saat program sedang berjalan?Jawabannya adalah di memori (RAM) komputer atau mikrokontroler. Dan cara kita "memesan tempat" di memori untuk menyimpan data adalah dengan menggunakan variabel.

Variabel — Cara Menyimpan Data

Variabel adalah salah satu konsep paling mendasar dalam pemrograman. Hampir setiap baris kode yang bermakna akan menggunakan variabel.

Analogi terbaik: bayangkan kamu sedang merapikan gudang. Kamu memiliki banyak kotak penyimpanan. Agar tidak bingung isi masing-masing kotak, kamu menempelkan labeldi setiap kotaknya: "Baju Musim Dingin", "Peralatan Masak", "Mainan Masa Kecil".

Variabel adalah kotak berlabel itu. Label-nya adalah nama variabel. Isi kotaknya adalah nilai data yang disimpan. Dan rak gudang-nya adalah memoriArduino.

🏷️

Nama Variabel

Label unik yang kita buat untuk mengidentifikasi kotak tersebut

suhu, lampuOn, nilaiSensor
📦

Tipe Data

Jenis isi kotak — apakah bilangan bulat, desimal, teks, atau benar/salah

int, float, String, bool
📄

Nilai

Data aktual yang disimpan di dalam kotak — bisa berubah sewaktu-waktu

36, true, 'Budi', 3.14
Siklus Hidup Variabel: dari Deklarasi hingga Digunakan dalam Loop Arduino

Aturan Penamaan Variabel

Variabel adalah komunikasi — antara kamu dan komputer, dan antara kamu saat ini dengan kamu 6 bulan lagi yang harus membaca ulang kode ini. Nama variabel yang baik membuat kode menjadi "cerita" yang mudah dibaca.

Gunakan nama yang deskriptif

Nama variabel harus menjelaskan isinya dengan jelas. suhuRuangan jauh lebih baik daripada sr atau x.

Gunakan camelCase untuk Arduino/C++

Mulai dengan huruf kecil, setiap kata baru dimulai dengan huruf kapital. Contoh: nilaiSensor, lampuMenyala, hitungDetik.

Tidak boleh diawali angka

Arduino tidak mengizinkan nama variabel yang diawali angka. 2sensor ❌, sensor2 ✅.

Tidak boleh menggunakan spasi atau karakter spesial

Gunakan underscore jika perlu pemisah. suhu_luar ✅, suhu luar ❌, suhu-luar ❌.

Case-sensitive — huruf besar dan kecil berbeda

suhu, Suhu, dan SUHU adalah tiga variabel yang berbeda! Konsisten dalam penggunaan huruf.

Variabel dalam Arduino

Arduino menggunakan bahasa pemrograman yang berbasis C++. Tidak seperti Python yang bisa menebak tipe data secara otomatis, C++ (dan Arduino) membutuhkan kita untuk mendeklarasikan tipe data secara eksplisit saat membuat variabel.

Ini seperti saat kamu memesan kotak penyimpanan — kamu harus memberi tahu penjual: apakah kamu butuh kotak kecil untuk baju, kotak besar untuk furnitur, atau laci khusus untuk dokumen penting. Ukuran kotak yang tepat menghemat ruang dan mencegah kecelakaan.

Tipe Data Dasar Arduino

Tipe DataUkuranRentang NilaiDigunakan untukContoh
int2 byte-32,768 hingga 32,767Bilangan bulat umumint suhu = 28;
long4 byte±2,1 MiliarBilangan bulat besar (waktu millis)long waktu = 123456789;
float4 byte±3.4 × 10³⁸Bilangan desimal (sensor analog)float voltase = 3.14;
bool1 bytetrue / falseStatus on/off, kondisibool lampuOn = true;
char1 byte-128 hingga 127Satu karakter tekschar huruf = 'A';
StringDinamisTeks apapunKalimat, nama, teks tampilanString nama = "Arduino";

Kode Arduino Pertamamu

Saatnya kita menulis kode Arduino yang sungguhan — pertama kalinya! Kita akan membuat program sederhana yang mendeklarasikan beberapa variabel dan menampilkan nilainya ke Serial Monitor (konsol teks Arduino IDE).

Jangan khawatir jika ada bagian yang belum kamu pahami sepenuhnya — misalnya setup() dan loop(). Kita akan mempelajarinya secara mendalam di Pertemuan 10. Untuk sekarang, fokus pada bagian deklarasi dan penggunaan variabel.

variabel_pertama.ino
cpp
// ═════════════════════════════════════════════
// Pertemuan 3: Belajar Variabel di Arduino
// Nama: [Isi nama kamu]
// Tanggal: [Isi tanggal hari ini]
// ═════════════════════════════════════════════

// --- DEKLARASI VARIABEL ---
// (Di luar setup() dan loop() agar bisa diakses di mana saja)

int    umurSiswa      = 16;          // Bilangan bulat
float  nilaiRataRata  = 87.5;        // Bilangan desimal
bool   sudahAbsen     = false;       // Benar atau salah
String namaSiswa      = "Budi Santoso"; // Teks
char   kelasKode      = 'A';         // Satu huruf

// --- SETUP: Berjalan sekali saat Arduino dinyalakan ---
void setup() {
  Serial.begin(9600);   // Aktifkan komunikasi Serial
  delay(1000);          // Tunggu 1 detik agar Serial siap

  // Cetak nilai setiap variabel ke Serial Monitor
  Serial.println("=== Data Profil Siswa ===");
  
  Serial.print("Nama       : ");
  Serial.println(namaSiswa);       // Tampilkan nilai String
  
  Serial.print("Kelas      : ");
  Serial.println(kelasKode);       // Tampilkan nilai char
  
  Serial.print("Umur       : ");
  Serial.print(umurSiswa);         // Tampilkan nilai int
  Serial.println(" tahun");
  
  Serial.print("Nilai rata : ");
  Serial.println(nilaiRataRata);   // Tampilkan nilai float
  
  Serial.print("Sudah absen: ");
  Serial.println(sudahAbsen ? "Ya" : "Belum");  // Tampilkan bool
}

// --- LOOP: Berjalan berulang-ulang setelah setup ---
void loop() {
  // Kosong untuk sekarang — kita akan isi di pertemuan berikutnya
}
Serial Monitor Output
=== Data Profil Siswa === Nama : Budi Santoso Kelas : A Umur : 16 tahun Nilai rata : 87.50 Sudah absen: Belum

Troubleshooting

Masalah:Error: 'Serial' was not declared in this scope

Solusi:Pastikan kamu mengetik Serial dengan huruf S kapital. C++ bersifat case-sensitive — serial ≠ Serial.


Masalah:Tidak ada output di Serial Monitor

Solusi:Cek baud rate di pojok kanan bawah Serial Monitor — harus sama dengan angka di Serial.begin(9600). Pastikan pilih 9600 baud.


Masalah:Error: invalid conversion from 'const char*' to 'char'

Solusi:Kamu mungkin menulis char kelasKode = "A" (tanda kutip ganda). Gunakan tanda kutip TUNGGAL untuk char: char kelasKode = 'A'


Masalah:Nilai float ditampilkan sebagai bilangan bulat (87 bukan 87.5)

Solusi:Pastikan kamu mendeklarasikannya sebagai float, bukan int. Juga pastikan nilai yang dimasukkan menggunakan titik desimal: 87.5 bukan 87.

Cek Pemahaman

Perhatikan baris kode Arduino berikut:\n\nfloat suhRuangan = 27;\n\nApa yang salah dari deklarasi variabel di atas?

Mudah

Kamu sedang membuat sistem monitoring suhu ruangan dengan Arduino. Variabel mana yang menggunakan tipe data yang PALING TEPAT?

Sedang

Latihan: Rancang Variabel untuk Smart Gate System

Di akhir Semester 1, kita akan membangun Smart Gate System (sistem palang pintu otomatis). Berlatih merancang variabelnya mulai dari sekarang!

  1. Identifikasi Data yang Dibutuhkan: Tulis minimal 8 data yang perlu diingat/disimpan oleh sistem Smart Gate (contoh: status pintu, jumlah kendaraan, suhu hari ini...)
  2. Tentukan Tipe Data: Untuk setiap data yang kamu tulis, tentukan tipe data yang paling tepat (int, float, bool, String, atau char)
  3. Beri Nama Variabel: Beri nama variabel yang deskriptif menggunakan camelCase. Contoh: statusPintu
  4. Tulis Deklarasi: Tulis setiap variabel dalam format deklarasi Arduino:tipeData namaVariabel = nilaiAwal;

Bonus: Jelaskan mengapa kamu memilih tipe data tertentu untuk setiap variabel. Apa konsekuensinya jika kamu memilih tipe yang salah?

Rangkuman Pertemuan 3
  • Program komputer adalah kumpulan instruksi yang mengikuti pola Input → Proses → Output. Setiap alat elektronik yang "pintar" menjalankan program.
  • Data adalah bahan bakar program. Tanpa data, program tidak punya apa-apa untuk diproses.
  • Variabel adalah "kotak berlabel" di memori untuk menyimpan data yang nilainya bisa berubah. Setiap variabel memiliki nama, tipe data, dan nilai.
  • Arduino menggunakan tipe data eksplisit: int (bulat), float (desimal),bool (true/false), char (1 karakter), String (teks). Pilih tipe yang tepat untuk menghemat memori dan mencegah bug.
  • Penamaan variabel yang baik sangat penting: deskriptif, camelCase, tanpa spasi, tidak diawali angka. Kode yang mudah dibaca adalah kode yang baik.

RRefleksi Pertemuan 3

Luangkan 2–3 menit untuk menjawab pertanyaan di bawah secara jujur.

Kejutan & Penemuan

Apa yang paling mengejutkan atau menarik hari ini?

Apa yang paling mengejutkan tentang bagaimana komputer menyimpan data? Apakah analoginya (kotak berlabel di gudang) benar-benar membantu kamu memahaminya?

Masih Membingungkan

Apa yang masih membingungkan atau ingin kamu pahami lebih dalam?

Bagian mana dari konsep variabel yang masih membingungkan — apakah perbedaan tipe data, aturan penamaan, atau cara menulis deklarasi dalam kode Arduino?

Rencana Selanjutnya

Apa yang ingin kamu coba atau pelajari minggu depan?

Jika kamu harus menjelaskan konsep variabel kepada teman yang belum pernah belajar pemrograman, analogi apa yang akan kamu gunakan? Mengapa kamu memilih analogi tersebut?

Refleksi tidak dinilai — ini adalah ruang jujurmu untuk berpikir.