Algoritma BAB V LOOP ( PERULANGAN )
Pendahuluan • Perulangan dalam Pascal berguna untuk mengerjakan suatu statement atau blok statement secara berulang-ulang sebanyak yang anda inginkan. • Pascal menyediakan tiga buah struktur kontrol perulangan. While ….do, Repeat ….Until, dan For.
create by STMIK "AMIKOM" Purwokerto
Perulangan While..Do Perulangan While..do merupakan salah satu bentuk perulangan yang paling umum digunakan. Dengan menggunakan While..do kondisi yang diberikan akan terlebih dahulu diperiksa, jika memenuhi maka barulah dikerjakan statement-statement yang ada. Bentuk umum :
While..do dengan satu statement. While
do <statement> Contoh : while i < 10 do write(i);
create by STMIK "AMIKOM" Purwokerto
While..do dengan banyak statement While do begin <statement1>; <Statement2>; <statement3>; …… <statementn>; end; Contoh : while i < 10 do begin write(i); i:= I + 1; end; create by STMIK "AMIKOM" Purwokerto
Pemakaian While..do. • Pada saat menjalankan program kondisi akan diperiksa terlebih dahulu, jika kondisi memenuhi / benar maka statement atau blok statement didalamnya akan dikerjakan. • Jika kondisi tidak memenuhi maka perulangan akan berakhir atau menjalankan statement atau blok statement yang lainnya.
While
Statement
Do
kondisi ya
Tidak
create by STMIK "AMIKOM" Purwokerto
Contoh
Program latihanWhiledo; uses wincrt; var n : byte; i,j : real; begin write ('jumlah bintang : '); readln(n); i:=0; while (i<=n) do begin j:=0; while (j
Out put
create by STMIK "AMIKOM" Purwokerto
Perulangan Repeat..Until •
Perulangan repeat..until biasanya dipakai jika sekurang-kurangnya baris perintah didalamnya dikerjakan sebanyak satu kali. • Pemriksaan kondisi pada perulangan repeat until dilakukan pada akhir blok. • Bentuk Umum : Repeat statement1; statement2; statement3; ……………; statementn; until; Contoh : Repeat ch:=readKey; Write(ch); until ch=#27; create by STMIK "AMIKOM" Purwokerto
Pemakaian Repeat..Until. • Perulangan repeat..until diawali dengan kata baku repeat dan diakhiri dengan kata baku until serta pengecekan kondisi. • Perulangan repeat dengan banyak statement tidak perlu menggunakan kata baku begin pada awal blok dan kata baku end pada akhir blok karena secara default perulangan repeat..until adalah untuk banyak statement.
Repeat
Statement
Tidak
Kondisi
Until create by STMIK "AMIKOM" Purwokerto
Ya
Contoh 1 program repeatuntil; uses wincrt; var I : byte; begin I:=0; repeat I:=I+1; writeln(I); until I=10; end.
• output
create by STMIK "AMIKOM" Purwokerto
Contoh2 (repeat...until) uses wincrt; var i,j,jml: byte; begin clrscr; write('jumlah bintang: '); readln(jml); j:=0; repeat i:=0; j:=j+1; repeat write('*'); i:=i+1; until i=j; writeln; until j=jml; end. create by STMIK "AMIKOM" Purwokerto
Perulangan For • For digunakan untuk melakukan perulangan sebanyak yang kita tentukan sendiri mulai nilai awal sampai dengan nilai akhir yang kita tentukan.. • Pendeklarasian for diikuti dengan nama variabel yang bertipe integer. • Pada setiap perulangan, variabel tersebut akan bertambah satu (ascending) atau berkurang satu (descending). create by STMIK "AMIKOM" Purwokerto
Bentuk Umum For
Ascending For. * Satu statement for:=to do <statement>; contoh for I := 1 to 10 do write(1);
* Banyak statement for:=to do begin <statement1>; <statement2>; <statement3>; ………………; <statementn>; end;
create by STMIK "AMIKOM" Purwokerto
Contoh for angka:= 1 to 10 do begin gotoxy(12,5); write(angka); readkey; end; Descending for * satu statement for:= downto do <statement>
contoh
create by STMIK "AMIKOM" Purwokerto
Banyak statement For:=downto do begin <statement>; <statemen2>; <statemen3>; ……………. <statemenn>; end; Contoh for x:= 5 downto 0 do begin gotoxy(2,1);readln(nilai); gotoxy(2,2);writeln(‘nilai anda :’,nilai); end;
create by STMIK "AMIKOM" Purwokerto
Contoh pemanfaatan For1 program latihanfor1; uses wincrt; var i,j,n: byte; begin write('Jumlah Bintang:'); readln(n); for i:= 1 to n do begin for j:= 1 to i do write ('*'); writeln; end; end.
create by STMIK "AMIKOM" Purwokerto
Contoh pemanfaatan for2 uses wincrt; var i,n,j : byte; begin clrscr; write('Masukan Jumlah Bitang:');readln(n); for i := 1 to n do begin for j:= 1 to i do write('*'); writeln; if(i=n) then begin for i:=(n-1) downto 1 do begin for j:=1 to i do write('*'); writeln; end; readkey; exit; end; end; end.
create by STMIK "AMIKOM" Purwokerto
Praktikum • Soal 1. Buatlah program untuk menghitung frekuensi munculnya huruf pada kalimat yang dimasukkan
Out put : Kalimat : teguh Huruf t =1 Huruf e=1 Huruf g=1
create by STMIK "AMIKOM" Purwokerto
• Soal 2 Buatlah program untuk menampilkan sebuah kalimat(terserah anda) yang dianimasikan dengan cara digerakkan ke kiri dan ke kanan menghilang dititik tertentu dan muncul lagi di ujung yang berlawanan(seperti papan reklame)
create by STMIK "AMIKOM" Purwokerto