Kodealgo

8 Operator Aritmatika JavaScript yang Wajib Diketahui

Persoalan matematika akan sering kita temukan saat membuat aplikasi, pemahan yang baik mengenai operator matematika JavaScript dapat memudahkan Anda dalam memecahkan berbagai persoalan matematis.

Di JavaScript setidaknya ada delapan operator yang bisa kita gunakan untuk melakukan operasi matematika, semuanya akan kita kupas secara tuntas di sini, termasuk operator baru, eksponensial, yang diperkenalkan pada JavaScript ES6.

Mari kita pelajari terlebih dahulu apa itu operator aritmatika, bagaimana prioritasnya apakah sama seperti yang diajarkan di sekolah.

  1. Apa Itu Operator Aritmatika
  2. Prioritas Operator Aritmatika
  3. Operator Aritmatika
    1. Penjumlahan
    2. Pengurangan
    3. Perkalian
    4. Pembagian
    5. Modulus
    6. Eksponensial
    7. Increment
    8. Decrement

Apa Itu Operator Aritmatika?

Operator matematika adalah simbol yang digunakan untuk melakukan operasi matematika seperti penjumlahan, pengurangan, pembagian, perkalian dan sebagainya.

Nilai yang dibutuhkan untuk melakukan operasi disebut operan, sebagian besar operator membutuhkan dua operan, kecuali increment dan decrement.

Di JavaScript, kita bisa menggunakan operan berupa angka atau nama variabel yang berisi tipe data Number atau BigInt, khusus untuk + bisa dapat digunakan untuk menggabungkan string.

Perhatikan kode di bawah, 1 dan 2 adalah operan, sedangkan + adalah operator.

let a = 1 + 2;

Jika operasi matematika tidak valid atau tak terhingga, maka akan menghasilkan nilai NaN, Infinity, atau -Infinity.

const a = 2 / 0; // Infinity
const b = -2 / 0; // -Infinity
const c = 'reza' * 2; // NaN

Sama seperti yang diajarkan di sekolah, kita bisa melakukan beberapa operasi sekaligus dalam satu ekspresi:

const a = 1 + (2 * 5) / 2;

Berapa hasilnya? apakah JavaScript melakukan penjumlahan terlebih dahulu atau melakukan perkalian? Oleh karena itu mari kita bahas urutan prioritas operator.

Prioritas Operator Aritmatika

Prioritas operator menjelaskan urutan operasi yang dilakukan dalam ekspresi aritmatika.

Perhatikan tabel di bawah, semakin kecil nilai pada kolom "Prioritas" maka ekspresi yang mengandung operator tersebut akan dihitung terlebih dahulu.

Jika ekspresi mengandung operator dengan nilai prioritas yang setara, dihitung dari kiri ke kanan.

PrioritasOperatorDeskripsiContoh
1()Pengelompokkan ekspresi(5 + 2)
2n++Postfix incrementi++
2n--Postfix decrementi--
3++_n_Prefix increment++i
3--nPrefix decrement--i
4**Eksponensial5 ** 2
5*Perkalian5 * 2
5/Pembagian5 / 2
5%Modulus5 % 2
6+Penjumlahan5 + 2
6-Pengurangan5 - 2

Singkatnya, sama seperti matematika di sekolah.

const a = 1 + 2 * 5; // 11

✔ Kalikan dulu lalu jumlahkan: 2 * 5 = 10 lalu 1 + 10 = 11.

❌ Bukan jumlahkan dulu lalu kalikan: 1 + 2 = 3 lalu 3 * 5 = 15.

Perhatikan bahwa urutan operasi yang salah menghasilkan nilai yang salah. Bagaimana dengan operator yang memiliki nilai prioritas setara? dihitung dari kiri ke kanan.

Kita tidak perlu khawatir mengenai hal ini karena akan menghasilkan nilai yang sama, namun kita perlu tahu bahwa JavaScript menghitung dari kiri ke kanan.

const a = (5 * 5) / 4; // 6.25

✔ Kalikan dulu lalu bagi: 5 * 5 = 25 lalu 25 / 4 = 6.25.

❌ Bukan bagi dulu lalu kalikan: 5 / 4 = 1.25 lalu 5 * 1.25 = 6.25. Ini ditandai sebagai salah karena dihitung dengan urutan yang salah meskipun menghasilkan nilai yang benar, JavaScript tidak melakukan perhitungan seperti ini.

Keduanya menghasilkan nilai yang sama meskipun dihitung dengan urutan yang berbeda, oleh karena itu Anda tidak perlu khawatir, namun sekali lagi, kita perlu tahu bahwa ini dihitung dari kiri ke kanan.

Sama seperti di sekolah, kita juga bisa menentukan sendiri urutan prioritas sesuai keinginan menggunakan tanda kurung, ekspresi yang ada di dalam kurung akan selalu dihitung terlebih dahulu.

const a = (1 + 2) * 5; // 15

Operator Aritmatika

Berikut daftar operator aritmatika yang dapat digunakan di JavaScript.

OperatorDeskripsi
+Penjumlahan
-Pengurangan
*Perkalian
/Pembagian
%Modulus (sisa bagi)
**Eksponensial
++Increment
--Decrement

Mari kita ulas satu per satu...

Penjumlahan

Operator penjumlahan (+) menjumlahkan angka:

const a = 5 + 2; // 7

Atau, bisa juga digunakan untuk menggabungkan string:

const hello = 'hello';
const world = ' world';
const helloWorld = hello + world; // hello world

Menjumlahkan angka dengan string akan dianggap menggabungkan string dan mengembalikan nilai string:

const a = 1 + ' hello'; // 1 hello

Pengurangan

Operator pengurangan (-) mengurangi angka:

const a = 5 - 2; // 3

Perkalian

Operator perkalian (*) mengalikan angka:

const a = 5 * 2; // 10

Pembagian

Operator pembagian (/) membagi angka:

const a = 5 / 2; // 2.5

Modulus

Operator modulus (%) mengembalikan nilai sisa pembagian.

const a = 5 % 2; // 1

Eksponensial

Operator eksponensial (**) memangkatkan operan di sebelah kiri operator dengan operan di sebelah kanan.

const a = 5 ** 2; // 25 - lima pangkat dua

Increment

Operator increment (++) digunakan untuk melakukan increment (meningkatkan) atau menambahkan nilai dengan satu. Posisi operator menentukan nilai yang dikembalikan, apakah setelah ditambahkan atau sebelum.

Increment postfix (n++) mengembalikan nilai sebelum penjumlahan.

Increment prefix (++n) mengembalikan nilai setelah penjumlahan.

Jika kita tidak menginisialisasi ekspresi increment ke variabel, hasilnya terlihat sama:

// Increment Postfix
let a = 1;
a++;
console.log(a); // 2

// Increment Prefix
let b = 1;
++b;
console.log(b); // 2

Namun, jika kita menginisialisasi expresi tersebut ke sebuah variabel ini akan menghasilkan nilai yang berbeda:

// Decrement Postfix
let a = 1;
const b = a++;
console.log(b); // 1

// Decrement Prefix
let a = 1;
const b = ++a;
console.log(b); // 2

Decrement

Operator decrement (--) digunakan untuk melakukan decrement (penurunan) atau mengurangi nilai dengan satu.

Perilaku decrement posfix (n--) dan prefix (--n) sama seperti increment, alih-alih menjumlahkan, decrement mengurangi.

Decrement postfix (n--) mengembalikan nilai sebelum pengurangan .

Decrement prefix (--n) mengembalikan nilai setelah pengurangan.

Jika tidak dinisialisasi ke variabel:

let a = 1;
a--;
console.log(a); // 0

let b = 1;
--b;
console.log(b); // 0

Jika diinisialisasi ke variabel:

let c = 1;
const d = c--;
console.log(d); // 1

let e = 1;
const f = --e;
console.log(f); // 0