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.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *