6 - kondisi pengulangan
-
Upload
minoru-iobi -
Category
Documents
-
view
226 -
download
0
Transcript of 6 - kondisi pengulangan
-
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