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: 13Pengurangan
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 - bilangan2); // Output: 7Perkalian
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 * bilangan2); // Output: 30Pembagian
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 / bilangan2); // Output: 3.3333333333333335Eksponen (Pangkat)
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 ** bilangan2); // Output: 1000Modulus
let bilangan1 = 10;
let bilangan2 = 3;
console.log(bilangan1 % bilangan2); // Output: 1Increment (Tambah 1)
let bilangan = 10;
bilangan++;
console.log(bilangan); // Output: 11Contoh operasi di atas apabila dituliskan tanpa operator increment akan sama seperti ini:
let bilangan = 10;
bilangan = bilangan + 1;
console.log(bilangan); // output: 11Decrement (Kurang 1)
let bilangan = 10;
bilangan--;
console.log(bilangan); // output: 9Contoh operasi di atas apabila dituliskan tanpa operator decrement akan sama seperti ini:
let bilangan = 10;
bilangan = bilangan - 1;
console.log(bilangan); // output: 93.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: undefinedAddition Assignment +=
let bilangan = 10;
bilangan += 5;
console.log(bilangan); // Output: 15Subtraction Assignment -=
let bilangan = 10;
bilangan -= 5;
console.log(bilangan); // Output: 5Multiplication Assignment *=
let bilangan = 10;
bilangan *= 5;
console.log(bilangan); // Output: 50Division Assignment /=
let bilangan = 10;
bilangan /= 5;
console.log(bilangan); // Output: 2Modulus Assignment %=
let bilangan = 10;
bilangan %= 5;
console.log(bilangan); // Output: 0Exponent Assignment **=
let bilangan = 10;
bilangan **= 5;
console.log(bilangan); // Output: 1000003.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 Einsteinoperator +=
let kata = "Halo ";
kata += "Dunia";
console.log(kata); // Output: Halo DuniaOh 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 5Operator 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 samaKali 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 samaMungkin 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 samaKali 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: trueOperator < (Kurang Dari)
let bilangan = 10;
console.log(bilangan < 10); // Output: false
console.log(bilangan < 8); // Output: false
console.log(bilangan < 11); // Output: trueOperator >=(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: falseOperator <= (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: falseOperator 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 && kondisi2Operator ini hanya akan menghasilkan output true apabila kedua operand-nya bernilai true (kondisi1 dan kondisi2 bernilai true).
Operator || (OR)
kondisi1 || kondisi2Operator ini akan menghasilkan output true apabila salah satu dari operand-nya bernilai true (kondisi1 bernilai true atau kondisi2 bernilai true).
Operator ! (NOT)
!kondisiOperator 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
