Operator Relasional Dart

Operator relasional adalah simbol perhitungan yang digunakan untuk melakukan berbagai perbandingan ukuran. Kita sering menggunakannya dalam matematika.

Tabel Operator Relasional

OperatorKeterangan
==Sama (pengecekan kesamaan nilai)
!=Tidak sama
>Lebih besar dari
<Lebih kecil dari
>=Lebih besar atau sama dengan
<=Lebih kecil atau sama dengan

Operator == juga bisa digunakan pada objek lain

Aturan Inti Operator Sama ==

== berfungsi untuk mengecek apakah nilai yang diwakili dua variabel / objek adalah sama; jika perlu memverifikasi secara ketat apakah dua referensi menunjuk ke objek memori yang persis sama, jangan gunakan ==, gunakan fungsi khusus identical().

Penanganan Khusus Nilai Kosong (null) Jika salah satu sisi bernilai null:

  • Kedua sisi adalah null → mengembalikan true
  • Hanya satu sisi yang bernilai null → mengembalikan false

Logika Eksekusi Objek Biasa Sama halnya dengan memanggil metode == dari operan pertama: x.==(y). Operator pada dasarnya adalah metode anggota milik operan.

Semua output di bawah bernilai true: null tidak sama dengan 0 maupun string kosong «»

void main() {
	// Kedua sisi null, hasil dari == adalah true
	print(null == null); //true
	// Satu sisi null, sisi lain ada nilai, hasil dari == adalah false
	print(null != 0); //true
	print(null != ""); //true
}
Code language: PHP (php)

Lihat contoh lengkapnya

void main() {
	// == Perbandingan kesamaan
	print(2 == 2);
	print("dart" == "dart");
	print([1,2] == [1,2]);

	// != Perbandingan ketidaksamaan
	print(2 != 3);
	print(true != false);

	// > Lebih besar dari
	print(3 > 2);
	print(10 > -5);

	// < Lebih kecil dari
	print(2 < 3);
	print(-1 < 0);

	// >= Lebih besar atau sama dengan
	print(3 >= 3);
	print(5 >= 2);

	// <= Lebih kecil atau sama dengan
	print(2 <= 3);
	print(4 <= 4);
}
Code language: Dart (dart)

Hasil Eksekusi

true
true
false
true
true
true
true
true
true
true
true
true
trueCode language: JavaScript (javascript)

Perbedaan antara == dan identical()

void main() {
	var a = [1, 2];
	var b = [1, 2];
	
	// == pada List membandingkan referensi objek; a dan b adalah dua array berbeda, hasilnya false
	print(a == b);
	
	// identical mengecek apakah objek memori sama; a dan b array berbeda, mengembalikan false
	print(identical(a, b));
	
	// c mereferensikan a secara langsung, menunjuk objek yang sama, identical mengembalikan true
	var c = a;
	print(identical(a, c));
}
Code language: PHP (php)

Tambahan: Jika ingin membandingkan isi dua list, gunakan listEquals

import 'package:flutter/foundation.dart';
listEquals(a, b); // true, membandingkan setiap elemen arrayCode language: JavaScript (javascript)

Perbandingan String

Hanya boleh pakai == dan != untuk membandingkan string

void main() {
	// Operasi relasional / kesamaan string
	print("apple" != "banana"); //true
	print("apple" == "apple"); //true
	//print("zoo" > "apple"); // Error, string tidak bisa pakai > < >= <=, hanya == != untuk cek sama atau tidak

	// Perbandingan kesamaan nilai boolean
	print(true == true);  //true
	print(true != false);  //true
}
Code language: PHP (php)

Operator Relasional Digabung Operator Aritmatika

Berdasarkan materi sebelumnya, kita tahu urutan prioritas: operasi aritmatika > operasi relasional; penjumlahan, pengurangan, perkalian dan pembagian akan dihitung duluan, baru kemudian dilakukan perbandingan ukuran dan kesamaan;

void main() {
  // Hitung ekspresi aritmatika di kedua sisi terlebih dahulu, baru bandingkan
  print(10 + 5 == 3 * 5); // 15 == 15 → true
  print(20 - 3 != 8 + 9); // 17 != 17 → false
  print(12 + 4 > 5 + 6);  // 16 > 11 → true
  print(9 - 7 < 10 - 1);  // 2 < 9 → true
  print(6 + 2 >= 4 * 2);  // 8 >= 8 → true
  print(15 - 8 <= 3 + 5); // 7 <= 8 → true
}Code language: PHP (php)

Pada contoh di atas, ekspresi matematika di kedua sisi operator relasional akan dihitung terlebih dahulu, kemudian hasilnya dibandingkan.

Leave a Reply

Your email address will not be published. Required fields are marked *