Saturday, October 7, 2017

OOP - Inheritance atau Turunan dalam Bahasa Pemrograman Java

Inheritance merupakan salah satu konsep Pemrograman Berorientasi Objek, dimana sebuah class dapat menurunkan atribut/ method ke class lain. ... thumbnail 1 summary
Inheritance merupakan salah satu konsep Pemrograman Berorientasi Objek, dimana sebuah class dapat menurunkan atribut/ method ke class lain.


Contoh : Kita membuat 3 buah class, SiswaSD, SiswaSMP, SiswaSMA. Seperti kita tahu, ke tiga class tersebut mempunyai beberapa atribut yang sama, seperti Nama, Nomor Pelajar (NISN), TTL, Alamat, dsb. Tentu saja kita tidak ingin membuat atribut yang sama pada setiap class(menulis kode yang sama berulang itu ga baik bagi kesehatan), lalu bagaimana mengatasinya ?
Dengan inilah kita bisa menggunakan salah satu konsep oop yaitu inheritance.
Caranya gampang, kita tinggal buat class Pelajar yang mempunyai atribut yang sama tadi, lalu kita buat class SiswaSD, SiswaSMP, dan SiswaSMA tadi menjadi keturunan dari class Pelajar.



Contoh


Sebagai contoh, pertama kita buat 3 file class terpisah dalam package yang sama.
Membuat file class pada Eclipse Pemrograman Java
Buat class Main, Pelajar SiswaSD, SiswaSMP, dan SiswaSMA

Source Code File Main:



Source Code File Pelajar:



Source Code File SiswaSD, SiswaSMP, dan SiswaSMA



Output:

Inheritance atau Turunan dalam Bahasa Pemrograman Java
Output Source code diatas


Pembahasan

Pertama, perhatikan class Pelajar, kita membuat class pelajar sebagai abstract class, dengan membuat sebuah class sebagai abstract, class tersebut tidak dimungkinkan untuk dibuat objectnya.
jadi misal kita mencoba 

Pelajar pelajar = new Pelajar();
Maka saat menjalankan program akan terdapat error.
Kenapa dibuat abstract ?
Gunakan logika anda, misal kita mempunyai macan, dan kucing, mereka merupakan turunan dari class hewan.
Kita tau bentuk, ukuran dll dari kucing, kita tau bentuk, ukuran dll dari macan, tapi jika kita membuat objek hewan, bagaimana sih hewan itu ? tentunya harus lebih spesifik. Hal ini merupakan salah satu alasan kenapa dibuat class hewan menjadi abstract

baca juga : Objek dan Kelas dalam Bahasa Pemrograman Java

Kedua, perhatikan attribut pada class Pelajar yaitu NISN dan Nama. Dan juga perhatikan method dibawahnya berupa getter dan setter. 

Hal tersebut merupakan salah satu Fundamental dari OOP yaitu Enkapsulasi atau disebut juga dengan Data hiding. Penjelasan lebih lanjut akan dibahas nanti.
Tetapi yang perlu anda ketahui, method getter untuk mendapatkan nilai, method setter untuk mengatur nilai.

Lihat kode diatas. Pertama tama kita membuat atribut NISN (String), menjadi private atribut, dengan ini class lain tidak bisa mengubah/ mengakses nilai NISN. 
baca juga : Identifier, Modifer, Variabel dan Keywords Bahasa Java

Untuk lebih memudahkan saya mengubah nama parameter pada setNisn(), sama saja seperti pada kode di class Pelajar, tetapi karna nama atribut( NISN ) dan nama parameter( NISN ) yang sama kita harus menentukan kita mau mengakses yang mana, untuk itulah digunakan syntax this. yang berarti kita mengakses dari class Pelajar

Kita juga bisa melakukan This.getNisn()

Contoh:

public String getNisnDitambahStringHaha() {
    return this.getNisn() + " Haha";
}


Output:




Ketiga, bagian yang paling penting.
Perhatikan class SiswaSD, SiswaSMP, dan SiswaSMA. Untuk menjadikan mereka sebagai turunan dari class Pelajar, kita tinggal menggunakan syntax extends. Perlu diketahui Untuk extends hanya dimungkinkan 1 class induk, tetapi untuk implements interface bisa dilakukan untuk banyak interface.
Apa itu interface ? tunggu saja di pada posting berikutnya


Sekian dari saya, jika ada yang kurang dimengerti bisa ditanyakan di kolom komentar.
Terima Kasih

No comments

Post a Comment