Macam-macam Compound Assignment

Written by: Fajar   |   Updated on: Oktober 12, 2018
Compound Assignment

Compound Assigment

Compound Assignment jika diterjemahkan ke dalam Bahasa Indonesia adalah “Senyawa tugas”, tetapi di Indonesia kebanyakan orang menyebutnya dengan nama “Pemberi Nilai Aritmetika”.

Operator ini berfungsi untuk Memanipulasi dengan menggunakan dua buah operand yaitu nilai yang dituju dan nilai sumber. Memanipulasi dapat dilakukan dengan menggunakan nilai dari variabel lain atau nilai dari variabel itu sendiri. Compound Assigment memiliki macam-macam operator, yaitu :

Operator Keterangan Contoh
+= Penambahan X += Y
-= Pengurangan X -= Y
*= Perkalian X *= Y
/= Pembagian X /= Y
%= Sisa Pembagian (Modulo) X %= Y
>>= Pergeseran bit ke kiri X >>= Y
<<= Pergeseran bit ke kanan X <<= Y
&= Bitwise AND X &= Y
^= Bitwise OR Eksklusif X ^= Y
|= Bitwise OR Inklusif X |= Y

Operator-operator pada Compound Assignment di atas sebenarnya masih sama seperti apa yang sudah dijelaskan dan dicontohkan pada artikel sebelumnya, Seperti :

 
a = a + b; 

Di sini hanya berbeda pada penulisanya yang lebih singkat, hal ini dipercaya dapat menyingkat waktu dan mensederhanakan dalam penulisan. Di bawah adalah tabel dari kumpulan operasi Compound Assignment yang dijabarkan.

No Peningkatan Penjabaran
1 X += Y X = X + Y
2 X -= Y X = X – Y
3 X *= Y X = X * Y
4 X /= Y X = X / Y
5 X %= Y X = X % Y
6 X >>= Y X = X >> Y
7 X <<= Y X = X << Y
8 X &= Y X = X & Y
9 X ^= Y X = X ^ Y
10 X |= Y X = X | Y

Contoh Penulisan

X += 2 // x = x + 2
//penulisan di bawah juga berlaku
X *= Y * 3 / x = x * (y + 3)

Contoh Program :

#include <iostream>
using namespace std;

int main ()
{
    int x = 10, y = 2;

    cout<<(x += y)<<endl;
    x=10;
    cout<<(x -= y)<<endl;
    x=10;
    cout<<(x *= y)<<endl;
    x=10;
    cout<<(x /= y)<<endl;
    x=10;
    cout<<(x %= y)<<endl;
    x=10;
    cout<<(x >>= y)<<endl;
    x=10;
    cout<<(x <<= y)<<endl;
    x=10;
    cout<<(x &= y)<<endl;
    x=10;
    cout<<(x ^= y)<<endl;
    x=10;
    cout<<(x |= y)<<endl;

    return 0;
}
Baca :   Penjelasan dan Tabel Precedence of Operators

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *