Skip to content

docs: menambahkan materi ke 2 OOP dan memberbaiki typo #260

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jan 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions learn/Basic/002_variable_datatype/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ Merupakan tipe data yang mempunyai pasangan key dan value. Maksud dari key adala

Object ini menggunakan kurung kurawal ({}) untuk menyimpan pasangan dari key dan value.

> *Truthy* : nilai yang dianggap benar ketika ditemui dalam konteks Boolean.
> *Falsy* : nilai yang dianggap salah ketika ditemui dalam konteks Boolean.


### typeOf

`typeOf` adalah salah satu jenis operator java script yang dapat digunakan untuk mengecek/melihat tipe data dari sebuah variabel.
Expand Down
52 changes: 52 additions & 0 deletions learn/OOP/002_Object_Property_Method/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Object, property, and method

## Apa itu object

Object adalah sebuah tipe data di Javascript yang bisa menyimpan banyak value atau nilai. Sama seperti array, yang membedakan adalah array memiliki index sedangkan object memiliki property. Perlu diingat, array juga termasuk sebuah object.

Contoh object:
```js
const person = {
name: "Salim",
age: 20
};
```
`name` dan `age` disebut property sedangkan `"Salim"` dan `20` disebut value.

## Property

Dalam pelajaran sebelumnya kita sudah belajar tentang `class`, jika kita ingin membuat program yang berorientasi object (OOP) kita akan membuat class yang bisa digunakan berulang-ulang, maka gunakanlah property di dalam `constructor`

Contohnya:
```js
class Person { // Membuat object dengan class
constructor(name,age){ // Mendeklarasikan property name dan age
this.name = name; // Menggunakan property name dan age
this.age = age;
}
}
console.log(new Person("Burhan", 23)); // output : {name:"Burhan",age: 23}
```

## Method

Method adalah fungsi yang ada di property yang bisa kita eksekusi atau jalankan. Misalnya saya ingin membuat method greet yang menampilkan nama dan usia di console, maka kodenya akan seperti ini:
```js
class Person { // Membuat object dengan class
constructor(name,age){ // Mendeklarasikan property name dan age
this.name = name; // Menggunakan property name dan age
this.age = age;
}
greet() {
console.log(`hai nama saya ${this.name} saya berumur ${this.age} tahun`);
}
}
```
Contoh ada method `greet` yang menerima parameter `name` dan `age` dari constructor property, yang jika dijalankan akan seperti ini
```js
const person1 = new Person("burhan", 23);
person1.greet(); // output: hai nama saya Burhan saya berumur 23 tahun
```
Contoh penggunaanya seperti ini [example](example.js)

> Dengan `property` dan `method` kita bisa membuat object dinamis yang bisa digunakan sesuai kebutuhan tanpa membuat banyak object.
16 changes: 16 additions & 0 deletions learn/OOP/002_Object_Property_Method/example.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
class Person { // Membuat object dengan class
constructor(name,age){ // Mendeklarasikan property name dan age
this.name = name; // Menggunakan property name dan age
this.age = age;

}
greet() {
console.log(`hai nama saya ${this.name} saya berumur ${this.age} tahun`);
}
}

const person1 = new Person("budi", 21); // Membuat object person1 dengan constructor

console.log(person1.name); // output: budi

person1.greet(); // output: hai nama saya budi saya berumur 21 tahun