Masukkan Password
22 The Complete Kotlin Course #21- [Exercise 1] Boolean Expressions - Kotlin Tutorials for Beginners
Latihan ini sebenarnya sangat bagus untuk melatih cara berpikir Boolean, terutama setelah kita belajar Boolean, operator perbandingan, &&, dan ||.
Inti latihan ini adalah: jangan langsung melihat seluruh ekspresi sebagai sesuatu yang rumit. Pecah menjadi bagian-bagian kecil, hitung satu per satu, lalu gabungkan hasilnya.
1. Tujuan latihan
Di soal ini ada 4 konstanta:
q1
q2
q3
q4
Masing-masing berisi Boolean expression, misalnya:
val q1 = true && true
Tugas kita adalah menentukan apakah hasil akhirnya:
true
atau
false
Untuk mengerjakannya, kita perlu mengingat aturan:
&& — AND
&& menghasilkan true hanya jika kedua sisi true.
| A | B | A && B |
|---|---|---|
| true | true | true |
| true | false | false |
| false | true | false |
| false | false | false |
Cara mengingatnya:
AND = semua harus benar.
|| — OR
|| menghasilkan true jika minimal salah satu sisi true.
| A | B | A || B |
|—|—|—|
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
Cara mengingatnya:
OR = cukup salah satu benar.
2. Q1
Dari subtitle:
val q1 = true && true
Kita punya:
true && true
Karena && membutuhkan keduanya true, maka:
true && true
↓
true
Jadi:
q1 = true
Cara berpikirnya
Bayangkan:
“Apakah A benar DAN B benar?”
A = true ✅ B = true ✅
Karena keduanya benar:
true && true = true
3. Q2
Soalnya:
val q2 = false || false
Sekarang operatornya adalah ||, yaitu OR.
Aturan OR:
Minimal satu harus
trueagar hasilnyatrue.
Tetapi di sini:
false || false
Keduanya false.
Maka:
false || false
↓
false
Jadi:
q2 = false
Ingat pola OR
Dari empat kemungkinan OR:
true || true → true
true || false → true
false || true → true
false || false → false
Jadi hanya satu kombinasi yang menghasilkan false, yaitu:
false || false
4. Q3 — mulai lebih menarik
Soalnya kira-kira:
val q3 = (true && true) || (4 > 3 && 100 < 1)
Nah, jangan langsung mencoba membaca semuanya sekaligus.
Kita pecah menjadi:
(true && true)
||
(4 > 3 && 100 < 1)
Ada dua bagian besar:
Bagian kiri
true && true
Bagian kanan
4 > 3 && 100 < 1
Kemudian hasil keduanya digabung dengan:
||
Langkah 1 — hitung bagian kiri
true && true
Hasilnya:
true
Jadi sekarang ekspresinya menjadi:
true || (4 > 3 && 100 < 1)
Langkah 2 — hitung bagian kanan
Kita punya:
4 > 3 && 100 < 1
Pecah lagi.
4 > 3
Apakah 4 lebih besar dari 3?
Ya.
4 > 3 → true
100 < 1
Apakah 100 lebih kecil dari 1?
Tidak.
100 < 1 → false
Jadi bagian kanan menjadi:
true && false
Karena && membutuhkan keduanya true:
true && false → false
Jadi sekarang seluruh ekspresi menjadi:
true || false
Karena OR membutuhkan minimal satu true:
true || false → true
Maka:
q3 = true
5. Perhatikan sesuatu yang sangat penting pada Q3
Sebenarnya setelah kita mengetahui:
true || ...
kita sudah tahu hasil akhirnya pasti true.
Misalnya:
true || true → true
true || false → true
Apa pun yang ada di sebelah kanan, selama sebelah kiri sudah true, hasil OR tetap true.
Jadi:
true || sesuatu
pasti:
true
Sebaliknya:
false && sesuatu
pasti:
false
Ini adalah pola yang sangat berguna ketika nanti mengerjakan kondisi yang panjang.
6. Q4 — ada operator matematika juga
Bagian terakhir lebih menarik karena tidak hanya Boolean.
Soalnya kira-kira:
val q4 = (10 / 2 > 3) && (10 % 2 == 0)
Kita memiliki:
(10 / 2 > 3)
&&
(10 % 2 == 0)
Jangan langsung memproses &&.
Kita selesaikan masing-masing sisi terlebih dahulu.
Langkah 1 — bagian kiri
10 / 2 > 3
Kerjakan pembagian:
10 / 2 = 5
Jadi:
5 > 3
Apakah 5 lebih besar dari 3?
Ya.
5 > 3 → true
Jadi bagian kiri menghasilkan:
true
7. Langkah 2 — bagian kanan
Sekarang:
10 % 2 == 0
Operator % disebut modulo.
Modulo menghasilkan sisa pembagian.
Contoh:
10 % 2
Artinya:
Berapa sisa ketika 10 dibagi 2?
Karena:
10 / 2 = 5
tidak ada sisa.
Maka:
10 % 2 = 0
Kemudian kita punya:
0 == 0
== berarti membandingkan apakah kedua nilai sama.
Jadi:
0 == 0 → true
Bagian kanan menghasilkan:
true
8. Sekarang gabungkan Q4
Kita sudah mendapatkan:
true && true
Karena AND membutuhkan keduanya true:
true && true → true
Jadi:
q4 = true
9. Ringkasan semua jawaban
Hasil akhirnya:
| Konstanta | Ekspresi | Hasil | ||
|---|---|---|---|---|
q1 | true && true | true | ||
q2 | `false | false` | false | |
q3 | `(true && true) | (4 > 3 && 100 < 1)` | true | |
q4 | (10 / 2 > 3) && (10 % 2 == 0) | true |
Jadi:
q1 = true
q2 = false
q3 = true
q4 = true
10. Cara berpikir yang paling penting dari latihan ini
Jangan menghafal ekspresi panjang. Gunakan pola:
Ekspresi panjang
↓
pecah menjadi bagian kecil
↓
hitung operator matematika
↓
hitung operator perbandingan
↓
dapatkan true / false
↓
gabungkan dengan && atau ||
↓
hasil akhir
Contohnya Q4:
(10 / 2 > 3) && (10 % 2 == 0)
Kita ubah secara bertahap:
(5 > 3) && (0 == 0)
kemudian:
true && true
kemudian:
true
Itulah cara menyederhanakan Boolean expression.
11. Hubungannya dengan materi sebelumnya
Latihan ini sebenarnya menggabungkan beberapa materi yang sudah kamu pelajari.
Operator matematika
10 / 2
10 % 2
↓
menghasilkan angka.
Operator perbandingan
5 > 3
0 == 0
↓
menghasilkan Boolean.
true
false
Logical operator
Kemudian Boolean tersebut bisa digabung:
true && true
atau:
true || false
↓
menghasilkan Boolean lagi.
Jadi alurnya:
10 / 2
↓
5
↓
5 > 3
↓
true
Lalu:
true && true
↓
true
12. Contoh di program Kotlin
Misalnya kita benar-benar menulisnya:
fun main() {
val q1 = true && true
val q2 = false || false
val q3 = (true && true) || (4 > 3 && 100 < 1)
val q4 = (10 / 2 > 3) && (10 % 2 == 0)
println(q1)
println(q2)
println(q3)
println(q4)
}
Output:
true
false
true
true
13. Tentang fitur “Simplify Boolean Expression” di IntelliJ
Di video, instruktur menggunakan fitur IDE untuk menyederhanakan:
true && true
menjadi:
true
Ini memang membantu, tetapi jangan terlalu bergantung pada fitur tersebut.
Tujuan latihan ini bukan sekadar mengetahui bahwa IntelliJ bisa memberikan jawaban.
Yang lebih penting adalah kamu bisa melihat:
(10 / 2 > 3) && (10 % 2 == 0)
dan berpikir sendiri:
“Oke, kiri jadi
true, kanan jaditrue, berartitrue && true, hasilnyatrue.”
Kalau kemampuan ini sudah terbentuk, nanti ketika melihat kondisi seperti:
if (age >= 18 && hasId && balance > price) {
println("Transaction allowed")
}
kamu tidak akan merasa ekspresinya menakutkan.
14. Koreksi kecil dari subtitle
Ada beberapa hal yang perlu diluruskan:
1. && bukan matematika biasa
&& adalah logical AND.
Sedangkan:
>
<
>=
<=
==
!=
adalah comparison operators.
Keduanya menghasilkan Boolean, tetapi fungsinya berbeda.
2. % bukan pembagian
Misalnya:
10 / 2
hasilnya:
5
Sedangkan:
10 % 2
hasilnya:
0
Karena % mencari sisa pembagian.
Contoh lain:
11 % 2 = 1
12 % 2 = 0
13 % 2 = 1
Itu sebabnya % sering digunakan untuk mengecek apakah angka genap:
number % 2 == 0
Artinya:
“Apakah sisa pembagian angka ini dengan 2 adalah 0?”
Kalau iya, berarti angka tersebut genap.
15. Pola yang wajib kamu ingat
Untuk sekarang, cukup kuasai empat pola ini:
AND
true && true → true
Selain itu → false.
OR
false || false → false
Selain itu → true.
Perbandingan
5 > 3 → true
5 < 3 → false
5 == 5 → true
5 != 5 → false
Gabungkan
comparison
↓
Boolean
↓
&& / ||
↓
Boolean lagi
Jadi sebenarnya Boolean expression panjang hanyalah permainan mengubah sesuatu menjadi true atau false, lalu menggabungkan true/false tersebut.
Kunci latihan ini: pecah ekspresi → hitung bagian kecil → ubah menjadi
true/false→ gabungkan lagi.
Dan ini merupakan fondasi penting sebelum masuk lebih jauh ke if, while, when, validasi input, dan logika program yang lebih kompleks.