SESI 41 - OBJECT PADA JAVASCRIPT

September 24, 2018 by

Array = kumpulan nilai yang memiliki index, variabel yang bisa menampung banyak nilai, nilainya memiliki index yang dimulai dari 0.
Object = kumpulan nilai, nilai tidak memiliki index tetapi memiliki nama, jadi di dalam obejct tidak ada index hanya ada nama.

Kita tahu bahwa array adalah variabel yang lebih sakti sedangkan object adalah array yang lebih sakti. Jadi object bisa melakukan apa yang bisa dilakukan array dengan lebih kompleks lagi. In javascript object are king, if you understand object you understand javacript.

Di dalam bahasa pemrograman lain ada konsep yang sama di dalam object javascript misal:
PHP => Associative array
Python => Dictionaries
C => Hash tables
JAVA => Hash Maps
Ruby dan Perl => Hashes

Jadi ada konsep yang sama walaupun namanya berbeda.

Kenapa menggunakan object?
Kasus:
Kita membuat kumpulan data yang menjelaskan seorang mahasiswa. Mahasiwa itu memiliki beberapa nilai yang melekat pada mahasiswa itu, yaitu nama, umur, dll. Misal menggunakan variabel biasa, tanpa array dan object.

var namaMhs='Riventus';
var umurMhs='23';
var lulus = true;
var IPSemester = [2.90,2.90,3.10,2.88,3.04];
function IPKomulatif (IPSemester){
      var total = 0;
      for (var i =0;i<IPSemester.length; i++){
           total += IPSemester[i];
     }
     return total/IPSemester.length;
};
Membuat fungsi IPKomulatif dengan parameter IPSemester, ditelusuri masing masing elemennya dijumlahkan kemudian diakhir dibagi dengan total jumalh semesternya, maka dihasilkan rata-rata dari IP.
Jika dibuat hal ini, maka membuat variabel banyak yaitu namaMhs1, namaMhs2, dst untuk umur dan IPSemester jumlah mahasiswa yang bnyak. Hal ini akan jadi masalah dan merepotkan. Hal ini bisa menggunakan array, misal untuk data 1 org mahasiswa

var mahasiswa = ['Riventus',true,[2.90,2.90,3.10,2.88,3.04]]; elemen pertama menampung dengan elemen namaMhs, elemen kedua dengan lulus atau tidaknya, elemen ke-3 dengan array menampung IPSemester untuk menampung IPKnya tidak bisa ditampung setelah elemen ke-3 , tetapi harus ditampung dan dibuat fungsi baru yang terpisah seperti ini:

function IPKomulatif (IPSemester){
      var total = 0;
      for (var i =0;i<IPSemester.length; i++){
           total += IPSemester[i];
     }
     return total/IPSemester.length;
};
IPKomulatif(mahasiswa[2]);// mengetahui IPK dari semester ke-2

Hal ini semua datanya milik satu orang mahasiswa, yang dimiliki oleh array di atas adalah index sehingga aksesnya melalui indeks array.
Jika diperbaiki menggunakan objecct maka data ini lebih terorganisir lagi. Cara penulisannya dengan menggunakan kurung kurawal {} dengan keynya 

var Mahasiswa= {
nama:'Riventus',
lulus:true,
IPSemester: [2.90,2.90,3.10,2.88,3.04],
IPKomulatif: function(){
var total = 0;
var ips = this.IPSemester;
for(var i=0;i<ips.length;i++){
total += ips[i];
}
return total/ips.length;
}
}
Mahasiswa.IPKomulatif();

Anatomi Object
=> var orang ={
nama:'Riventus',
umur: 31,
pekerjaan:'Programmer',
//di atas ini adalah properti
sapa: function(){ //method
return 'Hi, nama saya '+this.nama+
' usia saya '+this.umur+' tahun, dan saya adalah seorang '+this.pekerjaan;
}
}

properti adalah variabel-variabel yang ada di dalam object, function yang ada di dalam object adalah method.

Contoh implementasinya
//Membuat object
var.mhs={}; isi dari objectnya yaitu properti dan methodnya bisa langsung diisi melalui console di browser, bisa dari kode editor ataupun dari console, contoh dari console browser:
mhs.nama ='Riventus'; //Menulis isi untuk obejct mhs dengan variabel nama nilainya Riventus tipe datanya adalah string. Maka jika di tulis mhs.nama => Riventus.
Nilai properti ini hanya disimpan di memori saja jika direfresh browser maka jika diakes mhs.nmaa hasilnya undefined. Jika di atas hal yang sama di kodingan/di kode editor hal ini permanent. Untuk atribut nama, umur tipe integer, dan array, object juga bisa. Contoh:

var Mahasiswa= {
nama:'Riventus',
umur:31,
ips: [2.90,2.90,3.10,2.88,3.04],
alamat: {
jalan: "Jl. abc no. 123",
kota: "Bandung",
provinsi:"Jawa Barat"
}
};

Ini adalah penjelasan mengenai object di dalam javascript. Cara ini membuat objek dengan cara literal ada yang lebih baik yaitu menggunakan cara constructor.

0 comments:

Post a Comment