PENGULANGAN
Struktur pengulangan terdiri atas dua bagian :
- Kondisi pengulangan : ekspresi boolean yg harus dipenuhi untuk melaksanakan pemrograman pengulangan. Kondisi ini ada yg dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer(implisit).
- Badan (body) pengulangan : satu atau lebih aksi yg akan diulang.
Struktur pengulangan biasanya disertai dengan bagian :
- inisialisasi : aksi yg dilakukan sebelum pengulangan dilakukan pertama kali;
- terminasi : aksi yg dilakukan setelah pengulangan selesai dilaksanakan.
3 macam notasi struktur pengulangan :
- struktur WHILE-DO ;
- struktur REPEAT-UNTIL : statement perulangan dapat dilakukan min 1X;
- struktur FOR : jika banyak pengulangan yg harus dilakukan sudah diketahui; jika banyak pengulangan belum diketahui harus ditambahkan lagi keadaannya.
Tabel Translasi Notasi Algoritmik Pengulangan ke Notasi bahasa Pascal
Struktur | Algoritmik | Pascal | Keterangan |
WHILE-DO | While <kondisi> do aksi endwhile | While kondisi do aksi; (*endwhile*) | |
REPEAT- UNTIL | Repeat Aksi 1 Until <kondisi> | repeat aksi; until kondisi; | |
FOR | FOR menaik : for peubah←a to b do aksi endfor | FOR menaik : for peubah :=a to b do aksi; (*endfor*) | |
for peubah:=a to b do begin aksi 1; aksi 2; . . . end; (*for*) | bila aksi lebih dari satu buah, runtunan aksi diawali dengan begin dan end. | ||
| For menurun : for peubah←b downto a do Aksi Endfor | For menurun : for peubah :=b downto a do aksi; (*endfor*) | |
for peubah :=b downto a do begin aksi 1; aksi 2; . . . end; (*for*) | bila aksi lebih dari satu buah runtunan aksi diawali dengan begin dan end.. |
Struktur WHILE-DO
Contoh1 : Algoritma menghitung jumlah Deret 1 + 2 + 3+ … +N.
ALGORITMIK
Algoritma JUMLAH_DERET_1 { Menjumlahkan deret 1 + 2 + 3+ … +N dengan N adalah bilangan bulat Positif yang dibaca dari piranti masukan. Jumlah deret dicetak ke piranti keluaran.}
DEKLARASI N : integer Angka : integer Jumlah : integer
DESKRIPSI
jumlah←0 {inisialisasi jumlah deret} angka←1 {suku deret}
jumlah←jumlah + angka { jumlah deret sekarang} angka←angka + 1 { suku deret berikutnya}
(angka > N ) {kondisi setelah pengulangan berhenti} write (jumlah) |
PASCAL
Program JUMLAH_DERET_1;
Uses wincrt;
var
N : integer;
Angka : integer;
Jumlah : integer;
begin
write ('Berapa banyak suku deret ?'); read (N)
jumlah := 0 ;
angka := 1;
while angka <= N do
begin
Jumlah := jumlah + angka;
Angka := angka + 1;
end;
writeln ('Jumlah deret = ', jumlah);
end.
Struktur REPEAT-UNTIL
Contoh2 : Algoritma menghitung jumlah Deret 1 + 2 + 3+ … +N.
ALGORITMIK
Algoritma JUMLAH_DERET_2
{ Menjumlahkan deret
1 + 2 + 3+ … +N
dengan N adalah bilangan bulat Positif yang dibaca dari piranti masukan. Jumlah deret dicetak ke piranti keluaran.}
DEKLARASI
N : integer
{banyaknya suku deret}
Angka : integer
{ suku deret}
Jumlah : integer
{jumlah deret}
DESKRIPSI
read (N) { banyaknya suku deret }
jumlah←0 {inisialisasi jumlah deret}
angka←1 {suku deret}
repeat
jumlah←jumlah + angka { jumlah deret sekarang}
angka←angka + 1 { suku deret berikutnya}
until angka > N
write (Jumlah)
PASCAL
Program JUMLAH_DERET_2;
Uses wincrt;
var
N : integer;
Angka : integer;
Jumlah : integer;
begin
write ('Berapa banyak suku deret ?'); read (N)
jumlah := 0 ;
angka := 1;
repeat
begin
Jumlah := jumlah + Angka;
Angka := Angka + 1;
until angka > N;
writeln ('Jumlah deret = ', jumlah);
end.
Struktur FOR-TO-DO
Contoh3 : Algoritma menuliskan deret angka
ALGORITMIK
ALGORITMA DERET_ANGKA1 { menuliskan angka mulai 1 sampai dengan batas }
DEKLARASI i : integer batas : integer
DESKRIPSI baca (i)
|
PASCAL
Program DERET_ANGKA1;
Uses wincrt;
var
i : integer;
batas : integer;
begin
write ('Masukkan batas bilangan yang akan ditampillkan ?'); readln (batas);
for i := 1 to batas do
write (i, ' ' ) ;
end.
Struktur FOR-DOWNTO-DO
Contoh4 : Algoritma menuliskan deret angka
ALGORITMIK
ALGORITMA DERET_ANGKA2 { menuliskan deret mulai batas sampai dengan 1 }
DEKLARASI i : integer batas : integer
DESKRIPSI baca (i)
|
PASCAL
Program DERET_ANGKA2;
Uses wincrt;
var
i : integer;
batas : integer;
begin
write ('Masukkan batas bilangan yang akan ditampillkan ?'); readln (batas);
for i := batas downto 1 do
write (i, ' ' ) ;
end.
TUGAS :
Buatlah Program menggunakan bahasa pascal untuk algoritma berikut ini !!!
ALGORITMIK
ALGORITMA SUDAH_BISA { menanyakan jawaban sampai jawaban yang diberikan valid }
DEKLARASI jawab : char
DESKRIPSI
|
1 komentar:
bagiamana membuat algoritma , jika out put yang diinginkan sebagai berikut :
masukan angka 8
maka 1 + 2 + 3 + 4 + 5 + 5 + 7 = 36
Trims atas jawabannya,
Posting Komentar