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.
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:
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:
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.
Subtraction Assignment (-=)
Operator (-=) mengurangkan nilai dalam variabel dengan nilai baru dan menugaskan ulang ke variabel tersebut.
Multiplication Assignment (*=)
Operator (*=) mengalikan nilai dalam variabel dengan nilai yang diberikan dan menugaskan ulang hasilnya ke variabel tersebut.
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:
Modulus Assignment (%=)
Operator (%=) digunakan untuk menghitung sisa bagi nilai dalam variabel dengan operand yang diberikan, kemudian hasilkan ditugaskan kembali ke variabel tersebut.
Exponentiation Assignment (**=)
Operator (**=) memangkatkan nilai dalam variabel dengan eksponen yang diberikan dan menugaskan ulang hasilnya ke variabel tersebut.