Dart Operator

Dart Operator

Expression pada pemrograman adalah jenis pernyataan khusus yang mengevaluasi atau menghitung nilai, expression menghasil hasil akhir berupa suatu nilai. Setiap expression terdiri dari :

  • Operand – Mewakili data atau nilai yang akan dihitung.
  • Operator – Menentukan bagaimana operand akan diproses untuk menghasilkan nilai.

Lihat expression berikut : “2 + 3”. Dalam expression tersebut, nilai 2 dan 3 adalah operand dan simbol “+” (plus) adalah operator.

Jenis Dart Operator

Dalam bab ini, akan membahas operator yang tersedia di Dart, yaitu :

  • Operator Aritmatika (Arithmetic)
  • Operator Equality dan Relational
  • Operator Type Test
  • Operator Bitwise
  • Operator Assignment
  • Operator Logical

Operator Arithmetic

Tabel berikut menunjukkan operator aritmatika yang didukung oleh Dart :

NoOperator & Arti
1+ Menambahkan
2Mengurangi
3-expr Unary minus, juga dikenal sebagai negasi (membalikkan tanda ekspresi)
4* Perkalian
5/ Pembagian
6~/ Membagi dan mengembalikan hasil bilangan bulat
7% Mendapatkan sisa pembagian bilangan bulat (modulo)
8++ Kenaikan
9Penurunan

Contoh

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan operator yang berbeda di Dart :

void main() {
   var num1 = 101;
   var num2 = 2;
   var res = 0;
   var res2 = 0.0;

   res = num1+num2;
   print("Pertambahan: ${res}");

   res = num1-num2;
   print("Pengurangan: ${res}");

   res = num1*num2;
   print("Perkalian: ${res}");

   res2 = num1/num2;
   print("Pembagian: ${res2}");

   res = num1~/num2;
   print("Pembagian yang menghasilkan tipe Integer: ${res}");

   res = num1%num2;
   print("Sisa: ${res}");

   num1++;
   print("Increment: ${num1}");

   num2--;
   print("Decrement: ${num2}");
}

Kode di atas akan menghasilkan output berikut :

Pertambahan: 103
Pengurangan: 99
Perkalian: 202
Pembagian: 50.5
Pembagian yang menghasilkan tipe Integer: 50
Sisa: 1
Increment: 102
Decrement: 1

Operator Equality dan Relational

Operator equality dan relational menguji atau mendefinisikan jenis hubungan antara dua nilai. Operator relational mengembalikan nilai Boolean yaitu true/false.

Asumsikan nilai A adalah 10 dan B adalah 20.

OperatorKeteranganContoh
>Lebih besar dari(A > B) False
<Kurang dari(A < B) True
>=Lebih dari atau sama dengan(A >= B) False
<=Kurang dari atau sama dengan(A <= B) True
==Persamaan(A==B) False
!=Tidak sama(A!=B) True

Contoh

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan operator equality dan relational di Dart :

void main() {
   var num1 = 5;
   var num2 = 9;

   var res = num1>num2;
   print('num1 besar dari num2 :: ' +res.toString());

   res = num1<num2;
   print('num1 kecil dari num2 :: ' +res.toString());

   res = num1 >= num2;
   print('num1 besar atau sama dengan num2 :: ' +res.toString());

   res = num1 <= num2;
   print('num1 kecil atau sama dengan num2 :: ' +res.toString());

   res = num1 != num2;
   print('num1 tidak sama dengan num2 :: ' +res.toString());

   res = num1 == num2;
   print('num1 sama dengan num2 :: ' +res.toString());
}

Kode di atas akan menghasilkan output berikut :

num1 besar dari num2 :: false
num1 kecil dari num2 :: true
num1 besar atau sama dengan num2 :: false
num1 kecil atau sama dengan num2 :: true
num1 tidak sama dengan num2 :: true
num1 sama dengan num2 :: false

Operator Type Test

Operator ini berguna untuk memeriksa jenis tipe data saat runtime atau pada saat script Dart dijalankan.

OperatorArti
isBenar jika suatu object memiliki tipe yang ditentukan
is!Salah jika suatu object memiliki tipe yang ditentukan

Contoh

void main() {
   int n = 2;
   print(n is int);
}

Kode di atas akan menghasilkan output berikut :

true

Contoh

void main() {
   double n = 2.20;
   var num = n is! int;
   print(num);
}

Kode di atas akan menghasilkan output berikut :

true

Operator Bitwise

Tabel berikut mencantumkan operator bitwise yang tersedia di Dart dan perannya :

OperatorKeteranganContoh
Bitwise ANDa & bMengembalikan satu di setiap posisi bit apabila bit yang sesuai dari kedua operand adalah satu.
Bitwise ORsebuah | BMengembalikan satu di setiap posisi bit apabila bit yang sesuai dari salah satu atau kedua operand adalah satu.
Bitwise XORa^bMengembalikan satu di setiap posisi bit apabila bit yang sesuai dari salah satu tetapi tidak kedua operan adalah satu.
Bitwise NOT~ aMembalikkan bit operand.
Pergeseran kiria ≪ bMenggeser a dalam representasi biner b (< 32) bit ke kiri, menggeser nol dari kanan.
Pergeseran kanan a ≫ bMenggeser a dalam representasi biner b (< 32) bit ke kanan, membuang bit yang digeser.

Contoh

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan operator bitwise di Dart :

void main() {
   var a = 2; 
   var b = 3; 

   var hasil = (a & b);
   print("(a & b) => ${hasil}");

   hasil = (a | b);
   print("(a | b) => ${hasil}");

   hasil = (a ^ b);
   print("(a ^ b) => ${hasil}");

   hasil = (~b);
   print("(~b) => ${hasil}");

   hasil = (a << b);
   print("(a << b) => ${hasil}");

   hasil = (a >> b);
   print("(a >> b) => ${hasil}");
}

Kode di atas akan menghasilkan output berikut :

(a & b) => 2
(a | b) => 3
(a ^ b) => 1
(~b) => -4
(a < b) => 16
(a > b) => 0

Operator Assignment

Tabel berikut mencantumkan operator assignment yang tersedia di Dart :

NoOperator & Deskripsi
1= Menetapkan nilai dari operand sisi kanan ke operand sisi kiri

Contoh : C = A + B akan menetapkan nilai A + B ke dalam C

2??= Tetapkan nilai hanya jika variabelnya nol
3+=  Menambahkan operand kanan ke operand kiri dan menetapkan hasilnya ke operand kiri.

Contoh : C += A setara dengan C = C + A

4= Mengurangi operand kanan dari operand kiri dan menetapkan hasilnya ke operand kiri.

Contoh : C -= A setara dengan C = C – A

5*= Mengalikan operand kanan dengan operand kiri dan menetapkan hasilnya ke operand kiri.

Contoh : C *= A setara dengan C = C * A

6/= Membagi operand kiri dengan operand kanan dan menetapkan hasilnya ke operand kiri.

Catatan − Logika yang sama berlaku untuk operator Bitwise, sehingga mereka akan menjadi ≪=, ≫=, ≫=, ≫=, |= dan ^=.

Contoh

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan operator assignment di Dart :

void main() {
   var a = 12;
   var b = 3;
   var c = 12.0;
   var d = 3.0;

   a+=b;
   print("a+=b : ${a}");

   a = 12; b = 13;
   a-=b;
   print("a-=b : ${a}");

   a = 12; b = 13;
   a*=b;
   print("a*=b' : ${a}");

   c = 12.0; d = 13.0;
   c/=d;
   print("c/=d : ${c}");

   a = 12; b = 13;
   a%=b;
   print("a%=b : ${a}");
}

Kode di atas akan menghasilkan output berikut :

a+=b : 15
a-=b : -1
a*=b' : 156
c/=d : 0.9230769230769231
a%=b : 12

Operator Logical

Operator logika (logical) digunakan untuk menggabungkan dua atau lebih kondisi. Operator logika mengembalikan nilai Boolean. Asumsikan nilai variabel A adalah 10 dan B adalah 20.

OperatorKeteranganContoh
&&Operator mengembalikan true hanya jika semua ekspresi yang ditentukan bernilai true(A > 10 && B > 10) False.
||Operator mengembalikan true jika setidaknya salah satu ekspresi yang ditentukan bernilai true(A > 10 || B > 10) True.
!Operator mengembalikan kebalikan dari hasil ekspresi. Misalnya: !(7>5) mengembalikan false!(A > 10) True.

Contoh

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan operator logika di Dart :

void main() { 
   var a = 10; 
   var b = 12; 
   var res = (a<b)&&(b>10); 
   print(res); 
} 

Kode di atas akan menghasilkan output berikut :

true

Contoh

Mari kita ambil contoh lain :

void main() { 
   var a = 10; 
   var b = 12; 
   var res = (a>b)||(b<10); 

   print(res); 
   var res1 =!(a==b); 
   print(res1); 
}

Kode di atas akan menghasilkan output berikut :

false
true

Lebih Lanjut Tentang Operator && Dan ||

Operator && dan || juga digunakan untuk menggabungkan beberapa expression. Operator && mengembalikan nilai true hanya jika kedua kondisi yang digabungkan bernilai true, sedangkan operator || mengembalikan nilai true jika salah satu atau kedua kondisi yang digabungkan bernilai true.

Mari kita perhatikan expression berikut :

void main(){
  var a = 10;
  var hasil = (a<10 && a>5);

  print(hasil);
}

Dalam contoh di atas, a<10 dan a>5 adalah dua expression yang digabungkan oleh operator &&. Pada contoh tersebut, expression pertama mengembalikan nilai false. Oleh karena itu, operator && tidak mengevaluasi expression kedua, karena kedua expression harus mengembalikan nilai true untuk operator tersebut menghasilkan nilai true.

Operator || mengembalikan true jika salah satu expression mengembalikan true . Misalnya :

void main(){
   var a = 10;
   var hasil = ( a>5 || a<10);

   print(hasil);
}

Dalam contoh di atas, dua expression a>5 dan a<10 digabungkan oleh operator ||. Di sini, expression pertama menghasilkan nilai true. Karena itu, operator || akan mengabaikan expression kedua dan langsung mengembalikan nilai true.

Karena perilaku tersebut, operator && dan || disebut sebagai operator short-circuit.

Conditional Expressions

Dart memiliki dua operator yang memungkinkan Anda mengevaluasi expressions dengan syarat yang mungkin memerlukan pernyataan if-else –

kondisi ? ekspr1 : expr2

Jika kondisi bernilai benar, maka expression akan mengembalikan nilai expr1, jika tidak, expression akan mengembalikan nilai expr2.

ekspr1 ?? expr2

Jika expr1 bukan nol, kembalikan nilainya, jika tidak, kembalikan nilai expr2.

Contoh

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan conditional expressions di Dart :

void main() { 
   var a = 10; 
   var res = a > 12 ? "value besar dari 10":"value kecil atau sama dengan 10"; 
   print(res); 
}

Kode diatas akan menghasilkan output berikut :

value kecil atau sama dengan 10

Contoh

Mari kita ambil contoh lain :

void main() { 
   var a = null; 
   var b = 12; 
   var res = a ?? b; 

   print(res); 
}

Contoh di atas akan menghasilkan output berikut :

12

Tutorial sebelumnya : Variable Pada Dart
Tutorial setelahnya : Perulangan Pada Dart
Semua Tutorial Dart : Tutorial Dart

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0