by

Ekspresi Operator dan Operand di CSharp

Ekspresi terbentuk dari rangkaian operator dan operand. Operator yang terdapat dalam suatu ekspresi menyatakan proses apa yang akan dilakukan pada suatu operand. Contoh dari operator adalah +, -, *, / dan new. Sedangkan contoh dari operand adalah literal, fields, variabel lokal dan ekpresi, suatu ekspresi dapat digunakan untuk membentuk ekspresi yang lain yang lebih besar.

C# memiliki tiga macam operator: operator unary, binary dan ternary. Operator unary memiliki satu buah operand dan menggunakan notasi prefix atau postfix (misalnya –x atau x++). Operator binary menggunakan dua buah operand dan menggunakan notifikasi infix (misalnya x + y) . C# hanya memiliki satu buah operator ternary yaitu, ? :, operator ini memerlukan tiga buah operand dan menggunakan notasi infix (misalnya x ? y : z).

Dalam pengoperasiannya operator memiliki tingkatan, misalnya jika kita memiliki ekspresi x + y * z, maka ekspresi ini akan di eksekusi dengan urutan x + (y * z) karena operator * memiliki tingkatan yang lebih tinggi dibandingkan dengan operator +. Jika kita ingin mengubah urutan eksekusinya, kita dapat menggunakan tanda kurung. Bahasa pemrograman C# memiliki kemampuan untuk melakukan overload terhadap operator, yang berarti setiap operator bisa memiliki fungsi yang berbeda untuk object yang berbeda.

Tabel berikut menunjukan tingkat dari operator dari level yang tinggi ke level terendah, operator dalam kategori yang sama memiliki tingkat yang sama pula.

Kategori Ekspresi Keterangan
Primary x.m Mengakses member
x(…) Pemanggilan method dan delegate
x[…] Mengakses array dan indexer
x++ Post-increment  (Penjumlahan  dengan  1 setelah x dievaluasi)
x– Post-decrement  (Pengurangan  dengan  1 setelah x dievaluasi)
new T(…) Pembuatan object dan delegate
new T[…] Pembuatan array
typeof(T) Mendapatkan object System.Type dari T
checked(x) Pengecekan ekspresi dalam konteks checked
unchecked(x) Pengecekan ekspresi dalam konteks unchecked
Unary +x Identity
-x Negation
!x Logical negation
~x Bitwise negation
++x Pre-increment   (Penjumlahan   dengan   1 sebelum x dievaluasi)
–x Pre-decrement  (Pengurangan  dengan  1

sebelum x dievaluasi)

(T)x Mengkonversi  x  kedalam  tipe  T  secara

eksplisit

Multiplicative x * y Perkalian
x / y Pembagian
x % y Sisa pembagian
Additive x + y Penjumlahan, penggabungan string, kombinasi delegate
x – y Pengurangan, penghapusan delegate
Shift x << y Shift left
x >> y Shift right
Relational   and x < y Lebih kecil dari
type testing x > y Lebih besar dari
x <= y Lebih kecil atau sama dengan
x >= y Lebih besar atau sama dengan
x is T Return  true jika x adalah T, atau false jika sebaliknya
x as T Return x sebagai tipe T; atau null jika x tidak bertipe T
Equality x == y Sama
x != y Tidak sama
Logical AND x & y Integer bitwise AND, boolean logical AND
Logical XOR x ^ y Integer bitwise XOR, boolean logical XOR
Logical OR x | y Integer bitwise OR, boolean logical OR
Conditional AND x && y y akan dievaluasi jika x bernilai true
Conditional OR x || y y akan dievaluasi jika x bernilai false
Conditional x ? y : z y akan dievaluasi jika x bernilai true dan z akan dievaluasi jika x bernilai false
Assignment x = y Pemberian suatu nilai
x op= y Compound  assignment.  Bisa  digunakan pada operator *= /= %= += -= <<= >>= &= ^= |=
Lamda Description => Digunakan untuk memberi deskripsi (nilai) yang sering digunakan untuk membuat suatu fungsi/event

Comment

Leave a Reply

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