Setelah menyelesaikan latihan soal JavaScript dasar, kini saatnya kita membahas satu per satu jawabannya. Bagian ini bertujuan untuk:
- Memberikan pemahaman lebih dalam terhadap logika di balik setiap soal,
- Membantu kamu mengevaluasi jawaban sendiri,
- Menunjukkan alternatif solusi yang mungkin belum kamu pikirkan.
Jangan berkecil hati jika belum bisa menjawab semuanya dengan benar. Kesalahan adalah bagian dari proses belajar. Yang terpenting adalah kamu memahami alasan di balik setiap jawaban dan mulai terbiasa berpikir secara logis dalam menulis kode.
Gunakan pembahasan ini sebagai cermin untuk mengasah pemahamanmu. Dan jika kamu merasa sudah cukup nyaman, mari kita lanjut ke topik berikutnya: fungsi (function
) dalam JavaScript.
Berikut adalah pembahasan dan kunci jawaban untuk semua latihan soal dari topik JavaScript dasar:
✅ Pembahasan & Kunci Jawaban
Variabel & Tipe Data
1. Buat variabel dengan tipe data berikut:
1let nama = "Ali"; // string
2let umur = 21; // number
3let mahasiswa = true; // boolean
4let hobi = ["membaca", "coding"]; // array
5let dataDiri = {
6 nama: "Ali",
7 umur: 21,
8 mahasiswa: true,
9 hobi: ["membaca", "coding"]
10}; // object
11
12console.log(nama, umur, mahasiswa, hobi, dataDiri);
13
1let nama = "Ali"; // string
2let umur = 21; // number
3let mahasiswa = true; // boolean
4let hobi = ["membaca", "coding"]; // array
5let dataDiri = {
6 nama: "Ali",
7 umur: 21,
8 mahasiswa: true,
9 hobi: ["membaca", "coding"]
10}; // object
11
12console.log(nama, umur, mahasiswa, hobi, dataDiri);
13
2. Periksa tipe data dari variabel di atas:
1console.log(typeof nama); // string
2console.log(typeof umur); // number
3console.log(typeof mahasiswa); // boolean
4console.log(typeof hobi); // object (karena array di JS adalah object)
5console.log(typeof dataDiri); // object
6
1console.log(typeof nama); // string
2console.log(typeof umur); // number
3console.log(typeof mahasiswa); // boolean
4console.log(typeof hobi); // object (karena array di JS adalah object)
5console.log(typeof dataDiri); // object
6
Kontrol Alur (if
, else
, switch
)
3. Program nilai ujian → huruf mutu:
1let nilai = 85;
2
3if (nilai >= 90) {
4 console.log("Nilai A");
5} else if (nilai >= 80) {
6 console.log("Nilai B");
7} else if (nilai >= 70) {
8 console.log("Nilai C");
9} else if (nilai >= 60) {
10 console.log("Nilai D");
11} else {
12 console.log("Nilai E");
13}
14
1let nilai = 85;
2
3if (nilai >= 90) {
4 console.log("Nilai A");
5} else if (nilai >= 80) {
6 console.log("Nilai B");
7} else if (nilai >= 70) {
8 console.log("Nilai C");
9} else if (nilai >= 60) {
10 console.log("Nilai D");
11} else {
12 console.log("Nilai E");
13}
14
4. Program nama hari → status hari:
1let hari = "Minggu";
2
3switch (hari) {
4 case "Senin":
5 case "Selasa":
6 case "Rabu":
7 case "Kamis":
8 case "Jumat":
9 console.log("Hari kerja");
10 break;
11 case "Sabtu":
12 case "Minggu":
13 console.log("Hari libur");
14 break;
15 default:
16 console.log("Hari tidak dikenali");
17}
18
1let hari = "Minggu";
2
3switch (hari) {
4 case "Senin":
5 case "Selasa":
6 case "Rabu":
7 case "Kamis":
8 case "Jumat":
9 console.log("Hari kerja");
10 break;
11 case "Sabtu":
12 case "Minggu":
13 console.log("Hari libur");
14 break;
15 default:
16 console.log("Hari tidak dikenali");
17}
18
Perulangan (for
, while
, do...while
)
5. Cetak angka 1–10:
for
1for (let i = 1; i <= 10; i++) {
2 console.log(i);
3}
4
1for (let i = 1; i <= 10; i++) {
2 console.log(i);
3}
4
while
1let i = 1;
2while (i <= 10) {
3 console.log(i);
4 i++;
5}
6
1let i = 1;
2while (i <= 10) {
3 console.log(i);
4 i++;
5}
6
do...while
1let i = 1;
2do {
3 console.log(i);
4 i++;
5} while (i <= 10);
6
1let i = 1;
2do {
3 console.log(i);
4 i++;
5} while (i <= 10);
6
6. Cetak angka ganjil dari 1–20:
1for (let i = 1; i <= 20; i++) {
2 if (i % 2 !== 0) {
3 console.log(i);
4 }
5}
6
1for (let i = 1; i <= 20; i++) {
2 if (i % 2 !== 0) {
3 console.log(i);
4 }
5}
6
7. Hitung total angka 1–100:
1let total = 0;
2for (let i = 1; i <= 100; i++) {
3 total += i;
4}
5console.log("Jumlah total:", total); // 5050
6
1let total = 0;
2for (let i = 1; i <= 100; i++) {
3 total += i;
4}
5console.log("Jumlah total:", total); // 5050
6
8. Lewati angka 5, berhenti di angka 8:
1for (let i = 1; i <= 10; i++) {
2 if (i === 5) continue;
3 if (i === 8) break;
4 console.log(i);
5}
6
1for (let i = 1; i <= 10; i++) {
2 if (i === 5) continue;
3 if (i === 8) break;
4 console.log(i);
5}
6
Output: 1 2 3 4 6 7
9. Cek apakah angka adalah bilangan prima:
1let angka = 7;
2let prima = true;
3
4if (angka <= 1) {
5 prima = false;
6} else {
7 for (let i = 2; i < angka; i++) {
8 if (angka % i === 0) {
9 prima = false;
10 break;
11 }
12 }
13}
14
15if (prima) {
16 console.log(angka + " adalah bilangan prima");
17} else {
18 console.log(angka + " bukan bilangan prima");
19}
20
1let angka = 7;
2let prima = true;
3
4if (angka <= 1) {
5 prima = false;
6} else {
7 for (let i = 2; i < angka; i++) {
8 if (angka % i === 0) {
9 prima = false;
10 break;
11 }
12 }
13}
14
15if (prima) {
16 console.log(angka + " adalah bilangan prima");
17} else {
18 console.log(angka + " bukan bilangan prima");
19}
20
Semua soal ini bisa kamu jadikan latihan interaktif di playground seperti JSFiddle, CodePen, atau langsung di browser console.