Friday, January 12, 2018

OOP - Encapsulation dalam Bahasa Pemrograman Java

Salah satu konsep Pemrograman Berorientasi objek lainnya adalah Encapsulation. Enkapsulasi digunakan untuk menyembunyikan nilai dalam sebuah... thumbnail 1 summary
Salah satu konsep Pemrograman Berorientasi objek lainnya adalah Encapsulation. Enkapsulasi digunakan untuk menyembunyikan nilai dalam sebuah class.
baca juga : Inheritance dalam Bahasa Java
Pada artikel sebelumnya di Inheritance dan Abstraksi sudah dibahas contoh dari enkapsulasi yaitu private field/variable seperti nama NISN dan Nama.
Apa tujuannya dibuat sebagai private ? agar tidak bisa diakses secara langsung.
Untuk itulah tujuannya setter dan getter dibuat.



Contoh lain

Misal kita mempunyai sebuah class yang input tanggal lahir, lalu bisa mendapatkan usia sekarang.


Source Code File Pelajar : 



Source Code File Main :



Output : 

enkapsulasi-dalam-bahasa-pemrograman-java
output dari kode diatas



Pembahasan

Beberapa hal yang perlu diperhatikan disini, pada saat setTanggalLahir penulis menggunakan try-catch atau disebut exception handling. Jika mau bisa googling atau abaikan saja dulu, karna akan dibahas pada artikel artikel berikutnya.
selanjutnya untuk membuat TanggalLahir, penulis menggunakan class LocalDate yang disediakan dari Java, untuk dokumentasi bisa dilihat dari sini 
Java LocalDate Documentation
Insyaallah akan dibahas lebih banyak juga mengenai LocalDate pada artikel artikel berikutnya.

Karna artikel ini membahas mengenai enkapsulasi, jadi yang akan menjadi titik fokus pada pembahasan kali ini berupa private method di dalam class Pelajar tersebut.
baca juga : Cara Membuat dan Memanggil Method dalam Bahasa Java
Kenapa perhitungan usia dipisah ?
Jika anda berniat menjadi seorang programmer profesional, anda harus memahami SOLID principles SOLID
Dimana S untuk Single Responsibility, yang berarti satu tujuan dalam artian disini jika kita membuat method getAge(); sebisa mungkin getAge() hanya melakukan return terhadap age, untuk menghitungnya kita bisa memisahkan logic untuk menghitung usia pada method yg lain.

Kenapa countAge() dibuat private ?
Inilah salah satu contoh enkapsulasi, ada method yang ingin kita buat agar tidak dapat diakses secara langsung, dalam artian objek pelajar tidak perlu memanggil method countAge(). Biarkan objek tersebut hanya memanggil method getAge(); dimana didalam method tersebut kita memanggil method countAge();

Sekian dari penulis, jika ada yang kurang jelas bisa ditanyakan lewat komentar dibawah :)

No comments

Post a Comment