Dalam hampir setiap program yang kompleks mutlak memerlukan suatu
perulangan dan percabangan. Tujuan perulangan disini adalah untuk mengulang statemen atau blok statemen berulang
kali sesuai sejumlah yang ditentukan
pemakai. Dalam materi ini akan memberikan gambaran konsep dasar dari pengertian diatas.
- Perulangan For
Perulangan dengan statement for digunakan untuk mengulang
statemen atau suatu blok statemen berulang kali. Perulangan dengan bentuk statement
for dapat dapat dibedakan menjadi 2, yaitu:
1.
Perulangan for positif, contoh perulangan for
untuk satu satetment adalah:
Uses Crt;
Var
i : Integer;
Begin
For i := 1 To 5 Do Writeln ('Belajar Pascal’);
END.
Maka bila program diatas
hasilnya :
Belajar Pascal
Belajar Pascal
Belajar Pascal
Belajar Pascal
2.
Perulangan for negative, adalah perulangan dengan
menghitung (counter) dari besar ke
kecil. Contoh statement yang
digunakan adalah for-DownTo-do yaitu:
Uses Crt;
Var
i : Integer;
Begin
For i := 10 DownTo 1 Do Write (i:3);
End.
Hasil :
10 8 7
6 5 4 3 2 1
- Perulangan For Tersarang
Perulangan for tersarang
adalah perulangan for yang berada
pada perulangan yang lainnya. Perulangan yang lebih dalam akan diproses
terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan
bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai
awalnya dan seterusnya.
Contoh :
Var
a,b : Integer;
Begin
For a := 1 To 3 Do
Begin
For b := 1 To 2 Do Write (a :4,b:2);
Writeln;
End;
End.
Hasilnya
adalah sebagai berikut:
1
1 1 2
2
1 2 2
3 1
3 2
- Perulangan While-Do
Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi
kondisi, sehingga program dapat menentukan tindakan apa yang harus dikerjakan,
tergantung dari kondisi yang diseleksi tersebut. Perulangan while-do tidak dilakukan jika kondisi
tidak terpenuhi.
Contoh :
Uses Crt;
Var i : Integer;
Begin
i := 0;
While < 5 do
Begin
Write (i:3);
Inc (i); { sama dengan i:=i+1 }
End;
End.
Hasilnya adalah sebagai berikut:
0 1 2 3 4
- Perulangan While – Do tersarang
Perulangan while – do
tersarang (nested while - do)
merupakan perulangan while-do yang
satu di dalam perulangan while–do
yang lainnya. Contoh :
Uses Crt;
Var
a, b : Integer;
Begin
ClrScr;
a:=1;
b:=1;
While a < 4 Do{ loop selama a masih
lebih kecil dari 4 }
Begin
a := a+1;
While b < 3 Do{ loop selama b masih lebih kecil
dari 3 }
Begin
Write (a:3,b:2);
b:=b+1;
End;
End;
Readln;
End.
- Perulangan Repeat - Until
Repeat – Until digunakan untuk mengulang statemen-statemen atau blok statement sampai (until) kondisi yang diseleksi di until tidak terpenuhi. Contoh dari statement
ini adalah :
Var
i : Integer;
Begin
i:=0;
Repeat
i:= i+1;
Writeln (i);
Until i=5;
End.
Hasilnya adalah :
1
2
3
4
5
- Repeat – Until tersarang
Repeat – Until tersarang adalah suatu perulangan Repeat - Until yang satu berada didalam perulangan Repeat – Until yang lainnya. Contoh :
Var
a,b,c : Real;
Begin
Writeln('========================================');
Writeln(' sisi A sisi B Sisi C ');
Writeln (' =======================================');
a:= 1;
Repeat { perulangan luar }
b := 0;
Repeat{ perulangan dalam }
c:=Sqrt (a*a+b*b);
Writeln (a:6:2, b:9:2, c:9:2);
b:=b+5;
Until b>25; { berhenti jika b lebih besar dari 5
untuk
perulangan dalam }
a:=a+1;
Until a>3; { berhenti jika a lebih besar dari 3
untuk
perulangan luar }
Writeln(' =======================================');
End.
- Percabangan
2.7.1 If - Then
Bentuk struktur If – Then
adalah sebagai berikut :
If Kondisi Then Statement
Ungkapan adalah kondisi yang diseleksi oleh statement If. Bila kondisi yang diseleksi terpenuhi, maka statement yang mengikuti then akan diproses, sebaliknya bila
kondisi tidak terpenuhi, maka yang akan diproses statement berikutnya. Misalnya:
If Pilihan = 2 Then
Begin{ jika kondisi terpenuhi, Yaitu jika pilihan = 2 }
......
......
End
Else{ jika kondisi tidak terpenuhi, yaitu jika pilhan
tidak sama dengan 2}
Begin
.......
.......
End;
- If Tersarang (Nested If)
Struktur If tersarang
merupakan bentuk dari suatu statement If
berada di dalam lingkungan statemen If
yang lainya. Bentuk statement If
tersarang sebagai berikut :
If kodisi1 Then atau If
Kondisi1 Then
If kondisi2 Then Begin
statemen1 IF kondisi2 Then
Else statemen1
statemen2; Else
statemen2
End;
- Case - Of
Struktur Case – Of mempunyai
suatu ungkapan logika yang disebut dengan selector
dan sejumlah statement yang diawali
dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector.
Statement yang mempunyai case label
yang bernilai sama dengan case label
yang bernilai sama dengan nilai selector
akan diproses sedang statement yang
lainya tidak. Bentuk struktur dari case -
Of:
Case Variabel Kondisi Of
Case – Label 1; Statement 1;
Case – Label 2; Statement 2;
Case – Label 3; Statement 3;
Case – Label 4; Statement 4;
........
........
Case – Label n ; Statement n ;
End ; { end dari case }
Daftar case label dapat
berupa konstanta, range dari
konstanta yang bukan bertipe real. Contoh
program ;
Program nilai;
Var
nil : Char ;
Begin
Write ('Nilai Numerik yang didapat :');
eadln (nil);
Case nil Of
'A': Writeln ('Sangat Baik’);
'B': Writeln('Baik’);
'C': Writeln('Cukup');
'D': Writeln('Kurang');
'E': Writeln('Sangat Kurang');
End;
End.
Hasilnya
adalah :
Nilai
Numerik yang didapat : B à
Input
Baik
- Array
Array adalah tipe
data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai
tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen
yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan
nilai indexnya atau subskript. Array
dapat bertipe data sederhana seperti byte,
word, integer, real, bolean, char, string
dan tipe data scalar atau subrange. Tipe larik mengartikan isi
dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Contoh:
Var
Untai :
array[1..50] of Integer;
Pada contoh Array
dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen
array tersebut diatas harus bertipe integer. Contoh Program :
Program
Contoh_Array_Input;
Uses Crt;
Var
Bilangan :
array[1..50] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai
varibel bilangan ke 3 =',Bilangan[3]);
Readln;
End.
Array juga dapat
dideklarasikan bersama dengan tipe yang beragam seperti contoh dibawah ini :
Program
Contoh_Deklarasi_Array_Beragam;
Uses Crt;
Var
NPM :
array[1..20] of string[10];
Nama :
array[1..20] of string[25];
Nilai :
array[1..20] of real;
Umur :
array[1..20] of byte;
banyak,i :
integer;
Begin
ClrScr;
Write('Isi
berapa data array yang diperlukan :');Readln(banyak);
For i := 1
to banyak Do
Begin
Write('NPM
=');Readln(NPM[i]);
Write('Nama
=');readln(Nama[i]);
Write('Nilai=');readln(Nilai[i]);
Write('Umur
=');readln(Umur[i]);
End;
{cetak
varibel array}
Writeln('NPM
NAMA NILAI UMUR ');
For i:= 1
to banyak Do
Begin
Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,'
',Umur[i]:3);
End;
Readln;
End
Untuk deklarasi array dapat digunakan beberapa cara
seperti berikut ini :
Type
Angka =
String[20];
Var
Nama :
Array [1..50] of Angka;
Begin
.
.
End.
Deklarasi tipe indeks subrange integer Indeks pada array dapat tipe skalar atau subrange, tetapi tidak bisa real. Contoh:
Var
Nilai :
Array[1..10] of Integer;
Pada contoh ini array mempunyai nilai 10 buah elemen
yaitu dari 1 sampai 10. Array tersebut
dapat dideklarasikan dengan type
seperti berikut ini :
Type
Skala =
1..10;
Var
Nilai :
Array [skala] of Integer;
Atau :
Type
Skala =
1..10;
Y =
Array[skala] of Integer;
Var
Nilai : Y;
Atau :
Type
Y =
Array[1..10] of Integer;
Var
Nilai : Y;
Atau :
Const
Atas =1;
Bawah = 5;
type
Y = Array[Atas..Bawah]
of Integer;
Var
Nilai
: Y;
Tidak ada komentar:
Posting Komentar