Operator Borland C++
Operator Borland C++
Pendahuluan Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti penjumlahan, pengurangan dan lain-lain. Operator mempunyai sifat sebagai berikut : Unary Sifat Unary pada operator adalah hanya melibatkan sebuah operand pada suatu operasi aritmatik Contoh : -5 Binary Sifat Binary pada operator adalah melibatkan dua buah operand pada suatu operasi aritmatik Contoh : 4 + 8 Ternary Sifat Tenary pada operator adalah melibatkan tiga buah operand pada suatu operasi aritmatik Contoh : (10 % 3) + 4 + 2
1. Operator Aritmatika a. Operator Aritmatika Operator untuk operasi aritmatika yang tergolong sebagai binary adalah: Tabel 1 Operator Aritmatika OPERATOR * / % + KETERANGAN Perkalian (Multiply) Pembagian (Divide) Sisa Bagi (Modulus) Penjumlahan (Add) Pengurangan (Substract) CONTOH 4*5 8/2 5%2 7+2 6-2
Tabel 2. Operator Unary OPERATOR + KETERANGAN Tanda Plus Tanda Minus CONTOH -4 +6
Contoh 1.
#include <stdio.h> #include <conio.h> #include <iostream.h> main() { int a, b, c = 0, d = 0; clrscr(); cout<<"Masukan Nilai A : "; cin>>a; cout<<"Masukan Nilai B : "; cin>>b; c = a % b; d = a * b; cout<<" Hasil dari C = A % B = "<<c<<endl; cout<<" Hasil dari D = A * B = "<<d<<endl; getch(); }
Gambar 1. Hasil Contoh-1 1.2. Ekspresi Aritmatika Bentuk penulisan ekspresi aritmatika dikaitkan dengan pernyataan pemberi nilai. Bentuk Umum :
Variabel, dikenal dengan sebutan LValue (Left Value) Ekspresi Aritmatika dikenal dengan sebutan RValue (Right Value) Tanda = , dikenal dengan sebagai Operator Pemberi Nilai (Assignment
Operator). LValue harus selalu berupa variabel tunggal. Bila LValue bukan berupa variabel, maka akan tampil pesan kesalahan LValue required in function RValue dapat berupa konstanta, variabel lain maupun suatu ekspresi atau rumus aritmatika.
1.3 Hierarki Operator Aritmatika. Didalam suatu ekspresi aritmatika, selalu menjumpai beberapa operator aritmatika yang berbeda secara bersamaan. Urutan operator aritmatika sebagai berikut : Tabel. 3. Tabel Hierarki Operator Aritmatika Operator * atau / % + atau Keterangan Tingkatan operator sama, peng gunaannya tergantung letak, yang didepan didahulukan Sisa pembagian Tingkatan operator sama, peng gunaannya tergantung letak, yang didepan didahulukan
Contoh
A=8+2*3/6 Langkah perhitungannya : A=8+6/6 A=8+1 A=9 Tingkatan operator ini dapat diabaikan dengan penggunaan tanda kurung ( dan ). Contoh : A = (8 + 2) * 3 / 6 Langkah perhitungannya : A = 10 * 3 / 6 A = 30 / 6 A=5 (6/6=1)
Contoh-2
#include <stdio.h> #include <conio.h> #include <iostream.h> main() { int a, b; clrscr(); a = 8 + 2 * 3 / 6; b = (8 + 2) * 3 / 6; cout<<" Hasil dari A = "<<a<<endl; cout<<" Hasil dari B = "<<b<<endl; getch(); }
Gambar 2. Hasil Contoh-2 2. Operator Pemberi Nilai Aritmatika Sebelumnya kita telah mengenal operator pemberi nilai ( assignment operator ) yaitu tanda = . Sebagai contoh penggunaan operator pemberi nilai : A = A + 1 Dari penulisan ekspresi diatas, Borland C++ dapat menyederhanakan menjadi : A += 1 Notasi += ini dikenal dengan operator pemberi nilai aritmatika. Ada beberapa operator pemberi nilai aritmatka diantaranya : Tabel. 4. Tabel Operator Pemberi Nilai Aritmatika Operator *= /= %= += -= Keterangan Perkalian Pembagian Sisa pembagian Penjumlahan Pengurangan
3. Operator Penambah dan Pengurang Masih berkaitan dengan operator pemberi nilai, Borland C++ menyediakan operator penambah dan pengurang. Dari contoh penulisan operator pemberi nilai sebagai penyederhanaannya dapat digunakan operator penambah dan pengurang. Tabel. 5. Tabel Operator Penambah dan Pengurang Operator ++ -Keterangan Penambahan (Increment) Pengurangan (Decrement)
A = A + 1 atau A = A - 1;disederhanakan menjadi : A += 1 atau A -= 1; masih dapat disederhanakan menjadi A ++ atau A-Notasi ++ atau -- dapat diletakan didepan atau di belakang variabel.
Contoh
A ++ atau ++A/ A-- atau --A Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda. Jika diletakan didepan variabel, maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan, sedangkan Jika diletakan dibelakang variabel, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel akan tetap pada saat ekspresi ini ditemukan.
Contoh-3
/* Penggunaan Notasi Didepan Variabel*/ #include <stdio.h> #include <conio.h> main() { int a = 10, b = 5; clrscr(); printf("Nilai A = %d", a); printf("\nNilai ++A = %d", ++a); printf("\nNilai A = %d", a); printf("\nNilai B = %d", b); printf("\nNilai --B = %d", --b); printf("\nNilai B = %d", b); getch();
Contoh-4
/* Penggunaan Notasi Dibelakang Variabel*/ #include <stdio.h> #include <conio.h> main() { int a = 10, b = 5; clrscr(); printf("Nilai A = %d", a); printf("\nNilai A++ = %d", a++); printf("\nNilai A = %d", a); printf("\nNilai B = %d", b); printf("\nNilai B-- = %d", b--); printf("\nNilai B = %d", b); getch(); }
Gambar 4 Hasil Contoh-4 4. Operator Relasi ( Perbandingan ) Operator Relasi digunakan untuk membandingkan dua buah nilai. Hasil perbandingan operator ini menghasilkan nilai numerik 1 (True) atau 0 (False).
Tabel. 6. Tabel Operator Relasi Operator == != > < >= <= Keterangan Sama dengan (bukan pemberi nilai) Tidak sama dengan Lebih dari Kurang dari Lebih dari sama dengan Kurang dari sama dengan
Contoh-5
#include <stdio.h> #include <conio.h> #include <iostream.h> main() { float a, b, c, d, e, f, x, y; clrscr(); cout<<"Masukan Nilai X = "; cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; a = x == y; b = x != y; c = x > y; d = x < y; e = x >= y; f = x <= y; cout<<endl; cout<<"Hasil dari "<<x<<" == "<<y<<" = "<<a<<endl; cout<<"Hasil dari "<<x<<" != "<<y<<" = "<<b<<endl; cout<<"Hasil dari "<<x<<" > "<<y<<" = "<<c<<endl; cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl; cout<<"Hasil dari "<<x<<" >= "<<y<<" = "<<e<<endl; cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl; getch(); }
Gambar 5 Hasil Contoh-5 5. Operator Logika Operator Relasi digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 (True) atau 0 (False). Tabel. 7. Tabel Operator Relasi Operator && || ! Keterangan Operator Logika AND Operator Logika OR Operator Logika NOT
5.1. Operator Logika AND Operator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR. Contoh : Ekspresi Relasi-1 Ekspresi Relasi-2 Ekspresi Relasi-3 A + 4 < 10 B > A +5 C - 3 >= 4
Penggabungan ketiga ekspresi relasi diatas menjadi ; A+4 < 10 && B>A+5 && C3 >= 4 Jika nilai A = 3; B = 3; C = 7, maka ketiga ekspresi tersebut mempunyai nilai :
Dari ekspresi relasi tersebut mempunyai nilai BENAR, maka A+4 < 10 && B>A+5 && C3 >= 4 Contoh-6
#include<stdio.h> #include<conio.h> #include<iostream.h> main() { float a, b, c, d, e, f, g, h; clrscr(); cout<<"Masukan Nilai A = "; cin>>a; cout<<"Masukan Nilai B = "; cin>>b; cout<<"Masukan Nilai C = "; cin>>c; // Proses d = a + 4 < 10; e = b > a + 5; f = c - 3 >= 4; g = d && e && f; cout<<endl<<endl; cout<<"Program Ekspresi AND"<<endl<<endl; cout<<"Hasil dari d = a + 4 < 10 adalah "
SALAH = 0
<<d<<endl; cout<<"Hasil dari e = b > a + 5 adalah " <<e<<endl; cout<<"Hasil dari f = c - 3 >= 4 adalah " <<f; cout<<endl<<endl; cout<<"Hasil dari g = d && e && f adalah " <<g; cout<<endl; getch(); }
Gambar 6 Hasil Contoh-6 5.2. Operator Logika OR Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua ekspresi relasi yang dihubungkan bernilai SALAH, maka akan bernilai SALAH. Contoh : Ekspresi Relasi-1 Ekspresi Relasi-2 Ekspresi Relasi-3 A + 4 < 10 B>A +5 C-3>4
Penggabungan ketiga ekspresi relasi diatas menjadi ; A+4 < 10 || B>A+5 || C3 > 4 Jika nilai A = 3; B = 3; C = 7, maka ketiga ekspresi tersebut mempunyai nilai : Ekspresi Relasi-1 Ekspresi Relasi-2 Ekspresi Relasi-3 A + 4 < 10 B>A +5 C-3>4 3+ 4 < 10 3>3+5 73>4 BENAR SALAH SALAH
Dilihat ekspresi diatas salah satu ekspresi tersebut mempunyai nilai BENAR, maka ekspresi tersebut tetap bernilai BENAR. A+4 < 10 || B>A+5 || C3 > 4 BENAR =1
Contoh-7
main() { float a, b, c, d, e, f, g, h; clrscr(); cout<<"Masukan Nilai A = "; cin>>a; cout<<"Masukan Nilai B = "; cin>>b; cout<<"Masukan Nilai C = "; cin>>c; d = a + 5 > 10; e = b > 5 + a ; f = c - 4 <= 7; g = d || e || f; cout<<endl<<endl; cout<<"Program Ekspresi OR"<<endl<<endl; cout<<"Hasil dari d = a + 5 > 10 adalah " <<d<<endl; cout<<"Hasil dari e = b > 5 + a adalah " <<e<<endl; cout<<"Hasil dari f = c - 4 <= 7 adalah " <<f; cout<<endl<<endl; cout<<"Hasil dari g = d || e || f adalah " <<g; cout<<endl; getch(); }
5.3. Operator Logika NOT Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya. Contoh :
Ekspresi Relasi
A + 4 < 10
Penggunaan Operator Logika NOT diatas menjadi ; !(A+4 < 10) Jika nilai A = 3; maka ekspresi tersebut mempunyai nilai : Ekspresi Relasi-1 A + 4 < 10 3 + 4 < 10 BENAR
Dilihat ekspresi diatas salah satu ekspresi tersebut mempunyai nilai BENAR dan jika digunakan operator logika NOT, maka ekspresi tersebut akan bernilai SALAH !(A+4 < 10) Contoh-8 !(BENAR)= SALAH = 0
/* Penggunaan Operasi Logika NOT */ #include <stdio.h> #include <conio.h> #include<iostream.h> main() { int a, b, c; clrscr(); cout<<"Masukan Nila A = "; cin>>a; /* Proses */ b = (a + 4 < 10); c = !(b); cout<<endl<<"Program Ekspresi NOT "<<endl; cout<<"Nilai A = "<<a<<endl; cout<<"Nilai b = (a + 4 < 10) = "<<b<<endl; cout<<"Nilai c = !(b) = "<<c; getch(); }
6. Operator Bitwise Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit. Borland C++ menyedikan enam buah operator bitwise. Tabel. 8. Tabel Operator Bitiwise Operator << >> & ^ | ~ Bitwise Shift Left Bitwise Shift Right Bitwise AND Bitwise XOR Bitwise OR Bitwise NOT Keterangan
6.1. Operator Bitwise << (Shift Left) Operator Bitwise Shift Left digunakan untuk menggeser sejumlah bit kekiri. Contoh :
Contoh-9
#include<iostream.h> #include<stdio.h> #include<conio.h> void main() { int x; clrscr(); cout<<"Masukan Nilai X = "; cin>>x; x = x << 1; cout<<"Hasil dari Geser 1 Bit Kekiri = "<<x<<endl; getch(); }
6.2. Operator Bitwise >> (Shift Right) Operator Bitwise Shift Right digunakan untuk menggeser sejumlah bit kanan. Contoh :
Contoh-10
#include<iostream.h> #include<stdio.h> #include<conio.h> void main() { int x; clrscr(); cout<<"Masukan Nilai X = "; cin>>x; x = x >> 1; cout<<"Hasil dari Geser 1 Bit Kekanan = "<<x<<endl; getch();
6.3. Operator Bitwise & (And) Operator Bitwise & ( And ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika semua operand yang digabungkan bernilai benar (1). Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand. Tabel. 9. Tabel Operator Bitiwise And Bit Operand 1 0 0 1 1 Bit Operand 1 0 1 0 1 Hasil Operand 0 0 0 1
Contoh :
Contoh-11
#include<iostream.h> #include<stdio.h> #include<conio.h> main() { int a, x, y; clrscr(); cout<<"Masukan Nilai X = "; cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; a = x & y; cout<<\n; cout<<"Hasil "<<a<<endl; getch(); } dari "<<x<<" & "<<y<<" =
6.4. Operator Bitwise | ( OR ) Operator Bitwise | ( Or ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar jika ada salah satu operand yang digabungkan ada yang bernilai benar (1). Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand. Tabel. 10. Tabel Operator Bitiwise Or Bit Operand 1 0 0 1 1 Bit Operand 1 0 1 0 1 Hasil Operand 0 1 1 1
Contoh :
Contoh-12
#include<iostream.h> #include<stdio.h> #include<conio.h> main() { int a, x, y; clrscr(); cout<<"Masukan Nilai X = "; cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; a = x | y; cout<<\n;
dari
"<<x<<"
"<<y<<"
Gambar 12. Hasil Contoh-12 6.5. Operator Bitwise ^ ( eXclusive Or ) Operator Bitwise ^ ( XOr ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika dari dua bit yang dibadingkan hanya sebuah bernilai benar (1). Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand. Tabel. 11. Tabel Operator Bitiwise XOr Bit Operand 1 0 0 1 1 Contoh : Bit Operand 1 0 1 0 1 Hasil Operand 0 1 1 0
Contoh-13
cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; a = x ^ y; cout<<\n; cout<<"Hasil "<<a<<endl; getch(); } dari "<<x<<" ^ "<<y<<" =
6.5. Operator Bitwise ~ ( Not ) Operator Bitwise ~ ( Not ) digunakan membalik nilai bit dari suatu operand. Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand. Tabel. 3.10. Tabel Operator Bitiwise Not Bit Operand 0 1 Hasil 1 0
Contoh :
Contoh-14
cout<<"Masukan Nilai X = "; cin>>x; a = ~x; cout<<\n; cout<<"Hasil dari ~"<<x<<" = "<<a<<endl; getch(); }