JavaScript · Bab 5
Latihan Studi Kasus & Evaluasi Mandiri
Menggabungkan dasar JavaScript, percabangan, perulangan, DOM, CSS, dan event handling dalam studi kasus kecil.
Bab ini berisi praktik produksi atau tantangan mandiri, jadi hanya tersedia satu versi.
Bab ini menggabungkan konsep dari Bab 1 sampai Bab 4. Fokusnya bukan menghafal sintaks, tetapi membaca kebutuhan, memecahnya menjadi langkah kecil, lalu mengubah halaman web secara interaktif.
5.1 Studi Kasus: Pengukur Suhu Ruangan
Kebutuhan aplikasi:
- Pengguna mengisi suhu pagi dan sore.
- JavaScript menghitung rata-rata.
- Program menentukan status Hangat atau Sejuk.
- Hasil ditampilkan pada halaman.
🧪 Coba ubah: tambahkan suhu malam, lalu hitung rata-rata dari tiga suhu.
Belum ada output.
5.2 Studi Kasus: Daftar Bekal Dinamis
Daftar bekal memakai input, tombol, array, perulangan, dan DOM. Saat tombol ditekan, bekal baru masuk ke array lalu daftar ditampilkan ulang.
🧪 Coba ubah: tampilkan pesan "Bekal belum diisi" jika input kosong.
Belum ada output.
Di lab, status nilai memakai kata yang tertulis di instruksi lab (misalnya Lulus untuk nilai yang cukup), bukan status suhu. Deklarasi ini sudah ada di lab: hasil, inputTugas, tugas, dan tombol terkait; jangan mendeklarasikannya lagi. Terapkan teknik contoh dengan data dan format keluaran yang diminta instruksi lab.
5.3 Evaluasi Mandiri
Gunakan daftar berikut untuk memeriksa pemahaman:
- Dapat menjelaskan tiga cara memasang JavaScript pada HTML.
- Dapat memilih kapan memakai
constdanlet. - Dapat memakai operator dan percabangan untuk menentukan keputusan.
- Dapat memakai loop untuk mengolah array.
- Dapat memilih elemen DOM dan mengubah teks/class.
- Dapat memakai event untuk merespons klik, input, keyboard, atau submit form.
🧪 Coba ubah: ganti event menjadi true, lalu lihat pesan akhirnya.
Belum ada output.
Soal Evaluasi Modul
Jawab pertanyaan berikut untuk memastikan konsep inti dari Bab 1 sampai Bab 4 sudah benar-benar dipahami:
- Diberikan kode
let x = "10"; let y = 20; console.log(x + y);. Apa yang tercetak dan mengapa? - Jelaskan perbedaan
let,const, danvar, terutama dari sisi scope, reassign, hoisting, dan Temporal Dead Zone. - Tuliskan loop untuk mencetak angka genap dari 2 sampai 10.
- Isi
<select id="tahun"></select>dengan option tahun 2020 sampai 2026 memakaifor. - Pilih seluruh elemen
p.deskripsi, lalu ubah warna teksnya menjadi hijau. - Pasang event pada tombol
btn-kirimagar paragrafstatusberubah menjadi"Pesan Terkirim"saat tombol diklik. - Buat percabangan yang mencetak
"Sangat Baik"jika nilai minimal 85,"Baik"jika minimal 70, dan"Perlu Bimbingan"jika di bawah 70. - Buat fungsi
cekLolos(nilai)dan jelaskan mengapa75 === "75"bernilaifalse.
Lihat kunci jawaban
Soal 1: tercetak 1020 (teks), karena + menggabungkan teks bila salah satu nilai berupa string. Dalam kode, nilai string itu ditulis "1020"; tanda kutip menandai teks dan tidak ikut tercetak.
Soal 2: let dan const dibatasi blok; let boleh diberi nilai baru, const tidak. var dibatasi fungsi dan boleh diberi nilai baru. Deklarasi ketiganya disiapkan melalui hoisting, tetapi var terbaca sebagai undefined sebelum deklarasi, sedangkan let dan const belum boleh dibaca selama Temporal Dead Zone.
Soal 8: === membandingkan nilai sekaligus tipe. Angka 75 dan teks “75” memiliki tipe berbeda, sehingga hasilnya false.
Belum ada output.
Belum ada output.
Berikutnya: JSON dan fetch di bab 6 untuk mengambil data dari server.