Masukkan Password
08 1.7 Relational Operators in Dart Programming Language | Learn Dart Language | Dart Course
Kita lanjutkan dari materi sebelumnya tentang assignment operator. Di materi ini kita belajar relational operators (operator relasional) dalam Dart.
Ada sedikit kesalahan transkripsi di caption: beberapa kali tertulis “DOT programming language” atau “do programming language”. Yang dimaksud sebenarnya adalah Dart programming language.
1. Apa itu Relational Operator?
Relational operator adalah operator yang digunakan untuk membandingkan dua nilai.
Misalnya:
- Apakah
10lebih besar dari5? - Apakah
10lebih kecil dari20? - Apakah
10sama dengan10? - Apakah
10tidak sama dengan5?
Hasil dari perbandingan tersebut selalu berupa Boolean, yaitu:
true
atau
false
Jadi, gampangnya:
Relational operator = operator untuk bertanya “benar atau salah?” terhadap suatu perbandingan.
Contoh:
print(3 > 5);
Dibaca:
Apakah 3 lebih besar dari 5?
Jawabannya tentu:
false
Karena 3 memang tidak lebih besar dari 5.
2. Apa itu Boolean?
Karena relational operator menghasilkan Boolean, kita perlu memahami Boolean terlebih dahulu.
Boolean hanya memiliki dua kemungkinan nilai:
true
dan
false
Contoh:
bool hasil = 10 > 5;
print(hasil);
Output:
true
Sedangkan:
bool hasil = 10 < 5;
print(hasil);
Output:
false
Bayangkan Boolean seperti pertanyaan Ya/Tidak:
| Pertanyaan | Jawaban |
|---|---|
| Apakah 10 > 5? | true |
| Apakah 10 < 5? | false |
| Apakah 10 == 10? | true |
| Apakah 10 != 10? | false |
3. Daftar Relational Operator di Dart
Ada beberapa operator relasional yang perlu kamu kuasai:
| Operator | Nama | Arti |
|---|---|---|
> | Greater than | lebih besar dari |
< | Less than | lebih kecil dari |
>= | Greater than or equal to | lebih besar atau sama dengan |
<= | Less than or equal to | lebih kecil atau sama dengan |
== | Equal to | sama dengan |
!= | Not equal to | tidak sama dengan |
Sekarang kita bahas satu per satu.
4. Greater Than >
Simbol:
>
Artinya:
lebih besar dari
Contoh:
print(10 > 5);
Apakah 10 lebih besar dari 5?
Ya.
Output:
true
Contoh lainnya:
print(3 > 5);
Apakah 3 lebih besar dari 5?
Tidak.
Output:
false
Cara membacanya
10 > 5
dibaca:
“10 lebih besar dari 5.”
Sedangkan:
3 > 5
dibaca:
“3 lebih besar dari 5.”
Dan hasilnya tentu false.
Contoh visual
10 > 5
↑ ↑
kiri kanan
Operator > menanyakan:
Apakah nilai sebelah kiri lebih besar daripada nilai sebelah kanan?
5. Less Than <
Simbol:
<
Artinya:
lebih kecil dari
Contoh:
print(3 < 5);
Apakah 3 lebih kecil dari 5?
Ya.
Output:
true
Contoh:
print(10 < 5);
Apakah 10 lebih kecil dari 5?
Tidak.
Output:
false
Ingat arah simbolnya
3 < 5
Artinya:
3 lebih kecil dari 5.
Kamu bisa membayangkan bagian yang terbuka dari simbol menghadap angka yang lebih besar:
3 < 5
^
6. Greater Than or Equal To >=
Simbol:
>=
Artinya:
lebih besar atau sama dengan
Ini sedikit lebih penting karena memiliki dua kemungkinan.
Misalnya:
print(5 >= 3);
Apakah 5 lebih besar dari 3?
Ya.
Hasil:
true
Sekarang:
print(5 >= 5);
Apakah 5 lebih besar dari 5?
Tidak.
Tetapi…
Apakah 5 sama dengan 5?
Ya.
Karena operatornya adalah:
>=
yang berarti:
lebih besar ATAU sama dengan.
Maka hasilnya:
true
Contoh lengkap
print(10 >= 5); // true
print(10 >= 10); // true
print(5 >= 10); // false
Perhatikan:
10 >= 10
hasilnya tetap true, karena walaupun 10 tidak lebih besar dari 10, dia sama dengan 10.
7. Less Than or Equal To <=
Simbol:
<=
Artinya:
lebih kecil atau sama dengan
Contoh:
print(3 <= 5);
Apakah 3 lebih kecil dari 5?
Ya.
Hasil:
true
Contoh:
print(5 <= 5);
Apakah 5 lebih kecil dari 5?
Tidak.
Tetapi apakah 5 sama dengan 5?
Ya.
Jadi:
true
Contoh:
print(10 <= 5);
Apakah 10 lebih kecil dari 5?
Tidak.
Apakah 10 sama dengan 5?
Tidak.
Jadi:
false
Contoh lengkap
print(3 <= 5); // true
print(5 <= 5); // true
print(10 <= 5); // false
8. Equal To ==
Nah, ini sangat penting.
Operator untuk membandingkan apakah dua nilai sama adalah:
==
Perhatikan ada dua tanda sama dengan.
Contoh:
print(3 == 3);
Pertanyaannya:
Apakah 3 sama dengan 3?
Ya.
Hasil:
true
Sedangkan:
print(3 == 5);
Pertanyaannya:
Apakah 3 sama dengan 5?
Tidak.
Hasil:
false
9. Bedakan = dan ==
Ini salah satu kesalahan yang sangat sering dilakukan pemula.
Kita sudah belajar sebelumnya bahwa:
=
adalah assignment operator.
Artinya kita memberikan nilai kepada variabel.
Contoh:
int age = 20;
Artinya:
Simpan nilai
20ke dalam variabelage.
Sedangkan:
==
digunakan untuk membandingkan.
Contoh:
print(age == 20);
Artinya:
Apakah nilai
agesama dengan20?
Hasilnya:
true
Jadi:
| Operator | Fungsi |
|---|---|
= | memberikan/mengisi nilai |
== | membandingkan kesamaan |
Contoh
int a = 10;
Ini assignment.
Kemudian:
print(a == 10);
Ini comparison.
Hasil:
true
Cara mengingat:
=→ “isi”==→ “bandingkan”
10. Not Equal !=
Operator:
!=
Artinya:
tidak sama dengan
Contoh:
print(3 != 5);
Pertanyaannya:
Apakah 3 tidak sama dengan 5?
Ya.
Maka:
true
Sekarang:
print(3 != 3);
Pertanyaannya:
Apakah 3 tidak sama dengan 3?
Tidak, karena keduanya sama.
Maka:
false
Contoh
print(10 != 20); // true
print(10 != 10); // false
print(5 != 3); // true
print(5 != 5); // false
11. Perhatikan Pola == dan !=
Kedua operator ini sebenarnya berlawanan.
3 == 3
hasilnya:
true
Sedangkan:
3 != 3
hasilnya:
false
Kemudian:
3 == 5
hasil:
false
dan:
3 != 5
hasil:
true
Bisa dibuat seperti ini:
| Kondisi | == | != |
|---|---|---|
3 dan 3 | true | false |
3 dan 5 | false | true |
10 dan 10 | true | false |
10 dan 20 | false | true |
12. Menggunakan Relational Operator pada Variabel
Relational operator tidak hanya digunakan untuk angka langsung.
Kita juga bisa membandingkan variabel.
Contoh:
int a = 10;
int b = 20;
print(a > b);
Yang sebenarnya dibandingkan adalah:
10 > 20
Jadi hasilnya:
false
Karena 10 tidak lebih besar dari 20.
Menggunakan <
int a = 10;
int b = 20;
print(a < b);
Artinya:
10 < 20
Hasil:
true
Menggunakan ==
int a = 10;
int b = 20;
print(a == b);
Artinya:
10 == 20
Hasil:
false
Menggunakan !=
int a = 10;
int b = 20;
print(a != b);
Artinya:
10 != 20
Karena 10 memang tidak sama dengan 20, hasilnya:
true
13. Contoh Program Lengkap
Kita bisa membuat program sederhana seperti ini:
void main() {
int a = 10;
int b = 20;
print(a > b);
print(a < b);
print(a >= b);
print(a <= b);
print(a == b);
print(a != b);
}
Output:
false
true
false
true
false
true
Mari kita periksa satu per satu:
a > b
10 > 20
false
a < b
10 < 20
true
a >= b
10 >= 20
10 tidak lebih besar dan tidak sama dengan 20.
false
a <= b
10 <= 20
10 lebih kecil dari 20.
true
a == b
10 == 20
Tidak sama.
false
a != b
10 != 20
Memang tidak sama.
true
14. Analogi Sederhana
Bayangkan ada dua orang:
Andi punya 10 apel
Budi punya 20 apel
Kita simpan:
int andi = 10;
int budi = 20;
Kemudian kita bertanya:
Apakah Andi punya lebih banyak?
print(andi > budi);
Jawaban:
false
Apakah Andi punya lebih sedikit?
print(andi < budi);
Jawaban:
true
Apakah jumlah apel mereka sama?
print(andi == budi);
Jawaban:
false
Apakah jumlah apel mereka berbeda?
print(andi != budi);
Jawaban:
true
Jadi relational operator sebenarnya seperti pertanyaan kepada program.
“Apakah kondisi ini benar?”
Program kemudian menjawab:
trueataufalse.
15. Relational Operator Sangat Penting untuk if
Meskipun materi ini baru membahas operator, sebenarnya operator relasional akan sangat sering digunakan ketika kita belajar percabangan (if).
Misalnya:
int age = 20;
if (age >= 18) {
print("Boleh membuat KTP");
}
Di sini:
age >= 18
menghasilkan Boolean.
Karena:
20 >= 18
adalah:
true
maka kode di dalam if dijalankan.
Jadi hubungan konsepnya:
Relational Operator
↓
menghasilkan
↓
true / false
↓
bisa digunakan oleh
↓
if / else
Ini sebabnya kamu perlu benar-benar memahami operator relasional sebelum masuk ke materi percabangan.
16. Contoh Dunia Nyata
Misalnya aplikasi ingin mengecek umur:
int age = 20;
print(age >= 18);
Hasil:
true
Artinya:
Apakah umur minimal 18 tahun?
Ya.
Contoh lain, mengecek harga:
int price = 50000;
print(price <= 100000);
Hasil:
true
Artinya:
Apakah harga maksimal 100.000?
Ya.
Contoh mengecek password atau kode:
int pin = 1234;
print(pin == 1234);
Hasil:
true
Artinya:
Apakah PIN yang diberikan sama dengan PIN yang benar?
Ya.
17. Kesalahan yang Sering Dilakukan Pemula
Kesalahan 1 — Menggunakan = untuk membandingkan
Jangan berpikir:
a = 10
berarti “apakah a sama dengan 10?”
Bukan.
Itu berarti:
Masukkan nilai
10kea.
Untuk membandingkan gunakan:
a == 10
Kesalahan 2 — Salah membaca >=
10 >= 10
adalah:
true
Karena >= berarti:
lebih besar atau sama dengan
Jadi tidak harus lebih besar. Sama pun boleh.
Kesalahan 3 — Salah membaca <=
10 <= 10
juga:
true
Karena berarti:
lebih kecil atau sama dengan
Kesalahan 4 — Mengira != berarti sama
Justru sebaliknya.
10 != 20
berarti:
10 tidak sama dengan 20.
Hasil:
true
18. Cara Cepat Mengingat Semua Operator
Coba hafalkan seperti ini:
> lebih besar
< lebih kecil
>= lebih besar atau sama
<= lebih kecil atau sama
== sama
!= tidak sama
Atau:
| Operator | Cara baca sederhana |
|---|---|
> | lebih besar |
< | lebih kecil |
>= | lebih besar / sama |
<= | lebih kecil / sama |
== | sama |
!= | tidak sama |
19. Bedakan Assignment dan Relational Operator
Ini penting karena materi sebelumnya adalah assignment operator.
Assignment
int score = 100;
= digunakan untuk menyimpan nilai.
Relational
score >= 80
>= digunakan untuk membandingkan nilai.
Contohnya:
int score = 100;
print(score >= 80);
Alurnya:
score = 100
↓
bandingkan
↓
100 >= 80
↓
true
Jadi:
Assignment → memberi nilai Relational → membandingkan nilai
20. Contoh Latihan
Coba tebak hasilnya sebelum melihat jawabannya.
Soal 1
print(10 > 5);
Jawaban:
true
Soal 2
print(10 < 5);
Jawaban:
false
Soal 3
print(10 >= 10);
Jawaban:
true
Soal 4
print(10 <= 5);
Jawaban:
false
Soal 5
print(10 == 10);
Jawaban:
true
Soal 6
print(10 != 10);
Jawaban:
false
Soal 7
int a = 15;
int b = 10;
print(a > b);
print(a == b);
print(a != b);
Hasil:
true
false
true
Karena:
15 > 10 → true
15 == 10 → false
15 != 10 → true
21. Kesimpulan
Relational operator digunakan untuk membandingkan dua nilai.
Yang paling penting untuk kamu kuasai:
> // lebih besar
< // lebih kecil
>= // lebih besar atau sama
<= // lebih kecil atau sama
== // sama dengan
!= // tidak sama dengan
Dan semuanya menghasilkan:
true
atau:
false
Misalnya:
int a = 10;
int b = 20;
print(a > b); // false
print(a < b); // true
print(a >= b); // false
print(a <= b); // true
print(a == b); // false
print(a != b); // true
🧠 Kunci utama yang harus diingat
Relational operator = membandingkan.
Hasilnya = Boolean (
trueataufalse).
Dan satu hal yang jangan sampai tertukar:
= // assignment, memberi/mengubah nilai
== // comparison, membandingkan apakah sama
Setelah memahami ini, materi berikutnya biasanya akan terasa lebih mudah karena operator relasional adalah dasar untuk membuat kondisi if, else, else if, dan logika program.