6 - kondisi pengulangan

Upload: minoru-iobi

Post on 06-Jul-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 6 - kondisi pengulangan

    1/16

    By: AuguryBy: Augury

    [email protected]@pribadiraharja.com

    LOGIKA ALGORITMA

    Pertemuan 6

  • 8/17/2019 6 - kondisi pengulangan

    2/16

    Sequence

    Algoritma yang merupakan runtunan(sequence) atu atau le!i" intruki#yaitu !erarti$

    %&  Tiap intruki 'ikerakan atu peratu&&  Tiap intruki 'ilakanakan (tanpa

    perulangan)&

    *& +rutan 'ilakanakan euai urutan&

    ,& Ak"ir 'ari intruki terak"ir merupakanak"ir algoritma&

  • 8/17/2019 6 - kondisi pengulangan

    3/16

    Sequence

    Per"atikan 'iagram 'i !a-a"#.er'aarkan 'iagram tere!ut#algoritmanya ter'iri 'ari * intruki

    yang 'imulai 'ari intruki A#kemu'ian 'ilanukan intruki . 'anetela" intruki . 'ilanutkan intruki/

    A

    B

    C

    Instruksi A 

    Instruksi B

    Instruksi C

  • 8/17/2019 6 - kondisi pengulangan

    4/16

    Sequence Pengaru" +rutan Intruki  +rutan intruki 'alam algoritma

    angat penting& +rutan intruki yang!er!e'a akan meng"ailkan keluaran

    yang !er!e'a&

    Perhatikan contoh:

  • 8/17/2019 6 - kondisi pengulangan

    5/16

    /onto"Algoritma_Sequence_1

    {Contoh algoritma yang menghasilkan keluaran berbeda jika urutanberbeda}

    DEKA!AS"

    A# $ % "nteger

    DESK!"&S"

    A  1'

    A  ( ) A

    $  A

    *rite +$,

    {nilai $ yang dicetak ke -iranti keluaran . ('}

    Algoritma_Sequence_1

    {Contoh algoritma yang menghasilkan keluaran berbeda jika urutanberbeda}

    DEKA!AS"

    A# $ % "nteger

    DESK!"&S"

    A  1'

    A  ( ) A

    $  A*rite +$,

    {nilai $ yang dicetak ke -iranti keluaran . ('}

    Algoritma_Sequence_(

    {Contoh algoritma yang menghasilkan keluaran berbeda jika

    urutan berbeda}

    DEKA!AS"A# $ % "nteger

    DESK!"&S"A  1'

    $  A

    A  ( ) A*rite +$,

    {nilai $ yang dicetak ke -iranti keluaran . 1'}

    Algoritma_Sequence_(

    {Contoh algoritma yang menghasilkan keluaran berbeda jika

    urutan berbeda}

    DEKA!AS"A# $ % "nteger

    DESK!"&S"

    A  1'

    $  A

    A  ( ) A

    *rite +$,

    {nilai $ yang dicetak ke -iranti keluaran . 1'}

  • 8/17/2019 6 - kondisi pengulangan

    6/16

    /onto"

    /onto" kau$%& mialkan nilai A01 'an nilai .02& Lakukan pertukaran nilai A 'engan nilai

    . e"ingga nilai A02 (nilai .) 'an nilai .01 (nilai A)

    & Lakukan pem!acaan 'ari piranti input untuk nilai A# lakukan pem!acaan'ari piranti input untuk nilai .# tampilkan nilai A 'an nilai . ke pirantikeluaran& Lakukan pertukaran antara nilai A 'an nilai .# tampilkan nilai A'an nilai . ke piranti keluaran&

    Algoritma_uas_Segitiga{Contoh algoritma menghitung luas segitiga}

    DEKA!AS"

    a % "nteger {Alas Segitiga}

    t % "nteger {/inggi Segitiga}

    % "nteger {uas Segitiga}

    DESK!"&S"read +a,

    read +t,  a ) t 0(

    *rite +,

    Algoritma_uas_Segitiga{Contoh algoritma menghitung luas segitiga}

    DEKA!AS"

    a % "nteger {Alas Segitiga}

    t % "nteger {/inggi Segitiga}

    % "nteger {uas Segitiga}

    DESK!"&S"read +a,

    read +t,

     a ) t 0(*rite +,

  • 8/17/2019 6 - kondisi pengulangan

    7/16

    /onto"

    /onto" kau$%& mialkan nilai A01 'an nilai .02& Lakukan pertukaran nilai A

    'engan nilai . e"ingga nilai A02 (nilai .) 'an nilai .01 (nilaiA)

    & Lakukan pem!acaan 'ari piranti input untuk nilai A# lakukanpem!acaan 'ari piranti input untuk nilai .# tampilkan nilai A'an nilai . ke piranti keluaran& Lakukan pertukaran antara nilaiA 'an nilai .# tampilkan nilai A 'an nilai . ke piranti keluaran&

    *& Meng"itung komii yang 'iterima aleman !er'aarkan

     umla" penualan yang 'icapainya& Saleman men'apat komii%34 'ari "ail penualannya& Maukan algoritma a'ala" namaaleman 'an umla" penualannya# tampilkan ke pirantikeluaran nama aleman 'an !ear komii yang 'iperole"nya&

  • 8/17/2019 6 - kondisi pengulangan

    8/16

    S5L5/TIO (P5MILI7A ) I8

    I8 (Simple selection without falsebranch) 

    /onto"$

    if then

    instruksiendif

    if then

    instruksiendif

    i 2 3 1'' then2  2 4 1

    endi

    i 2 3 1'' then

    2  2 4 1

    endi

    i ketemu.true then

    i a 5. 1' then

    read+b,

    endi

    endi

    i ketemu.true theni a 5. 1' then

    read+b,

    endi

    endi

    if +kondisi, {instruksi

    }

    if +kondisi, {instruksi

    }

    Pseudocode Bahasa C++

    if +231'', {

    2 . 2 4 16

    }

    if +231'', {

    2 . 2 4 16

    }

    if +ketemu..true, {

    if +a5.1', {

    scan+78d9#:b,6

    }

    }

    if +ketemu..true, {

    if +a5.1', {

    scan+78d9#:b,6

    }

    }

    Pseudocode Bahasa C++

  • 8/17/2019 6 - kondisi pengulangan

    9/16

    S5L5/TIO (P5MILI7A )

    I8 9 5LS5 

    I8 9 5LS5 (Simple selection) 

    /onto"$

    if then

    instruksi_1

    else

    instruksi_2 endif

    if then

    instruksi_1else

    instruksi_2 endif

    if nilai >= 60 then write (!ulus"#

    else

     write ($idak !ulus"#

    endif

    if nilai >= 60 then write (!ulus"#

    else

     write ($idak !ulus"#

    endif

    Pseudocode Bahasa C++

    if +kondisi, {

    instruksi_1}

    else {instruksi_2 }

    if +kondisi, {

    instruksi_1}

    else {instruksi_2 }

    if (nilai>=60# { %rintf(!ulus"#&

    }

    else {

     %rintf($idak !ulus"#&

    }

    if (nilai>=60# { %rintf(!ulus"#&

    }

    else {

     %rintf($idak !ulus"#&

    }

    Pseudocode Bahasa C++

  • 8/17/2019 6 - kondisi pengulangan

    10/16

    S5L5/TIO (P5MILI7A )ete' I8

    ete' I8 (Nested selection) Linear nete' I8 tatement

    on linear nete' I8 tatement

    if  5kondisi_13 thenInstruksi_1

    else

    i 5kondisi_23 then

    Instruksi_2

    else

    i 5kondisi_;3 then

    Instruksi_3

    else

    Instruksi_4endi

    endi

    endi

    if  5kondisi_13 thenInstruksi_1

    else

    i 5kondisi_23 then

    Instruksi_2

    else

    i 5kondisi_;3 then

    Instruksi_3

    else

    Instruksi_4endi

    endi

    endi

    i 5kondisi_13 then

    i 5kondisi_23 then

    i 5kondisi_33 then

    Instruksi_1else

    Instruksi_2

    endielse

    Instruksi_3

    endi

    else

    Instruksi_4

    endi

    i 5kondisi_13 then

    i 5kondisi_23 then

    i 5kondisi_33 then

    Instruksi_1else

    Instruksi_2

    endi

    else

    Instruksi_3

    endi

    else

    Instruksi_4

    endi

  • 8/17/2019 6 - kondisi pengulangan

    11/16

    S5L5/TIO (P5MILI7A )

    /AS5  /AS5 

    case +nama_

    ?ther*ise instruksi_2

    endcase

    case +nama_

    ?ther*ise instruksi_2

    endcase

    switch +nama_variable_yang_diuji, {

    case nilai_1 % instruksi_16break6

    case nilai_2 % instruksi_(6

    break6

    case nilai_3 % instruksi_;6

    break6

    = =

    = =

    default ' instruksi_@6

    break6

    }

    switch +nama_variable_yang_diuji, {

    case nilai_1 % instruksi_16

    break6case nilai_2 % instruksi_(6

    break6

    case nilai_3 % instruksi_;6

    break6

    = =

    = =

    default ' instruksi_@6

    break6

    }

    Pseudocode Bahasa C++

  • 8/17/2019 6 - kondisi pengulangan

    12/16

    S5L5/TIO (P5MILI7A )

    /AS5 

    /onto"$

    include5stdio=h3ilai6

    -rint+7>ilai huru yang dida-at B 7,6scan+78s9# :chr>ilai,6

    switch +chr>ilai,{

    case A % -rint+7Sangat $aik9,6 break6case $ % -rint+7$aik9,6 break6

    case C % -rint+7Cuku-9,6 break6

    case D % -rint+7Kurang9,6 break6

    case E % -rint+7agal9,6 break6

    case F % -rint+7agal9,6 break6

    default % -rint+7isi dengan huru antara +A G F, H9,6

    break6

    }

    }

    include5stdio=h3

    ilai6

    -rint+7>ilai huru yang dida-at B 7,6

    scan+78s9# :chr>ilai,6

    switch +chr>ilai,{

    case A % -rint+7Sangat $aik9,6 break6case $ % -rint+7$aik9,6 break6

    case C % -rint+7Cuku-9,6 break6

    case D % -rint+7Kurang9,6 break6

    case E % -rint+7agal9,6 break6

    case F % -rint+7agal9,6 break6default % -rint+7isi dengan huru antara +A G F, H9,6

    break6

    }

    }

    Algoritma_Keterangan_grade_nilai{ Ienam-ilkan keterangan untuk grade nilai }

    DEKA!AS"chr>ilai % char

    DESK!"&S"

    *rite +>ilai huru yang dida-at B ,

    read +chr>ilai,

    case +chr>ilai,

    chr>ilai..A % *rite +7Sangat $aik9,chr>ilai..$ % *rite +7$aik9,

    chr>ilai..C % *rite +7Cuku-9,

    chr>ilai..D % *rite +7Kurang9,chr>ilai..E or chr>ilai..F % *rite +7agal9,

    other*ise *rite+7isi dengan huru antara +A G F, H9,

    endcase

    Algoritma_Keterangan_grade_nilai{ Ienam-ilkan keterangan untuk grade nilai }

    DEKA!AS"

    chr>ilai % char

    DESK!"&S"

    *rite +>ilai huru yang dida-at B ,read +chr>ilai,

    case +chr>ilai,

    chr>ilai..A % *rite +7Sangat $aik9,

    chr>ilai..$ % *rite +7$aik9,chr>ilai..C % *rite +7Cuku-9,

    chr>ilai..D % *rite +7Kurang9,

    chr>ilai..E or chr>ilai..F % *rite +7agal9,other*ise *rite+7isi dengan huru antara +A G F, H9,

    endcase

    Pseudocode

    Bahasa C++

  • 8/17/2019 6 - kondisi pengulangan

    13/16

    Repetition (P5R+LAGA)-"ile : 'o

    -"ile : 'o

    /onto"$

    Pseudocode

    *hile 5kondisi3 do

    instruksi_1

    instruksi_(

    =

    =

    end*hile

    *hile 5kondisi3 do

    instruksi_1

    instruksi_(

    =

    =

    end*hile

     while ( # {

    instruksi_1

    instruksi_(

    =

    =

    }

     while ( # {

    instruksi_1

    instruksi_(

    =

    =

    }

    Bahasa C++

    Algoritma_Cetak_Jello_Sebanyak_1'_Kali{ Ienam-ilkan tulisan Jello sebanyak 1' kali }

    DEKA!AS"

    i % integer {sebagai -encacah -erulangan}

    DESK!"&S"

    i  1

    *hile i5.1' do

    *rite +Jalo,

    i446

    end*hile

    Algoritma_Cetak_Jello_Sebanyak_1'_Kali

    { Ienam-ilkan tulisan Jello sebanyak 1' kali }

    DEKA!AS"

    i % integer {sebagai -encacah -erulangan}

    DESK!"&S"

    i  1

    *hile i5.1' do

    *rite +Jalo,

    i446

    end*hile

    include5stdio=h3

  • 8/17/2019 6 - kondisi pengulangan

    14/16

    Repetition (P5R+LAGA)repeat : until

    repeat : until

    /onto"$

    Pseudocode

    re-eat

    instruksi_1

    instruksi_(

    =

    =

    ntil 5kondisi3

    re-eat

    instruksi_1

    instruksi_(

    =

    =

    ntil 5kondisi3

    do {

    instruksi_1

    instruksi_(

    =

    =

    } while ( # 

    do {

    instruksi_1

    instruksi_(

    =

    =

    } while ( # 

    Bahasa C++

    Algoritma_Cetak_Jello_Sebanyak_1'_Kali{ Ienam-ilkan tulisan Jello sebanyak 1' kali }

    DEKA!AS"

    i % integer {sebagai -encacah -erulangan}

    DESK!"&S"

    i  1

    !e-eat

    *rite +Jalo,

    i44

    until i5.1'

    Algoritma_Cetak_Jello_Sebanyak_1'_Kali

    { Ienam-ilkan tulisan Jello sebanyak 1' kali }

    DEKA!AS"

    i % integer {sebagai -encacah -erulangan}

    DESK!"&S"

    i  1

    !e-eat

    *rite +Jalo,

    i44

    until i5.1'

    include5stdio=h3

  • 8/17/2019 6 - kondisi pengulangan

    15/16

    Repetition (P5R+LAGA);or

    ;or

    /onto"$

    Pseudocode Bahasa C++

    Pseudocode Bahasa C++

    or nama

  • 8/17/2019 6 - kondisi pengulangan

    16/16

     T"ank