Dasar-dasar JavaScript
JavaScript adalah bahasa pemrograman tingkat tinggi yang digunakan untuk membuat halaman web interaktif.
Sejarah Singkat JavaScript
JavaScript dibuat oleh Brendan Eich pada tahun 1995 dalam waktu 10 hari saat bekerja di Netscape. Awalnya bernama Mocha, kemudian LiveScript, dan akhirnya JavaScript untuk memanfaatkan popularitas Java saat itu.
ES6 (ECMAScript 2015) adalah pembaruan besar terakhir yang menambahkan banyak fitur modern seperti class, modules, arrow functions, dan lain-lain.
Menyisipkan JavaScript
Ada beberapa cara untuk menyisipkan JavaScript ke dalam HTML:
1. External JavaScript
<script src="script.js"></script>
2. Internal JavaScript
<script>
// Kode JavaScript di sini
console.log('Hello World!');
</script>
3. Inline JavaScript
<button onclick="alert('Hello!')">Klik Saya</button>
Variabel
Variabel adalah wadah untuk menyimpan nilai data. Di JavaScript kita bisa mendeklarasikan variabel dengan:
| Keyword | Scope | Dapat Diubah | Dideklarasikan Ulang | Contoh |
|---|---|---|---|---|
var |
Function | Ya | Ya | var x = 5; |
let |
Block | Ya | Tidak | let y = 10; |
const |
Block | Tidak | Tidak | const z = 15; |
// Deklarasi variabel
let nama = 'Budi';
const umur = 25;
var alamat = 'Jakarta'; // Hindari penggunaan var
// Mengubah nilai variabel
nama = 'Andi';
// umur = 26; // Error karena const tidak bisa diubah
// Deklarasi multiple
let a = 1, b = 2, c = 3;
// Nilai default
let nilai;
console.log(nilai); // undefined
var karena memiliki scope function yang bisa menyebabkan bug. Gunakan let dan const.
Tipe Data
JavaScript memiliki beberapa tipe data dasar:
Tipe Data Primitif
- String - Teks (contoh: "Hello")
- Number - Angka (contoh: 123, 3.14)
- Boolean - True/False (contoh: true, false)
- null - Nilai kosong yang disengaja
- undefined - Variabel yang belum diberi nilai
- Symbol - Nilai unik yang tidak bisa diubah (ES6)
- BigInt - Bilangan bulat sangat besar (ES2020)
Tipe Data Non-Primitif
- Object - Kumpulan properti
- Array - Kumpulan nilai dengan indeks
- Function - Blok kode yang dapat dipanggil
// String
let nama = 'JavaScript';
let pesan = "Belajar JS itu menyenangkan";
let template = `Halo ${nama}`; // Template literal (ES6)
// Number
let angka = 10;
let desimal = 3.14;
let notANumber = NaN; // Nilai khusus
// Boolean
let isActive = true;
let isComplete = false;
// null dan undefined
let kosong = null;
let tidakTerdefinisi;
// Object
let user = {
nama: 'Budi',
umur: 25,
aktif: true
};
// Array
let buah = ['Apel', 'Mangga', 'Jeruk'];
// Function
function sapa() {
console.log('Halo!');
}
// Type checking
console.log(typeof nama); // "string"
console.log(typeof angka); // "number"
console.log(typeof isActive); // "boolean"
console.log(typeof buah); // "object" (array adalah object)
console.log(Array.isArray(buah)); // true
console.log(typeof sapa); // "function"
Operator
Operator digunakan untuk melakukan operasi pada variabel dan nilai.
Operator Aritmatika
| Operator | Deskripsi | Contoh |
|---|---|---|
| + | Penambahan | 10 + 5 = 15 |
| - | Pengurangan | 10 - 5 = 5 |
| * | Perkalian | 10 * 5 = 50 |
| / | Pembagian | 10 / 5 = 2 |
| % | Modulus (sisa bagi) | 10 % 3 = 1 |
| ** | Eksponensial (pangkat) | 2 ** 3 = 8 |
| ++ | Increment | x++ (setelah) atau ++x (sebelum) |
| -- | Decrement | x-- (setelah) atau --x (sebelum) |
Operator Penugasan
let x = 10;
x += 5; // x = x + 5 → 15
x -= 3; // x = x - 3 → 12
x *= 2; // x = x * 2 → 24
x /= 4; // x = x / 4 → 6
x %= 5; // x = x % 5 → 1
x **= 3; // x = x ** 3 → 1
Operator Perbandingan
console.log(5 == '5'); // true (nilai sama)
console.log(5 === '5'); // false (nilai dan tipe sama)
console.log(5 != '5'); // false
console.log(5 !== '5'); // true
console.log(5 > 3); // true
console.log(5 < 3); // false
console.log(5 >= 5); // true
console.log(5 <= 4); // false
Operator Logika
// AND (&&) - kedua kondisi harus true
console.log(true && true); // true
console.log(true && false); // false
// OR (||) - salah satu kondisi true
console.log(true || false); // true
console.log(false || false); // false
// NOT (!) - membalik nilai boolean
console.log(!true); // false
console.log(!false); // true
Praktik Mandiri
Coba ubah kode berikut dan lihat hasilnya:
// Deklarasi variabel
let nama = 'Pengunjung';
let umur = 20;
let gaji = 5000000;
let aktif = true;
// Operasi aritmatika
let bonus = gaji * 0.1;
let totalGaji = gaji + bonus;
// Operasi perbandingan
let dapatBonus = totalGaji > gaji;
// Tampilkan hasil
console.log(`Nama: ${nama}`);
console.log(`Umur: ${umur}`);
console.log(`Gaji: Rp${gaji.toLocaleString('id-ID')}`);
console.log(`Bonus: Rp${bonus.toLocaleString('id-ID')}`);
console.log(`Total Gaji: Rp${totalGaji.toLocaleString('id-ID')}`);
console.log(`Dapat bonus? ${dapatBonus ? 'Ya' : 'Tidak'}`);
console.log(`Status aktif: ${aktif ? 'Aktif' : 'Non-aktif'}`);