Pemrogaman Java

5 MacaM Prinsip Desain INTERFCACE

A. Open-Closed Principle (OCP)
Open-Closed Principle (OCP) adalah bahwa sebuah modul/komponen harus terbuka untuk ekstensi,
namun tertutup untuk modifikasi.
Module yang sesuai dengan open-closed principle mempunyai 2 attribute utama:
1. Terbuka untuk perluasan
Maksudnya adalah sifat module yang dapat diperluas. Bahwa kita dapat membuat
modul berperilaku dalam cara baru dan berbeda, sebagai persyaratan dari aplikasi yang berubah, atau
untuk memenuhi kebutuhan aplikasi baru.
2. Tertutup untuk modifikasi
Maksudnya adalah tidak ada yang diperbolehkan untuk membuat maupun mengubah kode itu.

B. The Liskov Substitution Principle
Pengertian LSP adalah subclass harus dapat disubstitusi oleh basis class nya. (LSP) adalah
definisi tertentu dari suatu hubungan subtyping, disebut behavior subtyping, yang awalnya
diperkenalkan oleh Barbara Liskov.

C. DIP (Dependency Inversion Principle)
Dalam pemrograman berorientasi obyek, ketergantungan prinsip inversi merujuk pada bentuk
tertentu di mana decoupling hubungan ketergantungan konvensional didirikan dari high level,
kebijakan-pengaturan modul untuk low level, ketergantungan modul terbalik untuk tujuan rendering
tinggi modul tingkat independen dari tingkat rendah rincian implementasi modul.
Prinsip dependency inversion principle:
1. Super Class dalam hirarki inheritance seharusnya tidak tahu subclass-nya
2. Modul-modul dengan implementasi detail tidak menjadi tempat bergantung modul-modul
lainnya tapi seharusnya modul-modul yang lain bergantung pada abstraksi-abstraksi
3. OCP adalah tujuan, DIP adalah mekanisme
4. LSP adalah jaminan untuk DIP

D. ISP (Interface Segregation Principles)
Prinsip desain class ini bertujuan menghilangkan interface (antar muka) yang tidak dipakai. Inteface
yang sedikit dengan method untuk melayani masing-masing satu sub-module lebih baik daripada
interface yang banyak.Dalam pembuatan aplikasi yang berorientasi objek, abstraksi harus ada
dalam pembuatan modul yang terdiri dari beberapa sub-modul.Modul diimplementasikan dengan
class, sedangkan proses abstraksi ada dalam interface.
Saat ada penambahan modul maka source code awal harus diubah juga, hal yang terjadi ialah fat
interface atau pollute interface dan juga dummy method.

E. OCP (Open Close Principles)
Desain ini menginginkan agar setiap perubahan yang ada harus bisa diterapkan dengan baik tanpa
harus mengganti banyak source code.

Silahkan download materi ini di sini Tugas PBO1

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: