Sekilas Saya

Foto saya
batam, riau, Indonesia
Sinar matamu tajam namun ragu Kokoh sayapmu semua tahu Tegap tubuhmu takkan tergoyahkan Kuat jarimu kalau mencengkeram Bermacam suku yang berbeda Bersatu dalam cengkeramanmu Angin genit mengelus merah putihku Yang berkibar sedikit malu-malu Merah membara tertanam wibawa Putihmu suci penuh kharisma Pulau pulau yang berpencar Bersatu dalam kibarmu Terbanglah garudaku Singkirkan kutu-kutu di sayapmu Berkibarlah benderaku Singkirkan benalu di tiangmu Jangan ragu dan jangan malu Tunjukkan pada dunia Bahwa sebenarnya kita mampu

Jumat, 02 Maret 2012

looping-pascal



LOOPING

(PERINTAH PERULANGAN)

Iterasi / perulangan (Loop) dalam bahasa Pascal terdiri dari 3 macam,
yaitu : For Do,
While Do
dan Repeat Until.

For Do

Digunakan untuk mengulang statemen atau satu blok statemen berulang kali sejumlah yang ditentukan.
Perulangan For dapat berbentuk perulangan positif, perulangan Negatif dan perulangan tersarang.

a) Perulangan Positif

Adalah perulangan dengan penghitung (counter) dari kecil ke besar atau pertambahannya positif.

B.u :    For Variabel_Kontrol := Nilai_Awal To Nilai_Akhir Do
Statement ;

Ket : - Variabel_Kontrol, Nilai_Awal dan Nilai_Akhir harus bertipe sama, yaitu
Integer.

􀂃 Jika Statement hanya 1, maka boleh ditulis dalam blok (Diawali Begin dan diakhiri End;) boleh tidak. Sedangkan jika blok statement lebih dari 1, maka statement2 tersebut harus diletakkan dalam blok.

Contoh 1 :

uses wincrt;
Var I : Integer ;
Begin
FOR I := 1 To 5 Do Writeln ('Pascal');
End.


Contoh 2 :

uses wincrt;
Var I : Integer ;
Begin
FOR I := 1 To 5 Do
Begin
Writeln (‘Pascal’);
End ;
End.
Contoh 3 :
uses wincrt;
Var I : Integer ;
Begin
FOR I := 1 To 5 Do
Begin
Writeln (I );
Writeln (‘Pascal’);
End ;
End.

b) Perulangan Negatif

Adalah perulangan dengan penghitung (counter) dari besar ke kecil atau pertambahannya negatif.

B.u :    For Variabel_Kontrol := Nilai_Awal DownTo Nilai_Akhir Do
Statement ;

uses wincrt;
Var I : Integer ;
Begin
FOR I := 1 To 5 Do Writeln (‘Pascal’);
End.


uses wincrt;
Var I : Integer ;
Begin
FOR I := 5 DownTo 1 Do Writeln ('Pascal',I);
End.

c) Perulangan Tersarang (Nested Loop)

Adalah perulangan yang berada dalam perulangan lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang luar baru bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari awal, dan seterusnya.

Uses wincrt;
Var I, J : Integer ;
Begin
For I := 1 To 3 Do
Begin
For J := 1 To 3 DO
Write (I:8, J :3) ;
Writeln ;
End ;
End.






Contoh Program Untuk FOR

uses wincrt;
var
I, Panjang: Integer;
Kata, Balik: string;
begin
Writeln('Balik Kalimat');
Writeln('=============');
Write('Masukkan kalimat : ');
Readln(Kata);
Panjang := Length(Kata);
Balik := '';
for I := Panjang downto 1 do
Balik := Balik + Kata[I];
Writeln('Hasil pembalikannya : ', Balik);
Readln;
end.

Analisa : program ini untuk membalik sebuah untai karakter yang dimasukkan pemakai dan menampilkan hasilnya. Algoritma yang digunakan adalah dengan memasukkan satu demi satu karakter ke dalam suatu peubah hasil dengan urutan dari depan ke belakang, yang diambil dari peubah masukan dengan urutan yang berlawanan. Peubah hasil adalah yang akan ditampilkan.




While Do

Digunakan untuk melakukan proses perulangan suatu statemen atau blok statemen terus menerus selama kondisi ungkapan logika pada While masih bernilai logika benar.

B.u :    While ungkapan_logika Do
Statemen ;

Uses wincrt;
Var I : Integer ;
Begin
I := 0 ;
While I < 5 Do
Begin
Writeln (I) ;
I := I + 1 ;
End ;
End.







Perulangan While-Do Tersarang

Adalah suatu perulangan While-Do yang ada didalam perulangan While_Do yang lain.

Uses wincrt;
Var I, J : Integer ;
Begin
I := 1 ;
While I < 3 Do
Begin
J := 1 ;
While J < 2 Do
Begin
Writeln ( I : 5 , J : 5 );
J := J + 1 ;
End ;
I := I + 1 ;
End ;
End.

Repeat Until

Digunakan untuk mengulang (Repeat) statemen satau blok statemen sampai (Until) kondisi yang diseleksi di Until tidak terpenuhi.

B.u : Repeat
Statemen;
Until Ungkapan_logika;

Uses wincrt;
Var I : Integer ;
Begin
I := 0 ;
Repeat
I := I + 1 ;
Writeln (I) ;
Until I = 5;
End.

Repeat-Until Tersarang

Adalah suatu perulangan Repeat – Until yang berada didalam perulangan Repeat-Until yang lain.

Uses wincrt;
Var I, J : Integer ;
Begin
I := 0 ;
Repeat
I := I + 1 ;
J := 0 ;
Repeat
J := J + 1 ;
Writeln (I : 5, J : 5) ;
Until J = 3 ;
Until j = 3 ;
End.

Berikut contoh program untuk menampilkan bilangan genap dari 2 sampai dengan 100. Salin program berikut :

Uses wincrt;
var
i: Integer;
begin
Writeln('Bilangan genap');
i := 1;
repeat
Inc(i);
if i mod 2 = 0 then Write(i:4);
until (i=100);
Readln;
end.

Sama halnya dengan struktur kendali yang telah dibahas sebelumnya, pada struktur perulangan dapat terjadi kasus dimana di dalam struktur perulangan tertentu terdapat struktur perulangan yang lain dan seterusnya. Program berikut akan menerapkan struktur perulangan dengan menggunakan while.

Uses wincrt;
var
i, j: Integer;
M: Char;
Begin
Write('Masukkan sembarang karakter : ');
Readln(M);
i := 1;
while i <= 10 do
begin
j := 1;
while j <= i do
begin
Write(M);
Inc(j);
end;
Writeln;
Inc(i);
end;
Readln;
end.

uses wincrt;
var
Hasil: Real;
I, pilih, A, X, N: Integer;
Status: Boolean;
begin
Repeat
Clrscr;
Writeln('1. Pemangkatan 2. Faktorial 3. Keluar');
Write('Masukkan Pilihan Anda : ');
Readln(pilih);
case pilih of
1 : begin
Write('Masukkan Sembarang angka : ');
Readln(X);
Write('Akan dipangkatkan berapa : ');
Readln(A);
Hasil := 1;
for I := 1 to A do Hasil := X * Hasil;
Writeln('Jadi ', X,' dipangkatkan ', A,' : ',
Hasil:5);
Status := False;
end;
2 : begin
Write('Masukkan Sembarang angka : ');
Readln(N);
if N <= 1 then Hasil := 1
else
begin
Hasil := 1;
for I := 2 to N do Hasil := Hasil * I;
end;
Writeln('Jadi factorial ', N,' (', N,'!) : ',
Hasil:5);
Status := False;
end;
3 : Status := True;
else
begin
Writeln('Pilihan Anda salah !');
Status := True;
end;
end;
Readln;
until Status;
end.

Tidak ada komentar: