Data dan Halaman Web · Pelajaran 8 dari 10

Objek

9 menit baca · BelajarCode

Objek menyimpan pasangan properti: nilai, mirip dictionary di Python.

JavaScript
1const siswa = {2  nama: "Rani",3  kelas: "XI-2",4  nilai: 88,5};67console.log(siswa.nama);8console.log(siswa["kelas"]);9siswa.nilai = 91;10siswa.ekskul = "Robotik";11delete siswa.kelas;12console.log(siswa);
Keluaran
Rani
XI-2
{"nama":"Rani","nilai":91,"ekskul":"Robotik"}

Properti diakses dengan titik (siswa.nama) atau kurung siku (siswa["kelas"]). Kurung siku dipakai jika nama propertinya disimpan di variabel.

Metode dan this

Objek juga bisa punya fungsi, yang disebut metode. Di dalam metode, this menunjuk objek itu sendiri.

JavaScript
1const rekening = {2  pemilik: "Bima",3  saldo: 50000,4  setor(jumlah) {5    this.saldo += jumlah;6    return this.saldo;7  },8};910rekening.setor(25000);11console.log(`${rekening.pemilik}: Rp${rekening.saldo}`);
Keluaran
Bima: Rp75000

Menelusuri objek

JavaScript
1const harga = { kopi: 8000, teh: 6000, roti: 12000 };2console.log(Object.keys(harga));3for (const [menu, h] of Object.entries(harga)) {4  console.log(`${menu}: ${h}`);5}
Keluaran
["kopi","teh","roti"]
kopi: 8000
teh: 6000
roti: 12000

Array berisi objek

Data nyata sering berbentuk array berisi objek, misalnya data dari server.

JavaScript
1const kelas = [2  { nama: "Andi", nilai: 78 },3  { nama: "Bela", nilai: 92 },4  { nama: "Citra", nilai: 85 },5];67const peringkat = [...kelas].sort((a, b) => b.nilai - a.nilai);8peringkat.forEach((s, i) => console.log(`${i + 1}. ${s.nama} ${s.nilai}`));910const { nama, nilai } = peringkat[0];11console.log(`Terbaik: ${nama} dengan nilai ${nilai}`);
Keluaran
1. Bela 92
2. Citra 85
3. Andi 78
Terbaik: Bela dengan nilai 92

Baris const { nama, nilai } = peringkat[0]; disebut destructuring: mengambil beberapa properti sekaligus ke dalam variabel.

JSON

JSON adalah format teks untuk bertukar data, bentuknya mirip objek JavaScript. Data dari server hampir selalu dikirim dalam JSON.

JavaScript
1const teks = JSON.stringify({ nama: "Rani", nilai: [88, 92] });2console.log(teks);3const kembali = JSON.parse(teks);4console.log(kembali.nilai[1]);
Keluaran
{"nama":"Rani","nilai":[88,92]}
92

Cek pemahaman

Jika const buku = { judul: "Laskar Pelangi" };, apa hasil console.log(buku.penulis);?

Latihan

Total belanja keranjang

Keranjang belanja berisi array objek dengan properti nama, harga, dan jumlah. Hitung total belanja dengan reduce, lalu tampilkan rincian setiap barang.

[{ nama: "Pulpen", harga: 3500, jumlah: 4 }, { nama: "Buku tulis", harga: 6000, jumlah: 5 }, { nama: "Penggaris", harga: 4000, jumlah: 1 }]

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler JavaScript online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi