2.1 KiB
---LESSON_INFO--- Matematika Robotika: Logika Boolean.
Learning Objectives:
- Memahami tipe data Boolean (True/False).
- Mengenal operator logika AND, OR, dan NOT.
- Menerapkan logika kombinasi untuk pengambilan keputusan robot.
Prerequisites:
- Dasar-Dasar Pemrograman ---END_LESSON_INFO---
Matematika: Logika Boolean
Robot mengambil keputusan berdasarkan kondisi. Logika Boolean adalah sistem matematika yang hanya memiliki dua nilai: Benar (1) atau Salah (0).
1. Operator Logika Dasar
Dalam pemrograman Arduino (C++), kita menggunakan simbol khusus untuk logika:
| Operator | Simbol | Penjelasan | Contoh Kasus |
|---|---|---|---|
| AND | && |
Benar jika SEMUA kondisi terpenuhi. | Jalan jika depan aman DAN baterai penuh. |
| OR | ` | ` | |
| NOT | ! |
Membalikkan nilai (Benar jadi Salah). | Jalan jika TIDAK ada rintangan. |
2. Tabel Kebenaran (Truth Table)
| A | B | A && B (AND) | A || B (OR) | | :--- | :--- | :--- | :--- | | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | | 1 | 0 | 0 | 1 | | 1 | 1 | 1 | 1 |
---EXERCISE---
Tantangan: Sistem Keamanan Robot
Sebuah robot pembersih memiliki dua sensor tabrakan (Bumper): sensorKiri dan sensorKanan. Robot hanya boleh "Maju" jika kedua sensor tidak menyentuh apapun (Bernilai 0).
Tugas:
- Buatlah variabel boolean
bolehMaju. - Isi
bolehMajudengan logika:!sensorKiri && !sensorKanan. - Gunakan
if (bolehMaju)untuk mencetak "ROBOT MAJU" ke Serial Monitor. - Jika tidak boleh maju, cetak "ROBOT BERHENTI".
---INITIAL_CODE_ARDUINO--- // Latihan Logika Boolean void setup() { Serial.begin(9600);
// Simulasi nilai sensor (0 = Aman, 1 = Menabrak) int sensorKiri = 0; int sensorKanan = 1;
// --- TULIS KODE KAMU DI BAWAH INI ---
bool bolehMaju = false; // Ganti dengan logika AND/NOT
if (bolehMaju) { Serial.println("STATUS: ROBOT MAJU"); } else { Serial.println("STATUS: ROBOT BERHENTI"); }
// ------------------------------------ }
void loop() { } ---END_INITIAL_CODE_ARDUINO---
---KEY_TEXT--- bool && || ! ---END_KEY_TEXT---