# B. Variabel, tipe data, dan operator

Variabel adalah tempat untuk menyimpan data di dalam memori komputer. Variabel dideklarasikan dengan menggunakan kata kunci "var" diikuti dengan nama variabel. Contoh:

```javascript
var nama;
```

JavaScript memiliki beberapa tipe data dasar, yaitu:

string (teks): Tipe data string digunakan untuk menyimpan sekumpulan karakter teks. String dapat dideklarasikan dengan menggunakan tanda kutip tunggal (') atau tanda kutip ganda ("). Contoh

```javascript
var nama = 'John';
var alamat = "Jakarta";
```

number (angka): Tipe data number digunakan untuk menyimpan angka. Number dapat merupakan bilangan bulat (integer) atau bilangan pecahan (float). Contoh:

```javascript
var umur = 30;
var berat = 75.5;
```

boolean (true/false): Tipe data boolean hanya memiliki dua nilai, yaitu true (benar) dan false (salah). Boolean sering digunakan untuk menyimpan hasil dari sebuah operasi logika. Contoh:

```javascript
var sudahMenikah = true;
var belumMenikah = false;
```

null (tidak ada): Tipe data null digunakan untuk menandakan bahwa sebuah variabel tidak memiliki nilai. Contoh:

```javascript
var alamat = null;
```

Array: Array adalah tipe data yang digunakan untuk menyimpan sekumpulan data dengan tipe data yang berbeda-beda. Array dideklarasikan dengan menggunakan tanda kurung siku "\[]", lalu diisi dengan data yang ingin disimpan, dipisahkan dengan tanda koma. Contoh:

```javascript
var buah = ['apel', 'mangga', 'jeruk'];
```

Object: Object adalah tipe data yang digunakan untuk menyimpan data yang terdiri dari pasangan key-value. Object dideklarasikan dengan menggunakan tanda kurung kurawal "{}", lalu diisi dengan pasangan key-value yang ingin disimpan, dipisahkan dengan tanda koma. Contoh:

```javascript
var orang = {
  nama: 'John',
  umur: 30,
  sudahMenikah: true
};

```

Function: Function adalah blok kode yang dapat digunakan secara berulang-ulang. Function dideklarasikan dengan menggunakan kata kunci "function", diikuti dengan nama function dan tanda kurung, lalu diisi dengan kode yang ingin dijejalankan. Contoh

```javascript
function salam(nama) {
  console.log('Halo, ' + nama + '!');
}


salam('John'); // Output: 'Halo, John!'

```

Function juga dapat mengembalikan nilai dengan menggunakan kata kunci "return". Contoh:

```javascript
function kuadrat(x) {
  return x * x;
}


var hasil = kuadrat(5);
console.log(hasil); // 25
```

Conditional: Conditional adalah statement yang digunakan untuk mengeksekusi kode yang berbeda tergantung dari hasil dari suatu ekspresi. Conditional yang paling umum digunakan adalah "if" dan "if-else". Contoh:

```javascript
var x = 10;
if (x > 5) {
  console.log('Nilai x lebih besar dari 5');
}

var y = 3;

if (y > 5) {
  console.log('Nilai y lebih besar dari 5');
} else {
  console.log('Nilai y tidak lebih besar dari 5');
}

```

Operator adalah simbol yang digunakan untuk melakukan operasi matematika atau logika. Contoh operator matematika adalah "+" (penjumlahan), "-" (pengurangan), "\*" (perkalian), dan "/" (pembagian). Contoh operator logika adalah "==" (sama dengan), ">" (lebih besar dari), dan "<" (lebih kecil dari). Contoh:

```javascript
var hasil = 10 + 20; // 30 (penjumlahan)
var hasil = 10 - 5; // 5 (pengurangan)
var hasil = 10 * 2; // 20 (perkalian)
var hasil = 10 / 2; // 5 (pembagian)
var hasil = (10 > 5); // true (lebih besar dari)
var hasil = (10 < 5); // false (lebih kecil
```

Operator logika yang lain yang perlu diketahui adalah:

* "&&" (and): Operator "&&" akan bernilai true jika kedua operand-nya bernilai true. Contoh:

```javascript
var hasil = (10 > 5) && (20 > 10); // true
var hasil = (10 < 5) && (20 > 10); // false
```

* "||" (or): Operator "||" akan bernilai true jika salah satu operand-nya bernilai true. Contoh:

```javascript
var hasil = (10 > 5) || (20 < 10); // true
var hasil = (10 < 5) || (20 < 10); // false
```

* "!" (not): Operator "!" akan membalikkan nilai boolean dari operand-nya. Contoh:

```javascript
var hasil = !(10 > 5); // false
var hasil = !(10 < 5); // true
```

Kita juga dapat menggunakan operator assignment untuk menugaskan nilai ke dalam sebuah variabel. Operator assignment yang paling umum digunakan adalah "=" (equal). Contoh:

```javascript
var nama = 'John'; // Menugaskan string 'John' ke dalam variabel nama
var umur = 30; // Menugaskan integer 30 ke dalam variabel umur
var sudahMenikah = true; // Menugaskan boolean true ke dalam variabel sudahMenikah
```

Selain operator assignment "=", terdapat juga operator assignment lainnya, di antaranya:<br>

* +=" (penambahan assignment): Operator "+=" akan menambahkan nilai operand kanan ke operand kiri, lalu menugaskannya kembali ke operand kiri. Contoh:

```javascript
var x = 10;
x += 5; // Sama dengan x = x + 5;
console.log(x); // 15
```

* "-=" (pengurangan assignment): Operator "-=" akan mengurangi nilai operand kanan dari operand kiri, lalu menugaskannya kembali ke operand kiri. Contoh:

```javascript
var x = 10;
x -= 5; // Sama dengan x = x - 5;
console.log(x); // 5
```

* "\*=" (perkalian assignment): Operator "=" akan memperkalkan nilai operand kanan dengan operand kiri, lalu menugaskannya kembali ke operand kiri. Contoh:

```javascript
var x = 10;
x *= 5; // Sama dengan x = x * 5;
console.log(x); // 50
```

* "/=" (pembagian assignment): Operator "/=" akan membagi nilai operand kiri dengan operand kanan, lalu menugaskannya kembali ke operand kiri. Contoh:

```javascript
var x = 10;
x /= 5; // Sama dengan x = x / 5;
console.log(x)
```

Operator assignment lainnya yang perlu diketahui adalah:

* "%=" (modulus assignment): Operator "%=" akan menghitung sisa pembagian operand kiri dengan operand kanan, lalu menugaskannya kembali ke operand kiri. Contoh:

```javascript
var x = 10;
x %= 5; // Sama dengan x = x % 5;
console.log(x); // 0
```

* "\*\*=" (exponentiation assignment): Operator "=" akan menghitung pangkat dari operand kiri dengan operand kanan, lalu menugaskannya kembali ke operand kiri. Contoh:

```javascript
var x = 2;
x **= 3; // Sama dengan x = x ** 3;
console.log(x); // 8

```

Selain operator assignment, terdapat juga operator increment dan decrement yang bisa digunakan untuk menambah atau mengurangi nilai variabel dengan satu. Operator increment yang paling umum digunakan adalah "++", sedangkan operator decrement yang paling umum digunakan adalah "--". Contoh:

```javascript
var x = 5;
x++; // Sama dengan x = x + 1;
console.log(x); // 6


var y = 10;
y--; // Sama dengan y = y - 1;
console.log(y); // 9
```

Operator increment dan decrement juga dapat dituliskan sebelum nama variabel (prefix), atau sesudah nama variabel (postfix). Perbedaan antara prefix dan postfix terletak pada saat nilai variabel dikembalikan. Jika menggunakan prefix, nilai variabel akan dikembalikan setelah operasi increment atau decrement selesai dilakukan. Sedangkan jika menggunakan postfix, nilai variabel akan dikembalikan sebelum operasi increment atau decrement dilakukan. Contoh:

```javascript
var x = 5;
console.log(++x); // 6 (nilai x dikembalikan setelah ditambah 1)
console.log(x); // 6
var y = 10;
console.log(y--); // 10 (nilai y dikembalikan sebelum dikurangi 1)
console.log(y); // 9

```

Itulah beberapa hal yang perlu diketahui tentang variabel, tipe data, dan operator dalam JavaScript. Semoga bermanfaat.
