Design Pattern Kelompok 2 v1.1

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&;&"&*# :

    !"=/ !())&"*))':.$%*.+'"=/