10.sub program

Upload: zuraida-rizki-rachmah

Post on 12-Feb-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 10.Sub Program

    1/30

    1

    Sub ProgramMateri Pertemuan 10

    Tim Dosen

  • 7/23/2019 10.Sub Program

    2/30

    2

    Materi1. Konsep Dasar

    2. Prosedur

    3. Fungsi

    4. Jangkauan Identifier

    5. Parameter

    . !ati"an

  • 7/23/2019 10.Sub Program

    3/30

  • 7/23/2019 10.Sub Program

    4/30

    4

    Pemrograman Modu#ar Program dibagi keda#am Modu#$Modu#

    Modu# da#am ba"asa Pas%a# di$imp#ementasikan

    dengan Prosedur dan fungsi Prosedur&Fungsi dibentuk dengan menge#ompokkan

    se'um#a" perinta" untuk men(e#esaikan tugas

    tertentu.

    Modu# diper#ukan 'ika ke#ompok perinta" tersebut

    kerap ka#i digunakan di tempat #ain da#am program

    Modu# sering disebut 'uga dengan Sub$Program

  • 7/23/2019 10.Sub Program

    5/30

    5

    Keuntungan Penggunaan Sub Program )1* Program (ang besar dan rumit dapat dipe%a"$

    pe%a" men'adi ke%i#$ke%i# se"ingga men'adi

    #ebi" seder"ana+ Dapat diker'akan #ebi" dari satu orang dengan

    koordinasi (ang #ebi" muda"+

    !ebi" muda" men%ari kesa#a"an+

  • 7/23/2019 10.Sub Program

    6/30

    6

    Keuntungan Penggunaan Sub Program )2* Dapat dimodifikasi tanpa mengganggu

    program se%ara kese#uru"an+

    ,ntuk "a# (ang sering di#akukan %ukup ditu#issatu ka#i dan saat diper#ukan %ukup dipanggi#+

    Mempermuda" dokumentasi.

  • 7/23/2019 10.Sub Program

    7/30

    7

    -iri$%iri Modu# (ang baik Fan$in tinggi+ semakin sering digunakan

    semakin tinggi ni#ai fan$in

    Fan$out renda"+ semakin sedikit tugas (angdi#akukan semakin renda" ni#ai fan$out

    Se#f$%ontained+ sub program dapat memenu"i

    kebutu"ann(a sendiri

  • 7/23/2019 10.Sub Program

    8/30

    8

    2. Prosedur

  • 7/23/2019 10.Sub Program

    9/30

    9

    Penggunaan Dek#arasi

    Digunakan terutama untuk "a#$"a# spesifikatau (ang sering di#akukan

    /idak mengemba#ikan ni#ai

    Pro%edure 0amaProsedur )parameter*

    Dek#arasi ariabe#

    6egin

    7

    statemen$statemen

    7

    8nd

  • 7/23/2019 10.Sub Program

    10/30

    10

    -onto" ProsedurProgram Judu#

    Pro%edure 6intang

    6egin

    9rite):;1 to ? do bintang

    9rite#n

    bintang9rite): Judu# :*

    bintang

    9rite#n

    bintang

    8nd.

    Seperti apaka" output

    program ini@

  • 7/23/2019 10.Sub Program

    11/30

    Program men%ari rata$rata Jika menggunakan prosedur+ main program

    untuk men%ari rata$rata akan ter#i"at seperti

    BEGINReadScores;

    GetAverage;

    DisplayResults;END.

    11

  • 7/23/2019 10.Sub Program

    12/30

    -onto" 2PROGRAM Procedures1O!"P!"#;PRO$ED!RE Dra%&i'e;

    $ONS" Das( ) *+*; &i'e&e'gt( ) ,-;

    AR $ou'ter /IN"EGER;

    BEGIN0OR $ou'ter /) 1 "O &i'e&e'gt( DO

    RI"EDas(#;

    RI"E&N

    END;

    BEGIN

    RI"E&N;Dra%&i'e;

    RI"E&N*22 "3IS IS A "ES" 22*#;

    Dra%li'e

    END.

    12

  • 7/23/2019 10.Sub Program

    13/30

    Passing =a#ues to Pro%eduresPRO$ED!RE Dra%&i'epa'4a'g/i'teger#;

    55

    6+++Mai' Progra7+++8Dra%li'e,-#;

    13

  • 7/23/2019 10.Sub Program

    14/30

    !ati"an 6uat program menggunakan prosedur untuk

    memi#i" menu per"itungan #uas segitiga+

    #ingkaran dan persegi.

    14

  • 7/23/2019 10.Sub Program

    15/30

    15

    3. Fungsi

  • 7/23/2019 10.Sub Program

    16/30

    16

    Penggunaan Dek#arasi

    Digunakan terutama untuk "a#$"a# spesifikatau (ang sering di#akukan

    Dapat mengemba#ikan ni#ai

    Fun%tion 0amafungsi )parameter* /ipefungsi

    Dek#arasi ariabe#

    6egin

    7

    statemen$statemen

    0amafungsi>ni#aifungsi

    8nd

  • 7/23/2019 10.Sub Program

    17/30

    17

    -onto" Fungsi

    Program Judu#

    Fun%tion !uas!ingkaran)rrea#*rea#6egin

    !uas#ingkaran>3.14;r;r

    8nd

    =ar #uas rea#

    6egin

    #uas>#uas#ingkaran)1A*9rite): !uas> :+#uasA2*

    8nd.

    Seperti apaka" outputprogram ini@

  • 7/23/2019 10.Sub Program

    18/30

    18

    4. Jangkauan Identifier

  • 7/23/2019 10.Sub Program

    19/30

    19

    !ingkup Identifier

    !ingkup identifier me#iputi bagian$bagian

    program dimana sebua" identifier masi" bisa

    diakses. !ingkup identifier me#iputi

    !oka#

    B#oba#

  • 7/23/2019 10.Sub Program

    20/30

    20

    !oka# Identifier

    Identifier (ang didek#arasikan di da#am

    fungsi&prosedur+ termasuk parameter.

    !ingkupn(a terbatas pada fungsi&prosedurtempat didek#arasikan.

  • 7/23/2019 10.Sub Program

    21/30

    21

    B#oba# Identifier

    Identifier (ang didek#arasikan di #uarfungsi&prosedur.

    Cuang #ingkupn(a me#iputi se#uru" program sete#a"

    didek#arasikan. Disarankan tidak ban(ak menggunakan identifier

    g#oba# karena Jika program semakin besar+ ke%enderungan error

    semakin besar . Su#it me#a%ak bi#a ter'adi kesa#a"an. setiap fungsi dapat menguba" ni#ai ariabe# tersebut

    se"ingga su#it ter'aga ni#ain(a.

  • 7/23/2019 10.Sub Program

    22/30

    22

    -onto" JangkauanProgram Jangkauan

    =ar +( integer

    Fun%tion fungsi1)rea#*rea#

    =ar ( rea#

    6egin7

    8nd

    pro%edure pro

    ar +(+Einteger

    begin

    7end

    =ar a+binteger

    6egin

    7

    8nd.

    Seperti apaka" 'angkauan

    tiap$tiap ariabe#@

  • 7/23/2019 10.Sub Program

    23/30

    23

    5. Parameter

  • 7/23/2019 10.Sub Program

    24/30

    24

    Jenis Parameter

    Forma#

    Parameter dimana fungsi&prosedur didek#arasikan

    ktua# Parameter dimana fungsi&prosedur digunakan

  • 7/23/2019 10.Sub Program

    25/30

    25

    /ransfer Parameter

    6($=a#ue

    Gang dikirim ke modu# #ain atau ke program

    utama ada#a" ni#ai datan(a. 6( !o%ation & b( referen%e

    Gang ditransfer ke modu# #ain atau program

    utama ada#a" a#amat memorin(a.

  • 7/23/2019 10.Sub Program

    26/30

    26

    -onto" /ransfer Parameter 1Program /ranfer1

    Pro%edure tukar)+(rea#*

    =ar E integer

    6eginE> >( (>E

    8nd

    =ar a+binteger

    6egin

    a>2 b>?tukar)a+b*

    9rite#n): a> :+a+< b> :+b*

    8nd.

    Seperti apaka" output$n(a@

    paka" ni#ai a dan b tertukar@

  • 7/23/2019 10.Sub Program

    27/30

    27

    -onto" /ransfer Parameter 2Program /ranfer1

    Pro%edure tukar)ar +(rea#*

    =ar E integer

    6eginE> >( (>E

    8nd

    =ar a+binteger

    6egin

    a>2 b>?tukar)a+b*

    9rite#n): a> :+a+< b> :+b*

    8nd.

    6agaimana dengan (ang ini@

    paka" ni#ai a dan b tertukar@

  • 7/23/2019 10.Sub Program

    28/30

    28

    . !ati"an

  • 7/23/2019 10.Sub Program

    29/30

    29

    !ati"an

    1. 6uat#a" program (ang menginput n bua"

    ni#ai integer dengan menggunakan arra(+

    dimana n diinput o#e" user saat programber'a#an.

    2. Hitung rata$rata dan standar deiasi data

    diatas dengan modu# tersendiri.3. -ari ni#ai terke%i# dan terbesar data diatas

    dengan modu#

  • 7/23/2019 10.Sub Program

    30/30

    30

    /erima Kasi"