Menu

Jumat, 29 April 2016

05 Operators

Operators merupakan fungsional yang terdiri dari beberapa katagori, yaitu.


Katagori Operators Keterangan
Arithmetic Operators Untuk melakukan perhitungan matematis.
Assignment Operators Untuk melakukan operasi penugasan.
Comparison Operators Untuk melakukan perbandingan.
Concatenation Operators Untuk menggabungkan string.
Logical/Bitwise Operators Untuk melakukan operasi logis.
Bit Shift Operators Untuk melakukan pergeseran aritmatika pada pola bit.
Miscellaneous Operators Untuk melakukan aneka operasi (Miscellaneous).



Arithmetic Operators
Berfungsi untuk melakukan matematis seperti pangkat, kali, tambah, kali, berikut simbol dari Arithmetic Operators.

C# VB Keterangan
Tidak ada ^ Perpangkatan.
* * Perkalian.
/ / Pembagian.
Tidak ada \ Pembagian Dibulatkan Ke Integer.
% Mod Akar.
+ + Penambahan.
- - Pengurangan.

Didalam C# tidak ada pangkat secara simbol "^" seperti dilam VB, dikarenakan simbol "^" telah digunakan untuk Operators yang lain. akan tetapi kita dapat menggantinya dengan Math.Pow(double nilai, double pangkat) dan Pembagian dibulatkan dalam C# juga tidak ada, namun bisa digunakan dengan cara mendeklarasikan variable sebagai float. Sebagai contoh Arithmetic Operators yang lainnya.

//=======================================
//Dalam C#
double nilai = 10;
double pangkat = 4;
double hasil;
hasil = Math.Pow(nilai, pangkat); //hasilnya 10000

//hasilnya sama dengan di VB seperti berikut
Dim nilai As Double = 10
Dim pangkat As Double = 30
dim hasil As Double
hasil = nilai ^ pangkat     //hasilnya 10000
//=======================================

//=======================================
//Dalam C#
float nilai = 11 / 2;      //hasilnya 5
float nilai = 22 / 5;      //hasilnya 4
//dalam VB
Dim nilai As Integer
nilai = 11 \ 2             //hasilnya  5
nilai = 22 \ 5             //hasilnya 4
//=======================================

//=======================================
//Dalam C#
int nilai;
nilai = 13 % 2            //hasilnya 1

//Dalam VB
Dim nilai As Integer
nilai = 13 Mod 2          //hasilnya 1
//=======================================

/* C# dan VB sama untuk Arithmetic Operators lainnya
 * hasil = 2 * 2          //hasilnya 4
 * hasil = 2 / 2          //hasilnya 1
 * hasil = 2 + 2          //hasilnya 4
 * hasil = 2 - 2          //hasilnya 0
 */


Assignment Operators
Berfungsi untuk untuk melakukan operasi penugasan. Berikut simbol dari Assignment Operators.

C# VB Keterangan
= = Memberikan nilai ke variabel atau properti.
^= ^= Dalam C# berfungsi sebagi OR eklusif.

Sedangkan VB untuk meningkatkan nilai dari variabel atau properti dan memberikan hasilnya ke variabel atau properti.
*= *= Mengalikan nilai variabel atau properti dan memberikan hasilnya ke variabel atau properti.
/= /= Membagikan nilai variable atau properti dan memberikan hasilnya ke variabel atau properti.
Tidak ada \= Membagikan nilai variable atau properti dengan  pembulatan integer dan memberikan hasilnya ke variabel atau properti.
%= Tidak ada Membagikan nilai variable atau properti dengan  pembulatan integer dan memberikan hasilnya ke variabel atau properti.
+= += Menambah nilai ekspresi numerik dengan nilai variabel numerik atau properti dan memberikan hasilnya ke variabel atau properti. Bisa juga digunakan untuk menggabungkan ekspresi String ke variabel String atau properti dan menetapkan hasil untuk variabel atau properti.
-= -= Mengurangi nilai dari sebuah ekspresi dari nilai variabel atau properti dan memberikan hasilnya ke variabel atau properti.
<<= <<= Melakukan pergeseran aritmatika kiri pada nilai variabel atau properti dan memberikan hasilnya kembali ke variabel atau properti.
>>= >>= Melakukan pergeseran kanan aritmatika pada nilai variabel atau properti dan memberikan hasilnya kembali ke variabel atau properti.
&= &= Merangkai ekspresi String ke variabel String atau properti dan memberikan hasilnya ke variabel atau properti.
|= Tidak ada Membagikan nilai OR pada variable atau propert.
=> Tidak ada Operator lambda, digunakan dalam ekspresi lambda untuk memisahkan variabel input di sisi kiri dari tubuh lambda di sisi kanan

Berikut contoh dari Assignment Operators.


//C#
//=======================================
int x = 2;
int y;
y = x;    //Nilai y = 2
//=======================================

//=======================================
int x = 4;
x ^= x;   //Nilai x = 0
//codenya sama seperti berikut
x = x ^ 4;
//=======================================

//=======================================
int x = 2;
int y = 3;
y *= x;  //Nilai y = 3*2 = 6
//codenya sama seperti berikut
y = y * x;
//=======================================

//=======================================
int x = 2;
int y = 10;
y /= x; //Nilai y = 10/2 = 5
//codenya sama seperti berikut
y = y / x;
//=======================================

//=======================================
int x = 2;
int y = 10;
y %= x; //Nilai y = 10 modulus 2 = 0
//codenya sama seperti berikut
y = y % x;
//=======================================

//=======================================
int x = 2;
int y = 10;
y += x; //Nilai y = 10 + 2 = 12
//codenya sama seperti berikut
y = y + x;
//=======================================

//=======================================
int x = 2;
int y = 10;
y -= x; //Nilai y = 10 - 2 = 8
//codenya sama seperti berikut
y = y - x;
//=======================================

//=======================================
int x = 2;
int y = 10;
y <<= x; //Nilai y = 10 << 2 menjadi 20, 40 = 40
//codenya sama seperti berikut
y = y << x; 

/* Penjelasan
 * maksud dari << adalah seperti berikut
 * y = 10
 * x = 2
 * jadi nilai 10 dilipatkan 2x
 * 10 = 10 + 0, bila x nya = 0
 * 20 = 10 + 10, bila x nya = 1
 * 40 = 20 + 20, bila x nya = 2
 * 80 = 40 + 40, bila x nya = 3
 * 160 = 80 + 80, bila x nya = 4
 * 1024 = 512 + 512 bila x nya = 10
 * dan seterusnya.
 */
//=======================================

//=======================================
int x = 2;
int y = 40;
y >>= x; //Nilai y 40 >> 2 menjadi 20, 10 = 10
//codenya sama seperti berikut
y = y >> x;

/* Penjelasan
 * >>= merupakan kebalikan dari <<=
 */
//=======================================

//=======================================
string x = "VB";
string y = "CS";
y &= x; //hasilnya menjadi CSVB
//codenya sama seperti berikut
y = y & x
//=======================================

//=======================================
bool x = true;
bool y = false;
y |= x; //hasilnya menjadi true
//codenya sama seperti berikut
y = y | x

/* Penjelasan
 * Bila Operators |= digunakan untuk angka
 * maka akan ditambahkan, seperti contoh berikut
 * int x = 10;
 * int y = 2;
 * y |= x; //hasilnya 12
 */
//=======================================

//=======================================
string[] namabulan = { "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agust", "Sept", "Okt", "Nov", "Des" };
var shortBulan = namabulan.Where((bulan, index) => bulan.Length < index);
foreach (var hasil in shortBulan)
{
    MessageBox.Show(hasil.ToString());
}
//Hasilnya "Mei", "Jun", "Jul", "Agus", "Sept", "Okt", "Nov", "Des"
//=======================================
'VB
'=======================================
Dim x As Integer = 2
Dim y As Integer
y = x 'hasilnya y = 2
'=======================================

'=======================================
Dim x As Integer = 3
Dim y As Integer = 3
y ^= x 'hasilnya y = 3 ^ 3 = 27 
'=======================================

'=======================================
Dim x As Integer = 3
Dim y As Integer = 3
y *= x 'hasilnya y = 3 * 3 = 9 
'=======================================

'=======================================
Dim x As Integer = 3
Dim y As Integer = 3
y /= x 'hasilnya y = 3 / 3 = 1 
'=======================================

'=======================================
Dim x As Integer = 3
Dim y As Integer = 7
y \= x 'hasilnya y = 7 \ 3 = 2 
'=======================================

'=======================================
Dim x As Integer = 3
Dim y As Integer = 4
y += x 'hasilnya y = 4 + 3 = 7 
'=======================================

'=======================================
Dim x As Integer = 3
Dim y As Integer = 4
y -= x 'hasilnya y = 4 - 3 = 1 
'=======================================

'=======================================
Dim x As Integer = 2
Dim y As Integer = 10
y <<= x 'hasilnya y = 40
'=======================================

'=======================================
Dim x As Integer = 2
Dim y As Integer = 40
y >>= x 'hasilnya y = 10 
'=======================================


'=======================================
Dim x As String = "VB"
Dim y As String = "CS"
y &= x 'hasilnya y = CSVB 
'=======================================

Comparison Operators
Berfungsi untuk melakukan perbandingan, berikut simbol untuk Comparison Operators.

C# VB Keterangan
== = Sama dengan.
!= < > Tidak sama dengan.
< < Lebih kecil.
> > Lebih besar.
<= <= Lebih kecil sama dengan.
>= >= Lebih besar sama dengan.
is Is Adalah.
! is IsNot Bukan.
as Like Seperti.

Berikut contoh penggunaan Comparison Operators.

if (x == y)   //VB, if x = y
if (x != y)   //VB, if x <> y
if (x < y)   //VB, if x < y
if (x > y)   //VB, if x > y
if (x <= y)   //VB, if x <= y
if (x >= y)   //VB, if x >= y
if (x is y)   //VB, if x Is y
if (!(x is y))   //VB if x IsNot y
x = y as z   //VB x = y Like z

Concatenation Operators
Fungsinya adalah untuk menggabungkan string, bisa menggunakan simbol + maupun &. Contohnya sudah diberikan pada Assignment Operators.

Logical/Bitwise Operators
Berfungsi untuk melakukan operasi logis, berikut simbol Logical Operators.

C# VB Keterangan
& And
! Not
| Or
^ Xor
&& AndAlso
|| OrElse
IsFalse IsFalse
IsTrue IsTrue
??

:?


Berikut contoh penggunaan Logical Operators.

x = y & z   //VB, x = y And z
x != y   //VB, x not y
x = y | z   //VB, x = y Or z
x = y ^ z   //VB, x = y Xor z
x = y && z   //VB, x = y AndAlso z
x = y || z   //VB, x = y OrElse z
public static void IsFalse(bool condition)   //Public Shared Sub IsFalse (Condition As Boolean)
public static void IsTrue(bool condition)   //Public Shared Sub IsTrue (Condition As Boolean)


Bit Shift Operators
Berfungsi untuk melakukan pergeseran aritmatika pada pola bit. Simbolnya hanya ada 2 yaitu << dan >>, contohnya dapat dilihat pada Assignment Operators.


Miscellaneous Operators
Berfungsi untuk melakukan aneka operasi (Miscellaneous).

C# VB Keterangan

AddressOf
if If
typeof TypeOf

Function

GetType
await Await

x = New System.Threading.Thread(y);   //VB, x = New System.Threading.Thread(AddressOf y)
if (x = true)   //VB If x = True

untuk contoh yang lainnya akan dibahas pada post berikutnya.

Tidak ada komentar :

Posting Komentar