- Object Oriented Programming adalah sudut pandang bahasa pemrograman yang berkonsep 'object'.
- Ada banyak sudut pandang bahasa pemrograman, namun OOP adalah yang sangat populer saat ini.
- Ada beberapa istilah yang perlu dimengerti dalam OOP, yaitu: Object dan Class.
- Object adalah data yang berisi field / properties / attributes dan method / function / behavior.
- Class adalah blueprint, prototype atau cetakan untuk membuat object.
- Class berisikan deklarasi semua properties dan functions yang dimiliki oleh object.
- Setiap object selalu di buat dari class.
- Dan sebuah class bisa membuat object tanpa batas.
---
title: "Class dan Object: Person"
---
classDiagram
class Person {
String firstName
String lastName
String sayHello(String name)
String sayGoodBye(String name)
}
Person --|> eko : Create
Person --|> joko : Create
Person --|> budi : Create
eko: firstName = "Eko"
eko: lastName = "Eko"
joko: firstName = "Joko"
joko: lastName = "Nugroho"
budi: firstname = "Budi"
budi: lastName = "Nugraha"
---
title: "Class dan Object: Car"
---
classDiagram
class Car {
String name
String brand
startEngine()
stopEngine()
}
Car --|> avanza : Create
Car --|> almaz : Create
Car --|> mobilio : Create
avanza: name = "Avanza"
avanza: brand = "Toyota"
almaz: name = "Almaz"
almaz: brand = "Wuling"
mobilio: name = "Mobilio"
mobilio: brand = "Honda"
- Implementasi OOP di TypeScript, sebenarnya akan diterjemahkan menjadi kode JavaScript.
- Dan JavaScript sendiri sebenarnya sejak awal dibuat sebagai bahasa prosedural, bukan bahasa pemrograman berorientasi objek.
- Oleh karena itu, implementasi OOP di JavaScript memang tidak sedetail bahasa pemrograman lain yang memang dari awal merupakan bahasa pemrograman OOP seperti Java atau C++.
- Buat folder typescript-object-oriented-programming.
npm init
- Buka package.json, dan tambah type module.
npm install --save-dev jest @types/jest
- https://www.npmjs.com/package/jest
npm install --save-dev babel-jest @babel/preset-env
- https://babeljs.io/setup#installation
npm install --save-dev typescript
- https://www.npmjs.com/package/typescript
npx tsc --init
- Semua konfigurasi akan dibuat di file tsconfig.json
- Ubah
"module"
dari"commonjs"
menjadi"ES6"
.