Menu
CoddyTech

Rangkuman: Logika Sederhana

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

challenge icon

Tantangan

Mudah

Baca lima nilai dari input: sebuah bilangan bulat age, sebuah bilangan bulat balance, sebuah string isStudent (bernilai "true" atau "false"), sebuah string hasPromoCode (bernilai "true" atau "false"), dan sebuah bilangan bulat itemPrice.

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

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

  1. Periksa apakah orang tersebut memenuhi syarat untuk mendapat diskon usia muda: usia kurang dari 25 DAN merupakan pelajar
  2. Periksa apakah orang tersebut mampu membeli barang dengan diskon: balance lebih besar dari atau sama dengan itemPrice ATAU (balance setidaknya setengah dari itemPrice DAN hasPromoCode bernilai true)
  3. Periksa apakah orang tersebut mendapat layanan checkout prioritas: (usia setidaknya 65 ATAU isStudent bernilai true) DAN balance lebih besar dari 0 DAN BUKAN hasPromoCode

Contoh:

Jika inputnya adalah 22, 50, true, false, dan 80, outputnya seharusnya:

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

Penjelasan:

  • age < 25 && isStudent → 22 < 25 && true → true
  • balance >= itemPrice || (balance >= itemPrice / 2 && hasPromoCode) → 50 >= 80 || (50 >= 40 && false) → false || false → false
  • (age >= 65 || isStudent) && balance > 0 && !hasPromoCode → (false || true) && true && true → true

Coba sendiri

<?php
// Baca nilai input
$age = intval(fgets(STDIN));
$balance = intval(fgets(STDIN));
$isStudentStr = trim(fgets(STDIN));
$hasPromoCodeStr = trim(fgets(STDIN));
$itemPrice = intval(fgets(STDIN));

// Ubah nilai string menjadi boolean
$isStudent = $isStudentStr === "true";
$hasPromoCode = $hasPromoCodeStr === "true";

// TODO: Tulis kodemu di bawah ini
// 1. Periksa apakah orang tersebut berhak mendapat diskon untuk anak muda

// 2. Periksa apakah orang tersebut mampu membeli barang dengan diskon

// 3. Periksa apakah orang tersebut mendapat prioritas saat membayar

?>

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler PHP online