mr-edu/content/mr/05_otak_logika/matematika_logika_boolean.md

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:

  1. Buatlah variabel boolean bolehMaju.
  2. Isi bolehMaju dengan logika: !sensorKiri && !sensorKanan.
  3. Gunakan if (bolehMaju) untuk mencetak "ROBOT MAJU" ke Serial Monitor.
  4. 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---