Monday, 23 March 2015

Macam-Macam Operator

Monday, March 23, 2015


Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi.

Contoh :   a = b + c * d / 4
                 a, b, c, d à disebut operand
                 =, +, *, /  à disebut operator


3.1 OPERATOR ARITMATIKA

Operator
Deskripsi
Contoh
+
Penjumlahan ( Add )
m + n
-
Pengurangan ( Substract )
m – n
*
Perkalian ( Multiply )
m * n
/
Pembagian ( Divide )
m / n
%
Sisa Pembagian Integer ( Modulus )
m % n
-
Negasi ( Negate )
-m
NB : Operator seperti operator negasi (-) disebut unary operator, karena   membutuhkan hanya satu buah operand

Contoh :
#include <iostream.h>
void main()
{
 int m = 82, n = 26;
 cout<<m<<" + "<<n<<" = "<<m+n<<endl;
 cout<<m<<" - "<<n<<" = "<<m-n<<endl;
 cout<<m<<" * "<<n<<" = "<<m*n<<endl;
 cout<<m<<" / "<<n<<" = "<<m/n<<endl;
 cout<<m<<" % "<<n<<" = "<<m%n<<endl;
 cout<<"-"<<m<<" = "<<-m<<endl;
}

Keluarannya :
82 + 26 = 108
82 - 26 = 56
82 * 26 = 2132
82 / 26 = 3
82 % 26 = 4
-82 = -82
Karena tipe datanya adalah int, maka 82/26=3, supaya dapat merepresentasikan nilai yang sebenarnya, gunakan tipe data float.

Cara lain penulisan dengan menggunakan operator aritmatika :
m = m + n       ó        m += n
m = m - n        ó        m -= n
m = m * n       ó        m *= n
m = m / n        ó        m /= n
m = m % n     ó        m %= n


3.2 OPERATOR NAIK DAN TURUN ( INCREMENT DAN DECREMENT )

Operator increment  à ++
Operator decrement à --

Contoh :
#include <iostream.h>
main()
{
   int m = 44, n = 66;
   cout<<”m = “<<m<<”, n = “<<n<<endl;
   ++m; --n;
   cout<<”m = “<<m<<”, n = “<<n<<endl;
   m++; n--;
   cout<<”m = “<<m<<”, n = “<<n<<endl;
   return 0;
}

Keluarannya :
m = 44, n = 66
m = 45, n = 65
m = 46, n = 64

   Terlihat bahwa operator pre-increment dan post-increment memiliki akibat yang sama, yaitu manambah nilai satu pada m dan memasukkan nilai tersebut kembali ke m ( m = m+1). Hal yang sama juga terjadi pada operator pre-decrement dan post-decrement yang memberikan akibat yang sama, yaitu mengurangi nilai satu dari n ( n = n - 1).
   Tetapi bila digunakan sebagai sub-ekspresi, operator post-increment dan pre-increment menunjukkan hasil yang berbeda

Contoh :
#include <iostream.h>
main()
{
   int m = 66, n ;
            n = ++m;
   cout<<"m = "<<m<<", n = "<<n<<endl;
            n = m++;
   cout<<"m = "<<m<<", n = "<<n<<endl;
   cout<<"m = "<<m++<<endl;
            cout<<"m = "<<m<<endl;
   cout<<"m = "<<++m<<endl;
            return 0;
}

Keluarannya :
m = 67, n = 67
m = 68, n = 67
m = 68
m = 69
m = 70

Penjelasan :
Dalam penugasan yang pertama, m adalah pre-increment, menaikkan nilainya menjadi 67, yang selanjutnya dimasukkan ke n.
Dalam penugasan kedua, m adalah post-increment, sehingga 67 dimasukkan dahulu ke n baru kemudian nilai m-nya dinaikkan, itu sebabnya mengapa nilai m = 68 dan n = 67.
Dalam penugasan ketiga, m adalah post-increment, sehingga nilai m ( = 68 ) ditampilkan dahulu ( ke layar ) baru kemudian nilai m dinaikkan menjadi 69.
Dalam penugasan keempat, m adalah pre-increment, sehingga nilai m dinaikkan dahulu menjadi 70 baru kemudian ditampilkan ke layar.
Supaya lebih paham, perhatikan pula contoh dibawah.

Contoh :
#include <iostream.h>
main()
{
   int m = 5, n;
   n = ++m * --m;
   cout<<"m = "<<m<<", n = "<<n<<endl;
   cout<<++m<<” “<<++m<<” “<<++m<<endl;
   return 0;
}

Keluarannya :
m = 5, n = 25
8 7 6

Penjelasan :
Dalam penugasan untuk n, pertama kali m dinaikkan (++m)  menjadi 6, kemudian m diturunkan kembali menjadi 5, karena adanya --m. Sehingga nilai m sekarang adalah 5 dan nilai m = 5 inilah yang dievaluasi pada saat penugasan perkalian dilakukan.
Pada baris terakhir, ketiga sub-ekspresi dievaluasi dari kanan ke kiri.


3.3 OPERATOR BITWISE

Operator
Deskripsi
Contoh
<< 
Geser n bit ke kiri ( left shift )
m << n
>> 
Geser n bit ke kanan ( right shift )
m >> n
&
Bitwise AND
m & n
|
Bitwise OR
m | n
^
Bitwise XOR
m ^ n
~
Bitwise NOT
~m
NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau char

Berikut ini diberikan tabel kebenaran untuk operator logika
P = A operator B


AND
OR
A
B
P
0
0
0
0
1
0
1
0
0
1
1
1
A
B
P
0
0
0
0
1
1
1
0
1
1
1
1

XOR

A
B
P
0
0
0
0
1
1
1
0
1
1
1
0



Contoh :
#include <iostream.h>
void main()
{
 int m = 82, n = 26;
 cout<<m<<" << 2"<<" = "<<(m<<2)<<endl;
 cout<<m<<" >> 2"<<" = "<<(m>>2)<<endl;
 cout<<m<<" & "<<n<<" = "<<(m&n)<<endl;
 cout<<m<<" | "<<n<<" = "<<(m|n)<<endl;
 cout<<m<<" ^ "<<n<<" = "<<(m^n)<<endl;
 cout<<"~"<<m<<" = "<<~m<<endl;
 }

Keluarannya :
82 << 2 = 328
82 >> 2 = 20
82 & 26 = 18
82 | 26 = 90
82 ^ 26 = 72
~82 = 83

Penjelasan :
Nilai keluaran diatas, tergantung dari jenis compiler yang digunakan. Hasil diatas merupakan keluaran dari compiler Turbo C++.
Pada Turbo C++ besar dari integer adalah 2 byte atau sama dengan 16 bit, untuk mengetahuinya digunakan perintah
            cout<<sizeof(int)<<endl; // Untuk mengetahui besar dari int
Maka :
8210 =  00000000010100102  dan
2610 =  00000000000110102
Sehingga :
82 << 2 à 00000001010010002 = 32810
82 >> 2 à 0000000000010100 = 2010
82 & 26 à 0000000001010010
                           00000000000110102
                           ------------------------------------------  &
                           00000000000100102 = 1810
dan begitu juga untuk operasi OR dan XOR.
~82 à digunakan 2’s complement, yaitu
            8210 =  00000000010100102  lalu dinegasikan tiap bitnya menjadi
                        11111111101011012  kemudian LSB ditambah 1 menjadi
                        1111111110101110 = 6545410  nilai ini melebihi jangkauan maksimum int yang berkisar di -32768 sampai 32767, sehingga nilai yang keluar yaitu 83.

Cara lain penulisan dengan menggunakan operator bitwise :
m = m << n    ó        m <<= n
m = m >> n    ó        m >>= n
m = m & n      ó        m &= n
m = m | n        ó        m |= n
m = m ^ n       ó        m ^= n                          





3.4 OPERATOR RELASI

Operator relasi digunakan untuk membandingkan dua buah nilai. Operator ini biasa digunakan dalam instruksi percabangan.
Operator
Deskripsi
==
Sama dengan ( bukan assignment )
!=
Tidak sama dengan
Lebih besar
Lebih kecil
>=
Lebih besar atau sama dengan
<=
Lebih kecil atau sama dengan

Contoh:
#include <iostream.h>
main()
{
   int m = 5, n =7;
   if(m == n) cout<<m<<” sama dengan ”<<n<<endl;
   else  if(m != n) cout<<m<<” tidak sama dengan ”<<n<<endl;
   else  if(m > n) cout<<m<<” lebih besar dari ”<<n<<endl;
   else  if(m < n) cout<<m<<” lebih kecil dari ”<<n<<endl;
   return 0;
}

Keluarannya :
5 lebih kecil dari 7


3.5 OPERATOR LOGIKA

Operator logika digunakan untuk menghubungkan dua atau lebih  ungkapan menjadi sebuah ungkapan berkondisi.

Operator
Deskripsi
Contoh
&&
logic AND
m && n
||
logic OR
m ||n
!
logic NOT
!m

Contoh :
#include <iostream.h>
void main()
{
   int m = 166;
   cout<<”(m>=0 && m<=150) à “<<(m>=0 && m<=150)<<endl;
   cout<<”(m>=0 || m<=150) à “<<(m>=0 || m<=150)<<endl;
}

Keluarannya :
(m>=0 && m<=150) à 0
(m>=0 || m<=150) à 1

Penjelasan :
Hasil / keluaran dari operator logika adalah 0 dan 1.
0 jika keluarannya salah dan 1 jika keluarannya benar.


3.6 OPERATOR KONDISI

Operator kondisi digunakan untuk memperoleh nilai dari dua kemungkinan
            ungkapan1 ? ungkapan2 : ungkapan3
Bila nilai ungkapan1 benar, maka nilainya sama dengan ungkapan2, bila tidak maka nilainya sama dengan ungkapan3

Contoh :
#include <iostream.h>
main()
{
   int m = 26, n = 82;
   int min = m < n ? m : n;
   cout<<”Bilangan terkecil adalah “<<min<<endl;
   return 0;
}

Keluarannya :
Bilangan terkecil adalah 26

Written by

We are Creative Blogger Theme Wavers which provides user friendly, effective and easy to use themes. Each support has free and providing HD support screen casting.

0 comments:

Post a Comment

 

© 2013 Dimpos Situmorang. All rights resevered. Designed by Templateism

Back To Top