Ternary Operator
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah halaman ini, kamu dapat memakai ternary operator untuk keputusan dua pilihan yang pendek dan jelas.
Pendahuluan
Section titled “Pendahuluan”Kadang if...else hanya digunakan untuk memilih satu teks pendek. Ternary operator memberi bentuk singkat untuk keputusan dua jalan seperti itu.
Analogi Kehidupan Sehari-hari
Section titled “Analogi Kehidupan Sehari-hari”Ternary seperti pertanyaan cepat di pintu kelas:
Sudah memakai seragam lengkap?Ya → boleh masukTidak → rapikan seragamSatu pertanyaan, dua kemungkinan jawaban.
Penjelasan Materi
Section titled “Penjelasan Materi”kondisi ? nilaiJikaTrue : nilaiJikaFalseTanda ? memisahkan kondisi dari hasil benar. Tanda : memisahkan hasil benar dari hasil salah.
Mari Mencoba
Section titled “Mari Mencoba”Buat src/bab2/ternary-operator.ts:
const nilaiAkhir: number = 76const batasLulus: number = 75const status: string = nilaiAkhir >= batasLulus ? "LULUS" : "REMEDIAL"const pesan: string = status === "LULUS" ? "Selamat, pertahankan!" : "Tetap semangat dan ikuti remedial."
console.log(`Nilai akhir: ${nilaiAkhir}`)console.log(`Status: ${status}`)console.log(`Pesan: ${pesan}`)Jalankan:
tsx src/bab2/ternary-operator.tsOutput
Section titled “Output”Nilai akhir: 76Status: LULUSPesan: Selamat, pertahankan!Penjelasan Baris per Baris
Section titled “Penjelasan Baris per Baris”nilaiAkhir >= batasLulusadalah kondisi boolean.? "LULUS"dipilih jika kondisi true.: "REMEDIAL"dipilih jika kondisi false.- Ternary kedua membandingkan teks status lalu memilih pesan.
if…else vs Ternary
Section titled “if…else vs Ternary”let status: string
if (nilaiAkhir >= batasLulus) { status = "LULUS"} else { status = "REMEDIAL"}Versi pendeknya:
const status = nilaiAkhir >= batasLulus ? "LULUS" : "REMEDIAL"Keduanya benar. Ternary lebih pendek untuk satu keputusan sederhana. Gunakan if...else bila setiap cabang memiliki beberapa baris tindakan.
Kesalahan Umum
Section titled “Kesalahan Umum”const status = nilaiAkhir >= 75 ? "LULUS"Ternary wajib memiliki bagian setelah : untuk kondisi false.
Hindari ternary bertumpuk terlalu panjang. Untuk banyak kategori, gunakan else if agar kode mudah dibaca.
Latihan
Section titled “Latihan”Buat variabel sudahBayarSPP. Dengan ternary, buat teks "Pembayaran tercatat" jika true dan "Silakan hubungi tata usaha" jika false.
Ringkasan
Section titled “Ringkasan”- Bentuk ternary:
kondisi ? hasilTrue : hasilFalse. - Cocok untuk dua hasil sederhana.
- Pilih
if...elsejika logika lebih panjang atau lebih dari dua kategori.