Thursday, January 11, 2018

OOP - Abstraction dalam Bahasa Pemrograman Java

Abstraction  atau dalam bahasa Indonesia Abstraksi yang berasal dari kata abstrak (tidak berwujud)  merupakan salah satu konsep OOP selain d... thumbnail 1 summary
Abstraction atau dalam bahasa Indonesia Abstraksi yang berasal dari kata abstrak (tidak berwujud) merupakan salah satu konsep OOP selain dari Encapsulation dan Inheritance
baca juga : Inheritance dalam Bahasa Java
Melalui proses abstraksi, programmer menyembunyikan semua kompleksitas data terhadap suatu objek. Untuk melakukan abstraksi programmer biasanya menggunakan abstract class atau interface untuk memberikan penamaan methodnya yang sesuai dengan tugasnya, misal suatu interface mempunyai method getUsia() sehingga mudah dibaca bahwa method tersebut adalah getUsia() lalu class yang mengextends interface/abstract class tersebut mengimplementasikannya sesuai nama method tersebut.

Abstraksi sangat berkaitan dengan enkapsulasi.
Enkapsulasi akan dibahas pada artikel berikutnya..



Contoh

Sebagai contoh, pertama buatlah 3 buah class dan 1 buah interface.
class-interface-bahasa-pemrograman-java
Class : MainClass, Anak, Pemuda. Interface : Manusia

Source Code File Manusia :

Sebuah interface hanya bisa mempunyai nama method, tanpa ada implementasi.
Interface juga tidak dapat dibuat menjadi objek.

Seperti yang sudah dibahas pada inheritance, untuk membuat class Anak dan Pemuda mempunyai implementasi dari interface Manusia, maka kita membuat class Anak dan Pemuda inherit terhadap interface Manusia.

Akan tetapi, hal yang perlu diingat, dalam bahasa Java jika inherit kepada class, keywordnya extends tetapi untuk interface menggunakan implements


implementasi-interface-bahasa-java
Pesan Error pada class di Eclipse

Saat melakukan inherit tentu saja akan ada pesan error, sebab kita belum mengimplementasikan method pada interface Manusia. Dengan menggunakan eclipse kita dapat klik pada Add unimplemented methods sehingga akan muncul method yang perlu di impementasikan. 
Bagaimana menampilkan menu tersebut ?
arahkan saja kursor ke nama class :D

Maka akan menjadi seperti ini
implementasi-interface-manusia-java
Auto-generated method dari eclipse
Seperti yang terlihat tidak error lagi.

Sehingga, setelah melakukan implementasi pada masing masing class menjadi.


Source Code File Anak :

Source Code File Pemuda : 

Source Code File MainClass : 

Output:

output-implementasi-interface-bahasa-java
seperti yang dibayangkan.


Pembahasan

Pemrograman harus menggambarkan keadaan nyata, seperti class Anak dan Pemuda tersebut tidak terdapat setName(), melainkan untuk mengatur nama hanya bisa dilakukan lewat constructor. Karna nama manusia memang tidak bisa berubah (bisa sih kalo di urus haha).
Serta sebaiknya untuk usia, lebih baik memasukkan tanggal lahir, sebab dari tanggal lahir kita dapat mengetahui usia seseorang sekarang.

No comments

Post a Comment