Jumat, 06 Oktober 2017

Operator & Klasifikasinya

Mengenal Operator Dalam C++


Operator merupakan simbol yang biasa dilibatkan dalam pembuatan program untuk melakukan suatu operasi ataupun manipulasi. Pada operator c++ ada yang tergolong sebagai operator binary (yaitu operator yang dikenakan untuk dua buah nilai (operand), dan ada yang tergolong sebagai operator unary (operator yang dikenakan untuk satu buah nilai (operand). Contoh :
Binary >> a + b
Unary >> - c

OPERATOR ARITMATIKA

Adalah operator yang digunakan untuk melakukan perhitungan matematika. Pada materi sebelumnya kita telah mengenal pengertian dari Variabel, maka sekarang coba kita asumsikan bahwa variabel a = 30 dan b = 10, maka hasil implementasi dari Operator Aritmatika adalah sebagai berikut :

Operator
Keterangan
Contoh
+
Penjumlahan
a + b hasilnya 40
-
Pengurangan
a – b hasilnya 20
*
Perkalian
a * b hasilnya 300
/
Pembagian
a / b hasilnya 3
%
Sisa Pembagian
a % b hasilnya 0

Contoh program :
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*penggunaan operator aritmatika
*/

void main() { 
clrscr(); 
int a = 30; 
int b = 10; 
cout << "a + b = "; 
cout << a + b << endl; 
cout << "a - b = "; 
cout << a - b; 
cout << "a x b = "; 
out << a * b; 
cout << "a / b = "; 
cout << a / b; 
cout << "a % b = "; 
cout << a % b; 
getch(); 
}

Contoh berikutnya adalah penggunaan operator untuk memperoleh nilai diskirminan dari persamaan berikut : d = b2 – 4ac. Maka, untuk mengimplementasikan contoh diatas ke dalam pemrograman C++ adalah:
d = b * b - 4 * a * c

Contoh program :
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Menyelesaiakan persamaan diskriminan
*/

void main() { 
clrscr(); 
int a, b, c, d; a = 5; 
b = 600; 
c = 5; 
d = b * b - 4 * a * c; 
cout << " d = " << d << '\n'; 
getch(); 
}

Hasil eksekusi :
d = 32220

Dalam C++ operator aritmatika memiliki kedudukan prioritas tertinggi atau terendah, hal tersebut ditentukan oleh cara penulisan atau penempatannya,

1. Kedudukan prioritas secara penulisan tercantum sebagaimana dalam tabel.
Operator
Prioritas
++ -- (khusus yang berkedudukan sebagai awalan)
Tertinggi
-  (Unary Minus)

* / %

+ -
Terendah

2. Kedudukan prioritas tertinggi secara penempatan ditentukan oleh posisi yang PALING KIRI dari baris program.

Jadi jika operator memiliki kedudukan prioritas yang sama (secara penulisan) maka hal tersebut dapat ditentukan lagi prioritas utamanya secara penempatan.

Sebagai contoh perhatikan persamaan berikut ini :
x = ( 2 + 3) * 2 

Secara logika matematika biasa kita sudah dapat menentukan berapa nilai dari x, yaitu 10, sebab 2 + 3 dikerjakan terlebih dahulu dan hasilnya baru dikalikan dengan 2, namun perlu agan-agan sekalian ketahui bahwa hal tersebut sangatlah berbeda jika kita implementasikan kedalam pemrograman C++, lebih jelasnya perhatikan contoh program dibawah ini :
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan kurung() untuk mengatur prioritas
*Pembuktian prioritas suatu operator
*/
 
void main() { 
clrscr() 
int x ; 
x = 2 + 3 * 2 ; 
cout << " x = " << x << '\n'; 
x = (2 + 3) * 2 ; 
cout << " x = " << x << '\n'; 
getch(); 
}

Hasil eksekusi :
8 
12


OPERATOR PENAIKAN DAN PENURUNAN

Operator penaikan adalah operator yang digunakan untuk menaikan nilai variabel sebesar 1,
Operator penurunan adalah operator yang digunakan untuk menurunkan nilai variabel sebesar 1.
Contoh :
x = x + 1 ;
y = y - 1 ;

Bisa ditulis menjadi :
++ x ; -- y ;
atau :
x ++ ; y -- ;

MENENTUKAN PRIORITAS OPERATOR PENAIKAN DAN PENURUNAN

Sekarang kita akan mencoba untuk menentukan prioritas dari operator penaikan dan penurunan, lalu bagaimanakah efek yang ditimbulkan dari hasil percobaan ini? selengkapnya silakan perhatikan contoh program di bawah ini :
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator penaikan di belakang variabel 
*/

void main() { 
int r = 10; 
int s; s = 10 + r++ ; 
cout << "r = " << r << '\n' ; 
cout << "s = " << s << '\n' ; 
getch(); 
}

Hasil eksekusi :
r = 11 
s = 20

Penjelasan :
Pada contoh diatas s diisi dengan penjumlahan nilai 10 dan r. Dengan demikian s akan bernilai 20. setelah s diisi dengan 20, nilai r baru dinaikan karena operator ++ ditulis dibelakang r. Disebut post-increment yang artinya dinaikkan dibelakang setelah penjumlahan antara r dan 10 dilaksanakan. Contoh lagi:
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator penaikan di depan variabel
*/

void main() { 
int r = 10; 
int s; 
s = 10 + ++r ; 
cout << "r = " << r << '\n' ; 
cout << "s = " << s << '\n' ; 
getch(); 
}

Hasil eksekusi :
r = 11 
s = 20

Penjelasan :
Pada contoh ini, nilai r mula-mula dinaikan terlebih dahulu karena operator ++ ditempatkan didepan r. Disebut pre-increment kemudian nilainnya dijumlahkan dengan 10 dan diberikan ke s. Dengan demikian s bernilai 21 dan r sama dengan 11.

OPERATOR PENUGASAN

Operator Penugasan adalah operator yang digunakan untuk memberikan nilai ke dalam variabel tertentu. Asumsikan variabel a bernilai 50 dan variabel b bernilai 30,lalu perhatikan tabel berikut:
Operator
Keterangan
Contoh
=
Memberikan nilai dari operand sisi kanan untuk sisi kiri
c = a + b
hasilnya c diberi nilai 80
c = a = b
Hasilnya c,a,b bernilai 30
+=
Menambahkan operand kiri dengan operand kanan dan menugaskan hasilnya untuk operand kiri
c += a
sama dengan
c = c + a
-=
Mengurangi operand kanan dari operand kiri dan menugaskan hasilnya untuk operand kiri
c -= a
sama dengan
c = c - a
*=
Mengalikan operand kanan dengan operand kiri dan menugaskan hasilnya untuk operand kiri
c *= a
sama dengan
c = c * a
/=
Membagi operand kiri dengan operand kanan dan menugaskan hasil untuk operand kiri
c /= a
sama dengan
c = c / a
%=
Menghitung sisa pembagian menggunakan dua operand dan memberikan hasilnya ke operand kiri
c %= a
sama dengan
c = c %  a

Contoh program :
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator penugasan
*/
 
void main() { 
int a = 50; 
int b = 30; 
int c = a + b; 
cout << "Nilai c adalah : " << c; c = a = b; 
cout << "Nilai c sekarang : " << c; 
cout << "Nilai a sekarang : " << a; 
c += a; 
cout << "Nilai c sekarang : " << c;
c *= a; 
cout << "Nilai c sekarang : " << c; 
c -= a; 
cout << "Nilai c sekarang : " << c; 
c /= a; 
cout << "Nilai c sekarang : " << c; 
c %= a; 
cout << "Nilai c sekarang : " << c; 
getch(); 
}

OPERATOR KONDISI

Operator Kondisi merupakan penyederhanaan dari bentuk if..else yang setiap blok dari if dan else hanya terdiri dari satu statement/perintah.

Bentuk umum:
(ekspresi) ? (jika benar) : (jika salah);
Contoh Program:
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator kondisi untuk memperoleh 
*bilangan terkecil diantara dua buah bilangan 
*/
 
void main() { 
int bil1, bil2, minim; 
bil1 = 53; 
bil2 = 6;
minim = (bil1 < bil2) ? bil1 : bil2; 
cout << " Bilangan terkecil = " << minim << '\n'; 
getch(); 
}

Hasil Eksekusi: 
Bilangan terkecil = 6

OPERATOR RELASI / PERBANDINGAN

Operator Relasi digunakan untuk menguji hubungan antara nilai dan atau variabel. Operator ini digunakan dalam suatu statement bersyarat yang selalu menghasilkan nilai true atau false.

Jenis-jenis operator relasi bisa dilihat dalam tabel berikut:
Operator
Keterangan
==
Sama dengan (bukan penugasan)
!=
Tidak sama dengan
> 
Lebih dari
< 
Kurang dari
>=
Lebih dari atau sama dengan
<=
Kurang dari atau sama dengan

Contoh program :
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator relasi
*/

void main() { 
int nilai; 
nilai = 3 > 2 ; // hasil ungkapan : benar 
cout << "Nilai = " << nilai << endl; 
nilai = 2 > 3 ; // hasil ungkapan : salah
cout << "Nilai = " << nilai << endl; 
getch(); 
}

Hasil eksekusi: 
Nilai = 1 
Nilai = 0

OPERATOR LOGIKA

Operator Logika digunakan untuk membandingkan dua nilai variabel atau lebih. Hasil dari operasi ini adalah nilai boolean true atau false. Asumsikan variabel a bernilai true, b bernilai false dan c bernilai true, lalu perhatikan tabel berikut:
Operator
Keterangan
Contoh
&&
Jika semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
a && b hasilnya false
a && c hasilnya true
||
Jika salah satu dari operand bernilai benar (TRUE) maka kondisi bernilai benar.
a || b hasilnya true
a || c hasilnya true
!
Digunakan untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan berubah menjadi salah (FALSE), begitu pula sebaliknya
!a hasilnya false
!b hasilnya true
!( b && a ) hasilnya true


Contoh Program:
#include <iostream.h> 
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator logika
*/

void main() { 
bool a = true; 
bool b = false; 
bool c = true; 
cout<< "(a && b) : " << (a && b);
cout<< "\n (a && c) : " << (a && c); 
cout<< "\n (a && b && c) : " << (a && b && c); 
cout<< "\n (a || b) : " << (a || b); 
cout<< "\n (a || c) : " << (a || c); 
cout<< "\n (a || b || c) : " << (a || b || c); 
cout<< "\n !a : " << !a; 
cout<< "\n !b : " << !b; 
cout<< "\n !(b && a) : " << !(b && a); 
getch(); 
}

Hasil eksekusi :
(a && b) : 0
(a && c) : 1
(a && b && c) : 0
(a || b) : 1
(a || c) : 1
(a || b || c) : 1
!a : 0
!b : 1
!(b && a) : 1

Tidak ada komentar:

Posting Komentar