Menu
CoddyTech

Operator Logika Bagian 2

Termasuk bagian Dasar-Dasar dalam perjalanan PHP di Coddy. Pelajaran 26 dari 71.

Operator NOT (!) membalik nilai boolean menjadi kebalikannya. Jika sesuatu bernilai true, nilainya menjadi false, dan sebaliknya:

<?php
$isLoggedIn = false;

$showLoginButton = !$isLoggedIn;
var_dump($showLoginButton); // bool(true)

$isLoggedIn = true;
$showLoginButton = !$isLoggedIn;
var_dump($showLoginButton); // bool(false)
?>

Kamu dapat menggabungkan beberapa operator logika dalam satu ekspresi. Saat melakukannya, gunakan tanda kurung agar maksudmu jelas:

<?php
$age = 25;
$hasTicket = true;
$isVIP = false;

// Boleh masuk jika: punya tiket DAN (sudah dewasa ATAU merupakan VIP)
$canEnter = $hasTicket && ($age >= 18 || $isVIP);
var_dump($canEnter); // bool(true)
?>

Tanpa tanda kurung, && dievaluasi sebelum ||. Namun, penggunaan tanda kurung membuat kodemu lebih mudah dibaca dan mencegah kesalahan. Saat menggabungkan operator, selalu kelompokkan kondisi secara logis agar maknanya tepat seperti yang kamu maksud.

challenge icon

Tantangan

Mudah

Baca empat nilai dari input: sebuah integer temperature, sebuah string isRaining (berupa "true" atau "false"), sebuah string hasUmbrella (berupa "true" atau "false"), dan sebuah string hasRaincoat (berupa "true" atau "false").

Ubah nilai string menjadi boolean dengan membandingkannya dengan "true".

Evaluasi tiga kondisi berikut dan cetak hasil masing-masing menggunakan var_dump(), setiap hasil pada baris baru:

  1. Periksa apakah TIDAK sedang hujan (gunakan operator !)
  2. Periksa apakah orang tersebut sebaiknya tetap di dalam: sedang hujan DAN mereka tidak memiliki payung maupun jas hujan (gunakan ! pada kedua barang)
  3. Periksa apakah orang tersebut bisa pergi ke luar dengan nyaman: suhu setidaknya 15 DAN (tidak sedang hujan ATAU mereka memiliki payung atau jas hujan)

Contoh:

Jika input-nya adalah 20, true, false, dan true, output-nya seharusnya:

bool(false)
bool(false)
bool(true)

Penjelasan:

  • !isRaining → !true → false
  • isRaining && !hasUmbrella && !hasRaincoat → true && true && false → false
  • temperature >= 15 && (!isRaining || hasUmbrella || hasRaincoat) → true && (false || false || true) → true && true → true

Coba sendiri

<?php
// Baca nilai input
$temperature = intval(fgets(STDIN));
$isRainingStr = trim(fgets(STDIN));
$hasUmbrellaStr = trim(fgets(STDIN));
$hasRaincoatStr = trim(fgets(STDIN));

// TODO: Ubah nilai string menjadi nilai boolean dengan membandingkannya dengan "true"


// TODO: Evaluasi dan cetak tiga kondisi menggunakan var_dump():
// 1. Periksa apakah TIDAK hujan
// 2. Periksa apakah orang tersebut harus tetap di dalam (hujan DAN tidak punya payung DAN tidak punya jas hujan)
// 3. Periksa apakah orang tersebut bisa keluar dengan nyaman

?>
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler PHP online