Anda di halaman 1dari 8

MODUL 10

INHERITANCE PADA JAVASCRIPT (PROTOTYPE CHAINING​)

TUJUAN :

1. Mengenal dan memahami inheritance menggunakan konsep prototype chaining


pada Javascript,
2. Dapat mengimplementasikan konsep inheritance pada Javascript.

DASAR TEORI

Dalam konsep Object Oriented Programming (OOP​) kita akan mengenal dengan
istilah “inheritance”. Inheritance diartikan sebagai proses pewarisan, yaitu ketika
sesuatu mewarisi atribut atau fungsi dari sesuatu yang lain. Sebagai contoh dalam dunia
nyata yaitu ketika seorang anak mewarisi rambut ikal yang dimiliki orang tuanya. Hal
tersebut berarti seorang anak mewarisi jenis rambut dari orang tuanya.

Pada modul sebelumnya telah dibahas bahwa pemrograman javascript tidak mengenal
konsep class, maka dari itu untuk melakukan proses pewarisan, javascript menggunakan
inheritance berbasis prototype atau yang sering dikenal dengan prototype chaining.

OBJECT INHERITANCE

Setiap objek javascript yang memiliki prototype, dapat diwariskan kepada objek
lain. Misalnya, ​kita memiliki sebuah objek yang sangat berguna (sebagai parent object).
Katakanlah kita memerlukan objek yang hampir sama dengan objek tersebut, dengan
perbedaan hanya pada cara kerja satu ​method saja. Kita dapat membuat turunan objek
tersebut secara langsung, dan mengubah ​method yang cara kerjanya berbeda saja.
Berikut contoh penggunaan prototype untuk pewarisan :
Contoh di atas merupakan contoh program yang mengimplementasikan inheritance
menggunakan __proto__ untuk mengakses property dari sebuah objek. Namun hal
tersebut sudah tidak disarankan lagi karena kinerjanya yang tidak baik. Untuk
mengatasi hal tersebut, javascript telah menyediakan alternatif yang dapat digunakan
yaitu Object.create.

CODELAB OBJECT INHERITANCE

Buatlah file baru dengan nama “pegawai.js” lalu masukkan kode berikut ini :
Lalu jalankan program, sehingga output akan menjadi seperti ini.
CONSTRUCTOR INHERITANCE

Dalam javascript, pewarisan menggunakan prototype tidak hanya dapat


digunakan untuk pembuatan objek turunan (pewarisan objek​)​. Kita juga dapat
memanfaatkan prototype untuk membuat constructor turunan. Seperti pada modul
sebelumnya, setiap properti yang dimiliki oleh suatu constructor dapat dimodifikasi
ataupun ditambahkan dengan memanfaatkan prototype.

CODELAB CONSTRUCTOR INHERITANCE

Buatlah file bernama hitungLuas.js, lalu tuliskan kode berikut :


Setelah itu, jalankan program maka akan muncul hasil seperti berikut :

LATIHAN

Buatlah sebuah program yang memiliki

1. Objek / Constructor bernama kendaraan dengan ketentuan sebagai berikut :


- memiliki atribut : noPlat, merk, pajakKendaraan
- memiliki method bernama inputAtribut untuk memasukkan dan
menyimpan data atribut
- memiliki method fasTambahan(hanya deklarasi method)
- memiliki method printFasTambahan(hanya deklarasi method)
- memiliki method hitungPajak (hanya deklarasi method)
- memiliki method print seperti berikut :

2. Objek / Constructor bernama Sedan dengan ketentuan sebagai berikut :


- merupakan turunan dari Kendaraan
- memiliki atribut tambahan berupa fasKeamanan, kapasitasCC,
fasKenyamanan
- memiliki method fasTambahan untuk menginputkan atribut tambahan
- memiliki method printFasTambahan untuk menampilkan atribut
tambahan
- memiliki method hitungPajak untuk menghitung total pajak dengan
rumus totalPajak = (pajak + (pajak * kapasitasCC * 0.00005));

3. Objek / Constructor bernama Bus dengan ketentuan sebagai berikut :


- merupakan turunan dari Kendaraan
- memiliki atribut tambahan berupa kapPenumpang, kapBagasi
- memiliki method fasTambahan untuk menginputkan atribut tambahan
- memiliki method printFasTambahan untuk menampilkan atribut
tambahan
- memiliki method hitungPajak untuk menghitung total pajak dengan
rumus totalPajak = (pajak + (pajak * kapPenumpang * kapBagasi *
0.00005));

Ketika dijalankan akan menampilkan output seperti berikut :

Anda mungkin juga menyukai