School Papers

1. objek yang berguna sebagai pemelihara state dan

1.      Soc
pada Tingkat Perangcang

Pada tingkat ini, dapat dilakukan dengan
beberapa langkah perancangan yang memperhatikan prinsip yang akan mempermudah
dalam memodifikasi dan pengekapsulasian sebuah domain, dengan cara menggunakan
prinsip SRP dan OCP yang merupakan lima prinsip dasar perancang berorientasi
objek. Hal ini disampaikan oleh Robert C. Martin dalam bukunya “principles
of OOD”

·       
SRP ( single
responsibility principles )

Prinsip ini menekankan bahwa sebuah
kelas hanya harus bertanggung jawab atas satu permasalahan yang terjadi dikelasnya
sehingga perubahan hanya akan terjadi pada kelas tersebut dan hanya
mempengaruhi tugas yang bersangkutan tanpa harus mempengaruhi tugas yang
lainnya

·       
OCD ( open close
principles )

Prinsip OCD menekankan pada 2 hal sebagai
berikut yaitu:

a)      Open
for Extension

Yaitu perilaku dari suatu modul atau
class yang dapat diperluas. Kita dapat membuat suatu modul memiliki perilaku
baru atau berbeda berdasarkan perubahan pada equirement

b)      Close
for Modification

Source code dari sebuah modul tidak
boleh berubah dan tidak ada seorang pun yang diijinkan untuk mengubahnya. Untuk
meminimalisir anomali yang diakibatkan perubahan pada suatu class.

 

 

 

 

2.      Separation
Of Concerns ada Design Pattern

Pada bagian ini merupakan sebuah solusi
untuk permasalahan-permasalahan yang mirip. Seperti memisahkan antarmuka
berdasarkan implementasi yang memungkinkan, membungkus kelas yang lama agar
bisa berbaur dengan kelas yang baru dan juga melindungi dari perubahan yang
terjadi akibat perbedaan platform. Design pettern ini sendiri terdiri dari
beberapa kelas keci yang melalui pendelagasian dan pewarisan. Kelas-kelas ini
dapat beradaptasi dan diperbaiki sesuai dengan sistem yang dibangun.

Ada beberapa Design pattern yang
berkaitan dengan Separation of concerns:

·       
Abstrac factory

Digunakan pada sistem yang berupa
client-server. Yang berfungsi sebagai penyedia implementasi yang berbeda-beda
untuk suatu kumpulan konsep yang sama dari platform client-server yang
berbeda-beda

·       
Command

Berfungsi sebagai pengekapsulasi
permintaan sehingga permintaan itu dapat dieksekusi, ditunda, atau bahkan
dibatalkan secara independen terhadap permintaan lainnya

·       
Composite

Mempresentasikan hirarki dari suatu
variabel class hingga cabang dan kompsitnya dapat dilakukan secara seragam
melalu satu interface yang sama

·       
Façade

Berfungsi sebagai pengurang Coupling
dalam suatu class yang saling terhubung dalam keseluruhan sistem.

·       
Observer

Berguna sebagai pemelihara konsistensi
state dari banyaknya Publisher atau objek yang berguna sebagai pemelihara state
dan Subscriber objek yang menggunakan suatu state dari publisher.

·       
Proxy

Berfungsi untuk meningkatkan keamanan dan
performa dari suatu sistem            dengan
menggunakan    cara penundaan komputasi yang
memakan banyak    sumber daya, atau
memeriksa suatu objek sebelum melakukan load ke dalam memori

·       
Strategi

Menghilangkan
couple antara class yang mungkin dapat mempengaruhi keputusan sehingga
mekanisme yang berbeda dapat diubah secara transparant oleh client.

 

 

 

 

 

3.      Sistem
Berorientasi Objek

Berbeda dengan paradigma pembangunan
perangkat lunak lainnya seperti prosedural maupun struktural, pada pembangunan
sistem berorientasi objek, satu entitas tunggal yang disebut class mencakup
state dan behaviour. Pada pemrograman struktural, antara atribut dan method
terpisah dalam entitas yang berbeda sedangkan pada pemrograman berorientasi
objek, antara atribut dan method digabungkan dengan cara melakukan abstraksi
entitas ke dalam suatu objek. Sedangkan class sendiri merupakan suatu cetak
biru dari kumpulan objek-objek yang seragam.

 

Ø  Class
merupakan sebuah cetak biru dimana sebuah objek akan dibuat.

Ø  Inheritance
class-class yang memiliki state dan behavior yang sama dapat dikelompokkan
sedemikian rupa sehingga sebuah class dapat menjadi turunan dari class yang
lain. Class yang ada di atas hierarki disebut superclass sedangkan class yang
berupa turunannya disebut dengan sub-class.

Ø  Interface
kontrak antara class dengan dunia luar . Ketika sebuah class mengplementasikan
sebuah interface. Class tersebut harus menyediakan behavior yang sama dengan
yang dihasilkan interface tersebut.