# Operator

## Operator Aritmatika

Aritmatika adalah salah satu hal penting dalam bahasa pemrograman. Di javascript ada 7 operator aritmatika meliputi :

* Penambahan  (+)&#x20;
* Pengurangan (-)&#x20;
* Perkalian (\*)
* Pembagian (/)&#x20;
* Sisa bagi (%)&#x20;
* Increment (++)&#x20;
* Decrement (- -)

```markup
<h1>Operator Aritmatika</h1>

<script>
  let a = 10;
  let b = 5;
  console.log("a + b = ", a + b);
  console.log("a - b = ", a - b);
  console.log("a * b = ", a * b);
  console.log("a / b = ", a / b);
  console.log("a % b = ", a % b);
  console.log("++10 = b = ", ++a + b, " | ", a);
  
  a = 10;
  console.log("--a + b = ", --a + b, " | ", a);
  
  a = 10;
  console.log("a++ + b = ", a++ + b, " | ", a);
  
  a = 10;
  console.log("a-- + b = ", a-- + b, " | ", a);
</script>
```

### &#x20;Derajat Operator

Seperti konsep matematika, operator aritmatika juga mempunyai derajat sebagia berikut:

1. Prefix Increment, ++x
2. Prefix Decrement, — x
3. Perkalian, \*
4. Pembagian, /
5. Modulus, %
6. Penjumlahan, +
7. Pengurangan, -
8. Postfix Increment, x++
9. Postfix Decrement, x —

## Operator Perbandingan

Ada delapan operator perbandingan di JavaScript, yaitu:

* Equal value, ==
* Equal value and type, ===
* Not equal, !=
* Not equal value and type, !==
* Greater than, >
* Less than, <
* Greater than or equal, >=
* Less than or equal, <=

```markup
<h1>Operator Perbandingan</h1>

<script>
  let a = 10;
  let b = 5;
  console.log("a >= b = ", a >= b);
  console.log("a <= b = ", a <= b);
  console.log("a != b = ", a != b);
  console.log("a == b = ", a == b);
  console.log("a == '10' = ", a == "10");
  console.log("a === '10' = ", a === "10");
  console.log("a === 10 = ", a === 10);
  console.log("a != '5' = ", a != "5");
  console.log("a !== '5' = ", a !== "5");
  console.log("a != '10' = ", a != "10");
  console.log("a !== '10' = ", a !== "10");
</script>
```

## Operator Logika <a href="#id-60b6" id="id-60b6"></a>

Terdapat tiga operator yang termasuk operator logika, yaitu:

* AND, &&
* OR, ||
* NOT, !

### Operator AND

| Ekspresi 1 | Eskpresi 2 | Hasil |
| ---------- | ---------- | ----- |
| true       | true       | true  |
| true       | false      | false |
| false      | true       | false |
| false      | false      | false |

Hasil operator AND akan TRUE jika kedua ekspresi bernilai TRUE

### Operator OR

| Ekspresi 1 | Eskpresi 2 | Hasil |
| ---------- | ---------- | ----- |
| true       | true       | true  |
| true       | false      | true  |
| false      | true       | true  |
| false      | false      | false |

Hasil operartor OR akan TRUE jika salah satu ekspresi bernilai TRUE

### Operator NOT

| Ekspresi 1 | Hasil |
| ---------- | ----- |
| true       | false |
| false      | true  |

Hasil operator NOT merupakan kebalikan dari ekspresi.

operator logika dibaca dari sebelah kiri, sehingga jika ekspresi pertama dari operator AND  bernilai false, maka ekspresi kedua tidak perlu lagi dievaluasi. Begitu juga jika ekspresi pertama pada operator OR bernilai true, maka ekspresi kedua sudah tidak perlu dievaluasi.

* false && (any expression)
* true || (any expression)

```markup
<h1>Operator Logika</h1>

<script>
  console.log("true && true = ", true && true );
  console.log("true && false = ", true && false );
  console.log("false && true = ", false && true );
  console.log("false && false = ", false && false );
  
  
  console.log("true || true = ", true || true );
  console.log("true || false = ", true || false );
  console.log("false || true = ", false || true );
  console.log("false || false = ", false || false );
  
  console.log("!true = ", !true);
  console.log("!false = ", !false);
  
  console.log("(10 >= 5)  && (10 == '10') = ", (10 >= 5)  && (10 == '10'));
  var a;
  console.log("false && a = ", false && a);
  console.log("true || a = ", true || a);
</script>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://seri-belajar-pemrograman.rijalasepnugroho.com/javascript/operator.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
