Setelah menyelesaikan latihan soal tentang fungsi di JavaScript, sekarang saatnya kamu mencocokkan jawaban dan memahami cara kerjanya. Pada bagian ini, kamu akan menemukan penjelasan lengkap dari setiap soal—mulai dari cara penulisan, logika, hingga alasan mengapa jawaban tersebut benar.
Tujuan utama dari pembahasan ini bukan hanya memastikan jawabanmu benar, tetapi juga agar kamu memahami konsep di balik tiap baris kode. Dengan begitu, kamu tidak hanya hafal, tetapi benar-benar menguasai fungsi dalam JavaScript, yang merupakan salah satu fondasi penting dalam pemrograman.
Jika ada bagian yang belum kamu pahami, coba tulis ulang kode tersebut di code editor, ubah sedikit-sedikit, dan amati hasilnya. Eksperimen adalah cara belajar terbaik.
Selamat belajar dan teruslah berlatih! 💪
Berikut adalah pembahasan dan kunci jawaban dari 10 soal latihan JavaScript tentang fungsi (function):
✅ Pembahasan & Kunci Jawaban: Fungsi dalam JavaScript
🔰 Soal 1: Fungsi Sederhana Tanpa Parameter
Jawaban:
1function haloDunia() {
2 console.log("Halo, Dunia!");
3}
4
5haloDunia();
6
1function haloDunia() {
2 console.log("Halo, Dunia!");
3}
4
5haloDunia();
6
Pembahasan:
Fungsi haloDunia
tidak membutuhkan parameter. Ia hanya mencetak string saat dipanggil.
🔰 Soal 2: Fungsi dengan Satu Parameter
Jawaban:
1function sapaNama(nama) {
2 console.log("Halo, " + nama + "!");
3}
4
5sapaNama("Alya");
6
1function sapaNama(nama) {
2 console.log("Halo, " + nama + "!");
3}
4
5sapaNama("Alya");
6
Pembahasan:
Parameter nama
digunakan untuk mencetak sapaan personal. Bisa disisipkan langsung ke dalam string menggunakan tanda +
.
🔰 Soal 3: Fungsi dengan Dua Parameter dan Return
Jawaban:
1function tambah(a, b) {
2 return a + b;
3}
4
5console.log(tambah(5, 3)); // Output: 8
6
1function tambah(a, b) {
2 return a + b;
3}
4
5console.log(tambah(5, 3)); // Output: 8
6
Pembahasan:
Fungsi mengembalikan hasil penjumlahan a + b
menggunakan return
.
🔰 Soal 4: Fungsi Menentukan Genap atau Ganjil
Jawaban:
1function cekGanjilGenap(angka) {
2 if (angka % 2 === 0) {
3 return "Genap";
4 } else {
5 return "Ganjil";
6 }
7}
8
9console.log(cekGanjilGenap(4)); // Output: Genap
10
1function cekGanjilGenap(angka) {
2 if (angka % 2 === 0) {
3 return "Genap";
4 } else {
5 return "Ganjil";
6 }
7}
8
9console.log(cekGanjilGenap(4)); // Output: Genap
10
Pembahasan:
Gunakan operator modulus %
untuk mengecek sisa bagi. Jika sisa bagi 2 adalah 0, maka bilangan genap.
🔰 Soal 5: Fungsi Mencetak Bilangan dari 1–N
Jawaban:
1function cetakAngka(n) {
2 for (let i = 1; i <= n; i++) {
3 console.log(i);
4 }
5}
6
7cetakAngka(5);
8
1function cetakAngka(n) {
2 for (let i = 1; i <= n; i++) {
3 console.log(i);
4 }
5}
6
7cetakAngka(5);
8
Pembahasan:
Gunakan perulangan for
dari 1 hingga n
untuk mencetak angka satu per satu.
🔰 Soal 6: Function Expression
Jawaban:
1const jumlahkan = function(a, b) {
2 return a + b;
3};
4
5console.log(jumlahkan(3, 2)); // Output: 5
6
1const jumlahkan = function(a, b) {
2 return a + b;
3};
4
5console.log(jumlahkan(3, 2)); // Output: 5
6
Pembahasan:
Function expression menyimpan fungsi dalam variabel. Penulisan hampir sama dengan deklarasi biasa, tapi tanpa nama fungsi.
🔰 Soal 7: Arrow Function
Jawaban:
1const cekGanjilGenap = angka => {
2 return angka % 2 === 0 ? "Genap" : "Ganjil";
3};
4
5console.log(cekGanjilGenap(5)); // Output: Ganjil
6
1const cekGanjilGenap = angka => {
2 return angka % 2 === 0 ? "Genap" : "Ganjil";
3};
4
5console.log(cekGanjilGenap(5)); // Output: Ganjil
6
Pembahasan:
Arrow function bisa lebih ringkas. Ternary operator digunakan sebagai pengganti if...else
.
🔰 Soal 8: Fungsi Mengembalikan Nilai Tertinggi
Jawaban:
1function nilaiTertinggi(a, b, c) {
2 return Math.max(a, b, c);
3}
4
5console.log(nilaiTertinggi(5, 12, 8)); // Output: 12
6
1function nilaiTertinggi(a, b, c) {
2 return Math.max(a, b, c);
3}
4
5console.log(nilaiTertinggi(5, 12, 8)); // Output: 12
6
Pembahasan:
Gunakan Math.max()
untuk mendapatkan angka terbesar dari sekumpulan nilai.
🔰 Soal 9: Fungsi Faktorial
Jawaban:
1function faktorial(n) {
2 let hasil = 1;
3 for (let i = 1; i <= n; i++) {
4 hasil *= i;
5 }
6 return hasil;
7}
8
9console.log(faktorial(5)); // Output: 120
10
1function faktorial(n) {
2 let hasil = 1;
3 for (let i = 1; i <= n; i++) {
4 hasil *= i;
5 }
6 return hasil;
7}
8
9console.log(faktorial(5)); // Output: 120
10
Pembahasan:
Faktorial adalah perkalian berurutan dari 1 sampai n. Bisa juga diselesaikan dengan rekursi, tapi metode iteratif lebih sederhana untuk pemula.
🔰 Soal 10: Fungsi Membalik String
Jawaban:
1function balikKata(kalimat) {
2 return kalimat.split("").reverse().join("");
3}
4
5console.log(balikKata("JavaScript")); // Output: tpircSavaJ
6
1function balikKata(kalimat) {
2 return kalimat.split("").reverse().join("");
3}
4
5console.log(balikKata("JavaScript")); // Output: tpircSavaJ
6
Pembahasan:
split("")
→ memecah string menjadi array per karakter
reverse()
→ membalik urutan array
join("")
→ menggabungkan kembali menjadi string