MODUL 04 · LOGIKA INTERAKTIF

JavaScript — Membuat Halaman Hidup

HTML memberi struktur, CSS memberi tampilan, dan JavaScript membuat halamanmu bisa merespons — klik tombol, isi form, hitung sesuatu secara otomatis.

1. Apa Itu JavaScript?

JavaScript adalah bahasa pemrograman yang berjalan langsung di browser. Berbeda dari HTML dan CSS yang sifatnya statis (deklaratif), JavaScript memungkinkan halaman berperilaku secara dinamis — bereaksi terhadap apa yang dilakukan pengguna.

Tanpa JavaScript, sebuah tombol "Tambah ke Keranjang" hanya akan jadi kotak biru tanpa fungsi apa pun. JavaScript yang membuat klik tombol itu benar-benar melakukan sesuatu.

2. Variabel: Tempat Menyimpan Data

Variabel adalah "kotak penyimpanan" yang punya nama, tempat kamu menyimpan nilai untuk dipakai lagi nanti.

let nama = "Budi";
let umur = 25;
let sudahMenikah = false;

console.log(nama); // menampilkan: Budi

Ada tiga cara mendeklarasikan variabel di JavaScript modern: let (nilai bisa diubah), const (nilai tetap, tidak bisa diubah setelah didefinisikan), dan var (cara lama, sebaiknya dihindari di kode baru).

Aturan Praktis

Gunakan const sebagai default. Hanya gunakan let kalau kamu tahu nilainya akan berubah nanti (misalnya angka counter atau skor permainan).

Tipe Data Dasar

TipeContoh
String (teks)"Halo dunia"
Number (angka)42, 3.14
Boolean (benar/salah)true, false
Array (daftar)["apel", "jeruk", "mangga"]
Object (objek){ nama: "Budi", umur: 25 }

3. Fungsi: Mengelompokkan Instruksi

Fungsi adalah blok kode yang bisa dipanggil ulang kapan pun dibutuhkan, tanpa harus menulis ulang instruksi yang sama.

function sapa(nama) {
  return "Halo, " + nama + "!";
}

console.log(sapa("Ani"));   // Halo, Ani!
console.log(sapa("Budi"));  // Halo, Budi!

Bagian nama di dalam tanda kurung disebut parameter — nilai yang "dimasukkan" ke dalam fungsi setiap kali dipanggil. Kata return menentukan apa yang "dikembalikan" oleh fungsi tersebut.

4. Kondisi: if/else dalam Kode Nyata

Ingat logika if/else di Modul 01? Inilah bentuknya dalam JavaScript sungguhan:

let nilai = 80;

if (nilai >= 75) {
  console.log("Lulus");
} else {
  console.log("Remedial");
}

Operator perbandingan yang sering dipakai: === (sama dengan), !== (tidak sama dengan), >, <, >=, <=.

Jebakan Umum

Gunakan === (tiga tanda sama dengan), bukan == (dua tanda), untuk membandingkan nilai. === memeriksa nilai DAN tipe data sekaligus, sehingga hasilnya lebih bisa diprediksi.

5. Array: Menyimpan Banyak Data Sekaligus

let buah = ["apel", "jeruk", "mangga"];

console.log(buah[0]);     // "apel" (index dimulai dari 0)
console.log(buah.length); // 3

buah.push("nanas");       // menambah item ke akhir array
console.log(buah);        // ["apel", "jeruk", "mangga", "nanas"]

Array sangat penting karena hampir semua data di dunia nyata berbentuk daftar — daftar produk, daftar pesan, daftar to-do (yang akan kamu bangun di Modul 05).

Looping Lewat Array

let buah = ["apel", "jeruk", "mangga"];

for (let i = 0; i < buah.length; i++) {
  console.log(buah[i]);
}
// atau cara yang lebih modern:
buah.forEach(function(item) {
  console.log(item);
});

6. Event: Merespons Aksi Pengguna

Event adalah "kejadian" yang bisa direspons JavaScript — klik tombol, ketikan keyboard, submit form, dan sebagainya.

<button id="tombolku">Klik Saya</button>

<script>
document.getElementById("tombolku").addEventListener("click", function() {
  alert("Tombol diklik!");
});
</script>

Klik tombol di atas untuk melihat JavaScript bekerja secara langsung.

document.getElementById(...) adalah cara JavaScript "mencari" elemen HTML tertentu di halaman, supaya bisa dimanipulasi atau diberi event listener seperti contoh di atas.

7. Latihan Pemahaman

Soal 1: Apa perbedaan antara let dan const?
Jawaban: let digunakan untuk variabel yang nilainya bisa diubah nanti, sedangkan const untuk variabel yang nilainya tetap setelah didefinisikan.
Soal 2: Apa hasil dari buah[0] jika buah = ["apel", "jeruk", "mangga"]?
Jawaban: "apel" — karena index array dimulai dari 0, bukan dari 1.
Soal 3: Apa fungsi addEventListener dalam JavaScript?
Jawaban: addEventListener digunakan untuk "mendengarkan" sebuah event (seperti klik) pada elemen HTML, dan menjalankan fungsi tertentu ketika event itu terjadi.

Rangkuman Modul Ini

Sekarang kamu sudah punya tiga fondasi utama web development: HTML, CSS, dan JavaScript. Di modul selanjutnya, kamu akan menggabungkan ketiganya untuk membangun proyek pertamamu yang benar-benar bisa dipakai: aplikasi to-do list.