Operator

posted in: Pemrograman C++ | 0

Variabel

Kata variabel dalam istilah matematika seringkali disebut peubah, yaitu nilai yang dapat berubah-ubah sesuai dengan perhitungan yang dilakukan. Sama halnya dalam ranah pemrograman,  variabel pada program merupakan peubah yang dapat berisikan nilai apapun sesuai dengan tipe datanya. Dalam menggunakan variabel, kamu dibebaskan untuk menentukan nama dari sebuah variabel, meski begitu, terdapat beberapa aturan yang perlu diperhatikan dalam penamaan variabel:

  1. Penamaan variable bersifat case-sensitive atau memperhatikan besar kecilnya huruf. Variabel miminGanteng dan variabel miminganteng merupakan dua buah variabel yang berbeda (meskipun keduanya bernilai true).
  2. Penamaan variabel tidak boleh dipisah menggunakan spasi. Alternatifnya, kamu bisa menggunakan karakter atau simbol untuk dapat memisahkan nama variabel, seperti penggunaan karakter (_) underscore agar mudah dibaca. Namun, kenyataannya para programmer lebih sering menggunakan huruf kapital untuk menandai perbedaan kata e.g. sinauArduino, miminGantengSangatKataEmak.
  3. Penamaan variable tidak boleh mengandung unsur-unsur perintah dalam C++ (kata tercandang) seperti main, class, new, delete, void, return, int, log, mutable, namespace, operator, private, protected, public, register, reinterpret_cast, short, signed, dan lain-lain.

Konstanta

Konstanta merupakan nilai yang bersifat tetap. Lalu apa perbedaannya dengan variabel? Ialah konstanta memiliki nilai yang tetap, tidak seperti variabel yang berubah-ubah. Sesuai dengan namanya, konstanta digunakan untuk mendeklarasikan nilai yang sepanjang program tidak perlu untuk diubah, misalnya nilai pi atau konstanta kecepatan cahaya.

Teori bilangan

C++ dapat bekerja dengan empat macam bilangan, yaitu bilangan berbasis 10 (desimal), berbasis 16 (Hexadesimal), bilangan basis 8 (Oktal), dan bilangan basis 2 (BInal Biner).

Bilangan desimal merupakan bilangan yang biasa kita gunakan sehari-hari. Desimal terdiri dari 10 angka, yaitu mulai dari angka 0 hingga 9.

Biangan hexadesimal merupakan bilangan basis 16, terdiri dari 0123456789ABCDEF. Untuk mengkonversi bilangan hexadesimal menjadi bilangan desimal, bilangan suku ke-n bilangan hexadesimal dikalikan dengan 16n-1 (suku pertama dihitung dari kiri ke kanan). Sebagai contoh 2F, maka {(2×161)+(15×160) = 47}, F pada bilangan hexadesimal mewakili nilai 15.

Bilangan oktal adalah bilangan berbasis 8, terdiri dari angka 0-7. Untuk mengubah bilangan oktal menjadi desimal, bilangan suku ke-n bilangan oktal dikali dengan 8n-1. Misal, untuk angka 10 maka {(1×81)+(0x80) = 8}.

Bilangan biner adalah bilangan basis 2, dimana bilangan ini digunakan oleh komputer dikarenakan komputer hanya mampu mengenali bilangan ini dalam komputasionalnya. Bilangan biner terdiri dari angka 0 dan 1. Untuk merubah biangan biner menjadi bilangan desimal, suku ke-n dikalikan dengan 2n-1. Misal untuk angka biner 1011 maka {(1×23)+(0x82)+(1×21)+(1×80) = 11}

Operator

Operator dibagi menjadi beberapa jenis berdasarkan fungsinya yaitu operator assignment, operator aritmatika, operator gabungan, operator kenaikan dan penurunan, operator relasi dan kesetaraan, operator bitwise, operator koma, dan lain-lain.

1. Operator Assignment

Operator Assignment (=) merupakan operator yang digunakan untuk memberikan nilai kepada variable. Sebagai contoh a = 5; sehingga variabel a sekarang bernilai 5. Yang harus kamu perhatikan operator assignment berbeda dengan operator equal to (==). Operator equal to digunakan untuk mengetahui kesetaraan dari dua buah pernyataan.

2. Operator Aritmatika

Operator aritmatika digunakan untuk melakukan operasi aritmatika. Beberapa simbol operator aritmatika dan fungsinya adalah sebagai berikut:

OperatorNamaKegunaan
+AdditionMelakukan Penjumlahan
-SubstractionMelakukan Pengurangan
*MultiplicationMelakukan Perkalian
/DivisionMelakukan Pembagian
%ModuloMencari Sisa Hasil Bagi

Dari tabel operator diatas, mungkin asing bagi kamu mengenai operator modulo, karena fungsinya yang mencari sisa hasil bagi. Sebagai contoh a = 7%2, dimana nilai variabel a adalah 1, karena bilangan terbesar yang nilainya lebih kecil dari 7 dan masih bisa dibagi 2 adalah 6, maka sisanya adalah (7-6) yaitu 1.

3. Operator Gabungan

Operator gabungan merupakan operator yang terbentuk dari gabungan operator aritmatika dan assignment. Operator gabungan berfungsi untuk melakukan operasi aritmatika terhadap suatu variabel dengan konstanta dan memberikan hasil operasi kepada variabel tersebut. Sebagai contoh a +=5; dari pernyataan ini, nilai variabel a akan ditambah 5 dan hasil penjumlahan akan disimpan dalam variabel a kembali. erikut daftar operator gabungan:

OperatorKeterangan
+=Penjumlahan
-=Pengurangan
*=Perkalian
/=Pembagian
%=Modulo (Sisa Hasil Bagi)

4. Operator kenaikan dan Penurunan (Increment dan Decrement)

Operator ini terdiri dari dua jenis yaitu increment (++) dan decrement (- -). Operator increment digunakan untuk menambah nilai suatu variabel dengan 1, sedangkan operator decrement digunakan untuk mengurangi nilai suatu variabel dengan 1. Sebagai contoh:

a++ dan ++a.

Kedua pernyataan ini sama, apabila a=2, maka kedua pernyataan tersebut akan menghasilkan a = 3 ketika dieksekusi.

Perbedaanya adalah pada pernyataan a++, jika pernyataan tersebut digunakan untuk memberikan nilai kepada suatu variable lain (bukan a), maka nilai variabel itu aka berisi nilai a, bukan a+1.

a=3;

b=a++;

dari pernyataan di atas, b akan tetap berisi nilai 3 bukan 4, karena b akan diberikan nilai variabel a sebelum ditambahkan dengan 1 alias incremented. Sedangkan pada pernyataan ++a, jika digunakan untuk memberikan nilai suatu variabel lain (bukan a), maka nilai variabel itu adalah a+1.

a = 3;

b = ++a;

maka nilai b adalah 4 karena nilai a akan ditambah dengan 1 alias incremented dahulu sebelum diumpan pada variabel b. Sistem diatas berlaku juga untuk operator decrement (- -). Berikut program yang bisa kamu gunakan untuk lebih memahami cara kerja operator increment.

#include<iostream>
using namespace std;
int main(){
int a = 3;
cout<<"Nilai a sebelum operator increment = "<<a<<;endl;
int b,c;
b=a++;
a=3; //nilai a dikembalika ke awal setelah dinaikan.
cout<<"Nilai a = "<<a<<endl;
c=++a;
cout<<"Nilai a setelah operator increment = "<<a<<endl; 
cout<<"Nilai b = "<<b<<endl;
cout<<"Nilai c = "<<c<<endl;
return 0; 
} 

Berikut adalah hasil, ketika program di atas dijalankan:

increment

5. Operator Hubungan dan Kesetaraan

Operator hubungan dan kesetaraan adalah operator yang digunakan untuk membandingkan 2 buah pernyataan. Apabila pernyataan yang dibandingkan tersebut memenuhi syarat yang ditentukan operator, maka pernyataan tersebut akan bernilai true atau 1, sementara jika tidak memenuhi syarat maka akan bernilai false atau 0. Sebagai contoh a>=b, maka akan menghasilkan nilai true jika a memiliki nilai minimal sama dengan nilai b atau lebih besar dari nilai b, dan sebaliknya akan menghasilkan nilai false. Berikut adalah tabel operator hugungan dan kesetaraan.

OperatorNamaSyarat Kebenaran
=='Sama denganNilai ruas kiri sama dengan ruas kanan
!=Tidak sama denganNilai ruas kiri tidak sama dengan ruasn kanan
>=Lebih besar dari sama denganNilai ruas kiri lebih besar atau sama dengan ruas kanan
<=Lebih kecil dari sama denganNilai ruas kiri lebih kecil atau sama dengan ruas kanan
>Lebih besar dariNilai ruas kiri lebih besar dari ruas kanan
<Lebih kecil dariNilai ruas kiri lebih kecil dari nilai ruas kanan

6. Operator Bitwise

Operator ini digunakan untuk melakukan operasi pada ranah bilangan biner. Operator yang termasuk golongan ini terdiri dari AND (&), OR (|), XOR (^), NOT (~), SHL (shift left <<), dan SHR (shift right >>). Suatu bilangan akan dikonversikan terlebih dahulu ke bentuk biner dan kemudian dioperasikan secara biner menggunakan instruksi di atas. Untuk lebih jelasnya akan dibahas satu-per satu.

AND (&)

Operator ini akan melakukan operasi AND pada setiap nilai bit yang sejajar. Apabila kedua bit tersebut bernilai 1, maka akan menghasilkan nilai 1. Namun, jika salah satu atau keduanya bernilai 0, maka akan menghasilkan nilai 0.

and

Source code operasi AND:

#include<iostream>
using namespace std;
int main(){
int a = 39;
int b = 14;
int c = a&b;
cout<<"Hasil Operasi <<a<<"&"<<b<<" adalah = "<<c<<endl;
return 0;
}

Hasil operasi AND:

and-cpp

OR (|)

Operator ini akan melakukan operasi OR pada setiap nilai bit yang sejajar. Apabila kedua bit atau salah satu dari kedua bit bernilai 1, maka akan menghasilkan nilai 1. Namun jika keduanya bernilai 0, maka akan menghasilkan nilai 0.

or

Source code operasi OR:

#include<iostream>
using namespace std;
int main(){
int a = 39;
int b = 14;
int c = a|b;
cout<<"Hasil Operasi <<a<<"|"<<b<<" adalah = "<<c<<endl;
return 0;
}

Hasil operasi OR:

or-cpp

XOR (^)

Operator ini akan melakukan operasi XOR pada setiap nilai bit yang sejajar. Apabila salah satu dari kedua bit tersebut bernilai 1, maka akan menghasilkan nilai 1. Namun juka keduanya bernilai 1 atau 0, maka akan menghasilkan nilai 0.

xor

Source code operasi XOR:

#include<iostream>
using namespace std;
int main(){
int a = 39;
int b = 14;
int c = a^b;
cout<<"Hasil Operasi <<a<<"^"<<b<<" adalah = "<<c<<endl;
return 0;
}

Hasil operasi XOR:

xor-cpp

NOT (~)

Operator ini akan membalik nilai sebuah bit. Apabila nilai dari bit tersebut bernilai 1, maka akan diubah menjadi nilai 0 dan apabila bit tersebut bernilai 0, maka akan diubah menjadi nilai 1 oleh operator ini.

not

Source code operasi NOT:

#include<iostream>
using namespace std;
int main(){
int a = 39;
int b = ~a;
cout<<"Hasil Operasi ~"<<a<<" adalah = "<<b<<endl;
return 0;
}

Hasil operasi NOT:

not-cpp

SHL (shift left <<)

Operator shift right (SHR) merupakan operator yang menggeser posisi suatu bit, n posisi ke arah kiri. Nilai bit yang paling kanan akan berubah menjadi 0, sedangkan nilai bit yang paling kiri, akan hilang digantikan oleh bit disebelah kanannya.

SHL

menggeser 1 bit ke kiri.

Source code operasi SHL:

</pre>
<pre>#include<iostream>
using namespace std;
int main(){
int a = 39;
int b = a<<1;
cout<<"Hasil Operasi "<<a<<"<<1 adalah = "<<b<<endl;
return 0;
}</pre>
<pre>

Hasil operasi SHL:

shl-cpp

SHR (shift right  >>)

Operator shift right (SHR) merupakan operator yang menggeser posisi suatu bit, n posisi ke arah kanan. Nilai bit yang paling kiri, akan berubah menjadi 0, sedangkan bit yang paling kanan akan hilang dan digantikan oleh bit disebelah kirinya.

SHR

menggeser 1 bit ke kanan.

Source code operasi SHR:

</pre>
<pre>using namespace std;
int main(){
int a = 39;
int b = a>>1;
cout<<"Hasil Operasi "<<a<<">>1 adalah = "<<b<<endl;
return 0;</pre>
<pre>

Hasil operasi SHR:

shr-cpp

7. Operator Koma

Operator ini digunakan untuk memisahkan 2 buah operasi yang bisa jadi saling berhubungan. Contoh : x = (y = 3, z = 4, y + z); Pada contoh di atas, mula-mula nilai 3 diberikan kepada y dan nilai 4 diberikan kepada z. Kemudian, pada variabel x akan diberi nilai y + z (y + z = 3 + 4 = 7).

8. Operator Logika dan Kondisi.

Pada dasarnya operator ini sama dengan operator gabungan. Operator ini akan dibahas secara lengkap pada instruksi kendali.

 

“Selagi masih ada ilmu yang bermanfaat dan kesempatan, sebarkanlah”

Salam sinauarduino.com

Leave a Reply