Pembahasan & Kunci Jawaban: Fungsi dalam JavaScript

Setelah menyelesaikan latihan soal tentang fungsi di JavaScript, sekarang saatnya kamu mencocokkan jawaban dan memahami cara kerjanya.

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