bab 05 - struktur pengulangan
TRANSCRIPT
![Page 1: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/1.jpg)
Algoritma dan Pemrograman
Bab 05 – Struktur Pengulangan
Adam Mukharil Bachtiar, S.Kom.
Universitas Komputer Indonesia
![Page 2: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/2.jpg)
Latar Belakang Pengulangan
Tampilkan di layar kata “Saya suka Algoritma”
sebanyak 1000 kali!
WHAT WILL YOU DO???
![Page 3: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/3.jpg)
Kelebihan Komputer
Komputer tidak pernah bosan untuk melakukan
statement berkali-kali.
![Page 4: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/4.jpg)
Pengertian Struktur Pengulangan
Struktur Algoritma yang memungkinkan adanya
statement yang dijalankan berkali-kali sampai kondisi
pengulangannya terpenuhi.
![Page 5: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/5.jpg)
Bagian dalam Struktur Pengulangan
1. Kondisi Pengulangan
2. Badan Pengulangan
3. Inisialisasi
4. Terminasi
![Page 6: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/6.jpg)
3 Konstruksi Struktur Pengulangan
1. FOR
2. WHILE
3. REPEAT
![Page 7: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/7.jpg)
Pernyataan FOR
1. FOR digunakan untuk pengulangan yang akhir
pengulangannya telah dispesifikasikan.
2. Jumlah pengulangan sudah diketahui di awal.
3. Bisa ASCENDING dan DESCENDING.
![Page 8: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/8.jpg)
Pernyataan FOR Ascending
Format Algoritma:
for pencacah nilai_awal to nilai_akhir do
statement
endfor
![Page 9: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/9.jpg)
Pernyataan FOR Ascending
Format Pascal:
for pencacah := nilai_awal to nilai_akhir do
statement;
Atau
for pencacah:= nilai_awal to nilai_akhir do
begin
statement;
end;
![Page 10: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/10.jpg)
Algoritma Pernyataan FOR Ascending
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Algoritma Deret_Bilangan_Ganjil
{I.S: Diinputkan satu nilai akhir oleh user}
{F.S: Menampilkan jumlah deret ganjil}
Kamus:
x,akhir:integer
jumlah:integer
Algoritma:
input(akhir)
jumlah 0
for x 1 to akhir do
if x mod 2 = 1 then
jumlah jumlah + x;
endfor
output(‘Jumlah deret ganjil dari 1 – ‘,akhir,’ = ‘
,jumlah)
![Page 11: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/11.jpg)
Pascal Pernyataan FOR Ascending1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program Deret_Bilangan_Ganjil;
uses crt;
var
x,akhir:integer;
jumlah:integer;
begin
write('Masukan batas akhir angka : ');readln(akhir);
jumlah:=0;
for x:=1 to akhir do
begin
if x mod 2=1 then
jumlah:=jumlah+x;
end;
writeln('Jumlah Deret ganjil dari 1 - ',akhir,' = ',jumlah);
writeln();
write('Tekan sembarang tombol untuk menutup...');
readkey();
end.
![Page 12: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/12.jpg)
Pernyataan FOR Descending
Format Algoritma:
for pencacah nilai_akhir downto nilai_awal do
statement
endfor
![Page 13: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/13.jpg)
Pernyataan FOR Descending
Format Pascal:
for pencacah := nilai_akhir downto nilai_awal do
statement;
Atau
for pencacah:= nilai_akhir downto nilai_awal do
begin
statement;
end;
![Page 14: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/14.jpg)
Algoritma Pernyataan FOR Descending
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Algoritma Deret_Faktorial
{I.S: Diinputkan satu nilai oleh user}
{F.S: Menampilkan faktorial dari bilangan tersebut}
Kamus:
i,nilai:integer
faktorial:integer
Algoritma:
input(nilai)
faktorial1
for i nilai downto 1 do
faktorialfaktorial*i
endfor
output(nilai,’! = ‘,faktorial)
![Page 15: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/15.jpg)
Pascal Pernyataan FOR Descending
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program Deret_Faktorial;
uses crt;
var
i,nilai:integer;
faktorial:integer;
begin
write('Masukan nilai = ');readln(nilai);
faktorial:=1;
for i:=nilai downto 1 do
faktorial:=faktorial*i;
writeln(nilai,'! = ',faktorial);
writeln();
write('Tekan sembarang tombol untuk menutup...');
readkey();
end.
![Page 16: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/16.jpg)
Pernyataan WHILE
1. While digunakan untuk melakukan pengulangan
selama kondisi pengulangannya bernilai true.
2. Apabila kondisi pengulangan sudah bernilai false
maka pengulangan berhenti.
3. WHILE melakukan pemeriksaan kondisi di awal
pengulangan.
![Page 17: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/17.jpg)
Pernyataan WHILE
Format Algoritma:
while kondisi do
statement
endwhile
![Page 18: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/18.jpg)
Pernyataan WHILE
Format Pascal:
while kondisi do
statement;
Atau
while kondisi do
begin
statement;
end;
![Page 19: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/19.jpg)
Algoritma Pernyataan WHILE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Algoritma Deret_Bilangan
{I.S: Diinputkan satu angka oleh user}
{F.S: Menampilkan jumlah deret dari 1 sampai angka}
Kamus:
i,deret:integer
angka:integer
Algoritma:
input(angka)
deret0
i1
while i<=angka do
deretderet+i
ii+1;
endwhile
output(‘Jumlah deret dari 1 – ‘,angka,’ = ‘,deret)
![Page 20: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/20.jpg)
Pascal Pernyataan WHILE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program Deret_Angka;
uses crt;
var
i,deret:integer;
angka:integer;
begin
write('Masukan angka = ');readln(angka);
deret:=0;
i:=1;
while i<=angka do
begin
deret:=deret+i;
i:=i+1;
end;
writeln('Jumlah deret dari 1 - ',angka,' = ',deret);
writeln();
write('Tekan sembarang tombol untuk menutup...');
readkey();
end.
![Page 21: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/21.jpg)
Pernyataan REPEAT
1. REPEAT akan melakukan pengulangan sampai
kondisi pengulangan bernilai true.
2. Apabila kondisi pengulangan sudah bernilai true
maka pengulangan berhenti.
3. REPEAT melakukan pemeriksaan kondisi di akhir
pengulangan.
![Page 22: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/22.jpg)
Pernyataan REPEAT
Format Algoritma:
repeat
statement
until kondisi
![Page 23: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/23.jpg)
Pernyataan REPEAT
Format Pascal:
repeat
statement;
until kondisi;
![Page 24: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/24.jpg)
Algoritma Pernyataan REPEAT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Algoritma Coba_Password
{I.S: Diinputkan password oleh user}
{F.S: Menampilkan pesan benar atau salah}
Kamus:
const
password=1234
pass,i,j:integer
Algoritma:
i1
j3
repeat
input(pass)
if pass=password then
output(‘Password anda benar!’);
else
ii+1
jj-1
output(‘Password salah (‘,j,’ kali lagi)!’)
endif
until (pass=password)or(i=4)
![Page 25: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/25.jpg)
Pascal Pernyataan REPEAT1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
22
23
24
25
26
27
28
29
30
31
32
program Coba_Password;
uses crt;
const
password=1234;
var
pass,i,j:integer;
begin
i:=1;
j:=3;
repeat
write('Masukan password (',i,'): ');readln(pass);
if pass=password then
begin
writeln('Password anda benar!');
writeln();
writeln('Tekan sembarang tombol untuk menutup...');
readkey();
end
else
begin
i:=i+1;
j:=j-1;
writeln('Password salah (',j,' kali lagi)!');
readkey();
end;
clrscr();
until (pass=password)or(i=4);
end.
![Page 26: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/26.jpg)
WHILE dan REPEAT
KAPAN HARUS MENGGUNAKAN
WHILE???
KAPAN HARUS MENGGUNAKAN
REPEAT???
![Page 27: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/27.jpg)
Kasus
1. Buatlah algoritma dan program untuk
menyelesaikan kasus seperti di bawah ini (warna
bintang setiap baris dibedakan):
N=5
*
* *
* * *
* * * *
* * * * *
![Page 28: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/28.jpg)
Kasus
2. Buatlah algoritma dan program untuk
menyelesaikan kasus seperti di bawah ini (warna
bintang setiap baris dibedakan):
N=3
*
* *
* * *
* *
*
![Page 29: Bab 05 - Struktur Pengulangan](https://reader034.vdocuments.pub/reader034/viewer/2022052304/557211ac497959fc0b8f5545/html5/thumbnails/29.jpg)
Kasus
3. Modifikasi project menu pada struktur pemilihan agar menunya bisa
terus ditampilkan sampai user menginput pilihan keluar.
4. Modifikasi program-program deret yang ada di dalam slide ini agar
bisa juga menampilkan deretnya juga!
5. Buat algoritma dan program untuk menghitung:
a. s = 1 – 2/3 + 3/5 – 4/7
b. Jumlah deret bilangan prima sampai suku ke-n.
6. Buat Algoritma dan program untuk menghitung nilai terbesar dan nilai
rata-rata dari 10 orang mahasiswa.