Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program, yangdigunakan 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

Operator Aritmatika

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah :

Tabel 3.1. Operator Aritmatika

Operator

Keterangan

Contoh

*

Perkalian

4 * 5

/

Pembagian

8 / 2

%

Sisa Pembagian

5 % 2

+

Penjumlahan

7 + 2

Pengurangan

6 – 2

Operator yang tergolong sebagai operator Unary, adalah :

Tabel 3.2. Operator Unary

Operator

Keterangan

Contoh

+

Tanda Plus

−4

Tanda Minus

+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();

}

 

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.

Hierarki Operator Aritmatika.

Didalam suatu ekspresi aritmatika, selalu menjumpai beberapa operator aritmatika yang berbeda yang dapat digunakan secara bersamaan. Urutan operator aritmatika sebagai berikut :

Tabel. 3.3. Tabel Hierarki Operator Aritmatika

Operator

Keterangan

*  atau  /

Tingkatan operator sama, penggunaan nya tergantung letak, yang didepan didahulukan

%

Sisa Pembagian

+  atau –

Tingkatan operator sama, penggunaan nya tergantung letak, yang didepan didahulukan

Contoh                     A = 8 + 2 * 3 / 6

Langkah perhitungannya :

A = 8 + 6 / 6 à ( 6 / 6 = 1 )

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

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();

}

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. 3.4. Tabel Operator Pemberi Nilai Aritmatika

Operator

Keterangan

*=

Perkalian

/=

Pembagian

%=

Sisa Pembagian

+=

Penjumlahan

-=

Pengurangan

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. 3.5. Tabel Operator Penambah dan Pengurang

Operator Keterangan
++ Penambahan
Pengurangan

A = A + 1 atau  A = A – 1;   disederhanakan menjadi :

A += 1 atau A -= 1masih dapat disederhanakan menjadi  A ++ atau A–

Notasi “ ++ “ atau “ — “ dapat diletakan didepan atau di belakang variabel.

Contoh                    A ++  atau  ++A  / A– atauA

 

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(“Nila A   = %d”, a);

printf(“\nNila ++A = %d”, ++a);

printf(“\nNila A   = %d”, a);

printf(“Nila B   = %d”, b);

printf(“\nNila –B = %d”, –b);

printf(“\nNila B   = %d”, b);

getch();

}

Contoh-4                 /* Penggunaan Notasi Dibelakang Variabel*/

#include <stdio.h>

#include <conio.h>

main()

{

int a = 10, b = 5;

clrscr();

printf(“Nila A   = %d”, a);

printf(“\nNila A++ = %d”, a++);

printf(“\nNila A   = %d”, a);

printf(“Nila B   = %d”, b);

printf(“\nNila B– = %d”, b–);

printf(“\nNila B   = %d”, b);

getch();

}

Operator Relasi

Operator Relasi digunakan untuk membandingkan dua buah nilai. Hasil perbandingan operator ini menghasilkan nilai numerik 1 (True) atau 2 (False).

Tabel. 3.5. 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();

}

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 2 (False).

Tabel. 3.5. Tabel Operator Relasi

Operator Keterangan
&& Operator Logika AND
|| Operator Logika OR
! Operator Logika NOT

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 à A + 4 < 10

Ekspresi Relasi-2 à B>A + 5

Ekspresi Relasi-3 à C – 3 >= 4

Penggabungan ketiga ekspresi relasi diatas menjadi ;

A+4 < 10 && B>A+5 && C–3 >= 4

Jika nilai A = 3; B = 3; C = 7, maka ketiga ekspresi tersebut mempunyai nilai :

  • Ekspresi Relasi-1 à A + 4 < 10      à 3 + 4 < 10   à BENAR
  • Ekspresi Relasi-2 à B>A + 5          à 3 > 3 + 5     à SALAH
  • Ekspresi Relasi-3 à C – 3 >= 4      à 7 – 3 >= 4   à BENAR

Dari ekspresi relasi tersebut mempunyai nilai BENAR, maka

A+4 < 10 && B>A+5 && C–3 >= 4   à SALAH = 0

Contoh-6                 /* Penggunaan Operasi Logika AND */

#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 ” <<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();

}

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 à A + 4 < 10

Ekspresi Relasi-2 à B>A + 5

Ekspresi Relasi-3 à C – 3 > 4

Penggabungan ketiga ekspresi relasi diatas menjadi ;

A+4 < 10 || B>A+5 || C–3 > 4

Jika nilai A = 3; B = 3; C = 7, maka ketiga ekspresi tersebut mempunyai nilai :

  • Ekspresi Relasi-1 à A + 4 < 10                     à 3 + 4 < 10         à BENAR
  • Ekspresi Relasi-2 à B>A + 5    à 3 > 3 + 5        à SALAH
  • Ekspresi Relasi-3 à C – 3 > 4   à 7 – 3 > 4        à SALAH

Dilihat ekspresi diatas salah satu ekspresi tersebut mempunyai nilai BENAR, maka ekspresi tersebut tetap bernilai BENAR.

A+4 < 10 || B>A+5 || C–3 > 4            à BENAR = 1

Contoh-7                 /* Penggunaan Operasi Logika OR */

#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;

d = a + 5 > 10;

e = b > 5 + a ;

f = c – 4 <= 7;

g = d || e || f;

cout<<endl<<endl;

cout<<“Program Ekspresi AND”<<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();

}

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) à !(BENAR) = SALAH = 0

Contoh-8                 /* 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();

}

 

Operator Bitwise

Operator Bitwise digunakan untuk memanipulasi data dalam bentuk bit. Borland C++ menyediakan enam buah operator bitwise.

Tabel. 3.6. Tabel Operator Bitiwise

Operator Keterangan
~ Bitwise NOT
<< Bitwise Shift Left
>> Bitwise Shift Right
& Bitwise AND
^ Bitwise XOR
| Bitwise OR

Operator Bitwise << (Shift Left)

Operator Bitwise Shift Left digunakan untuk menggeser sejumlah bit kekiri.

Contoh :

0000000011001001 = 201

//////// ç digeser 1 bit ke kiri

0000000110010010 = 402

Dibagian disisipkan 0,sebanyak bit yang digeser

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();

}

Operator Bitwise >> (Shift Right)

Operator Bitwise Shift Right digunakan untuk menggeser sejumlah bit kanan.

Contoh :

0000000011001001 = 201

\\\\\\\\     è digeser 1 bit ke kanani

0000000001100100 = 100

Dibagian kanan disisipkan 0,sebanyak bit  ayng digeser

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 Kekiri = “<<x<<endl;

getch();

}

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 dapat dilihat ilustrasi untuk membandingkan bit dari 2 operand.

Tabel. 3.7. Tabel Operator Bitiwise And

Bit Operand 1

Bit Operand 2

Hasil Operand

0

0

0

0

1

0

1

0

0

1

1

1

Contoh :

11001001 = 201

01100100 = 100

AND

01000000 = 64

Contoh-11               #include<iostream.h>

#include<stdio.h>

#include<conio.h>

void 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 dari “<<x<<” & “<<y<<” = “<<a<<endl;

getch();

}

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 dapat dilihat ilustrasi untuk membandingkan bit dari 2 operand.

Tabel. 3.8. Tabel Operator Bitiwise Or

Bit Operand 1

Bit Operand 2

Hasil Operand

0

0

0

0

1

1

1

0

1

1

1

1

Contoh :

11001001 = 201

01100100 = 100

OR

11101101 = 237

Contoh-12               #include<iostream.h>

                                 #include<stdio.h>

#include<conio.h>

void 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 dari “<<x<<” | “<<y<<” = “<<a<<endl;

getch();

}

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 dapat dilihat ilustrasi untuk membandingkan bit dari 2 operand.

Tabel. 3.9. Tabel Operator Bitiwise XOr

Bit Operand 1

Bit Operand 2

Hasil Operand

0

0

0

0

1

1

1

0

1

1

1

0

Contoh :

11001001 = 201

01100100 = 100

XOR

10101101 = 137

Contoh-13               #include<iostream.h>

#include<stdio.h>

#include<conio.h>

void 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 dari “<<x<<” ^ “<<y<<” = “<<a<<endl;

getch();

}

Operator Bitwise ~ ( Not )

Operator Bitwise ~ ( Not ) digunakan membalik nilai bit dari suatu operand. Berikut dapat dilihat ilustrasi untuk membandingkan bit dari 2 operand.

Tabel. 3.10. Tabel Operator Bitiwise Not

Bit Operand

Hasil

0

1

1

0

Contoh :

00001000 = 8

||||||||

11110111 = 247 = -9

Contoh-14               #include<iostream.h>

#include<stdio.h>

#include<conio.h>

void main()

{

int a, x, y;

clrscr();

cout<<“Masukan Nilai X = “;

cin>>x;

a = ~x;

cout<<’\n’;

cout<<“Hasil dari ~”<<x<<” = “<<a<<endl;

getch();

}

Posted in C++

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s