3.1. Operator Aritmatika
Operator JavaScript
Operator aritmatika digunakan di operasi matematika yang melibatkan data dengan tipe number.
Operator-operator tersebut dapat dilihat pada tabel berikut ini:
Operator | Deskripsi |
---|---|
+ | Penjumlahan |
- | Pengurangan |
* | Perkalian |
/ | Pembagian |
** | Eksponen (pangkat) |
% | Modulus (menghasilkan sisa hasil pembagian) |
++ | Increment (menambah 1) |
-- | Decrement (mengurangi 1) |
Contoh penggunaan pada operasi matematika JavaScript:
Penjumlahan
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 + bilangan2); // Output: 13
Pengurangan
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 - bilangan2); // Output: 7
Perkalian
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 * bilangan2); // Output: 30
Pembagian
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 / bilangan2); // Output: 3.3333333333333335
Eksponen (Pangkat)
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 ** bilangan2); // Output: 1000
Modulus
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 % bilangan2); // Output: 1
Increment (Tambah 1)
let bilangan = 10;
bilangan++;
console.log(bilangan); // Output: 11
Contoh operasi di atas apabila dituliskan tanpa operator increment akan sama seperti ini:
let bilangan = 10;
bilangan = bilangan + 1;
console.log(bilangan); // output: 11
Decrement (Kurang 1)
let bilangan = 10;
bilangan--;
console.log(bilangan); // output: 9
Contoh operasi di atas apabila dituliskan tanpa operator decrement akan sama seperti ini:
let bilangan = 10;
bilangan = bilangan - 1;
console.log(bilangan); // output: 9
3.2. Assignment Operator
Operator JavaScript
Assignment operator digunakan untuk memberikan nilai pada variabel.
Assignment | Operator | Contoh Penggunaan | Setara 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 |
Contoh penggunaan di JavaScript:
Assignment =
let nama = "Budi";
let umur = 20;
let apakahSudahMenikah = false;
let jumlahAnak;
console.log(nama); // Output: Budi
console.log(umur); // Output: 20
console.log(apakahSudahMenikah); // Output: false
console.log(jumlahAnak); // Output: undefined
Addition Assignment +=
let bilangan = 10;
bilangan += 5;
console.log(bilangan); // Output: 15
Subtraction Assignment -=
let bilangan = 10;
bilangan -= 5;
console.log(bilangan); // Output: 5
Multiplication Assignment *=
let bilangan = 10;
bilangan *= 5;
console.log(bilangan); // Output: 50
Division Assignment /=
let bilangan = 10;
bilangan /= 5;
console.log(bilangan); // Output: 2
Modulus Assignment %=
let bilangan = 10;
bilangan %= 5;
console.log(bilangan); // Output: 0
Exponent Assignment **=
let bilangan = 10;
bilangan **= 5;
console.log(bilangan); // Output: 100000
3.3. String Operator
Operator JavaScript
String operator digunakan untuk menggabungkan dua atau lebih data string. Operasi ini biasa dikenal dengan sebutan string concatenation.
Ada 2 macam string operator, yaitu:
+
+=
Contoh penggunaan:
operator +
let namaDepan = "Albert";
let namaBelakang = "Einstein";
console.log(namaDepan + " " + namaBelakang); // Output: Albert Einstein
operator +=
let kata = "Halo ";
kata += "Dunia";
console.log(kata); // Output: Halo Dunia
Oh iya, di JavaScript, jika kita menggabungkan data string dengan data number, maka hasil akhirnya juga akan menjadi string.
Contoh:
let kata = "Kambing ada ";
let bilangan = 5;
console.log(kata + bilangan); // Output: Kambing ada 5
Operator Perbandingan
Operator | Deskripsi |
---|---|
== | sama dengan (cek nilai) |
=== | sama dengan (cek nilai dan tipe data) |
!= | tidak sama dengan (cek nilai) |
!== | tidak sama dengan (cek nilai dan tipe data) |
> | lebih dari |
< | kurang dari |
>= | lebih dari atau sama dengan |
<= | kurang dari atau sama dengan |
? : | ternary operator |
Contoh penggunaan di JavaScript:
Operator ==
(Loose Equality)
let bilangan = 10;
console.log(bilangan == 10); // Output: true
console.log(bilangan == 8); // Output: false
console.log(bilangan == "10"); // Output: true
Mari kita coba perhatikan bilangan == "10"
. Kenapa outputnya bisa true
? Karena di dalam JavaScript jika operand-nya berbeda tipe data, maka salah satunya akan dipaksa berubah tipe datanya (type coercion) agar mereka sama dan bisa dibandingkan
📝 Catatan:
1 + 2
, yang tergolong operand adalah angka 1
dan 3
.Biar lebih paham, mari kita coba perhatikan contoh di bawah ini:
console.log("3.14" == 3.14) // Output: true
Kenapa kode di atas menghasilkan output true
?
Sebab "3.14"
diubah dulu menjadi tipe data number
agar bisa dibandingkan nilainya. Lalu baru dibandingkan 3.14 === 3.14
.
Jadi pada dasarnya ==
akan berusaha mengubah tipe data jika tipe dari kedua berbeda. Lalu bagaimana kalau kita ingin membandingkan nilai dan tipe datanya juga? Mari kita lihat contoh selanjutnya.
Operator ===
(Strict Equality)
let bilangan = 10;
console.log(bilangan === 10); // Output: true --> nilai dan tipe data sama
console.log(bilangan === "10"); // Output: false --> nilai sama tetapi tipe data tidak sama
Kali ini, outputnya akan berupa true
apabila kedua operand memiliki nilai dan tipe data yang sama. Makanya pada baris kedua contoh kode di atas menghasilkan output false
sebab kita membandingkan bilangan 10
dengan string "10"
yang berbeda tipe datanya.
Operator !=
let bilangan = 10;
console.log(bilangan != 8); // Output: true --> nilai tidak sama tetapi tipe data sama
console.log(bilangan != "8"); // Output: true --> nilai dan tipe data tidak sama
console.log(bilangan != 10); // Output: false --> nilai dan tipe data sama
console.log(bilangan != "10"); // Output: false --> nilai sama tetapi tipe data tidak sama
Mungkin kalian agak bingung kalau melihat contoh di atas. Yang perlu kalian ketahui adalah operator !=
akan menghasilkan output false
apabila kedua operand memiliki nilai yang sama, tidak terpengaruh sama tipe datanya.
Operator !==
let bilangan = 10;
console.log(bilangan !== 8); // Output: true --> nilai tidak sama tetapi tipe data sama
console.log(bilangan !== "8"); // Output: true --> nilai dan tipe data tidak sama
console.log(bilangan !== 10); // Output: false --> nilai dan tipe data sama
console.log(bilangan !== "10"); // Output: true --> nilai sama tetapi tipe data tidak sama
Kali ini nilai dan tipe data akan dicek. Operator ini hanya akan mengeluarkan output false
apabila **nilai dan tipe data dari kedua operand sama. **
Operator >
(Lebih Dari)
let bilangan = 10;
console.log(bilangan > 10); // Output: false
console.log(bilangan > 11); // Output: false
console.log(bilangan > 8); // Output: true
Operator <
(Kurang Dari)
let bilangan = 10;
console.log(bilangan < 10); // Output: false
console.log(bilangan < 8); // Output: false
console.log(bilangan < 11); // Output: true
Operator >=
(Lebih Dari atau Sama Dengan)
let bilangan = 10;
console.log(bilangan >= 10); // Output: true
console.log(bilangan >= 8); // Output: true
console.log(bilangan >= 11); // Output: false
Operator <=
(Kurang Dari atau Sama Dengan)
let bilangan = 10;
console.log(bilangan <= 10); // Output: true
console.log(bilangan <= 11); // Output: true
console.log(bilangan <= 8); // Output: false
Operator Ternary
Digunakan untuk memberikan nilai pada variabel sesuai dengan kondisi yang ditentukan.
Syntaxnya adalah:
variabel = (kondisi true) ? nilai1 : nilai2;
// Artinya apabila kondisi true, maka variabel akan diberi nilai1
// Apabila kondisi false, maka variabel akan diberi nilai2
Contoh:
let makanan = "daging";
let jenisHewan = makanan === "daging" ? "karnivora" : "herbivora";
console.log(jenisHewan); // Output: "karnivora"
Pada kode di atas, kondisi yang diberikan adalah makanan === "daging"
. Karena kondisi tersebut bernilai true
, maka yang dikembalikan oleh operator ini adalah "karnivora"
.
Seandainya variabel makanan
tidak bernilai "daging"
, maka kondisi makanan === "daging"
akan bernilai false
dan nilai yang akan dikembalikan adalah "herbivora"
.
Operator Logika
Operator | Deskripsi |
---|---|
&& | AND (Dan) |
|| | OR (Atau) |
! | NOT (Bukan) |
Syntax dari operator logika di JavaScript itu seperti ini:
Operator &&
(AND)
kondisi1 && kondisi2
Operator ini hanya akan menghasilkan output true
apabila kedua operand-nya bernilai true
(kondisi1
dan kondisi2
bernilai true
).
Operator ||
(OR)
kondisi1 || kondisi2
Operator ini akan menghasilkan output true
apabila salah satu dari operand-nya bernilai true
(kondisi1
bernilai true
atau kondisi2
bernilai true
).
Operator !
(NOT)
!kondisi
Operator ini akan bernilai true
apabila operand-nya bernilai false
(negation). Dan sebaliknya, operator akan mengembalikan false
apabila operand-nya bernilai true
.
Tabel Perbandingan
Jika kedua kondisi bertipe boolean, maka hasil dari masing-masing operator logika akan seperti ini:
Operator | Kondisi 1 | Kondisi 2 | Hasil |
---|---|---|---|
&& | true | true | true |
&& | true | false | false |
&& | false | true | false |
&& | false | false | false |
|| | true | true | true |
|| | true | false | true |
|| | false | true | true |
|| | false | false | false |
! | true | - | false |
! | false | - | true |
Contoh penggunaan:
let bilangan1 = 6;
let bilangan2 = 4;
console.log(bilangan1 === 6 && bilangan2 === 4); // Output: true
console.log(bilangan1 === 6 && bilangan2 < 4); // Output: false
console.log(bilangan1 < 6 && bilangan2 === 4); // Output: false
console.log(bilangan1 < 6 && bilangan2 < 4); // Output: false
console.log(bilangan1 === 6 || bilangan2 === 4); // Output: true
console.log(bilangan1 === 6 || bilangan2 < 4); // Output: true
console.log(bilangan1 < 6 || bilangan2 === 4); // Output: true
console.log(bilangan1 < 6 || bilangan2 < 4); // Output: false
console.log(!true); // Output: false
console.log(!false); // Output: true