Materi 4 dari 12 · Stasiun 3
Kondisi dan perulangan
Setelah materi ini, kamu bisa:
- Bisa memakai if dan else untuk memilih perintah berdasarkan kondisi.
- Bisa membaca perulangan for dan while, dan memprediksi berapa kali diulang.
- Bisa menjelaskan kenapa loop() di Arduino berulang terus tanpa berhenti.
Sebaiknya sudah belajar:
Program yang bisa memilih dan mengulang
Di materi Pemrograman: variabel dan urutan perintah, programmu berjalan lurus dari atas ke bawah. Tapi kipas otomatis harus memilih, menyala atau tidak. Dan ia harus mengecek suhu berulang-ulang, bukan sekali saja.
Dua alat untuk itu adalah kondisi (if) dan perulangan (loop).
Kondisi
Baca dulu, tebak artinya.
Pembanding: > lebih dari, < kurang dari, >= lebih dari atau sama, <= kurang dari atau sama, == sama dengan, != tidak sama.
Menggabung kondisi. && berarti DAN, || berarti ATAU (ingat Saklar dan tombol dan Logika digital: 0, 1, dan gerbang).
if (suhu > 30) {
Serial.println("Kipas nyala");
} else {
Serial.println("Kipas mati");
} - Baris 1: Kalau isi suhu lebih dari 30, jalankan bagian di dalam kurung kurawal pertama.
- Baris 3: Kalau tidak, jalankan bagian else. Hanya salah satu yang dijalankan.
Tebak dulu
- int i = 0; while (i < 3) { i = i + 1; } Berapa kali isi while dijalankan?
- 2 kali
- 3 kali
- 4 kali
- Tidak pernah berhenti
Jawaban
3 kali. i menjadi 1, 2, 3. Saat i = 3, kondisi i < 3 salah, perulangan berhenti. Tiga kali.
Ikuti perulangannya
Program ini menghitung jumlah 1 sampai 4. Jalankan langkah demi langkah dan perhatikan i dan total. Kartu terbuka setelah program selesai.
Simulasi interaktif tersedia saat JavaScript aktif.
for punya tiga bagian: nilai awal (int i = 1), syarat lanjut (i <= 4), dan perubahan tiap putaran (i++). Perulangan berhenti saat syaratnya salah.
Kerangka setiap program Arduino
Tidak ada "akhir program" di mikrokontroler. Ia terus membaca, mengolah, dan mengendalikan (lihat Apa itu mikrokontroler).
void setup() {
Serial.begin(115200);
}
void loop() {
int suhu = 28; // nanti diganti bacaan sensor
if (suhu > 30) {
Serial.println("panas");
}
delay(1000);
} - Baris 1: setup() dijalankan sekali saat papan menyala.
- Baris 4: loop() dijalankan berulang-ulang, selamanya, selama papan menyala.
- Baris 9: Tunggu 1.000 milidetik, lalu loop() mulai lagi dari atas.
Prediksi hasilnya
- int n = 0; for (int i = 0; i < 5; i++) { n = n + 2; } Berapa n?
Jawaban
10 angka. Perulangan berjalan 5 kali (i = 0 sampai 4), tiap kali menambah 2.
- int x = 12; if (x > 10 && x < 20) { x = 1; } else { x = 0; } Berapa x?
Jawaban
1 angka. 12 lebih dari 10 DAN kurang dari 20. Kondisi benar, x = 1.
Benar atau salah?
- "Perulangan while akan berhenti sendiri setelah beberapa kali."
- Benar
- Salah
Jawaban
Salah. while berhenti hanya kalau kondisinya menjadi salah. Kalau isi perulangan tidak pernah mengubah kondisi, ia berulang selamanya dan program "macet".
- "if (x = 5) memeriksa apakah x sama dengan 5."
- Benar
- Salah
Jawaban
Salah. Satu tanda = mengisi x dengan 5. Untuk membandingkan, pakai ==. Kesalahan ini sering lolos tanpa pesan error.
Selesai
- if / else memilih perintah. Pakai == untuk membandingkan, && dan || untuk menggabung.
- for dan while mengulang sampai syaratnya salah.
- setup() sekali, loop() berulang selamanya.
Pancingan
Kamu sudah punya semua bagian untuk program pertama yang menyentuh dunia nyata, menyalakan LED. Itu Output digital: LED berkedip.
Berikutnya
Referensi
- Arduino Language Reference (arduino.cc/reference), bagian struktur kontrol (if, for, while) dan operator perbandingan.
Draf AI. Belum direview manusia.
Kode materi p3 · versi 0.1 · 2026-10-06