Upload
ihwan-fauzi
View
215
Download
0
Embed Size (px)
Citation preview
7/24/2019 Design Pattern Kelompok 2 v1.1
1/28
DESIGNPATTERN
KELOMPOK 2
FAISAL YUSUF ADIWIJAYA : 1103110007(ADAPTER PATTERN)
GINO SUNARTO : 1103110117 (FAADE PATTERN)ARIZAL FIRDAUS : 1103110122 (FLYLIGHT PATTERN)MOCH. IRFANDI SUSANTO : 1103110125 (PROXY PATTERN)FITRA ZUL FAHMI : 1103110127 (BRIDGE PATTERN)MALAQ ABDILLAH SOLIHIN : 110311019 (COMPOSITE PATTERN)YULISNA GITA HA!SARI : 1103110202 (DECORATOR PATTERN)
7/24/2019 Design Pattern Kelompok 2 v1.1
2/28
BRIDGE PATTERN
B"#$%& '())&"* +&",'(-(* $%* '())&"* /(*% )&"+(,-$((+ -&+'- S)",),"( !())&"*.
Y(*% +&+##-# (")# ,*),- +&+#(-(* (4)"(-# $("##+'&+&*)(#*/( *%%( -&$,(*/( $('() 4&"$#"#&("( #*$&'&*$&*
B"#$%& +&*%%,*(-(* &*-(',(# (%"&%(# $(* $('()6,%( +&*%%,*(-(* #*&"#)(*& ,*),- +&+#(-(*
'&")(*%%,*% 6((4(* +&*6($# -&( /(*% 4&"4&$(
7/24/2019 Design Pattern Kelompok 2 v1.1
3/28
S)",-),"
A4)"()#* 8&( A4)"(-
+&*$&;#*##-(* #*)&";(& (4)"(-
+&+'&")((*-(* "&;&"&*# #+'&+&*)"
R&;#*&$ A4)"()#* 8&( N"+(
+&*%
7/24/2019 Design Pattern Kelompok 2 v1.1
4/28
>=(+'& ? #) J(@(
!"%"(+ +&*%#,)"(#-(* ,(), 4&*),- *)
A!I1.#"& () 1.000000:2.000000 "($#, 7.5000000A!I2.#"& () 5.000000:7.000000 "($#, 27.500000
7/24/2019 Design Pattern Kelompok 2 v1.1
5/28
I+'&+&*)"
#*)&";(& D"(#*%A!I ',4# @#$ $"(C#"&8$,4& = $,4& / $,4&"($#,E
C*"&)&I+'&+&*)" 12
( D"(#*%A!I1 #+'&+&*) D"(#*%A!I
',4# @#$ $"(C#"&8$,4& = $,4& / $,4& "($#,
S/)&+.,).'"#*);8A!I1.#"& () ;:; "($#, ;* =
/ "($#,E
7/24/2019 Design Pattern Kelompok 2 v1.1
6/28
C*"&)&I+'&+&*)" 22
( D"(#*%A!I2 #+'&+&*) D"(#*%A!I
',4# @#$ $"(C#"&8$,4& = $,4& / $,4& "($#,
S/)&+.,).'"#*);8A!I2.#"& () ;:; "($#, ;* =/ "($#,E
A4)"()#* (4)"() ( S('&
'")&)&$ D"(#*%A!I $"(#*%A!IE
'")&)&$ S('&8D"(#*%A!I $"(#*%A!I )#.$"(#*%A!I $"(#*%A!IE
',4# (4)"() @#$ $"(8E
7/24/2019 Design Pattern Kelompok 2 v1.1
7/28
R&;#*&$ A4)"()#*
( C#"&S('& &=)&*$ S('&
'"#@()& $,4& = / "($#,E
',4# C#"&S('&8$,4& = $,4& / $,4& "($#,D"(#*%A!I $"(#*%A!I
,'&"8$"(#*%A!IE
)#.= =E )#./ /E )#."($#, "($#,E
7/24/2019 Design Pattern Kelompok 2 v1.1
8/28
C#&*) :( B"#$%&!())&"*
',4# )()# @#$ +(#*8S)"#*%K ("%
S('&K ('& *& S('&K
*& C#"&S('&81 2 3 *& D"(#*%A!I18 *&
C#"&S('&85 7 11 *& D"(#*%A!I28 E
;" 8S('& ('& : ('& ('&."&B/!&"&*)(%&82.5E ('&.$"(8E
7/24/2019 Design Pattern Kelompok 2 v1.1
9/28
COMPOSITE PATTERN
D((+ "&-(/(( '&"(*%-() ,*(- '( -+'#) ($(('( $&(#* '(")##. !( -+'#) +&*%%(+4("-(* 4((&-&+'- 46&- (", $#'&"(-,-(* $&*%(* ("( /(*%
(+( &4(%(# (), *) $("# 4/&-. M(-,$ $("#-+'#) ($(( ,*),- +&*,# 46&- -& $((+ )",-),"'* ,*),- +&(-## 4(%#(*
7/24/2019 Design Pattern Kelompok 2 v1.1
10/28
COMPOSITE PATTERN
When to !e Co"#o!$te #%tte&n ' C+'#) $('() $#%,*(-(* -&)#-( -#&* (",
+&*%(4(#-(* '&"4&$((* (*)("( -+'## 46&- $(*46&- #*$#@#$, . J#-( '"%"(++&" +&*&+,-(* 4((
+&"&-( +&*%%,*(-(* 4&4&"('( 46&- $&*%(* ("( /(*%(+( $(* &"#*% +&+##-# -$& (+'#" #$&*)#- ,*),-+&*(*%(*# +(#*%
7/24/2019 Design Pattern Kelompok 2 v1.1
11/28
COMPOSITE PATTERN
S)",),"&
7/24/2019 Design Pattern Kelompok 2 v1.1
12/28
C*) -(,
7/24/2019 Design Pattern Kelompok 2 v1.1
13/28
DECORATOR PATTERN
A$(( &4,( '( /(*% $#%,*(-(* ,*),- +&*(+4(-(*)(*%%,*% 6((4 )(+4((* ,*),- 46&- &("( $#*(+#.
T&"6($# -&)#-( ($( -&4,),(* ,*),- +&*(+4(-(* &")(+&*%(', )(*%%,*% 6((4 -& -&( &("( $#*(+# $(*,4(#*% )#$(- +,*%-#* $#(-,-(* -("&*( ,4( /(*%$('() )&"6($# (-(* (*%() 4(*/(-
M&+$#;#-(# @(,&
7/24/2019 Design Pattern Kelompok 2 v1.1
14/28
DECORATOR PATTERN
T%n
M&*#')(-(* ,(), +()( "(*)(# 46&) $#+(*( &)#('46&) +&+',*/(# objects responsible '($( ;,*%# 46&-4&"#-,)*/(.
M&+'&"-(/( 4&(@#," $("# ,(), ( M&(-,-(* #*&"#)(*& &("( &4# ;&-#4&
7/24/2019 Design Pattern Kelompok 2 v1.1
15/28
DECORATOR PATTERN
Ke*%! #e!e&t% +%*%" #o*% +e,o&%to& %+%*%h
Ko"#onen< I*)&";(& ,*),- 4&*$( /(*% $('()+&+##-# )(*%%,*% 6((4 $#)(+4(-(* -&'($( +&"&-(&("( $#*(+#.
Con-&eteCo"#onent< M&*$&;#*##-(* &4,( 46&-/(*% )(*%%,*% 6((4 )(+4((* $('() $#)(+4(-(*.
De,o&%to&< M&*6(%( "&;&"&*# -& 46&- +'*&* $(*+&*$&;#*##-(* (*)("+,-( /(*% &,(# $&*%(*(*)("+,-( +'*&* #*#.
Con-&eteDe-o&%to& ? 4&(@#," 4(", /(*%$#)(+4(-(*
7/24/2019 Design Pattern Kelompok 2 v1.1
16/28
DECORATOR PATTERN
7/24/2019 Design Pattern Kelompok 2 v1.1
17/28
A$( &+'/&& $#( 4#(o$n."*%$ ,e&% ()(,te&"$n%te./e&hent$ ,e&%.
&+,$#(* &+'/&& +$,h!!,%n *%0$ 84&",",)(* &,(#)(*%%,*% 6((4 44: te%" "e"/e&1 te%" *e%+1 "%n%0e&
DECORATOR PATTERN8C*) (,
7/24/2019 Design Pattern Kelompok 2 v1.1
18/28
T&%+$t$on%* A##&o%-h
DECORATOR PATTERN8C*) (,
7/24/2019 Design Pattern Kelompok 2 v1.1
19/28
DECORATOR PATTERN8C*) (,
De-o&%to&
7/24/2019 Design Pattern Kelompok 2 v1.1
20/28
F(($& !())&"*
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 denganmenyembunyikan detail dari implementasi.
7/24/2019 Design Pattern Kelompok 2 v1.1
21/28
F(($& !())&"*
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 layer-layer 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.
7/24/2019 Design Pattern Kelompok 2 v1.1
22/28
F(($& !())&"*
agaimanapun juga, faade dapat menjadi sangat
kompleks untuk subsistem yang sangat besar. !ntuk itu,
perlu ditambahkan abstract faade diatas faade yang telah
ada. "alah 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.
7/24/2019 Design Pattern Kelompok 2 v1.1
23/28
PROXY PATTERN8'&*%&")#(*
A$(( '( $&(#* /(*% +&*/&$#(-(* -&( '&*%%(*)#,*),- +&+(*%%# -&( &4&*("*/(.
!( $&(#* #*# 4#(( $#%,*(-(* 4#(+(*( ($( &4,(-&( /(*% +&+4,),-(* ,+4&" $(/( ,-,' 4&("*%%( '&";"+( ('#-(# (-(* 6(, &4# 4(#-4#(+(*( -&( #*# $#'(*%%# 4#(+(*( 4&*("
7/24/2019 Design Pattern Kelompok 2 v1.1
24/28
PROXY PATTERN8),6,(* '&+(-(#(*
D((+ #),(# $# +(*( 4&4&"('( (#*(* $("# 4/&- /(*%-+'&- (", ($( '( '"=/ $('() $#&,(#-(* ,*),-
+&+(,--(* '( ;/%) ,*),- +&*%,"(*%# +&+"#('#-(#. B#((*/( (), *) $("# 4/&- /(*%-+'&- $(* 4&4&"('( 46&- '"-# /(*% $##')(-(*&+,(*/( +&*%(*$,*% "&;&"&*# -& 4/&- -+'&-),*%%( /(*% (#. S&)#(' '&"(# /(*% $#(-,-(* '($('"=/ (-(* $#)&",-(* -& 46&- (#. S&)&( &+,(
#*)(*& $("# '"=/ -&,(" $("# ",(*% #*%-,' +&+"#4/&- /(*% -+'&- +,*%-#* (-(* $#
7/24/2019 Design Pattern Kelompok 2 v1.1
25/28
PROXY PATTERN8)",-),"
7/24/2019 Design Pattern Kelompok 2 v1.1
26/28
PROXY PATTERN8*)
7/24/2019 Design Pattern Kelompok 2 v1.1
27/28
R&;&"&*# :
B"#$%& !())&"*
B(*-&*#' G&"%&. O46&) O"#&*)&$ D%* : B"#$%& !())&"*.
))':&*.#-#'&$#(."%#-#B"#$%&P'())&"*
D&"()" !())&"*
))':$&""/)#-+.4%').+201207$&"()"
7/24/2019 Design Pattern Kelompok 2 v1.1
28/28
R&;&"&*# :
!"=/ !())&"*))':.$%*.+'"=/