Metode-Perancangan-Program-Pertemuan-9 (3).ppt

download Metode-Perancangan-Program-Pertemuan-9 (3).ppt

of 39

Transcript of Metode-Perancangan-Program-Pertemuan-9 (3).ppt

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    1/39

    Materi 9Komunikasi Antar Modul,Kohesi dan Kopling

    Disusun Oleh : Yulyani Arifin,S.Kom, MMSI

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    2/39

    AgendaKomunikasi Antar ModulModul Kohesi

    Modul Kopling

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    3/39

    Mahasiswa mampu memahami komunikasiantar modul.

    Mahasiswa mampu menyelesaikan masalahdenan penunaan parameter antar modul

    Mahasiswa mampu menukur kekuataninternal modul denan kohesi

    Mahasiswa mampu menukur tinkatpertukaran informasi antar modul

    Kemampuan Akhir yang Diharapkan

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    4/39

    MATERI BELAJAR

    Komunikasi Antar Modul

    !erlu mempertim"ankan arus

    informasi antar modulArus informasi # intermodule$ommuni$ation% dapat dipenuhi

    denan $akupan &aria"el # lokal,lo"al data,passing parameter%

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    5/39

    MATERI BELAJAR

    Komunikasi Antar Modul

    'akupan &aria"el :"aian dalam se"uah proramtempat &aria"el didefinisikan dan dapatdireferensikan.

    (.)lo"al data

    * diunakan : semua modul dlm (proram

    * +ankauan : semua proram

    * ifetime : selama eksekusi proram

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    6/39

    MATERI BELAJAR

    Komunikasi Antar Modul-. Data lokal

    * diunakan : di su" modul

    * +ankauan : su" modul tertentu*ifetime : selama eksekusi su" modul*Menurani side effe$t # penunaan

    data lo"al dalam se"uah modul%

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    7/39

    MATERI BELAJAR

    Komunikasi Antar Modul. !assin !arameter

    * !arameter : data item yan ditransfer

    dari modul yan dipanil ke modulyan memanil.* Syarat :

    * 'allin Module menyediakannama untuk parameter yan dikirim

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    8/39

    MATERI BELAJAR

    Komunikasi Antar Modul* Su" Module harus dapat menerima

    parameter dan menem"alikannya /ika

    di"utuhkan. * 'ontoh :

    'allin Module :

    !rint0pae0headin #pae$ount, line$ount% Su"Module :

    !rint0pae0headin# paenum"er,linenum"er%

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    9/39

    MATERI BELAJAR

    Komunikasi Antar Modul!arameter 1ormal dan Aktual

    !arameter 1ormal : !arameter yan ada

    ketika su"modul yan ditentukan.

    !arameter Aktual : 2aria"el atau ekspresi

    yan dikirimkan pada se"uah su" modulyan dipanil.

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    10/39

    MATERI BELAJAR

    Komunikasi Antar Modul

    'ontoh parameter aktual:Mainline

    'al$ulate0amount0owin #as1iure,amount"illed% 3nd

    'ontoh !arameter 1ormal :

    Su"modul'al$ulate0amount0owin #as4sae,amountOwin%

    5..5..

    3nd

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    11/39

    MATERI BELAJAR

    Komunikasi Antar Modul

    !arameter 2alue dan 6eferen$e* !arameter 2alue :

    7ilai yan dikirimkan dari satu modul kemodul yan memanil.

    * !arameter 6eferen$e :

    Alamat memori dari se"uah parameteryan dikirim ke modul yan memanil.

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    12/39

    MATERI BELAJAR

    Komunikasi Antar Modul

    8ierar$hy 'hart dan !arameter!arameter yan dikirimkan antar modul

    dapat diam"arkan dalam 8ierar$hy 'hart

    Data

    parameters

    Status

    parameter

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    13/39

    MATERI BELAJAR

    Latihan Program dengan Parameter

    Desin a solution alorithm that will prompt aterminal operator for three $hara$ters,

    a$$ept those $hara$ters as input, sort theminto as$endin se9uen$e and output themto the s$reen. he alorithm is to $ontinue

    to read $hara$ters untuk ;

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    14/39

    MATERI BELAJAR

    Latihan Program dengan Parameter

    Diaram Definisi

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    15/39

    MATERI BELAJAR

    Latihan Program dengan Parameter

    8ierar$hy 'hart

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    16/39

    MATERI BELAJAR

    Latihan Program dengan Parameter

    Aloritma Solusi :

    !ro$ess0three0$hara$ters

    6ead0three0$hara$ters#$har(, $har-, $har%DO>8I3 7O #$har(?;

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    17/39

    MATERI BELAJAR

    Latihan Program dengan Parameter

    Aloritma Solusi :

    Sort0three0$hara$ters#$har(,$har-,$har%

    I1 $har(@$har- 837Swap0two0$hara$ters#$har(, $har-%37DI1I1 $har-@$har 837

    Swap0two0$hara$ters#$har-, $har%37DI1I1 $har(@$har- 837

    Swap0two0$hara$ters#$har(, $har-%37DI1

    37D

    Swap0two0$hara$ters#first$har,se$ond$har%temp ? first$harfirst$har ? se$ond$harse$ond$har ? temp

    37D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    18/39

    MATERI BELAJAR

    Modul Kohesi

    * Modul : melakukan satu funsi, terdiri dari (entry, ( eit dan nama modul yan

    men$erminkan funsinya.* Kohesi : tolak ukur kekuatan internal dalam

    modul .

    * Semakin dekat element dalam modul makasemakin tini tinkat kohesi.* Modul denan kohesi tini adalah modul

    yan "aik.

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    19/39

    MATERI BELAJAR

    Modul Kohesi

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    20/39

    MATERI BELAJAR

    Functional Cohesion

    * 1un$tional 'ohesion ter/adi ketika semuaelement "erkontri"usi mener/akan suatu

    tuas khusus.'al$ulate0sales0ta I1 produ$t is sales ta eempt 837

    sales00ta ? B 3S3

    I1 produ$t0pri$e C EB.BB 837

    sales0ta ? produ$t0pri$e F B.-E3S3 I1 produ$t0pri$e C (BB.BB 837 sales0ta ? produ$t0pri$e F B.E 3S3 sales0ta ? produ$t0pri$e F B.E 37DI1

    37DI1

    37DI137D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    21/39

    MATERI BELAJAR

    Sequential Cohesion

    * Se9uential 'ohesion ter/adi ketika se"uahmodul terdiri dari elemen G elemen yan

    terantun pada proses elemense"elumnyaProcess_purchases

    set total_purchases to zero

    prompt and get number_of_purchases

    DO loop_index = 1 to number_of_purchasesprompt and get pruchase

    add purchase to total_purchases

    ENDDO

    sales_tax = total_purchases*sales_tax_percent

    amount_due = total_purchases + sales_tax

    END

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    22/39

    MATERI BELAJAR

    Communicational Cohesion

    * 'ommuni$ational 'ohesion ter/adi ketikase"uah modul dikelompokan "ersama

    karena menunakan data yan sama.&alidate0produ$t0re$ord

    I1 transa$tion0type 7O?;B== 837error0fla ? trueerror0messae ? ;in&alid transa$tion type=

    print0error0report 37DI1

    I1 $ustomer0num"er is 7O? numeri$ 837error0fla ? trueerror0messae ? ;in&alid $ustomer num"er=print0error0report

    37DI1 I1 produ$t0no ? "lanks O6 produ$0no has leadin "lanks 837

    error0fla ? trueerror0messae ? ;in&alid produ$t no=print0error0report

    37DI137D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    23/39

    MATERI BELAJAR

    Procedural Cohesion

    * !ro$edural 'ohesion ter/adi ketika elemen*element dalam se"uah modul salin terkait

    karena di/alankan "erdasarkan prosedur.'ontoh : Mainline

    6ead0student0re$ord0and0total0student0aesset num"er0of0re$ords to Hero

    set total0ae to Heroread student re$ordDO>8I3 more re$ords eist

    add ae to total0aeadd ( to num"er0of0re$ords

    37DDOprint num"er0of0re$ords, total0ae

    37D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    24/39

    MATERI BELAJAR

    Temporal Cohesion

    * emporal 'ohesion ter/adi ketika elemen Gelemen dalam se"uah modul dikelompokan

    "ersama karena terkait denan waktu.Initialisation

    Open transa$tion fileIssue !rompt ;enter today=s date G DDMMYY=6ead todays0dateSet transa$tion0$ount to Hero

    6ead transa$tion re$ordI1 not 3O1

    in$rement transa$tion0$ount37DI1Open report file!rint0pae0headinsSet report0total to Hero

    37D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    25/39

    MATERI BELAJAR

    Logical Cohesion

    * oi$al 'ohesion ter/adi ketika elemen Gelemen dalam se"uah modul dikelompokan

    "ersama "erdasarkan pada akti&ity tertentu.6ead0all0files#file0$ode% 'AS3 of file0$ode

    ( : 6ead $ustomer transa$tion re$ordI1 not 3O1

    in$rement $ustomer0transa$tion0$ount 37DI1

    - : 6ead $ustomer master re$ordI1 7O 3O1

    in$rement $ustomer0master0$ount 37DI1

    : 6ead produ$t master re$ordI1 7O 3O1

    in$rement produ$t0master0$ount 37DI1

    37D'AS337D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    26/39

    MATERI BELAJAR

    Coincidental Cohesion

    * 'oin$idental 'ohesion ter/adi ketika elemenG elemen dalam se"uah modul

    dikelompokan "ersama hanya karenadalam satu modul. idak ada hu"unanyan "erarti

    1ile0pro$essin open employee updates file

    read employee re$ordprint0pae0headinopen employee master fileset pae0$ount to oneset error0fla to false

    37D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    27/39

    MATERI BELAJAR

    Modul Coupling

    * Coupling adalah ukuran se/auh manapertukaran informasi antara modul.

    * Semakin kuat coupling artinya semakin"esar keterantunan pada modul lain.

    * Semakin lemah couplingartinyasemakin mudah mandiri dan mudahdikem"ankan.

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    28/39

    MATERI BELAJAR

    Modul Coupling

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    29/39

    MATERI BELAJAR

    Data Coupling

    * Data 'ouplin ter/adi ketika se"uah modulmenirimkan &aria"el non lo"al ke modul

    lain.Module A

    Module

    3lementary data

    item

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    30/39

    MATERI BELAJAR

    Data Coupling

    'ontoh:A. !ro$ess0$ustomer0re$ord

    55$al$ulate0sales0ta#total0pri$e, sales0ta%

    55. 'al$ulate0sales0ta

    I1 total0pri$e @ EBBB 837sales0ta ? total0pri$e F B.-E

    3lse

    If total0pri$e @ JBBB 837sales0ta ? total0pri$e F B.-3lse

    sales0ta ? total0pri$e F B.(E37DI1

    37DI1

    37D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    31/39

    MATERI BELAJAR

    Stamp Coupling

    * Stamp 'ouplin ter/adi ketika se"uah modulmenirimkan struktur data non lo"al ke

    modul lain.Module A

    Module

    Data Stru$ture

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    32/39

    MATERI BELAJAR

    Stamp Coupling

    'ontoh:!ro$ess0transa$tion0re$ord

    5.pro$ess0male0student #$urrent0re$ord%

    537D

    !roses0male0student #$urrent0re$ord%in$rement male0student0$ount #$urrent0re$ord%If student0ae @ -( 837

    in$rement0mature0male0$ount37DI15.5.

    37D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    33/39

    MATERI BELAJAR

    Control Coupling

    * 'ontrol 'ouplin ter/adi ketika se"uahmodul menirimkan &aria"el kontrol untuk

    menontrol loika modul lainModule A

    Module

    1la

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    34/39

    MATERI BELAJAR

    Control Coupling

    'ontoh:!ro$ess0input0$ode

    read input0$ode$hoose0appropriate0a$tion #input0$ode%

    5537D

    'hoose0appropriate0a$tion #input0$ode%'AS3 O1 input0$ode

    ( : read employee re$ord- : print0pae0headin : open employee master fileJ : set pae0$ount to HeroE : error0messae ?;3mployee num"er not numeri$=

    37D'AS337D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    35/39

    MATERI BELAJAR

    !ternal Coupling

    * 3ternal 'ouplin ter/adi ketika dua ataule"ih modul menakses &aria"el lo"al

    yan sama.)lo"al Data

    &aria"el

    Module A Module

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    36/39

    MATERI BELAJAR

    !ternal Coupling

    'ontoh:'al$ulate0sales0ta

    I1 produ$t is sales eempt 837sales0ta ? B

    3S3I1 produ$t0pri$e C EB 837 sales0ta ? sales0pri$e F B.-E5.537DI1

    37DI1

    'al$ulate0amount0due5amount0due ? total0amount sales0ta

    537D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    37/39

    MATERI BELAJAR

    Common Coupling

    * 'ommon 'ouplin ter/adi ketika dua ataule"ih modul menakses struktur data lo"al

    yan sama.)lo"al DataStru$ture

    Module A Module

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    38/39

    MATERI BELAJAR

    Common Coupling

    'ontoh:

    6ead0$ustomer0re$ordread $ustomer re$ordI1 3O1 837

    set 3O10fla to true37DI137D

    2alidate0$ustomer0re$ordI1 $ustomer0num"er is 7O numeri$ 837

    error0messae ? ;in&alid $ustomer num"er=print0error0report37DI155.

    37D

  • 7/26/2019 Metode-Perancangan-Program-Pertemuan-9 (3).ppt

    39/39

    MATERI BELAJAR

    " # A