Masukkan Password
14 The Complete Kotlin Course #13 - Comparison Operators - Kotlin Tutorials for Beginners
Karena transcript ini sama dengan materi sebelumnya, saya akan menjelaskannya lagi dengan cara yang lebih runtut dan lebih menekankan cara berpikirnya, supaya konsepnya benar-benar nyambung sebelum kamu masuk ke if, else, dan when.
1. Gambaran besar: Control Flow
Dalam program, komputer harus tahu:
“Kalau kondisi A terjadi, saya harus melakukan apa? Kalau kondisi B terjadi, saya harus melakukan apa?”
Contoh kalkulator.
User menekan tombol:
User menekan tombol
↓
┌───────┴───────┐
↓ ↓
"+" "-"
↓ ↓
Penjumlahan Pengurangan
Misalnya:
5 + 6 = 11
5 - 6 = -1
Program harus bisa membedakan situasi tersebut.
Cara program menentukan jalannya eksekusi inilah yang disebut:
Control Flow
2. Apa sebenarnya “flow” dalam program?
Secara sederhana, program biasanya berjalan dari atas ke bawah:
fun main() {
println("A")
println("B")
println("C")
}
Alurnya:
Mulai
↓
Print A
↓
Print B
↓
Print C
↓
Selesai
Tetapi program nyata tidak sesederhana itu.
Kita mungkin ingin:
Apakah user sudah login?
↓
┌───┴───┐
↓ ↓
YA TIDAK
↓ ↓
Beranda Login
Atau:
Apakah umur >= 18?
↓
┌───┴───┐
↓ ↓
true false
↓ ↓
Dewasa Anak
Nah, Boolean + comparison operator akan menjadi dasar untuk membuat keputusan tersebut.
3. Boolean adalah “jawaban pertanyaan”
Kita sudah belajar bahwa Boolean hanya punya dua nilai:
true
false
Cara paling mudah memahaminya:
Boolean adalah jawaban “ya/tidak” atau “benar/salah” dari sebuah kondisi.
Contoh:
val isOnline = true
Artinya:
Apakah user sedang online?
Jawabannya:
true
Contoh:
val isAdult = false
Artinya:
Apakah user sudah dewasa?
Jawabannya:
false
4. Boolean bisa dihasilkan dari perbandingan
Ini bagian yang sangat penting.
Boolean tidak harus ditulis secara langsung:
val isOnline = true
Boolean juga bisa dihasilkan dari comparison.
Contoh:
val age = 20
val isAdult = age >= 18
Kotlin mengevaluasi:
20 >= 18
Jawabannya:
true
Jadi:
age >= 18
↓
true
↓
Boolean
Maka:
isAdult
berisi:
true
5. Apa itu Comparison Operator?
Comparison operator adalah operator yang digunakan untuk membandingkan nilai.
Contohnya:
1 == 2
Kita sedang bertanya:
“Apakah 1 sama dengan 2?”
Jawabannya:
false
Karena hasilnya hanya bisa true atau false, maka hasil comparison adalah Boolean.
Jadi:
1 == 2
↓
false
↓
Boolean
6. Enam Comparison Operator
Ini adalah bagian yang perlu kamu kuasai:
| Operator | Dibaca | Contoh | Hasil |
|---|---|---|---|
== | sama dengan | 5 == 5 | true |
!= | tidak sama dengan | 5 != 3 | true |
> | lebih besar dari | 5 > 3 | true |
>= | lebih besar atau sama dengan | 5 >= 5 | true |
< | lebih kecil dari | 3 < 5 | true |
<= | lebih kecil atau sama dengan | 3 <= 5 | true |
Mari kita pelajari satu per satu.
7. == → sama dengan
Operator:
==
digunakan untuk mengecek:
Apakah kedua nilai sama?
Contoh:
val result = 1 == 2
Bacanya:
“Apakah 1 sama dengan 2?”
Jawaban:
false
Karena:
1 ≠ 2
Contoh lain:
val result = 5 == 5
Bacanya:
“Apakah 5 sama dengan 5?”
Jawaban:
true
8. Jangan tertukar = dan ==
Ini wajib banget kamu pahami.
=
Digunakan untuk memberikan nilai.
val age = 20
Artinya:
Simpan nilai
20ke dalamage.
==
Digunakan untuk membandingkan.
age == 20
Artinya:
Apakah
agesama dengan20?
Jadi:
= → memberikan nilai
== → membandingkan nilai
Contoh:
val age = 20
↓
age → 20
Kemudian:
age == 20
↓
20 == 20
↓
true
9. != → tidak sama dengan
Operator:
!=
artinya:
Apakah nilainya tidak sama?
Contoh:
val result = 1 != 2
Baca:
“Apakah 1 tidak sama dengan 2?”
Jawaban:
true
Karena memang:
1 ≠ 2
Tetapi:
val result = 5 != 5
hasilnya:
false
Karena:
5 = 5
10. Apa hubungan ! dengan !=?
Tanda:
!
disebut NOT operator.
Fungsinya membalik Boolean.
true → false
false → true
Contoh:
!true
hasil:
false
Dan:
!false
hasil:
true
Misalnya:
val result = 1 == 2
hasil:
false
Kemudian:
val result = !(1 == 2)
menjadi:
!(false)
kemudian:
true
Karena itu secara konsep:
1 != 2
berhubungan dengan:
!(1 == 2)
11. > → lebih besar dari
Operator:
>
artinya:
lebih besar dari
Contoh:
5 > 2
Baca:
Apakah 5 lebih besar dari 2?
Jawaban:
true
Karena:
5 > 2
Tetapi:
2 > 5
hasilnya:
false
12. >= → lebih besar atau sama dengan
Operator:
>=
artinya:
lebih besar dari atau sama dengan.
Contoh:
5 >= 5
Hasil:
true
Mengapa?
Karena 5 memang sama dengan 5.
Contoh:
10 >= 5
juga:
true
Karena 10 lebih besar dari 5.
Tetapi:
3 >= 5
hasil:
false
13. < → lebih kecil dari
Operator:
<
artinya:
lebih kecil dari.
Contoh:
1 < 2
hasil:
true
Karena 1 lebih kecil dari 2.
Sedangkan:
5 < 2
hasil:
false
14. <= → lebih kecil atau sama dengan
Operator:
<=
artinya:
lebih kecil dari atau sama dengan.
Contoh:
5 <= 5
hasil:
true
Karena nilainya sama.
Contoh:
3 <= 5
hasil:
true
Karena 3 lebih kecil dari 5.
Sedangkan:
8 <= 5
hasil:
false
15. Cara cepat memahami keenam operator
Bayangkan kita punya:
A = 5
B = 10
Maka:
A == B
→ apakah 5 sama dengan 10?
false
A != B
→ apakah 5 tidak sama dengan 10?
true
A > B
→ apakah 5 lebih besar dari 10?
false
A >= B
→ apakah 5 lebih besar atau sama dengan 10?
false
A < B
→ apakah 5 lebih kecil dari 10?
true
A <= B
→ apakah 5 lebih kecil atau sama dengan 10?
true
16. Semua comparison menghasilkan Boolean
Ini mungkin konsep paling penting dari materi ini.
Lihat:
10 == 10
Hasil:
true
Maka:
10 == 10 → Boolean
Begitu juga:
10 != 5
→ Boolean
10 > 5
→ Boolean
10 >= 10
→ Boolean
10 < 20
→ Boolean
10 <= 20
→ Boolean
Jadi pola besarnya:
Perbandingan
↓
true / false
↓
Boolean
17. Kenapa ini disebut “Expression”?
Contoh:
10 > 5
adalah sebuah expression.
Expression adalah sesuatu yang menghasilkan sebuah nilai.
Di sini:
10 > 5
↓
true
Jadi expression tersebut menghasilkan nilai:
true
yang tipenya:
Boolean
Contoh:
val result = 10 > 5
Alurnya:
10 > 5
↓
true
↓
result
Maka:
result = true
18. Inilah dasar dari if
Sekarang kita mulai bisa melihat mengapa materi ini dipelajari sebelum if.
Misalnya:
val age = 20
Kita ingin mengecek apakah sudah dewasa:
age >= 18
Hasil:
20 >= 18
↓
true
Kemudian nanti bisa digunakan:
if (age >= 18) {
println("Kamu sudah dewasa")
}
Program akan berpikir:
Apakah age >= 18?
↓
true
↓
Jalankan println()
Kalau:
val age = 15
maka:
15 >= 18
↓
false
Sehingga program mengambil jalur berbeda.
19. Contoh nyata: login
Misalnya:
val correctPassword = "12345"
val inputPassword = "12345"
val isCorrect = correctPassword == inputPassword
Kotlin melakukan:
"12345" == "12345"
↓
true
Maka:
isCorrect → true
Nanti bisa:
if (isCorrect) {
println("Login berhasil")
}
Kalau password salah:
"12345" == "abcde"
↓
false
Maka program tahu bahwa kondisi login tidak terpenuhi.
20. Contoh nyata: saldo
Misalnya:
val balance = 100_000
val price = 75_000
Kita bisa mengecek:
val canBuy = balance >= price
Kotlin menghitung:
100000 >= 75000
↓
true
Jadi:
canBuy → true
Nanti:
if (canBuy) {
println("Pembelian berhasil")
}
Ini adalah contoh nyata bagaimana:
Int
↓
Comparison
↓
Boolean
↓
Control Flow
21. “Boolean operator” vs “Comparison operator”
Ada sedikit istilah yang perlu diluruskan dari subtitle.
Video beberapa kali menyebut:
boolean operators
untuk:
== != > >= < <=
Untuk pembelajaran, lebih tepat menyebut keenamnya sebagai:
Comparison Operators
Sedangkan operator logika Boolean biasanya adalah:
&&
||
!
Contohnya nanti:
age >= 18 && hasId
Artinya:
umur minimal 18 DAN punya ID.
Jadi bedakan:
Comparison Operators
== != > >= < <=
Logical/Boolean Operators
&& || !
! memang termasuk operator logika Boolean, sementara != adalah operator “not equal”.
22. Kesalahan subtitle lainnya
Subtitle mengatakan:
“Kotlin has a new type called Boolean”
Ini kurang tepat kalau konteksnya adalah seolah-olah Boolean baru diperkenalkan di Kotlin pada bagian ini.
Sebenarnya kita sudah belajar Boolean sebelumnya.
Materi ini sekarang hanya mulai menggunakan Boolean untuk comparison dan control flow.
23. Cara berpikir yang harus kamu bangun
Mulai sekarang, kalau melihat:
age >= 18
jangan hanya membaca simbolnya.
Biasakan menerjemahkannya ke bahasa manusia:
“Apakah umur setidaknya 18?”
Kalau:
score == 100
baca:
“Apakah score sama dengan 100?”
Kalau:
balance >= price
baca:
“Apakah saldo cukup untuk membayar harga?”
Kalau:
password != input
baca:
“Apakah password berbeda dengan input?”
Dengan cara ini, nanti if dan when akan terasa seperti bahasa manusia.
24. Latihan pemahaman
Coba jawab tanpa menjalankan program.
Soal 1
val result = 10 == 10
Hasil?
Jawaban: true
Soal 2
val result = 10 != 10
Hasil?
Jawaban: false
Soal 3
val result = 5 > 10
Hasil?
Jawaban: false
Soal 4
val result = 5 <= 10
Hasil?
Jawaban: true
Soal 5
val result = 18 >= 18
Hasil?
Jawaban: true
Soal 6
val result = !(10 == 10)
Langkahnya:
10 == 10
↓
true
↓
!true
↓
false
Jadi hasilnya:
false
25. Kesimpulan besar
Materi ini sebenarnya sedang membangun fondasi untuk pengambilan keputusan dalam program.
Urutannya:
DATA
↓
Comparison Operator
↓
true atau false
↓
Boolean
↓
Control Flow
↓
if / else / when
Misalnya:
val age = 20
if (age >= 18) {
println("Dewasa")
}
Bagian:
age >= 18
adalah comparison expression.
Hasilnya:
true
dan hasil itu digunakan oleh if.
Yang benar-benar perlu kamu ingat
= → memberikan nilai
== → apakah sama?
!= → apakah berbeda?
> → lebih besar?
>= → lebih besar atau sama?
< → lebih kecil?
<= → lebih kecil atau sama?
! → membalik Boolean
Dan pola terpenting:
5 > 3
↓
true
↓
Boolean
Jadi comparison operator menghasilkan Boolean, dan Boolean inilah yang nantinya menjadi dasar program untuk mengambil keputusan.
Setelah konsep ini kuat, materi berikutnya tentang if dan else sebenarnya hanya melanjutkan pertanyaan: “Oke, kalau hasil perbandingannya true atau false, lalu program harus melakukan apa?”