Menu
📱 Lihat versi lengkap (non-AMP)
Programming JavaScript

Cara Belajar JavaScript dari Nol untuk Pemula

Editor: Hendra WIjaya
Update: 7 January 2026
Baca: 4 menit

JavaScript adalah bahasa programming paling populer untuk web development. Mari pelajari dari dasar.

Apa itu JavaScript?

Penggunaan JavaScript

Digunakan untuk:
- Frontend web development
- Backend (Node.js)
- Mobile apps (React Native)
- Desktop apps (Electron)
- Game development

Variables dan Data Types

Deklarasi Variables

// var (old way, avoid)
var name = "John";

// let (can be reassigned)
let age = 25;
age = 26; // OK

// const (cannot be reassigned)
const PI = 3.14;
// PI = 3.15; // Error!

Data Types

// String
let nama = "Budi";
let pesan = "Hello World";
let template = `Halo ${nama}`;

// Number
let umur = 25;
let harga = 99.99;

// Boolean
let aktif = true;
let selesai = false;

// Undefined
let data;
console.log(data); // undefined

// Null
let kosong = null;

// Array
let buah = ["apel", "jeruk", "mangga"];

// Object
let user = {
  nama: "Budi",
  umur: 25,
  aktif: true,
};

Operators

Arithmetic Operators

let a = 10;
let b = 3;

console.log(a + b); // 13 (addition)
console.log(a - b); // 7 (subtraction)
console.log(a * b); // 30 (multiplication)
console.log(a / b); // 3.33 (division)
console.log(a % b); // 1 (modulus)
console.log(a ** b); // 1000 (exponent)

Comparison Operators

let x = 5;

console.log(x == "5"); // true (loose equality)
console.log(x === "5"); // false (strict equality)
console.log(x != 3); // true
console.log(x !== "5"); // true
console.log(x > 3); // true
console.log(x <= 5); // true

Control Flow

If-Else Statement

let nilai = 85;

if (nilai >= 90) {
  console.log("A");
} else if (nilai >= 80) {
  console.log("B");
} else if (nilai >= 70) {
  console.log("C");
} else {
  console.log("D");
}

// Ternary operator
let status = nilai >= 70 ? "Lulus" : "Tidak Lulus";

Switch Statement

let hari = "Senin";

switch (hari) {
  case "Senin":
    console.log("Hari kerja");
    break;
  case "Sabtu":
  case "Minggu":
    console.log("Weekend");
    break;
  default:
    console.log("Hari lainnya");
}

Loops

For Loop

// Basic for loop
for (let i = 0; i < 5; i++) {
  console.log(i);
}

// For...of (arrays)
let buah = ["apel", "jeruk", "mangga"];
for (let item of buah) {
  console.log(item);
}

// For...in (objects)
let user = { nama: "Budi", umur: 25 };
for (let key in user) {
  console.log(`${key}: ${user[key]}`);
}

While Loop

let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}

// Do...while
let j = 0;
do {
  console.log(j);
  j++;
} while (j < 5);

Functions

Function Declaration

// Basic function
function sapa(nama) {
  return `Halo, ${nama}!`;
}
console.log(sapa("Budi"));

// Function expression
const tambah = function (a, b) {
  return a + b;
};

// Arrow function
const kali = (a, b) => a * b;

// Arrow function dengan body
const hitung = (a, b) => {
  let hasil = a + b;
  return hasil * 2;
};

Default Parameters

function sapa(nama = "User") {
  return `Halo, ${nama}!`;
}

console.log(sapa()); // Halo, User!
console.log(sapa("Budi")); // Halo, Budi!

Arrays

Array Methods

let angka = [1, 2, 3, 4, 5];

// Add/Remove elements
angka.push(6); // Add to end
angka.pop(); // Remove from end
angka.unshift(0); // Add to beginning
angka.shift(); // Remove from beginning

// Find elements
angka.indexOf(3); // 2
angka.includes(3); // true

// Slice and splice
angka.slice(1, 3); // [2, 3] (tidak mengubah array)
angka.splice(1, 2); // Remove 2 elements from index 1

Array Iteration Methods

let angka = [1, 2, 3, 4, 5];

// forEach
angka.forEach((num) => console.log(num));

// map (return new array)
let doubled = angka.map((num) => num * 2);
// [2, 4, 6, 8, 10]

// filter
let genap = angka.filter((num) => num % 2 === 0);
// [2, 4]

// reduce
let total = angka.reduce((acc, num) => acc + num, 0);
// 15

// find
let found = angka.find((num) => num > 3);
// 4

Objects

Object Basics

// Create object
let user = {
  nama: "Budi",
  umur: 25,
  alamat: {
    kota: "Jakarta",
    kodePos: "12345",
  },
  sapa: function () {
    return `Halo, saya ${this.nama}`;
  },
};

// Access properties
console.log(user.nama); // Budi
console.log(user["umur"]); // 25
console.log(user.alamat.kota); // Jakarta

// Call method
console.log(user.sapa());

Destructuring

// Object destructuring
let { nama, umur } = user;
console.log(nama); // Budi

// Array destructuring
let [pertama, kedua] = [1, 2, 3];
console.log(pertama); // 1

// Spread operator
let newUser = { ...user, email: "budi@email.com" };
let newArray = [...angka, 6, 7];

DOM Manipulation

Select Elements

// By ID
let element = document.getElementById("myId");

// By class
let elements = document.getElementsByClassName("myClass");

// Query selector (recommended)
let el = document.querySelector("#myId");
let els = document.querySelectorAll(".myClass");

Modify Elements

let el = document.querySelector("#myElement");

// Content
el.textContent = "New text";
el.innerHTML = "<strong>Bold text</strong>";

// Attributes
el.setAttribute("class", "newClass");
el.classList.add("active");
el.classList.remove("inactive");
el.classList.toggle("visible");

// Styles
el.style.color = "red";
el.style.backgroundColor = "blue";

Event Listeners

let button = document.querySelector("#myButton");

button.addEventListener("click", function (event) {
  console.log("Button clicked!");
  event.preventDefault();
});

// Arrow function
button.addEventListener("click", (e) => {
  console.log("Clicked!");
});

Async JavaScript

Promises

// Create promise
let promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve("Success!");
    // reject("Error!");
  }, 1000);
});

// Use promise
promise
  .then((result) => console.log(result))
  .catch((error) => console.log(error));

Async/Await

async function fetchData() {
  try {
    let response = await fetch("https://api.example.com/data");
    let data = await response.json();
    console.log(data);
  } catch (error) {
    console.error("Error:", error);
  }
}

fetchData();

Kesimpulan

JavaScript adalah bahasa yang versatile dan powerful. Mulai dengan basics lalu explore framework seperti React atau Node.js.

Artikel Terkait

Bagikan:

Link Postingan: https://www.tirinfo.com/cara-belajar-javascript-dari-nol/