Tipe Data: boolean
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah membaca halaman ini, kamu akan mampu:
- Menggunakan tipe
booleanuntuk menyimpan nilai benar atau salah - Memahami kapan boolean digunakan
- Menggunakan operator perbandingan yang menghasilkan boolean
- Menggunakan operator logika:
&&,||,!
Pendahuluan
Section titled “Pendahuluan”Ada banyak situasi dalam kehidupan yang hanya punya dua kemungkinan jawaban: ya atau tidak, benar atau salah, aktif atau nonaktif, lulus atau tidak lulus.
Tipe data boolean dirancang khusus untuk situasi semacam itu.
Penjelasan Materi
Section titled “Penjelasan Materi”boolean adalah tipe data yang hanya memiliki dua kemungkinan nilai:
true— benar / ya / aktiffalse— salah / tidak / nonaktif
Tidak ada nilai lain. Hanya true atau false.
Analogi: Saklar Lampu
Section titled “Analogi: Saklar Lampu”Bayangkan tipe boolean seperti saklar lampu:
Saklar NYALA → trueSaklar MATI → falseSaklar hanya punya dua posisi — tidak ada “setengah nyala”. Begitu pula boolean — hanya true atau false, tidak ada nilai di antaranya.
Contoh penggunaan di kehidupan sehari-hari:
| Situasi | Nilai boolean |
|---|---|
| Siswa hadir | true |
| Siswa tidak hadir | false |
| Sudah mengumpulkan tugas | true |
| Belum mengumpulkan tugas | false |
| Nilai di atas 75 | true atau false bergantung nilainya |
Mari Mencoba
Section titled “Mari Mencoba”Buat file src/bab1/boolean.ts:
// Deklarasi variabel booleanconst sudahLulus: boolean = trueconst sedangSakit: boolean = falselet sudahMengumpulkanTugas: boolean = falselet statusAktif: boolean = true
console.log("Sudah lulus?", sudahLulus)console.log("Sedang sakit?", sedangSakit)console.log("Sudah kumpul tugas?", sudahMengumpulkanTugas)console.log("Status aktif?", statusAktif)
// Mengubah statussudahMengumpulkanTugas = trueconsole.log("Setelah kumpul tugas:", sudahMengumpulkanTugas)Jalankan:
tsx src/bab1/boolean.tsOutput:
Sudah lulus? trueSedang sakit? falseSudah kumpul tugas? falseStatus aktif? trueSetelah kumpul tugas: trueOperator Perbandingan yang Menghasilkan Boolean
Section titled “Operator Perbandingan yang Menghasilkan Boolean”Sering kali nilai boolean tidak langsung ditulis true atau false, tapi dihasilkan dari perbandingan:
let nilai: number = 80
// Operator perbandinganconsole.log(nilai > 75) // true — nilai lebih besar dari 75?console.log(nilai < 60) // false — nilai lebih kecil dari 60?console.log(nilai >= 80) // true — nilai lebih besar atau sama dengan 80?console.log(nilai <= 100) // true — nilai lebih kecil atau sama dengan 100?console.log(nilai === 80) // true — nilai sama persis dengan 80?console.log(nilai !== 90) // true — nilai tidak sama dengan 90?| Operator | Artinya | Contoh | Hasil |
|---|---|---|---|
> |
Lebih besar | 80 > 75 |
true |
< |
Lebih kecil | 80 < 75 |
false |
>= |
Lebih besar atau sama | 80 >= 80 |
true |
<= |
Lebih kecil atau sama | 80 <= 100 |
true |
=== |
Sama persis | 80 === 80 |
true |
!== |
Tidak sama | 80 !== 90 |
true |
Operator Logika
Section titled “Operator Logika”Operator logika digunakan untuk menggabungkan beberapa kondisi boolean:
&& — AND (dan)
Section titled “&& — AND (dan)”Menghasilkan true hanya jika kedua kondisi benar:
let nilai: number = 85let kehadiran: number = 80
let lulusUjian: boolean = nilai >= 75let cukupHadir: boolean = kehadiran >= 75
let bolehIkutUjianSusulan: boolean = lulusUjian && cukupHadirconsole.log("Boleh ikut ujian susulan?", bolehIkutUjianSusulan) // true|| — OR (atau)
Section titled “|| — OR (atau)”Menghasilkan true jika salah satu kondisi benar:
let punyaKTP: boolean = falselet punyaSuratKeterangan: boolean = true
let bisaDaftar: boolean = punyaKTP || punyaSuratKeteranganconsole.log("Bisa daftar?", bisaDaftar) // true! — NOT (bukan)
Section titled “! — NOT (bukan)”Membalik nilai boolean:
let sedangSakit: boolean = falselet bisaMasukSekolah: boolean = !sedangSakitconsole.log("Bisa masuk sekolah?", bisaMasukSekolah) // trueProgram Lengkap: Cek Kelulusan
Section titled “Program Lengkap: Cek Kelulusan”const namaSiswa: string = "Putra"const nilaiAkhir: number = 82const persentaseKehadiran: number = 85
// Syarat lulusconst nilaiMinimum: number = 75const kehadiranMinimum: number = 75
// Cek kondisiconst nilaiLulus: boolean = nilaiAkhir >= nilaiMinimumconst kehadiranCukup: boolean = persentaseKehadiran >= kehadiranMinimumconst dinyatakanLulus: boolean = nilaiLulus && kehadiranCukup
console.log(`=== CEK KELULUSAN: ${namaSiswa} ===`)console.log(`Nilai akhir : ${nilaiAkhir}`)console.log(`Kehadiran : ${persentaseKehadiran}%`)console.log(`Nilai lulus? : ${nilaiLulus}`)console.log(`Hadir cukup? : ${kehadiranCukup}`)console.log(`DINYATAKAN : ${dinyatakanLulus ? "LULUS" : "TIDAK LULUS"}`)Kesalahan Umum
Section titled “Kesalahan Umum”❌ Menulis True / False (huruf besar)
Section titled “❌ Menulis True / False (huruf besar)”let aktif: boolean = True // Error! 'True' bukan booleanlet aktif: boolean = False // Error! 'False' bukan booleanCara memperbaiki:
let aktif: boolean = true // ✓let aktif: boolean = false // ✓❌ Menggunakan == bukannya ===
Section titled “❌ Menggunakan == bukannya ===”let angka: number = 0console.log(angka == false) // true — tidak terduga!console.log(angka === false) // false — benar secara logisLatihan
Section titled “Latihan”Buat file src/bab1/latihan-boolean.ts:
- Buat variabel
namaSiswa(string) dannilai(number) - Buat variabel boolean
lulusUjian— bernilaitruejikanilai >= 70 - Buat variabel boolean
nilaiBagus— bernilaitruejikanilai >= 85 - Tampilkan status: lulus atau tidak, nilai bagus atau tidak
- Gunakan template literal untuk output yang rapi
Ringkasan
Section titled “Ringkasan”booleanhanya punya dua nilai:truedanfalse- Ditulis dengan huruf kecil semua
- Sering dihasilkan dari operator perbandingan:
>,<,>=,<=,===,!== - Operator logika:
&&(dan),||(atau),!(tidak/kebalikan) - Selalu gunakan
===bukan==untuk perbandingan