Menu
CoddyTech

Operator ternary

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

Jika kamu memiliki if-else sederhana yang hanya menetapkan nilai berdasarkan suatu kondisi, PHP menyediakan cara yang lebih singkat untuk menulisnya: operator ternary.

Sintaks ini menggunakan ? dan : untuk membuat percabangan ringkas dalam satu baris:

<?php
$age = 20;

// Menggunakan if-else
if ($age >= 18) {
    $status = "adult";
} else {
    $status = "minor";
}

// Hal yang sama dengan operator ternary
$status = $age >= 18 ? "adult" : "minor";

echo $status; // adult
?>

Strukturnya adalah: condition ? value_if_true : value_if_false.

PHP mengevaluasi kondisi terlebih dahulu. Jika kondisi bernilai true, ekspresi mengembalikan nilai setelah ?. Jika bernilai false, ekspresi mengembalikan nilai setelah :.

<?php
$score = 45;
$result = $score >= 50 ? "Pass" : "Fail";
echo $result; // Fail

$isLoggedIn = true;
$greeting = $isLoggedIn ? "Welcome back!" : "Please log in";
echo $greeting; // Welcome back!
?>

Operator ternary cocok untuk penetapan sederhana yang memilih salah satu dari dua opsi. Untuk logika yang lebih kompleks dengan beberapa kondisi, gunakan pernyataan if-elseif-else agar lebih mudah dibaca.

challenge icon

Tantangan

Mudah

Baca dua bilangan bulat dari input: score dan passingScore.

Gunakan operator ternary untuk menentukan hasil berdasarkan hal berikut:

  • Jika score lebih besar dari atau sama dengan passingScore, hasilnya harus Passed
  • Jika tidak, hasilnya harus Failed

Cetak hasilnya pada baris pertama.

Lalu, baca bilangan bulat quantity dari input. Gunakan operator ternary untuk menentukan pesan pengiriman:

  • Jika quantity lebih besar dari 10, pesannya harus Free shipping
  • Jika tidak, pesannya harus Standard shipping

Cetak pesan pengiriman pada baris kedua.

Contoh:

Jika inputnya adalah 75, 60, dan 15, outputnya harus:

Passed
Free shipping

Jika inputnya adalah 45, 50, dan 5, outputnya harus:

Failed
Standard shipping

Coba sendiri

<?php
// Baca input
$score = intval(fgets(STDIN));
$passingScore = intval(fgets(STDIN));
$quantity = intval(fgets(STDIN));

// TODO: Tulis kodemu di bawah ini
// Gunakan operator ternary untuk menentukan apakah skor lulus atau gagal


// Gunakan operator ternary untuk menentukan pesan pengiriman


// Tampilkan hasilnya
echo $result . "\n";
echo $shippingMessage;
?>
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