III. OPERATOR
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;
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.
Tidak ada komentar:
Posting Komentar