Unlock JavaScript Mastery: Challenge-Based Bootcamp for Beginners!

Raih keahlian JavaScript melalui bootcamp berbasis tantangan yang seru! Bergabunglah sekarang dan tingkatkan keterampilan coding Anda!

By WGS INDONESIA
4.9/4.9
Indonesia
Rp 43,750.00 GRATIS
E-COURSE banner with text and icons representing Artificial Intelligence and video learning

Detail Pembelajaran

Unlock JavaScript Mastery: Challenge-Based Bootcamp for Beginners!
  • JavaScript, Bootcamp, Pemrograman, Pembelajaran, Tantangan, Pemula

Baca Online

Unlock JavaScript Mastery: Challenge-Based Bootcamp for Beginners

Daftar Isi

  1. Pendahuluan: Mengapa Belajar JavaScript?
  2. Persiapan Lingkungan dan Tools
  3. Dasar-Dasar JavaScript
  4. Challenge 1: Membuat Kalkulator Sederhana
  5. Fungsi dan Penggunaan Parameter
  6. Challenge 2: Membuat To-Do List Interaktif
  7. Array dan Looping
  8. Challenge 3: Membuat Galeri Gambar Dinamis
  9. Objek dan Manipulasi Data
  10. Challenge 4: Membuat Quiz Interaktif
  11. Asynchronous JavaScript: Callback, Promise, Async/Await
  12. Challenge 5: Fetch API dan Menampilkan Data dari Server
  13. Sumber Belajar dan Channel Rekomendasi

Pendahuluan: Mengapa Belajar JavaScript?

JavaScript adalah bahasa pemrograman yang sangat populer dan digunakan di hampir semua website modern. Dengan menguasai JavaScript, kamu dapat membuat website menjadi interaktif, membangun aplikasi web, dan bahkan mengembangkan aplikasi mobile dan desktop.

Bootcamp ini dirancang untuk pemula yang ingin belajar JavaScript secara bertahap melalui tantangan praktis yang akan membantu kamu memahami konsep dan langsung mempraktikkannya.

Close-up of a computer screen showing JavaScript code editor with colorful syntax highlighting

Persiapan Lingkungan dan Tools

Sebelum mulai coding, pastikan kamu sudah menyiapkan beberapa tools berikut:

  • Browser modern (Google Chrome, Firefox, Edge)
  • Code editor seperti Visual Studio Code
  • Terminal atau command prompt untuk menjalankan perintah

Kamu juga bisa menggunakan layanan online seperti CodePen atau JSFiddle untuk langsung mencoba kode JavaScript tanpa instalasi.

Workspace setup with laptop showing Visual Studio Code, coffee cup, and notebook on wooden desk

Dasar-Dasar JavaScript

Mari kita mulai dengan memahami dasar-dasar JavaScript, seperti variabel, tipe data, dan operasi dasar.

Variabel dan Tipe Data

Variabel digunakan untuk menyimpan data. Di JavaScript, kamu bisa menggunakan let , const , dan var untuk mendeklarasikan variabel.


let nama = "Budi";
const umur = 25;
var isStudent = true;

      

Operasi Dasar

Kamu bisa melakukan operasi matematika dan operasi string dengan mudah:


let a = 10;
let b = 5;
let hasil = a + b; // 15

let greeting = "Halo, " + nama; // "Halo, Budi"

      
Screenshot of JavaScript code editor showing variable declarations and basic operations

Challenge 1: Membuat Kalkulator Sederhana

Buatlah kalkulator sederhana yang dapat menjumlahkan dua angka yang dimasukkan pengguna.

Step by Step

  1. Buat dua input untuk angka.
  2. Buat tombol untuk menghitung hasil penjumlahan.
  3. Tampilkan hasil penjumlahan di halaman.

Source Code


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Simple Calculator</title>
</head>
<body>
  <input type="number" id="num1" placeholder="Angka pertama" />
  <input type="number" id="num2" placeholder="Angka kedua" />
  <button onclick="calculate()">Hitung</button>
  <p id="result">Hasil: </p>

  <script>
    function calculate() {
      const num1 = Number(document.getElementById('num1').value);
      const num2 = Number(document.getElementById('num2').value);
      const sum = num1 + num2;
      document.getElementById('result').textContent = 'Hasil: ' + sum;
    }
  </script>
</body>
</html>

      
User interface of a simple calculator with two number inputs, a calculate button, and a result display

Fungsi dan Penggunaan Parameter

Fungsi adalah blok kode yang dapat digunakan kembali. Kamu bisa membuat fungsi dengan atau tanpa parameter.

Membuat Fungsi


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

let pesan = sapa("Andi");
console.log(pesan); // Halo, Andi!

      

Fungsi membantu membuat kode lebih terstruktur dan mudah dipelihara.

Code editor showing JavaScript function declaration and usage with console output

Challenge 2: Membuat To-Do List Interaktif

Buat aplikasi To-Do List sederhana yang memungkinkan pengguna menambahkan dan menghapus tugas.

Step by Step

  1. Buat input teks dan tombol "Tambah".
  2. Tampilkan daftar tugas di bawah input.
  3. Tambahkan fungsi untuk menghapus tugas saat diklik.

Source Code


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>To-Do List</title>
</head>
<body>
  <input type="text" id="taskInput" placeholder="Tambah tugas..." />
  <button onclick="addTask()">Tambah</button>
  <ul id="taskList"></ul>

  <script>
    function addTask() {
      const input = document.getElementById('taskInput');
      const task = input.value.trim();
      if (task === '') return;

      const li = document.createElement('li');
      li.textContent = task;
      li.style.cursor = 'pointer';
      li.onclick = function() {
        this.remove();
      };

      document.getElementById('taskList').appendChild(li);
      input.value = '';
    }
  </script>
</body>
</html>

      
User interface of a to-do list app with input field, add button, and list of tasks

Array dan Looping

Array adalah struktur data yang menyimpan banyak nilai dalam satu variabel. Looping digunakan untuk mengakses setiap elemen array.

Contoh Array dan Looping


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

for (let i = 0; i < buah.length; i++) {
  console.log(buah[i]);
}

// Output:
// apel
// jeruk
// pisang

      
Code editor showing JavaScript array declaration and for loop iterating over array elements

Challenge 3: Membuat Galeri Gambar Dinamis

Buat galeri gambar yang menampilkan gambar dari array dan memungkinkan pengguna menambahkan gambar baru dengan URL.

Step by Step

  1. Buat array berisi URL gambar.
  2. Tampilkan gambar-gambar tersebut di halaman.
  3. Buat input untuk menambahkan URL gambar baru ke galeri.

Source Code


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Galeri Gambar Dinamis</title>
  <style>
    img { width: 150px; margin: 5px; border-radius: 8px; }
  </style>
</head>
<body>
  <input type="text" id="imgUrl" placeholder="Masukkan URL gambar" size="40" />
  <button onclick="addImage()">Tambah Gambar</button>
  <div id="gallery"></div>

  <script>
    const images = [
      "https://placehold.co/150x100/png?text=Gambar+1",
      "https://placehold.co/150x100/png?text=Gambar+2",
      "https://placehold.co/150x100/png?text=Gambar+3"
    ];

    function displayGallery() {
      const gallery = document.getElementById('gallery');
      gallery.innerHTML = '';
      images.forEach(url => {
        const img = document.createElement('img');
        img.src = url;
        img.alt = "Gambar galeri dengan latar belakang warna cerah dan teks 'Gambar'";
        gallery.appendChild(img);
      });
    }

    function addImage() {
      const input = document.getElementById('imgUrl');
      const url = input.value.trim();
      if (url) {
        images.push(url);
        displayGallery();
        input.value = '';
      }
    }

    displayGallery();
  </script>
</body>
</html>

      
User interface of a dynamic image gallery with input field for image URL and displayed images

Objek dan Manipulasi Data

Objek adalah kumpulan properti yang menyimpan data dan fungsi. Objek sangat berguna untuk merepresentasikan data yang kompleks.

Contoh Objek


const mahasiswa = {
  nama: "Sari",
  umur: 21,
  jurusan: "Teknik Informatika",
  sapa: function() {
    return "Halo, nama saya " + this.nama;
  }
};

console.log(mahasiswa.sapa()); // Halo, nama saya Sari

      
Code editor showing JavaScript object declaration with properties and method

Challenge 4: Membuat Quiz Interaktif

Buat quiz sederhana dengan pertanyaan pilihan ganda dan tampilkan skor setelah selesai.

Step by Step

  1. Buat array berisi objek pertanyaan dan jawaban.
  2. Tampilkan pertanyaan dan pilihan jawaban.
  3. Berikan tombol untuk memilih jawaban dan pindah ke pertanyaan berikutnya.
  4. Tampilkan skor akhir setelah quiz selesai.

Source Code


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Quiz Interaktif</title>
  <style>
    button { margin: 5px 0; display: block; }
  </style>
</head>
<body>
  <div id="quiz"></div>
  <div id="result" style="margin-top:20px; font-weight:bold;"></div>

  <script>
    const quizData = [
      {
        question: "Apa kepanjangan dari HTML?",
        options: ["Hyper Text Markup Language", "Home Tool Markup Language", "Hyperlinks and Text Markup Language"],
        answer: 0
      },
      {
        question: "Apa fungsi JavaScript dalam web?",
        options: ["Membuat halaman statis", "Menambahkan interaktivitas", "Mengatur layout"],
        answer: 1
      },
      {
        question: "Tag HTML untuk membuat paragraf adalah?",
        options: ["<div>", "<p>", "<span>"],
        answer: 1
      }
    ];

    let current = 0;
    let score = 0;

    function loadQuiz() {
      const quiz = document.getElementById('quiz');
      quiz.innerHTML = '';

      if (current >= quizData.length) {
        document.getElementById('result').textContent = 'Skor Anda: ' + score + ' dari ' + quizData.length;
        return;
      }

      const q = quizData[current];
      const questionEl = document.createElement('h3');
      questionEl.textContent = q.question;
      quiz.appendChild(questionEl);

      q.options.forEach((option, index) => {
        const btn = document.createElement('button');
        btn.textContent = option;
        btn.onclick = () => {
          if (index === q.answer) score++;
          current++;
          loadQuiz();
        };
        quiz.appendChild(btn);
      });
    }

    loadQuiz();
  </script>
</body>
</html>

      
User interface of an interactive quiz with question text and multiple choice buttons

Asynchronous JavaScript: Callback, Promise, Async/Await

JavaScript berjalan secara asynchronous untuk menangani operasi yang memakan waktu seperti pengambilan data dari server. Berikut adalah konsep penting:

Callback


function fetchData(callback) {
  setTimeout(() => {
    callback("Data berhasil diambil");
  }, 2000);
}

fetchData(function(result) {
  console.log(result);
});

      

Promise


function fetchData() {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve("Data berhasil diambil");
    }, 2000);
  });
}

fetchData().then(result => console.log(result));

      

Async/Await


async function getData() {
  const result = await fetchData();
  console.log(result);
}

getData();

      
Diagram illustrating asynchronous JavaScript concepts including callback, promise, and async/await

Challenge 5: Fetch API dan Menampilkan Data dari Server

Buat aplikasi yang mengambil data dari API publik dan menampilkannya di halaman.

Step by Step

  1. Gunakan Fetch API untuk mengambil data JSON dari https://jsonplaceholder.typicode.com/posts .
  2. Tampilkan judul dan isi postingan di halaman.

Source Code


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Fetch API Example</title>
  <style>
    article { margin-bottom: 20px; padding: 10px; border: 1px solid #ccc; border-radius: 8px; }
    h3 { margin-bottom: 5px; }
  </style>
</head>
<body>
  <h1>Daftar Postingan</h1>
  <div id="posts">Loading...</div>

  <script>
    async function fetchPosts() {
      const response = await fetch('https://jsonplaceholder.typicode.com/posts');
      const posts = await response.json();
      const postsDiv = document.getElementById('posts');
      postsDiv.innerHTML = '';

      posts.slice(0, 10).forEach(post => {
        const article = document.createElement('article');
        const title = document.createElement('h3');
        title.textContent = post.title;
        const body = document.createElement('p');
        body.textContent = post.body;
        article.appendChild(title);
        article.appendChild(body);
        postsDiv.appendChild(article);
      });
    }

    fetchPosts();
  </script>
</body>
</html>

      
User interface showing list of posts fetched from API with titles and content in boxes

Sumber Belajar dan Channel Rekomendasi

Berikut beberapa sumber belajar dan channel YouTube yang sangat membantu untuk belajar JavaScript:

Collage of logos from MDN, freeCodeCamp, Traversy Media, Academind, and Programming with Mosh

Edukasi Terkait