Top Advertisement

JavaScript Dasar: Arithmetic Assignment Operators

JavaScript Dasar: Assignment Operator - ZendCode

Assignment operator atau operator penugasan digunakan untuk memberikan nilai ke variabel.  Assignment operator dikelompokkan menjadi: 

  • Arithmetic Assignment Operator 
  • Logical Assignment Operator
  • Bitwise Assignment Operator, dan 
  • Shift Assignment Operator

Di artikel sebelumnya, kita sudah membahas Operator Aritmetika. Di artikel ini kita akan membahas khusus Operator Penugasan Aritmetika (Arithmetic Assignment Operator). 

Assignment operator yang lain akan dibahas di artikel-artikel lainnya. 


Memahami Operator Assignment

Pada materi variabel, kita telah mempelajari cara mendeklarasi variabel, inisialisasi, dan penugasan. Inisialisasi dan penugasan variabel menggunakan operator penugasan atau assignment operator (=). 

Operator ( = ) adalah operator penugasan paling umum. Ia menerima dua operand, yaitu variabel dan nilai yang akan disimpan dalam variabel. 

let totalBuku = 20;

Variabel `totalBuku` dan `20` adalah operand. 

Operator ( = ) melakukan operasi penugasan `20` ke variabel `totalBuku`. 


Sekarang misalkan ada tambahan buku sebanyak 4 buah, bagaimana memperbarui nilai totalnya? 

Pasti kamu akan menjumlahkan total buku dengan jumlah buku tambahan ( 20 + 4 ) kemudian melakukan penugasan ulang ke variabel `totalBuku` untuk memperbarui nilainya. 

Kodenya menjadi seperti ini: 

// Ada tambahan 4 buku
totalBuku = totalBuku + 4; // (20 + 4) = 24;

Sekarang `totalBuku` bernilai `24`. 


Kode diatas melakukan dua operasi, yaitu aritmetika dengan operator (+) dan penugasan dengan operator (=). Kode tersebut dapat dipersingkat menggunakan addition assignment (+=) sehingga menjadi: 

let totalBuku = 20;

// Ada tambahan 4 buku
totalBuku += 4; // (20 + 4) = 24;

console.log(totalBuku);

Karena pada kode tersebut nilai `totalBuku` akan diperbarui dengan melibatkan nilai dari variabel tersebut, maka dapat disingkat dengan operator `+=`.  


Daftar Operator Penugasan Aritmetika

Berikut daftar Operator Penugasan Aritmetika: 

Operator Contoh Sama Dengan
= x = y x = y
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y
**= x **= y x = x ** y


Addition Assignment (+=)

Operator (+=)  menjumlahkan nilai dalam variabel dengan nilai baru kemudian melakukan penugasan ulang ke variabel tersebut. 

let totalBuku = 20;
totalBuku += 4; // 24


Subtraction Assignment (-=)

Operator (-=)  mengurangkan nilai dalam variabel dengan nilai baru dan menugaskan ulang ke variabel tersebut. 

let totalBuku = 20;
totalBuku -= 4; // 16
console.log(totalBuku);


Multiplication Assignment (*=) 

Operator (*=)  mengalikan nilai dalam variabel dengan nilai yang diberikan dan menugaskan ulang hasilnya ke variabel tersebut. 

let totalBelanja = 50000;
let diskon = 0.05; // 5% diskon

totalBelanja *= (1 - diskon); // 47500
console.log(totalBelanja);

Di contoh tersebut, kita memperbarui `totalBelanja` setelah mendapat diskon. Diskonnya sebesar 5%, sehingga totalBelanja menjadi `100% - 5%`, yaitu 95%

`100% - 5%`  sama dengan  `1 - diskon`.  

Kemudian `totalBelanja` dikalikan dengan 95%, hasilnya diassign ulang. 

Sekarang `totalBelanja` berisi nilai 47500



Division Assignment (/=)

Operator (/=)  membagi nilai dalam variabel dengan nilai yang diberikan dan menugaskan ulang hasilnya ke variabel tersebut. 

Operator ini mungkin sedikit jarang digunakan dalam kasus nyata. Saya sampai binggung untuk memberikan contoh di kehidupan nyata. 

Contoh sederhana: 

let x = 20;
x /= 4; // `x` sekarang 5

console.log(x);
  


Modulus Assignment (%=) 

Operator (%=) digunakan untuk menghitung sisa bagi nilai dalam variabel dengan operand yang diberikan, kemudian hasilkan ditugaskan kembali ke variabel tersebut. 

let x = 6;
x %= 2; // `x` sekarang 0

console.log(x);


Exponentiation Assignment (**=)

Operator (**=)  memangkatkan nilai dalam variabel dengan eksponen yang diberikan dan menugaskan ulang hasilnya ke variabel tersebut. 

let x = 2;
x **= 2; // `x` sekarang 4

console.log(x);