Menjadi hanya merupakan pemisahan secara logik dan semuanya masih

Menjadi bukt bahwa
Separation of Concerns menjadi gagasan salah satu yang dapat diterima. Serta dalam
penggunaan SoC untuk mengukur seberapa besar tingkat pemisahan domain pada
perangkat lunak dapat menggunakan matrik berupa Coupling dan Cohesion

·       
Coupling sendiri
merupakan tingkat ketergantungan antara satu modul dengan modul lainnya.
Semakin sedikit ketergantungan suatu modul dengan modul lainnya maka sistem
yang dibuat semakin baik.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

·       
Cohesion tingkat dimana
elemen-elemen saling membentuk dan memiliki relasi yang baik. Apabila kelas
memiliki banyak aksi dan tidak memiliki satu tujuan fokus yang sama maka itu
dinamakan LowCohesion, sedangkan apabila suatu kelas memiliki suatu metode yang
sama atau saling berhubungan sehingga kelas tersebut memiliki sebuah tujuan
tugas yang jelas dinamakan HighCohesion.

 

 

 

1.      Separation
pada Tingkat Arsitektur

SoC pada tingkat arsitektur ini adalah
pemisahan domain bermasalah pada tingkat arsitektur sistem dimana pemisahan
permasalah dapat dilakukan dengan cara tiering, layering, dan penggunaan design
pattern

·       
Tiering

Dalam hal ini menggunakan dua cara yaitu
client-server dan N- tirr system

a)      Client-server
merupakan sebuah sistem atau aplikasi yang memisahkan antara penyedia sumber
daya (server) dan pemohon (client)

b)      N-tier
sistem pada bagian ini prinsipnya merupakan pengidentifikasian pemisahan
komponen -komponen secara fisik seperti EXE, dll

·       
Layering

pemisahan permasalahan menjadi 3 buah
layer yang berbeda. Seperti pemisahan mengunakan nama yang berbeda pada class.
Perbedaan antara layer dan tier ialah tier merupakan pemisahan secara fisik,
pada server brbeda-beda sedangkan layer hanya merupakan pemisahan secara logik
dan semuanya masih ada pada hardware yang sama.

 

2.      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.

 

 

 

 

3.      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.

 

 

 

 

 

4.      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.

x

Hi!
I'm Josephine!

Would you like to get a custom essay? How about receiving a customized one?

Check it out