PATTERN
KELOMPOK 2
FAISAL YUSUF ADIWIJAYA
GINO SUNARTO
ARIZAL FIRDAUS
MOCH. IRFANDI SUSANTO
FITRA ZUL FAHMI
MALAQ ABDILLAH SOLIHIN
YULISNA GITA HAPSARI
:
:
:
:
:
:
:
1103110007
1103110117
1103110122
1103110125
1103110127
1103110198
1103110202
(ADAPTER PATTERN)
(FAADE PATTERN)
(FLYLIGHT PATTERN)
(PROXY PATTERN)
(BRIDGE PATTERN)
(COMPOSITE PATTERN)
(DECORATOR PATTERN)
BRIDGE PATTERN
Struktur
/** "Implementor" */
interface DrawingAPI {
public void drawCircle(double x, double y, double
radius);
}
/** "ConcreteImplementor" 1/2 */
class DrawingAPI1 implements DrawingAPI {
public void drawCircle(double x, double y, double radius)
{
System.out.printf("API1.circle at %f:%f radius %f\n", x,
y, radius);
}
}
COMPOSITE PATTERN
Dalam rekayasa perangkat lunak, pola komposit adalah
pola desain partisi. Pola komposit menggambarkan bahwa
sekelompok objek harus diperlakukan dengan cara yang
sama sebagai satu contoh dari obyek. Maksud dari
komposit adalah untuk menulis objek ke dalam struktur
pohon untuk mewakili bagian-keseluruhan hirarki.
Menerapkan pola komposit memungkinkan klien
memperlakukan objek individu dan komposisi seragam
COMPOSITE PATTERN
When to use Composite pattern ?
Composit dapat digunakan ketika klien harus
mengabaikan perbedaan antara komposisi objek dan
objek individu . Jika programmer menemukan bahwa
mereka menggunakan beberapa objek dengan cara yang
sama, dan sering memiliki kode hampir identik untuk
menangani masing-masing, kemudian komposit pilihan
yang baik, tetapi kurang kompleks dalam situasi ini
untuk mengobati primitif dan komposit sebagai
homogen.
Composite Pattern digunakan untuk merepresentasikan
sebuah hirarki objek sehingga dapat sebuah objek dapat
menjadi komposisi bagi objek yang lain
COMPOSITE PATTERN
Structure
Contoh kasus
DECORATOR PATTERN
Adalah sebuah pola yang digunakan untuk menambahkan
tanggung jawab tambahan untuk objek secara dinamis.
Terjadi ketika ada kebutuhan untuk menambahkan serta
menghapus tanggung jawab ke kelas secara dinamis dan
subclassing tidak mungkin dilakukan karena subclass yang
dapat terjadi akan sangat banyak
Memodifikasi value-value yang dimiliki oleh kelas utama,
tanpa mengubah bentuk dan identitas dari si kelas utama.
DECORATOR PATTERN
Tujuan :
Menciptakan suatu mata rantai object, dimana setiap
object mempunyai objects responsible pada fungsi objek
berikutnya.
Memperkaya behaviour dari suatu class
Melakukan inheritance secara lebih fleksibel
DECORATOR PATTERN
Kelas peserta dalam pola dekorator adalah:
Komponen - Interface untuk benda yang dapat
memiliki tanggung jawab ditambahkan kepada mereka
secara dinamis.
ConcreteComponent - Mendefinisikan sebuah objek
yang tanggung jawab tambahan dapat ditambahkan.
Dekorator - Menjaga referensi ke objek Komponen dan
mendefinisikan antarmuka yang sesuai dengan
antarmuka Komponen ini.
ConcreteDecorator behaviour baru yang
ditambahkan
DECORATOR PATTERN
DECORATOR PATTERN
(Contoh Kasus)
Ada employee, dia bisa join/mulai kerja atau
terminate/berhenti kerja.
Kemudian employee dikhususkan lagi (berurutan sesuai
tanggung jawab) sbb: team member, team lead, manager.
DECORATOR PATTERN
(Contoh Kasus)
Traditional Approach
DECORATOR PATTERN
(Contoh Kasus)
Decorator
Facade Pattern
Faade adalah interface dimana aplikasi dapat
menggunakannya untuk melakukan sesuatu tanpa
mengkhawatirkan mengenai detail-detail yang terlibat.
Faade digunakan ketika seseorang menginginkan untuk
berhubungan dengan interface yang mudah digunakan dan
sederhana dalam bekerja.
Design pattern faade
menyediakan interface yang mudah untuk digunakan
dibandingkan dengan koleksi dari interface subsistem yang
kompleks. Hal ini dapat membuatnya lebih mudah dengan
menyembunyikan detail dari implementasi.
Facade Pattern
Design pattern faade menghubungkan kode yang kita
tulis untuk suatu aplikasi yang melakukan pekerjaan yang
spesifik seperti membuat laporan, dan implementasi dari
level bawah yang menangani detail seperti membaca file,
berinteraksi dengan jaringan, dan membuat suatu output.
Faade
adalah
interface
dimana
aplikasi
dapat
menggunakannya untuk melakukan sesuatu tanpa
mengkhawatirkan mengenai detail-detail yang terlibat.
Faade memisahkan layer-layer yang terlibat sehingga layerlayer tersebut tidak bergantung satu sama lainnya dimana
membuat masing-masing layer dapat dengan mudah untuk
dikembangkan,
mudah
untuk
digunakan,
dan
mempertimbangkan untuk menggunakan code re-use.
Facade Pattern
Bagaimanapun juga, faade dapat menjadi sangat
kompleks untuk subsistem yang sangat besar. Untuk itu,
perlu ditambahkan abstract faade diatas faade yang telah
ada. Salah satu contoh yang umum adalah dengan
menggunakan pattern melalui webservice, dimana membuat
webservice berperilaku sebagai faade atau interface
terhadap banyak dll yang berbeda yang masing-masing
merepresentasikan suatu subsistem tertentu.
PROXY PATTERN
(pengertian)
PROXY PATTERN
(tujuan & pemakaian)
PROXY PATTERN
(struktur)
PROXY PATTERN
(contoh)
Referensi :
Bridge Pattern
Blankenship, George. Object Oriented Design : Bridge Pattern.
http://en.wikipedia.org/wiki/Bridge_pattern
Decorator Pattern
http://dherrystikom.blogspot.com/2012/07/decorator-pattern.html
http://zishanbilal.wordpress.com/2011/04/28/design-patterns-by-example
s-decorator-pattern
/
http://
coretantian.blogspot.com/2012/04/modul-4-structural-patterns-decorator
.html
Composite Pattern
http://itsport.blog.com/composite-desain-pattern /
http://fadlikadn.files.wordpress.com/2013/10/composite-class-diagramcontoh-kasus.png
Referensi :
Proxy Pattern
http://www.oodesign.com/proxy-pattern.html
http://en.wikipedia.org/wiki/Proxy_pattern