Objek dalam Pemrograman
Dalam pemrograman, objek adalah kumpulan nilai yang memiliki nama, bukan indeks seperti pada array. Objek juga dapat dilihat sebagai array yang lebih “sakti”, karena memungkinkan kita untuk memberikan nama pada setiap nilai.
Untuk membuat objek, kita dapat menggunakan kurung kurawal {}. Di dalam kurung kurawal, kita dapat memasukkan nama (atau kunci) dan nilai (atau nilai) yang diinginkan. Nilai-nilai tersebut dapat berupa string, boolean, integer, array, atau bahkan objek lainnya.
Contoh:
let mahasiswa = {
nama: 'Zaki Dzulfikar',
lulus: true,
IPS: [3.6, 3.8, 3.3, 3.5],
IPK: function () {
let total = 0;
let ipsnilai = this.IPS;
for (var i = 0; i < ipsnilai.length; i++) {
total += ipsnilai[i];
}
return total / ipsnilai.length;
}
};
Dalam contoh di atas, kita membuat sebuah objek bernama mahasiswa yang memiliki empat properti: nama, lulus, IPS, dan IPK. Properti nama dan lulus memiliki nilai string dan boolean, sedangkan properti IPS memiliki nilai array. Properti IPK memiliki nilai fungsi yang menghitung nilai IPK mahasiswa.Untuk mengakses properti suatu objek, kita dapat menggunakan titik . atau kurung siku [].
Contoh:
console.log(mahasiswa.IPK()); // Output: 3.55
console.log(mahasiswa['nama']); // Output: 'Zaki Dzulfikar'
Terminologi Objek
Dalam dunia objek, terdapat beberapa istilah penting yang perlu diketahui:
Properti: Nilai dalam suatu objek yang memiliki nama.
Metode: Fungsi dalam suatu objek.
Menambahkan Variabel ke Objek
Kita dapat menambahkan variabel baru ke objek melalui konsol atau kode program.
Melalui Konsol:
objectnya.namaVariabel = isinya
Melalui Kode Program:
objectnya['namaVariabel'] = isinya
Latihan
Berikut adalah contoh latihan objek dalam pemrograman:
let mhs = {
nama: 'Derck Ze',
umur: 16,
lulus: undefined,
nilai: [90, 98, 80, 87, 88],
alamat: {
jalan: 'Jln. Ahmad Yani no. 100',
kab: 'Batang',
prov: 'Jawa Timur',
},
nilaiTotal: function () {
let total = 0;
let nilaiMapel = this.nilai;
for (var i = 0; i < nilaiMapel.length; i++) {
total += nilaiMapel[i];
}
return (nilaiTot = total / nilaiMapel.length);
},
};
let mhs = {
nama: 'Derck Ze',
umur: 16,
lulus: undefined,
nilai: [90, 98, 80, 87, 88],
alamat: {
jalan: 'Jln. Ahmad Yani no. 100',
kab: 'Batang',
prov: 'Jawa Timur',
},
nilaiTotal: function () {
let total = 0;
let nilaiMapel = this.nilai;
for (var i = 0; i < nilaiMapel.length; i++) {
total += nilaiMapel[i];
}
return (nilaiTot = total / nilaiMapel.length);
},
};
Output:
console.log(mhs.nilaiTotal()); // Output: 88.6console.log(mhs.nilai[1]); // Output: 98
console.log(mhs['alamat'].prov); // Output: 'Jawa Timur'
