free registration html

PERTEMUAN 8 FREE REGISTRATION

Latihan atau tugas Free Registration NAMA : Tgl Lahir: Alamat : Kota : Pekerjaan: Programer Data ANALISIS IT Su...

Sabtu, 27 Maret 2021

Jenis Jenis Operator yang harus di pahami pada C++

Hallo guys  kali ini saya bakal bahas  Jenis- Jenis Operator yang ada di C++ tapi sebelumnya pahami dulu ya apa itu operator 

yuk. langsung aja kita simak!!

Apa sih Operator itu ?

Operator adalah sebuah simbol…

Simbol yang digunakan untuk melakukan operasi tertentu.

Berikut pengertian operator dalam bahasa pemrograman:

Operator adalah simbol khusus yang biasa dilibatkan dalam pembuatan program untuk melakukan suatu operasi matematika maupun manipulasi logika.

Contohnya:

Kita ingin menjumlahkan nilai dari variabel x dan y, maka kita bisa menggunakan operator penjumlahan (+).

x + y

Ada enam jenis kelompok operator dalam pemrograman C++ yang harus kamu ketahui:

  1. Operator Artimatika;
  2. Operator Penugasan;
  3. Operator Pembanding;
  4. Operator Logika;
  5. Operator Bitwise;
  6. Operator Koma
  7. Operator Lain-lain.
Apa saja perbedaanya ?

yuk kita bahas

1. Operator Aritmatika

Operator aritmatika merupakan operator yang digunakan untuk melakukan operasi aritmatika.

Operator ini terdiri dari:

Nama OperatorSimbol
Penjumlahan+
Pengurangan-
Perkalian*
Pembagian/
Sisa Bagi%

Bagaimana cara pakainya?

Mari kita coba dalam contoh program:

Buatlah program baru bernama operator_aritmatika.cpp, kemudian isi dengan kode berikut.

#include <iostream>
using namespace std;

int main(){

    int a, b, c;

    cout << "Inputkan nilai a: ";
    cin >> a;
    cout << "Inputkan nilai b: ";
    cin >> b;

    // menggunakan operator penjumlahan
    c = a + b;

    cout << "Hasil a + b = " << c << endl;

    return 0;
}

Maka hasilnya:


Mari kita coba untuk contoh operator yang lain seperti pengurangan, perkalian, pembagian, dan sisa bagi.

Ubah programnya menjadi seperti ini:

#include <iostream>
using namespace std;

int main(){

    int a, b;

    cout << "Inputkan nilai a: ";
    cin >> a;

    cout << "Inputkan nilai b: ";
    cin >> b;
cout << "Hasil a + b: " << a + b << endl; cout << "Hasil a - b: " << a - b << endl; cout << "Hasil a * b: " << a * b << endl; cout << "Hasil a / b: " << a / b << endl; cout << "Hasil a % b: " << a % b << endl;
return 0; }

Maka hasilnya seperti ini :

Pada operasi pembagian, 5/2 hasilnya adalah 2.

Kenapa bisa begitu?

Bukannya harusnya 2.5

Ini karena kita melakukan operasi terhadap tipe data integer.

Bila kita ubah programnya menggunakan tipe data  dari  int menjadi float:


2. Operator Penugasan

Operator penugasan (Assignment Operator) merupakan operator untuk meberikan tugas pada variabel. Biasanya untuk mengisi nilai.

Operator Penugasan terdiri dari:

Nama OperatorSombol
Pengisian Nilai=
Pengisian dan Penambahan+=
Pengisian dan Pengurangan-=
Pengisian dan Perkalian*=
Pengisian dan Pembagian/=
Pengisian dan Sisa bagi%=
Pengisian dan shift left<<=
Pengisian dan shift right>>=
Pengisian dan bitwise AND&=
Pengisian dan bitwise OR|=
Pengisian dan bitwise XOR^=
Kurangi satua-- atau --a
Tambahkan satua++ atau ++a

Buatlah program baru bernama belajar_operator_penugasan.cpp, kemudian isi dengan kode berikut:Mari kita coba dalam program…

#include <iostream>
using namespace std;

int main(){

    int a, b;

    // pengisian nilai dengan operator =
    a = 12;
    b = 10;

    // pengisian sekaligus penambahan
    b += a; // ini sama seperti b = b + a
    cout << "Hasil b += a adalah " << b << endl;

    // pengisian sekaligus pengurangan
    b -= a; // ini sama seperti b = b - a
    cout << "Hasil b -= a adalah " << b << endl;

    // pengisian sekaligus perkalian
    b *= a; // ini sama seperti b = b * a
    cout << "Hasil b *= a adalah " << b << endl;

    // pengisian sekaligus pembagian
    b /= a; // ini sama seperti b = b / a
    cout << "Hasil b /= a adalah " << b << endl;

    // pengisian sekaligus penambahan
    b %= a; // ini sama seperti b = b % a
    cout << "Hasil b %= a adalah " << b << endl;

    return 0;
}


Maka hasilnya seperti ini :


Pada program tersebut, variabel b kita isi ulang dengan operator penugasan.

Sebagai contoh, operasi:

b += a

sama halnya  seperti :

kita buat penjumlahan b = b + a

Makudnya kita akan mengisi nilai untuk b dengan nilai b ditambah nilai a.

Begitu juga dengan opeartor yang lain.

3. Operator Pembanding

Operator pembanding adalah operator untuk memabndingkan dua buah nilai. Operator ini juga dikenal dengan operator relasi.

Operator pembanding terdiri dari:

Nama OperatorSimbol
Lebih Besar>
Lebih Kecil<
Sama Dengan==
Tidak Sama dengan!=
Lebih Besar Sama dengan>=
Lebih Kecil Sama dengan<=

Nilai yang dihasilkan dari operasi pembanding akan berupa true dan false.

Pada bahasa C++, nilai true akan samadengan 1 dan false akan samadengan 0.

Mari kita coba dalam program…

Buatlah program baru dengan nama belajar_operator_pembanding.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main(){
    int a = 7, b = 5;
    bool hasil;

    cout << "a = " << a << endl;
    cout << "b = " << b << endl;

    // menggunakan operator pembanding
    hasil = a > b;
    cout << "a > b = " << hasil << endl;

    hasil = a < b;
    cout << "a < b = " << hasil << endl;

    hasil = a >= b;
    cout << "a >= b = " << hasil << endl;

    hasil = a <= b;
    cout << "a <= b = " << hasil << endl;

    hasil = a == b;
    cout << "a == b = " << hasil << endl;

    hasil = a != b;
    cout << "a != b = " << hasil << endl;


    return 0;
}

Maka hasilnya seperti ini:


Operator pembanding biasanya di gunakan untuk program percabangan

4. Operator Logika

Kalau kamu pernah belajar logika matematika, pasti tidak akan asing dengan operator ini.

Nama OperatorSimbol
Logika AND&&
Logika OR||
Negasi/kebalikan!

Operator Logika digunakan untuk membuat operasi logika.

Misalnya seperti ini:

  • Pernyataan 1: Ramadhan seorang programmer
  • Pernyattan 2: Ramadhan menggunakan Linux

Jika ditanya, apakah Ramadhan programmer yang menggunakan Linux?

Tentu kita akan cek dulu kebenarannya

  • Pernyataan 1: Ramadhan seorang programmer = true.
  • Pernyataan 2: Ramadhan menggunakan Linux = true.

Apakah Ramadhan programmer dan menggunakan Linux?

Pertnyataan 1 && Pernyataan 2 = true

Bingung ya ?

Coba cek lagi tabel kebenaran untuk logika AND.

Pernyatan 1Pernytaan 2Hasil Logika AND
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse


Lalu bagaimana mengggunakannya di program?

Mari kita lihat contohnya…

Buatlah program baru bernama belajar_operator_logika.cpp, kemudia ini dengan kode berikut.

#include <iostream>
using namespace std;

int main(){
    int a = 1; // true
    int b = 0; // false
    bool hasil;

    cout << "a = " << a << endl;
    cout << "b = " << b << endl;

    // logika AND
    hasil = a && b;
    cout << "a && b = " << hasil << endl;

    // logika OR
    hasil = a || b;
    cout << "a || b = " << hasil << endl;

    // logika NOT
    cout << "!a = " << !a << endl;

    return 0;
}


Maka hasilnya seperti ini :


5. Operator Bitwise

     Operator yang digunakan untuk melakukan operasi-operasi yang berhubungan dengan manipulasi bit. Sejak bahasa C diciptakan, bahasa C banyak digunakan untuk lebih memudahkan pemrograman yang berhubungan dengan alat. Hal ini disebabkan karena bahasa tersebut mendukung operasi-operasi bitwise yang biasanya dilakukan dengan menggunakan bahasa assembly. Walaupun demikian, pada kenyataanya, untuk menyelesaikan kasus-kasus tertentu bahasa C/C++ masih harus menggunakan bahasa assembly yang disisipkan di dalamnya. Hal ini disebut dengan istilah inline assembly, yang akan dibahas pada lampiran di dalam buku ini.

    Operator bitwise hanya dapat digunakan pada operand bertipe char dan int saja. Adapun yang termasuk dalam operator bitwise dalam C++ adalah seperti yang tampak pada tabel di bawah ini.


    Untuk operator &, | dan ~ di atas sama dengan pada operator logika, hanya saja perbedaannya kalau di bitwise bekerjanya bit demi bit. Nah sekarang yang perlu dibahas adalah penggunaan operator ^ , >> dan <<.

a. Operator ^

     Operator ini digunakan untuk melakukan operasi ekslusiv OR (XOR). Adapun hasil dari operasi ini akan bernilai 1 (benar) jika satu operandnya (bukan salah satu) bernilai benar, selain itu akan menghasilkan nilai 0 (salah). Dengan demikian, jika akedua operandnya bernilai 1 (benar), maka hasil dari operasi ini adalah 0 (salah). Untuk lebih memahaminya, berikut ini tabel yang menyatakan hasil dari operasi XOR.



  Sebagai contoh, kita akan melakukan operasi 120 ^ 127, maka hasilnya adalah sebagai berikut :

  0 1 1 1 1 0 0 0
  0 1 1 1 1 1 1 1
^------------------
  0 0 0 0 0 1 1 1

b. Operator >>

     Operator >> (shift right) digunkaan untuk melakukan perpindahan bit ke arah kanan. Adapun bentuk umum dari penggunaan operator ini dapat dituliskan sebagai berikut :

nilai >> banyaknya_pergeseran_bit_ke_arah_kanan

     Setiap pergeseran satu bit, operator ini akan membagi suatu nilai dengan 2. Sebagai contoh, jika kita melakukan operasi 16 >> 1, maka hasilnya adalah 8. Sedangkan jika 16 >> 2, maka hasilnya adalah 

Berikut contoh programnya.

#include <iostream>
using namespace std;
int main() {
  int X, Y;
  // Menggeser 1 bit ke kanan
  // dari bentuk biner bilangan 16
  X = 16 >> 1;
  // Menggeser 2 bit ke kanan
  // dari bentuk biner bilangan 16
  Y = 16 >> 2;
   // Menampilkan hasil
  cout<<"16 >> 1 = "<<X<<endl;
  cout<<"16 >> 2 = "<<Y;
  return 0;
}

Hasil yang akan diperoleh dari program di atas adalah sebagai berikut :

16 >> 1 = 8
16 >> 2 = 4 

Untuk mengilustrasikan proses tersebut, perhatikan tabel di bawah ini :



c. Operator <<

    Operator << (shift left) merupakan kebalikan dari operator >>, yaitu digunakan untuk melakukan perpindahan bit ke arah kiri. Adapun bentuk umum dari penggunaan operator ini dapat dituliskan seperti berikut :

nilai << banyaknya_pergeseran_bit_ke_arah_kiri
    Kebalikan dari operator >> yang membagi nilai dengan 2, pada operator << justru akan mengalikan nilai dengan 2. Misalnya, 1<< 1 akan mengahasilkan nilai 2. Sedangkan 1 << 2 maka nilai yang dihasilkan adalah 4. Berikut ini contoh program yang akan membuktikan hal tersebut :

#include <iostream>
using namespace std;
int main() {
  int X, Y;
  // Menggeser 1 bit ke kiri
  // dari bentuk biner bilangan 1
  X = 1 << 1;
  // Menggeser 2 bit ke kiri
  // dari bentuk biner bilangan 1
  Y = 1 << 2;
   // Menampilkan hasil
  cout<<"1 << 1 = "<<X<<endl;
  cout<<"1 <<  2 = "<<Y;
  return 0;
}
Contoh hasil yang akan diberikan dari program di atas adalah sebagai berikut :

1 << 1 = 2
1 << 2 = 4 

6.  Operator koma

Operator koma (,) memiliki beberapa fungsi, yaitu:

  • Untuk memisahkan deretan deklarasi variabel
  • Untuk memisahkan argumen fungsi
  • menyatukan dua ekspresi menjadi sebuah pernyataan, dan
  • memungkinkan pemberian lebih dari satu ekspresi pada inisialisasi nilai awal.

Berikut contoh program dengan operator koma:

#include <iostream>
using namespace std;

int main(){
    int a ,b ; 
        a = (b=3, b + 2 ); 
    cout << a ;
    
}

Agak rumit namun penjelasanya seperti ini: Pertama variabel b akan diberi nilai 3, kemudian nilai b (3) akan dijumlahkan dengan 2 sehingga variabel a bernilai 5.



7. Operator Lainnya

Berikut adalah operator lainnya yang didukung oleh bahasa C++:

OperatorKeterangan
sizeofUntuk mengembalikan nilai dari ukuran variabel. Contoh sizeof(a), dimana ‘a’ adalah integer maka akan mengembalikan nilai 4
. (dot) and -> (arrow)Operator member yang digunakan untuk mereferensikan member class, structures, dll.
CastUntuk mengkonversi suatu data ke tipe data lain. Contohnya int(2.2000) akan menjadi 2
*Digunakan sebagai operator pointer

Dan berikut adalah daftar operator berdasarkan kategorinya:

CategoryOperatorAssociativity
Postfix() [] -> . ++ - -Left to right
Unary+ - ! ~ ++ - - (type)* & sizeofRight to left
Multiplicative* / %Left to right
Additive+ -Left to right
Shift<< >>Left to right
Relational< <= > >=Left to right
Equality== !=Left to right
Bitwise AND&Left to right
Bitwise XOR^Left to right
Bitwise OR|Left to right
Logical AND&&Left to right
Logical OR||Left to right
Conditional?:Right to left
Assignment= += -= *= /= %=>>= <<= &= ^= |=Right to left
Comma,Left to right

Kesimpulan

Tenang saja kamu tidak perlu menghafal semua operator tersebut, namun kamu perlu memahaminya. Karena saya yakin nantinya kamu akan membutuhkannya.