Tipe Data, Operator, & Percabangan

Mengenal berbagai macam tipe data di Arduino, cara memanipulasi data menggunakan operator, serta mengontrol alur program menggunakan percabangan (if, if-else, if-else-if).

90 Menit
Modul 2: Dasar Pemrograman Pemula
Pertemuan 4

TPTujuan Pembelajaran

  1. Peserta didik dapat membedakan tipe data int, float, char, boolean, dan String pada Arduino
  2. Peserta didik dapat menggunakan operator aritmatika, relasional, dan logika dengan benar
  3. Peserta didik dapat membuat program dengan percabangan if, if-else, dan if-else-if
  4. Peserta didik dapat mengintegrasikan tipe data, operator, dan percabangan dalam program yang bermakna

Tipe Data dalam Arduino

Dalam dunia pemrograman, kita sering perlu menyimpan informasi (seperti nilai sensor, atau status lampu). Informasi ini disimpan dalam "variabel", dan setiap variabel harus memiliki Tipe Data.

Tipe Data yang Sering Digunakan:

int (Integer)

Menyimpan bilangan bulat (tanpa koma).

int umur = 16;
int nilaiSensor = 500;

float

Menyimpan bilangan desimal (pecahan dengan titik).

float suhu = 36.5;
float phi = 3.14;

char (Character)

Menyimpan SATU karakter huruf/simbol (pakai petik tunggal).

char nilaiMutu = 'A';

boolean

Hanya memiliki dua nilai: true (1) atau false (0).

boolean lampuMenyala = true;

String

Menyimpan kumpulan karakter / teks (pakai petik ganda).

String namaSiswa = "Budi Santoso";

Operator: Aritmatika, Relasional & Logika

Setelah kita memiliki data, apa yang kita lakukan dengannya? Di sinilah Operator berperan. Operator adalah simbol untuk melakukan operasi pada data.

1. Operator Aritmatika (Matematika Dasar)

  • + Penjumlahan (contoh: 5 + 3)
  • - Pengurangan (contoh: 10 - 2)
  • * Perkalian (contoh: 4 * 2)
  • / Pembagian (contoh: 10 / 2)
  • % Sisa bagi / Modulo (contoh: 10 % 3 = 1)

2. Operator Relasional (Perbandingan)

Digunakan untuk membandingkan dua buah nilai. Hasilnya selalu true (benar) atau false (salah).

  • == Sama dengan (contoh: 5 == 5 hasilnya true)
  • != Tidak sama dengan (contoh: 5 != 3 hasilnya true)
  • > Lebih besar dari
  • < Lebih kecil dari
  • >= Lebih besar atau sama dengan
  • <= Lebih kecil atau sama dengan

3. Operator Logika

  • && (AND/Dan): Bernilai true JIKA KEDUANYA true.
  • || (OR/Atau): Bernilai true JIKA SALAH SATU true.
  • ! (NOT/Bukan): Membalik logika (true jadi false, false jadi true).

Percabangan: if, if-else, if-else-if

Dalam kehidupan sehari-hari, kita sering membuat keputusan berdasarkan kondisi tertentu. Misalnya:"JIKA hari ini hujan, MAKA saya bawa payung. JIKA TIDAK, saya pakai topi."

Di Arduino, kita menggunakan perintah if dan else untuk mengambil keputusan ini.

Flowchart Percabangan Sederhana (If-Else)

1. Hanya IF (Satu Kondisi)

Hanya menjalankan kode jika kondisinya benar.

if (nilai > 80) {
  // Lakukan ini jika nilai lebih dari 80
}

2. IF - ELSE (Dua Pilihan)

Ada rencana cadangan jika kondisi pertama salah.

if (nilai > 80) {
  // Lulus
} else {
  // Tidak Lulus
}

3. IF - ELSE IF (Banyak Pilihan)

Mengecek beberapa kondisi secara berurutan.

if (nilai >= 90) {
  // Grade A
} else if (nilai >= 80) {
  // Grade B
} else {
  // Grade C
}

Program Pertama dengan Kondisi

Mari kita gabungkan pengetahuan tentang tipe data, operator, dan percabangan dalam satu program! Program ini akan menentukan Grade berdasarkan sebuah nilai ujian, dan mencetaknya ke Serial Monitor.

GradeChecker.ino
cpp
int nilaiUjian = 85; // Coba ubah angka ini nanti

void setup() {
  Serial.begin(9600);
  
  // Tentukan grade berdasarkan nilai menggunakan percabangan
  if (nilaiUjian >= 90) {
    Serial.println("Grade: A - Sangat Baik!");
  } else if (nilaiUjian >= 80) {
    Serial.println("Grade: B - Baik");
  } else if (nilaiUjian >= 70) {
    Serial.println("Grade: C - Cukup");
  } else {
    Serial.println("Grade: D - Perlu Belajar Lagi");
  }
}

void loop() {
  // Program ini cukup dijalankan sekali di setup()
}
Serial Monitor Output
Grade: B - Baik

Troubleshooting

Masalah:Muncul pesan error expected ';' before '}'

Solusi:Kamu mungkin lupa menambahkan titik koma (;) di akhir perintah Serial.println()


Masalah:Output tidak muncul di Serial Monitor

Solusi:Pastikan baud rate di Serial Monitor sudah diatur ke 9600

Cek Pemahaman

Tipe data apakah yang paling tepat digunakan untuk menyimpan nilai suhu ruangan (misal: 28.5)?

Mudah

Apa perbedaan antara tanda '=' dan '==' dalam Arduino?

Sedang

Latihan & Refleksi

Rangkuman Materi
  • Tipe data menentukan jenis wadah penyimpanan memori (int, float, char, boolean, String).
  • Operator digunakan untuk manipulasi data (Aritmatika, Relasional, Logika).
  • Percabangan (if-else) adalah cara kita mengajarkan Arduino untuk mengambil keputusan berdasarkan kondisi (true/false).

Tugas Praktik: Sistem Peringatan Suhu

Ubah program "GradeChecker.ino" di atas menjadi program pemantau suhu! Ketentuannya:

  1. Buat variabel bertipe float bernama suhuSekarang dengan nilai awal 32.5.
  2. Buat logika if-else-if dengan aturan:
    • Jika suhu > 30, print "AWAS: Suhu Terlalu Panas!"
    • Jika suhu >= 20 dan suhu <= 30, print "Suhu Normal"
    • Jika suhu < 20, print "Suhu Terlalu Dingin"
  3. Kirim hasilnya ke Serial Monitor.

RRefleksi Pertemuan 4

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

Kejutan & Penemuan

Apa yang paling mengejutkan atau menarik hari ini?

Konsep mana (tipe data, operator, atau percabangan) yang menurutmu paling menarik untuk digunakan saat membuat robot?

Masih Membingungkan

Apa yang masih membingungkan atau ingin kamu pahami lebih dalam?

Apakah kamu masih sering bingung membedakan kapan harus menggunakan if, else if, dan else?

Rencana Selanjutnya

Apa yang ingin kamu coba atau pelajari minggu depan?

Coba pikirkan satu alat elektronik di rumahmu yang cara kerjanya menggunakan sistem percabangan if-else (contoh: kulkas, rice cooker)!

Refleksi tidak dinilai — ini adalah ruang jujurmu untuk berpikir.