Disusun Oleh :
Nama : Irpan Kusuma Wijaya
NIM : 200822018
Fakultas : Teknologi Industri
Jurusan : Teknik Informatika
BAB IV Perulangan
1. Perulangan For ............................................................................... 22
a. Perulangan For Positif ............................................................... 22
b. Perulangan For Negatif .............................................................. 25
c. Perulangan For Bersarang ......................................................... 26
2. Pengulangan While Do ................................................................... 29
3. Perulangan Repeat Until ................................................................. 30
PEMPROGRAMAN PASCAL 2
BAB I
Mengenal Pascal
A. Perkembangan Pascal
Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada semua
tujuan oleh Professor Niklaus Wirth, nama pascal diambil sebagai penghargaan terhadap
Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis. Kompiler
Bahasa pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) untuk
membantu mengajar program komputer secara sistematis, khususnya untuk pemprograman
terstruktur.
D. Judul program
Judul program (bila ditulis) terletak pada awal program dan diakhiri dengan titik koma.
E. Bagian Deklarasi
1. Deklarasi Konstanta
Berisi identifier yang berisi nilai-nilai konstanta.
Contoh penulisannya:
Const
PEMPROGRAMAN PASCAL 3
Panjang=10;
Lebar=5;
2. Deklarasi Variabel
Mendefinisikan identifieryang berisi data yang berubah-ubah nilainya dalam program.
Var total,gaji:real;
Menikah,keterangan:string;
3. Deklarasi tipe
Ada beberapa tipe dalam pascal antara lain :
a. Tipe data sederhana, terdiri dari :
- Tipe data standar : integer,char,real,string,boolean
- Tipe data didefinisikan pemakai : enumarated atau scalar type, subrange tipe.
b. Tipe data terstruktur, terdiri dari :
- Array - File
- Record - Set
c. Tipe data penunjuk (pointer type data)
Contoh : Type
Pecahan = real;
Logika = Boolean;
Bulat = integer;
Huruf = string [25];
Begin
4. Deklarasi label
Deklarasi yang neggunakan statemet goto untuk meloncat ke suatu statemen lain.
Contoh :
Label 100,selesai;
Begin
.................
Goto 100
.................
100 :
.................
Goto selesai
.................
Selesai :
End.
PEMPROGRAMAN PASCAL 4
BAB II
Element-Element Program Pascal
A. Kata-kata cadangan
Adalah kata-kata yang telah didefinisikan oleh pascal yang mempunyai maksud tertentu,
kata-kata cadangan tidak boleh didefinisikan oleh pemakai sehingga tidak dipergunakan
sebagai pengenal(identifier).
B. Pengenal (identifier)
Ketetntuan-ketentuan identifier :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf,
dimana huruf besar dan huruf kecil dianggap sama.
2. Tidak boleh mengandung blank.
3. Tidak boleh mengandung simbol-simbol khusus.
4. Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan.
C. Tipe data
1. Tipe data numerik integer
Tipe Ukuran memory jangkauan nilai
Byte 1 byte 0 .. 255
Shortint 1 byte -128 .. 127
Integer 2 byte -32768 .. 32767
Word 2 byte 0 .. 65535
Longint 4 byte -2147483648
PEMPROGRAMAN PASCAL 5
D. Tanda Operasi
Dalam bahasa pascal ada beberapa tanda operasi (operator) antara lain :
Operator Fungsi
assignment operator
:= sama dengan
binary operator
* perkalian
Div pembagian bulat
/ pembagian real
MOD Modulus (hasil pembagian)
+ penjumlahan
- pengurangan
bitwise operator
NOT Logika Not
AND Logika And
OR Logika Or
XOR Logika Xor
SHL gerser ke kiri (shift left)
SHR geser ke kanan (shift right)
relation operator
= sama dengan
<> tidak sama dengan
> lebih besar dari
< lebih kecil dari
>= lebih besar sama dengan dari
<= lebih kecil sama dengan dari
E. Komentar Program
Komentar program digunakan untuk keperluan dokumentasi program, sehingga program
mudah dibaca dan dipahami dapat ditambahkan komentar-komentar di dalam program
tidak akan mempengaruhi program. Komentar ditulis dengan tanda pembatas { dan } atau
(* dan *).
PEMPROGRAMAN PASCAL 6
BAB III
Program Input dan Output
Program Output
Dalam bahasa pascal untuk menampilkan hasil digunakan prosedur standard write atau
writeln.
Write menampilkan hasil tanpa ganti baris.
Writeln menampilkan hasil dengan ganti baris.
Contoh-contoh Program serta Outputnya
Contoh 1
Begin
Writeln(‘Saya Belajar Pascal’);
Writeln(‘---------------------------‘);
Readln;
End.
Output
Saya Belajar Pascal
start
---------------------
stop
Contoh 2
Begin
Writeln(‘Hai apa kabar?’);
Write(‘Baik-baik saja’);
Readln;
End.
Output
Hai apa kabar?
Baik-baik saja
start
stop
Contoh 3
Begin
Write(‘Hai apa kabar?’);
Write(‘Baik-baik saja’);Readln;
End.
PEMPROGRAMAN PASCAL 7
Output
Hai apa kabar?Baik-baik saja
Contoh 4
Begin
Writeln(‘Hai apa kabar?’);Writeln;
Write(‘Baik-baik saja’);
Readln;
End.
Output
Hai apa kabar?
Baik-baik saja
Note : Writeln digunakan untuk pindah baris atau posisi cursor.
Program Input
Dalam bahasa pascal untuk memasukan data digunakan prosedur standard read atau readln.
Read untuk memasukan data dalam satu baris.
Readln untuk memasukan data pada baris yang berbeda.
Contoh 1
Uses Crt;
Var A,B,C:Byte; {A,B,C Merupakan variable yang digunakan dalam Program}
Begin
Clrscr;
Write(‘Masukan nilai A=’);Readln(A);{input data pada baris yang sama}
Write(‘Masukan nilai B=’);Readln(B);{input data pada baris yang sama}
C:=A+B;
Writeln(‘A+B=’,C); {untuk menampilkan A+B=}
Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input}
Readln;
End.
Output
Masukan ni la i A=5 {angka 5 merupakan nilai yang kita input}
Masukan ni la i B=6 {angka 6 merupakan nilai yang kita input}
A+B=11 {angka 11 merupakan nilai C hasil dari A+B}
5+6=11
PEMPROGRAMAN PASCAL 8
s t art
var a, b, c
mas uk k an nilai a
mas uk k an nilai b
c: =a + b
s t op
Contoh 2
Uses Crt;
Var A,B,C:Byte; {A,B,C Merupakan variable yang digunakan dalam Program}
Begin
Clrscr;
Writeln(‘Masukan nilai A=’);Readln(A); {input data pada baris yang berbeda}
Writeln(‘Masukan nilai B=’);Readln(B); {input data pada baris yang berbeda}
C:=A+B;
Uses Crt;
Var A,B,C:Byte;
Begin
Clrscr;
Writeln(‘Masukan nilai A=’);
Readln(A);C:=A+BWriteln(‘Masukan nilai B=’);Readln(B);
Writeln(‘A+B=’,C); {untuk menampilkan A+B=}
Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input}
Readln;
End.
Output
Masukan nilai A=
5 {angka 5 merupakan nilai yang kita input}
Masukan nilai B=
6 {angka 6 merupakan nilai yang kita input}
A+B=11 {angka 11 merupakan nilai C hasil dari A+B}
5+6=11
Note :
- Clrscr digunakan untuk membersihkan layar monitor dari tampilan sebelumnya
- Clrscr harus dipasangkan dengan Uses Crt bila pascal dijalankan dalam DOS
- Clrscr harus dipasangkan dengan Uses WinCrt bila pascal dijalankan dalam
Windows.
Contoh 3
Var Nama:String[15];
Begin
Nama :=’Shabira’;
PEMPROGRAMAN PASCAL 9
Write(‘Nama :’);
Write(Nama);
Readln;
End.
Output
Nama : Shabira
start
nama
nama:=shabira
nama
shabira
stop
Contoh 4
Var Nama:String[15];
Begin
Nama :=’Shabira’;
Writeln(‘Nama :’);
Writeln(Nama);
Readln;
End.
Output
Nama :
Shabira
start
nama
nama:=shabira
nama
shabira
stop
Contoh 5
Var Nama:String[15]; {untuk membatasi jumlah character dalam
string}
Begin
Nama :=’Shabira Kusumawati’;
Write(‘Nama :’);
Write(Nama);
Readln;
End.
Output
Nama : Shabira Kusumaw
PEMPROGRAMAN PASCAL 10
Note : String[15] berarti jumlah character yang akan ditampilkan hanya 15 character.
Contoh 6
Var Huruf1,Huruf2:char;
Begin
Huruf1:=’A’;
Huruf2:=’B’;
Writeln(Huruf1,Huruf2);
Readln;
End.
Output
AB
start
huruf1
huruf2
huruf1:=a
huruf2:=b
a, b
stop
Contoh 7
Var Huruf1,Huruf2:char;
Begin
Huruf1:=’A’;
Huruf2:=’B’;
C:=concat(AB); {concat digunakan untuk menggabungkan character}
Writeln(C);
Readln;
End.
Output
AB
start
huruf1
huruf2
huruf1:=a
huruf2:=b
a, b
stop
Contoh 8
Uses Crt;
Var A,B,C:Byte;
PEMPROGRAMAN PASCAL 11
Begin
Clrscr;
Write(‘Masukan nilai A=’);Readln(A);
Write(‘Masukan nilai B=’);Readln(B);
C:=A+B;
Writeln(‘A+B=’,C); {untuk menampilkan A+B=}
Writeln(A,’+’,B,’=’,C); {untuk menampilkan nilai A dan B yang kita input}
Readln;
End.
Output
Masukan ni la i A=5 {angka 5 merupakan nilai yang kita input}
Masukan ni la i B=6 {angka 6 merupakan nilai yang kita input}
A+B=11 {angka 11 merupakan nilai C hasil dari A+B}
5+6=11
Contoh 9
Uses Crt;
Var C:Char;
B:Boolean;
Begin
Clrscr;
Write(‘Benar atau Salah (B/S)?’);Readln(C);
B:=(C=’B’);
Write(‘Yang anda maksud adalah :’,B);
Readln;
End.
Output
Benar atau Salah (B /S)?B {B merupakan nilai yang kita input}
Yang anda maksud adalah B
start
c,b
B:=(c='b')
yang anda
maksud adalah
stop
PEMPROGRAMAN PASCAL 12
Tampilan Terformat
a. Parameter CH:N
Tampilan char selebar n karakter dengan blank di muka sebanyak n-1.
b. Parameter S:N
Tampilan string dengan lebar n karakter.
c. Parameter I:N
Tampilan integer dengan lebar n digit.
d. Parameter R:N
Tampilan nilai numerik real dengan lebar n digit rata sebelah kanan.
e. Parameter R:N:M
Tampilan nilai numerik real dengan lebar n digit rata sebelah kanan, dengan m digit angka
di belakang koma.
f. Parameter B:N
Tampilan Boolean True atau False dengan lebar n karakter sebelah kanan.
Contoh 1
Var Huruf1,Huruf2:Char;
Begin
Huruf1:=’A’;
Huruf2:=’B’;
Writeln(Huruf1:5,Huruf2:4); {disediakan 5 character untuk Huruf1 dan
Readln; 4 character untuk Huruf2 }
End.
Output
A B
Contoh 2
Var String1,String2:String[10];
Begin
String1:=’Pascal’;
Writeln(‘Bahasa’,String1:12); {disediakan 12 character untuk String1}
Readln;
End.
Output
Bahasa Pascal
start
string1
string2
string1:=bahasa
string2:=pascal
bahasa pascal
stop
Contoh 3
Uses Crt;
PEMPROGRAMAN PASCAL 13
Var Ket1:Char;
Ket2:String[6];
Ket3:Integer;
Ket4:Real;
Ket5:Boolean;
Begin
Clrscr;
Ket1:=’A’;
Writeln((ket1:5);
Ket2:=’Pascal’;
Writeln(‘Bahasa :’,Ket2:10);
Ket3:=24200;
Writeln(‘Jumlah Data :’,Ket3:9);
Ket4:=222006;
Writeln(‘Nilai Real :’,Ket4:12);
Writeln(‘Nilai Real Kedua :’,Ket4:12:3);
Ket5:=True;
Writeln(‘Nilai Boolean :’,Ket5:7);
Readn;
End.
Output
A
Bahasa : Pascal
Jumlah Data : 24200
Nilai Real : 2.22006E+05
Nilai Real Kedua : 222006.000
Nilai Boolean : True
A
s tart
24200
k et1=a
nilai real
a
222006
bahas a
222006
pas c al k et5=true
k et3=24200
nilai boolean
jumlah data
true
A s top
PEMPROGRAMAN PASCAL 14
2. Buat program menghitung luas persegi panjang dengan ketentuan panjang dan lebar
diinput. Dengan outputnya menggunakan format 3 angka di belakang koma
3. diketahui sebuah kotak mempunyai ukuran :
panjang alas : 10 cm
lebar alas : 7 cm
tinggi : 15 cm
buatlah sebuah program yang akan menghitung isi kotak dan luas permukaan kotak.
Tampilan hasil yang diinginkan adalah :
ukuran kotak : 10 cm x 7 cm x 15 cm
isi kotak : 1050cm3
luas permukaan kotak : 650 cm2
Jawab
1. Program
Uses Crt;
Var r:Integer; L,K:Real;
Begin
Clrscr;
Write(‘Masukan Jari-jari =’);Readln(r);
L:=3.14*r*r;
Writeln(‘Luas Lingkaran =’,L:8:2);
K:=3.14*2*r;
Writeln(‘Keliling Lingkaran =’,K:8:2);Readln;
End.
Output
Masukan Jar i - jar i = 10 {10 nilai yang kita input}
Luas L ingkaran = 314.00 {314.00 hasil perhitungan luas}
Kel i l ing L ingkaran = 62.80 {62.80 hasil perhitungan keliling}
2. Program
Uses Crt;
Var p,l:integer;
Luas:real;
Begin
Clrscr;
Write(‘Panjang =’);Readln(p);
Write(‘Lebar =’);Readln(l);
Luas:=p*l;
Writeln(‘Luas Persegi Panjang =’,Luas:8:3);
Readln;
End.
Output
Panjang = 6 {6 nilai p yang kita input}
Lebar = 3 {3 nilai l yang kita input}
Luas Persegi Panjang = 18.000 {18.000 hasil perhitungan
luas}
3. Program
Uses Crt;
Var p,l,t,i,Luas:integer;
s1:string;
PEMPROGRAMAN PASCAL 15
s2:char;
Begin
Clrscr;
p:=10;
l:=7;
t:=15;
s1:=’cm’;
s2:=’x’;
Writeln(‘ukuran kotak :
’,p:3,s1:3,s2:2,l:2,s1:3,s2:2,t:3,s1:3);
i:=p*l*t;
Writeln(‘isi kotak :’,i:5,s1,’3’);
Luas:=2*(p*l+p*t+l*t);
Writeln(‘luas permukaan kotak :’,Luas:4,s1:3,’2’);
Readln;
End.
Output
ukuran kotak : 10 cm x 7 cm x 15 cm
isi kotak : 1050cm3
luas permukaan kotak : 650 cm
Flowchart
start
start
p,l,luas
r,l,k
start
masukkan nilai panjang
masukkan nilai r
pa,la,t,vol,luas
p
r pa=10
la=7
t=15
k=(2*3.14)*r*r
k=(2*3.14)*r*r
ukuran kotak = 10*7*15
luas=pa*la
luas lingkaran: l
isi kotak:
l l=p*l
vol
luas persegi:
k
luas permikaan kotak :
luas
keliling lingkaran:
luas
stop stop
stop
gotoxy(10,15)
bahasa pascal
stop
Contoh 2
Uses Crt;
Begin
Clrscr;
Gotoxy(5,5);
Writeln(‘Bahasa Pascal’);
Readln;
End.
Output
Output
Halo mahasiswa, kalian lagi belajar apa?
{ada selang 5 detik}
Kami lagi belajar Praktek Pascal
start
halo mahasiswa,
lagi apa ?
delay(5000)
kami lagi
belajar pascal
stop
Contoh 2
Uses Crt;
Begin
Clrscr;
Writeln(‘Halo mahasiswa, kalian lagi belajar apa?’);
Delay(8000); {Program akan berhenti sejenak selama 5 detik}
Writeln;
Writeln(‘Kami lagi belajar Praktek Pascal’);
Readln;
End.
Output
Halo mahasiswa, kalian lagi belajar apa?
{ada selang 8 detik}
Kami lagi belajar Praktek Pascal
PEMPROGRAMAN PASCAL 18
Saya sudah bisa membuat program { posisi (20,15) dengan delay 8 detik dari teks
pertama }.
2. Buat program dengan ketentuan :
Input : masukan nilai x untuk kolom
Masukan nilai y untuk baris
Output : Hai apa kabar kawan ? delay 7 detik muncul ‘Baik-baik saja’.
3. Perusahaan telepon di kota ‘X’ mempunyai tarip Rp.100 per pulsa. Setiap langganan
dikenakan biaya langganan sebesar Rp.3000 per bulan. Jumlah pulsa = 235. buatlah
program untuk menghitung tagihan langganan.
Keluaran : Jumlah Tagihan
Petunjuk : Buatlah biaya langganan dan tarif pulsa sebagai konstanta (karena sama
untuk semua langganan).
4. Sama dengan soal no.3, ubahlah program tersebut sehingga tampilannya sebagai berikut :
Nomor langganan : ...................
Nama langganan : ...................
Alamat : ...................
Perincian tagihan :
Biaya Berlangganan : Rp. ...................
Biaya Pulsa ....*Rp.100 : Rp. ...................
--------------------------------------------------------------------
Total : Rp. ...................
Petunjuk : Tambahkan data masukan Nomor langganan, Nama langganan, dan
Alamat.
5. Buat program untuk menghitung gaji pegawai PT. Al-Kamal yang diterima, dengan
ketentuan : tunjangan pegawai adalah 15 % dari gaji pokok. Upah lembur per jam adalah
1 % dari gaji pokok.
Input : Nama, NIP, Gaji pokok, jumlah jam lembur
Output :
Perincian gaji pegawai :
Gaji Pokok : Rp .................
Tunjangan : Rp .................
Upah Lembur : Rp .................
-----------------------------------------------
Gaji Total : Rp .................
Jawab
1. Program
Uses Crt;
Begin
Clrscr;
Gotoxy(5,10); Writeln(‘Saya suka belajar pascal’);
Delay(3000);
Gotoxy(12,13); Writeln(‘Belajar pascal itu mengasyikan’);
Delay(5000);
Gotoxy(20,15); Writeln(‘Saya sudah bisa membuat
program’);
Readln;
End.
Output
PEMPROGRAMAN PASCAL 19
start
gotoxy(5,10)
saya suka
belajar pascal
delay(3000)
gotoxy(12,13)
pascal itu
menyenagkan
delay(11000)
gotoxy(20,15)
stop
2. Program
Uses Crt;
Var x,y:integer;
Begin
Clrscr;
Write(‘Masukan Kolom :’); Readln(x);
Write(‘Masukan Baris :’); Readln(y);
Clrscr;
Gotoxy(x,y);Writeln(‘Hai apa kabar kawan ?’);
Delay(7000);Writeln(‘Baik-baik saja’);
Readln;
End.
Hai apa kabar kawan ? {terletak pada kolom ke3 dan baris ke 3}
Baik-baik saja
PEMPROGRAMAN PASCAL 20
start
x,y
nilai x :
nilai y:
gotoxy(x,y)
delay 7000
stop
3. Program
Uses Crt;
Var jumlah:longint;
Const langganan=3000;
pulsa=100;
Begin
Clrscr;
jumlah:=langganan+235*pulsa;
Writeln('Jumlah Tagihan : Rp.',jumlah);
Readln;
End.
Output
Jumlah Tagihan : Rp.26500
start
jp,trf,tag,talang
trf=100
jp=235
tag=trf*jp
tagihan:
tag
tagihan langganan
talang
stop
4. Program
Uses Crt;
Var no,nama,alamat:string;
x:char;
PEMPROGRAMAN PASCAL 21
Const langganan=3000;
pulsa=100;
Begin
Clrscr;
x:=':';
Write('Nomor langganan',x:2); Readln(no);
Write('Nama langganan',x:3); Readln(nama);
Write('Alamat',x:19); Readln(alamat);
Writeln('Perincian Tagihan :');
Writeln('Biaya berlangganan',x:12,'Rp.',langganan:8);
Writeln('Biaya pulsa 235*Rp.100',x:3,'Rp.',pulsa*235:8);
Writeln('-----------------------------------------');
Writeln('Total',x:20,'Rp.',langganan+235* pulsa:8);
Readln;
End.
Output
Nomor langganan :20
Nama langganan :irpan KW
Alamat :Bekasi
Perincian Tagihan:
Biaya berlangganan :Rp. 3000
Biaya pulsa 235*Rp.100 :Rp. 23500
---------------------------------------------
Total :Rp. 26500
PEMPROGRAMAN PASCAL 22
s tart
jp,nmr,nm,almt
total,bp,bl
bl=3000
jp=235
bp=jp*100
total=bl+bp
Nomor langganan :
nmr
nama langganan
nm
alamat
almt
perincian tagihan
---------------------
total : total
s top
5. Program
Uses Crt;
Var nama,NIP:string;
gaji,tunjangan,jam,lembur,total:Real;
Begin
Clrscr;
Write('Nama');gotoxy(20,1);Write(':');Readln(nama);
Write('NIP');gotoxy(20,2);Write(':');Readln(NIP);
Write('Gaji Pokok');gotoxy(20,3);Write(':');Readln(gaji);
Write('Jumlah Jam
Lembur');gotoxy(20,4);Write(':');Readln(jam);
Writeln;
tunjangan:=15*gaji/100;
lembur:=jam*gaji/100;
Total:=gaji+tunjangan+lembur;
Writeln('Perincian gaji pegawai :');
Writeln('------------------------');
Write('Gaji Pokok');gotoxy(20,8);Writeln(':
Rp',gaji:10:0);
Write('Tunjangan');gotoxy(20,9);Writeln(':
Rp',tunjangan:10:0);
Write('Upah Lembur');gotoxy(20,10);Writeln(':
Rp',lembur:10:0);
Writeln('-------------------------------');
PEMPROGRAMAN PASCAL 23
Write('Gaji Total');gotoxy(20,12);Writeln(':
Rp',total:10:0);
Readln;
End.
Output
Nama :Irpan KW
nip :200822018
Gaji pokok :1200000
Jumlah jam lembur :6
NIM NIM
Nama Lengkap
-
-
NIM
-
-
Jurusan
-
-
Turbo Pascal
Nama Panggilan Nama
Panggilan
Jawab :
1. Program
Uses Crt;
PEMPROGRAMAN PASCAL 24
Var r,t,s,L,V:Real;
Const phi=3.14;
Begin
Clrscr;
Write('Tinggi
Kerucut');Gotoxy(20,1);Write(':');Readln(t);
Write('Jari-Jari');Gotoxy(20,2);write(':');Readln(r);
s:=sqrt(r*r+t*t);
L:=(phi*r*r)+(phi*r*s);
V:=(phi*r*r*t)/3;
Write('Luas Kerucut');Gotoxy(20,3);Writeln(':',L:10:4);
Write('Volume
Kerucut');Gotoxy(20,4);Writeln(':',V:10:4);
Readln;
End.
Output
(Misalkan tinggi dan jari-jari sebuah kerucut adalah 10)
2. Program
Uses Crt;
Begin
Gotoxy(1,1);Writeln('200822018');
Gotoxy(72,1);Writeln('200822018');
Gotoxy(37,8);Writeln('Irpan KW');
Writeln;Writeln;
Gotoxy(36,11);Writeln('200822018');
Writeln;Writeln;
Gotoxy(31,14);Writeln('Teknik Informatika');
Writeln;Writeln;
Gotoxy(34,17);Writeln('Turbo Pascal');
Gotoxy(1,25);Write('Irpan KW');
Gotoxy(74,25);Writeln('Irpan KW');
Readln;
End.
Output
200822018
200822018
Irpan KW
200822018
Teknik Informatika
Turbo Pascal
Irpan KW Irpan
KW
PEMPROGRAMAN PASCAL 25
3. Program
Uses Crt;
Var x,y:integer;
Begin
Clrscr;
Write('Input Baris (3-6) :');Readln(y);
Write('Input Kolom (5-10) :');Readln(x);
Clrscr;
Gotoxy(x,y);Writeln('Irpan KW');
Delay(7000);
Gotoxy(x+5,y+3);Writeln('200822018');
Delay(9000);
Gotoxy(x+14,y+8);Writeln('Teknik Informatika');
Delay(4000);
Gotoxy(x+16,y+12);Writeln('Saya Belajar Pascal');
Readln;
End.
Output
Irpan kw
20082018
Teknik Informatika
BAB IV
Perulangan
A. Perulangan For
Perulangan for digunakan untuk mengulang satu statement atau satu blok statement sesuai
jumlah yang ditentukan.
Macam-macam perulangan for :
1. Perulangan for Positif
PEMPROGRAMAN PASCAL 26
Perulangan dengan penghitung (counter) dari kecil ke besar, perulangan ini
dibentuk dengan menggunakan statement For-to-do.
Contoh 1
Var I:integer;
Begin
For I:= 1 to 5 do
Writeln(‘Pascal’);
Readln;
End.
Output
Pascal
Pascal
Pascal
Pascal
Pascal
Contoh 2
Var I:integer;
Begin
For I:= 1 to 5 do
Begin
Writeln(‘Pascal’);
End; Readln;
End.
Output
Pascal
Pascal
Pascal
Pascal
Pascal
Contoh 3
Var I:integer;
Begin
For I:= 1 to 5 do {mengulang 1 statement di bawahnya dari begin sampai end}
Begin
Write(I);
Writeln(‘Belajar’);
End; Readln;
End.
Output
1Belajar
2Belajar
3Belajar
4Belajar
5Belajar
Contoh 4
Var I:integer;
Begin
For I:= 1 to 5 do {hanya mengulang nilai ‘I’ dari 1 sampai 5}
Write(I);
Writeln(‘Belajar’);
PEMPROGRAMAN PASCAL 27
Readln;
End.
Output
12345Belajar
Contoh 5
Uses Crt;
Var I:Byte;
Begin
Clrscr;
For I:= 1 to 5 do {hanya mengulang nilai ‘I’ dari 1 sampai 5}
Writeln(I);
Writeln(‘Selesai’);
Readln;
End.
Output
1
2
3
4
5
Selesai
Contoh 6
Uses Crt;
Var I:Byte;
Begin
Clrscr;
For I:= 1 to 5 do {mengulang 1 statement di bawahnya dari begin sampai end}
Begin
Write(I);
Writeln(‘Selesai’);
End; Readln;
End.
Output
1Selesai
2Selesai
3Selesai
4Selesai
5Selesai
Contoh 7
Uses Crt;
Var I,awal,akhir,jumlah:word;
Begin
Clrscr;
Write(‘Masukan Batas Awal :’);Readln(awal);
Write(‘Masukan Batas Akhir :’);Readln(akhir);
PEMPROGRAMAN PASCAL 28
Jumlah:=0;
For I:=awal to akhir do
Jumlah:=jumlah + I;
Writeln(‘Jumlah bilangan-bilangan tersebut adalah
:’,jumlah);
Readln;
End.
Output
(misalkan batas awal yg diinput 1 dan batas akhirnya 5)
Contoh 8
Uses Crt;
Var a,I,awal,akhir,jumlah:word;
Begin
Clrscr;
Write('Masukan Batas Awal :');Readln(awal);
Write('Masukan Batas Akhir :');Readln(akhir);
Jumlah:=0;
For I:=awal to akhir do
Begin
Write('Masukan nilai ke',I,'=');
Readln(a);
jumlah:=jumlah + a;
End;
Writeln('Jumlah bilangan-bilangan tersebut adalah
:',jumlah);
Readln;
End.
Output
(misalkan batas awal yg diinput 1 dan batas akhirnya 5)
Contoh 9
Uses Crt;
Var X:integer;
C,F:Real;
Begin
PEMPROGRAMAN PASCAL 29
Clrscr;
Writeln('------------------------------');
Writeln(' Celcius Fahrenheit ');
Writeln('------------------------------');
C:=0;
For X:=1 to 10 do
Begin
F:=1.8*C+32;
Writeln(C:8:2,F:14:2);
C:=C+0.5;
End;
Writeln('------------------------------');
Readln;
End.
Output
Contoh 1:
Uses Crt;
Var I:Byte;
Begin
Clrscr;
For I:=5 downto 1 do
Writeln(I);
Writeln(‘Selesai’);
Readln;
End.
Output
5
4
3
2
1
Selesai
Contoh 2:
PEMPROGRAMAN PASCAL 30
Uses Crt;
Var B:Integer;
Begin
Clrscr;
Writeln(‘-------------------------------------------‘);
Writeln(‘ B B*B B*B*B 1/B ‘);
Writeln(‘-------------------------------------------‘);
For B:=10 downto 1 do
Writeln(B:3,B*B:8,B*B*B:8,1/B:12:2);
Readln;
End.
Output
Contoh 2
Uses Crt;
Var I,J:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
PEMPROGRAMAN PASCAL 31
For J:=1 to 4 do
Writeln(I:8,J:5);
Writeln;
End;
Readln;
End.
Output
Contoh 3
Uses Crt;
Var I,J,K:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
For J:=1 to 4 do
Begin
For K:=1 to 3 do
Write(I:8,J:5,K:4);
Writeln;
End;
End;
Readln;
End.
Output
PEMPROGRAMAN PASCAL 32
Contoh 3
Uses Crt;
Var I,J:Integer;
Begin
Clrscr;
For I:=1 to 3 do
Begin
For J:=1 to 5 do
Write(‘*’);
Writeln;
End;
Readln;
End.
Output
*****
*****
*****
Contoh 4
Uses Crt;
Var I,J,K:Integer;
Begin
Write(‘Masukan Jumlah Bintang :’);Readln(I);
For J:=1 to I do
Begin
For K:=1 to J do
Write(‘*’);
Writeln;
End;
Readln;
End.
Output
(misalkan jumlah bintang yang diinput adalah 4)
Masukan Jumlah Bintang :4
*
**
***
****
B. Pengulangan while do
Struktur pengulangan while do menggunakan ekspresi logika untuk menghentikan
pengulangan. Struktur while do akan terus mengulang selama syarat terpenuhi, syarat di
dalam pengulangan while do merupakan syarat dilakukannya pengulangan.
Contoh 1
Var I:Integer;
Begin
I:=0;
While I<5 do
Begin
Writeln(I);
I:=I+1;
End;
PEMPROGRAMAN PASCAL 33
Readln;
End.
Output
0
1
2
3
4
Contoh 2
Uses Crt;
Var Ni,R,T:real;
I,N,J:Integer;
Begin
Clrscr;
Write(‘Jumlah Data ?’);Readln(N);
Writeln;
I:=0;
T:=0;
While I<N do
Begin
I:=I+1;
Write(‘Nilai data ke’,I,’?’);Readln(Ni);
T:=T+Ni;
End;
R:=T/N;
Writeln;
Writeln(‘Total Nilai =’,T:8:2);
Writeln(‘Jumlah data =’,N:3);
Writeln(‘Rata-rata nilai =’,R:8:2);
Readln;
End.
Output
(misalkan jumlah data yang diinput 3)
PEMPROGRAMAN PASCAL 34
Write(‘Jumlah Data ?’);Readln(N);
Writeln;
I:=0;
T:=0;
While I<N do
Begin
I:=I+1;
Write(‘Nilai data ke :’,I,’?’);Readln(Ni);
T:=T+Ni;
End;
R:=T/N;
Writeln;
Writeln(‘Total Nilai =’,T:8:2);
Writeln(‘Jumlah Data =’,N:3);
Writeln(‘Rata-rata Nilai =’,R:8:2);
Writeln;
Write(‘Akan mengulang lagi (Y/T) ?’);Readln(Lagi);
End;
End.
Output
(misalkan jumlah data yang diinput 3)
Contoh 1
Uses Crt;
Var I:Byte;
Begin
Clrscr;
I:=1;
Repeat
Writeln(I);
Inc(I);
Until I>5;
Readln;
End.
Output
1
2
3
4
5
PEMPROGRAMAN PASCAL 35
Contoh 2
Uses Crt;
Var a,b,c,d,y:Real;
Begin
Write(‘Berapa rupiah batas awal tabel =’);readln(a);
Write(‘Berapa rupiah batas akhir tabel =’);readln(b);
Write(‘Berapa rupiah pertambahannya =’);readln(c);
Writeln;
Writeln(‘Tabel Kurs’);
Writeln;
Writeln(‘ Rupiah Dollar Yen ‘);
Writeln(‘============================’);
Repeat
d:=a/1900;
y:=a/900;
Writeln(a:9:2,’’,d:9:2,’’,y:9:2);
a:=a+c;
Until a>=b;
Writeln(‘============================’);
Readln;
End.
Output
(misalkan batas awal 5000, batas akhir 25000 & pertambahnnya 5000)
Contoh 3
Uses Crt;
Const harga_bensin=700;
Harga_solar=600;
Var bensin,solar,I:integer;
Begin
Clrscr;
Writeln(‘Tabel Harga Bahan Bakar’);
Writeln(‘====================’);
Writeln(‘ Liter Bensin Solar’);
Writeln(‘===================’);
I:=1;
Repeat
Bensin:=700*I;
Solar:=600*I;
Writeln(I:8,’’,Bensin:10,’’,Solar:10);
I:=I+1;
Until I>20;
Writeln(‘===================’);
Readln;
PEMPROGRAMAN PASCAL 36
End.
Output
Contoh 1
Uses Crt;
Var A,B,C:Real;
Begin
Clrscr;
Writeln(‘=====================’);
Writeln(‘Sisi A Sisi B Sisi C’);
Writeln(‘=====================’);
A:=1;
Repeat
B:=0;
Repeat
C:=sqrt(A*A+B*B);
Writeln(A:6:2,B:9:2,C:9:2);
B:=B+5;
Until B>25;
A:=A+1;
Until A>3;
Writeln(‘=====================’);
Readln;
End.
Output
PEMPROGRAMAN PASCAL 37
Latihan 3 (Buatlah Program, Output dan Flowchartnya)
1. Buat program perulangan for bersarang untuk mengatur waktu meledaknya bom
dengan ketentuan :
Bila waktu menunjukan 1 : 00 : 00 akan muncul tulisan ‘BOOOMM...!’ dimana set
awal waktunya 0 : 00 : 00 dan dengan bantuan Delay (5000) serta perulangan dimulai
dari detik ke menit lalu ke jam.
2. Ganti Soal no.1 dengan menggunakan perulangan tersarang WHILE DO.
3. Ganti Soal no.2 dengan menggunakan perulangan tersarang REPEAT-UNTIL.
4. Buatlah program untuk mencatat 10 buah bilangan genap pertama.
5. Buatlah program untuk membuat outpunya :
*****
****
***
**
Untuk jumlah bintang diinput
6. Buat program untuk output :
‘Saya belajar pascal’ {sebanyak 5x dengan delay waktu 5 detik perkalimat}.
7. Buat program untuk output :
‘Saya belajar di lab. Komputer’ {posisi (x,y) diinput antara (3-10,10-20);
Hasil output harus sekolom sebanyak 5x}.
8. Buat program menggunakan for do untuk mencetak angka 10 sampai 80 dengan
selisih 5.
9. Buat program dengan :
Input : posisi baris dan kolom
Output : ‘Saya lagi belajar pascal’ sebanyak 6 kali dengan selisih 2 baris perkalimat
dan pada kolom yang sama dengan selisih delay 5 detik perkalimat.
Jawab
1. Program
Uses Crt;
PEMPROGRAMAN PASCAL 38
Var J,K:integer;
Begin
Clrscr;
Gotoxy(4,3);Write('0');
Gotoxy(7,3);Write(':');
Delay(5000);
For J:=0 to 59 do
Begin
Gotoxy(9,3);Write(J:2);
Gotoxy(12,3);write(':');
Delay(5000);
For K:=0 to 59 do
Begin
Gotoxy(14,3);Write(K:2);
Delay(5000);
End;
End;
Gotoxy(4,3);Write('1');
Gotoxy(7,3);Write(':');
Gotoxy(9,3);write('00');
Gotoxy(12,3);Write(':');
Gotoxy(14,3);Write('00');
Gotoxy(25,15);Write('BOOOOM.....!');
Readln;
End.
2. Program
Uses Crt;
Var J,K:integer;
Begin
Clrscr;
Gotoxy(4,3);Write('0');
Gotoxy(7,3);Write(':');
Delay(5000);
J:=-1;
While J < 59 do
Begin
J:=J+1;
Gotoxy(9,3);Write(J:2);
Gotoxy(12,3);write(':'); Delay(5000);
K:=-1;
While K < 59 do
Begin
K:=K+1;
Gotoxy(14,3);Write(K:2); Delay(5000);
End;
End;
Gotoxy(4,3);Write('1');
Gotoxy(7,3);Write(':');
Gotoxy(9,3);write('00');
Gotoxy(12,3);Write(':');
Gotoxy(14,3);Write('00');
Gotoxy(25,15);Write('BOOOOM.....!');
Readln;
End.
PEMPROGRAMAN PASCAL 39
3. Program
Uses Crt;
Var J,K:integer;
Begin
Clrscr;
Gotoxy(4,3);Write('0');
Gotoxy(7,3);Write(':');
Delay(5000);
J:=-1;
Repeat
J:=J+1;
Gotoxy(9,3);Write(J:2);
Gotoxy(12,3);write(':');
Delay(5000);
K:=-1;
Repeat
K:=K+1;
Gotoxy(14,3);Write(K:2);
Delay(5000);
Until K >= 59;
Until J >= 59;
Gotoxy(4,3);Write('1');
Gotoxy(7,3);Write(':');
Gotoxy(9,3);write('00');
Gotoxy(12,3);Write(':');
Gotoxy(14,3);Write('00');
Gotoxy(25,15);Write('BOOOOM.....!');
Readln;
End.
BOOOOM.....!
4. Program
Uses Crt;
Var I:integer;
Begin
Clrscr;
I:=0;
repeat
I:=I+2;
writeln(I);
until I=20;
Readln;
end.
Output
PEMPROGRAMAN PASCAL 40
5. Program
Uses Crt;
Var I,J,K:Integer;
Begin
Clrscr;
Write('Masukan Jumlah Bintang :');Readln(I);
For J:=I downto 2 do
Begin
For K:= 1 to J do
Write('*');
Writeln;
End;
Readln;
End.
Output
Misalkan jumlah bintang yg diinput adalah 6
6. Program
Uses Crt;
Var I:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
Writeln('Saya Belajar Pascal');
Delay(5000);
End;
Readln;
End.
Output
PEMPROGRAMAN PASCAL 41
7. Program
Uses Crt;
Var I,y,k,b:Integer;
Begin
Clrscr;
Write('Input Posisi Kolom (3-10) :');Readln(k);
Write('Input Posisi Baris (10-20) :');Readln(b);
b:=b-1;
For I:= 1 to 5 do
Begin
y:=b+I;
Gotoxy(k,y);
Writeln('Saya Belajar di Lab. Komputer');
End;
Readln;
End.
Output
Misalkan posisi kolom yang diinput 10 dan posisi baris yang diinput 3
8. Program
Uses Crt;
Var I,n:integer;
Begin
Clrscr;
For I :=2 to 16 do
Begin
n:=I*5;
Writeln(n);
End; Readln;
End.
Output
PEMPROGRAMAN PASCAL 42
9. Program
Uses Crt;
Var I,b,k,y:integer;
Begin
Clrscr;
Write('Input Posisi Kolom :');Readln(k);
Write('Input Posisi Baris :');Readln(b);
b:=b-2;
For I:= 1 to 6 do
Begin
y:=b+2;
Gotoxy(k,y);
Writeln('Saya Lagi Belajar Pascal');
Delay(5000);
End;
Readln;
End.
Output
Misalkan posisi kolom yang diinput 3 dan posisi baris yang diinput 3
Flowchart
PEMPROGRAMAN PASCAL 43
mulai
mulai
jumlah bintang
K:=-1
K:=0
detik:=K+1;
K:=K+1
tidak tidak
detik>59
K:=jumlah bintang
ya
ya
J:=-1
J:=jumlah bintang
menit:=J+1;
J:=J-1
tidak
menit:>59 tidak
J<2
ya
ya
Cetak Cetak
menit,detik Bintang
selesai selesai
mulai
mulai
I:=0
I:=0
I:=I+1
I:=I+2;
P:=saya belajar
pascal
Cetak I
Cetak
P
tidak
I>20 tidak
I>5
ya
ya
selesai selesai
Nomor 4 Nomor 6
PEMPROGRAMAN PASCAL 44
mulai
k,b
mulai
b:=b-1
I:=2
y:=b+I
I:=I+1
gotoxy (k,y)
n:=I*5
p:=Saya Belajar di Lab. Komputer
Cetak
Cetak n
P
tidak
tidak I>16
I>5
ya
ya
selesai selesai
Nomor 7 Nomor 8
mulai
k,b
b:=b-2
I:=b+2
gotoxy (k,b)
Delay 5000
Cetak
p
ya
I>6
tidak
selesai
Nomor 9
PEMPROGRAMAN PASCAL 45
Tugas 2 (Buatlah Program, Output dan Flowchartnya)
1. Buatlah programnya
a. Buatlah program untuk menghitung bilangan ganjil dari akhir ke awal (Batas awal &
akhir diinput).
b. Buatlah program untuk menghitung bilangan genap pangkat dari 0-30.
2. Buatlah program untuk posisi baris dan kolom diinput, pada posisi tersebut akan tampil
Nama, NIM, Jurusan, setelah 7 detik beda 2 baris & 3 kolom akan tampil ‘Saya belajar
Pascal’ sebanyak 4x sejajar.
Nama
NIM
Jurusan
Saya Belajar Pascal
Saya Belajar Pascal
Saya Belajar Pascal
Saya Belajar Pascal
3. Posisi baris dan kolom diinput, pada posisi baris dan kolom yang diinput akan tampil
nama lengkap, anda setelah 6 detik beda 3 baris dan 4 kolom akan tampil NIM sebanyak
3x dengan beda 2 baris dan 5 kolom per NIM, setelah itu akan tampil Jurusan sebanyak 3x
dengan beda 2 kolom.
Nama Lengkap
NIM
NIM
NIM
IF IF IF
Jawab
1. a. Program
Uses Crt;
Var awal,akhir,I:integer;
Begin
Clrscr;
Write(‘Input batas awal (ganjil) :’);Readln(awal);
Write(‘Input batas akhir (ganjil) :’);Readln(akhir);
I:=akhir+2;
Repeat
I:=I-2;
Writeln(I);
Until I=awal;
Readln;
End.
Output
Misalkan batas awal yang diinput 1 dan batas akhir yang diinput 11
PEMPROGRAMAN PASCAL 46
b. Program
Uses Crt;
Var I,n:integer;
Begin
Clrscr;
I:=-2;
Repeat
I:=I+2;
n:=I*I;
Writeln(n);
Until I=30;
Readln;
End.
Output
2. Program
Uses Crt;
Var I,B,K,X,Y:Integer;
Begin
Clrscr;
Write('Input Kolom:');Readln(K);
Write('Input Baris:');Readln(B);
Clrscr;
Gotoxy(K,B);Writeln('Irpan KW ');
B:=B+1;
Gotoxy(K,B);Writeln('200822018');
B:=B+1;
Gotoxy(K,B);Writeln('Teknik Informatika');
Delay(7000);
For I:=2 to 5 do
Begin
X:=K+3;
Y:=B+I;
Gotoxy(X,Y);Writeln('Saya Belajar Pascal');
End; Readln;
End.
Output
Misalkan posisi baris yang diinput 3 dan posisi kolom yang diinput 3
Irpan KW
200822018
PEMPROGRAMAN PASCAL 47
Teknik Informatika
3. Program
Uses Crt;
Var I,K,B,X,Y:Integer;
Begin
Clrscr;
Write('Input Kolom:');Readln(K);
Write('Input Baris:');Readln(B);
Clrscr;
Gotoxy(K,B);Writeln('Irpan KW');
Delay(6000);
X:=K-1;
Y:=B+1;
For I:=1 to 3 do
Begin
X:=X+5;
Y:=Y+2;
Gotoxy(X,Y);Writeln('200822018');
End;
X:=X-18;
Y:=Y+2;
For I:=1 to 3 do
Begin
X:=X+20;
Gotoxy(X,Y);Writeln('Teknik Informatika');
End;
Readln;
End.
Flowchart
PEMPROGRAMAN PASCAL 48
mulai
mulai
awal, akhir
I:=-2
I:=akhir+2
I:=I+2
I:=I-2 n:=I*I
Cetak Cetak
I n
ya ya
I = awal I = 30
tidak tidak
selesai selesai
mulai k,b
X:=k-1
k,b Y:=b+1
X:=X+5
b:=b+1 Y:=Y+2
gotoxy (X,Y)
gotoxy (k,b)
tidak
I>3
I:=2
ya
X:=X-18
X:=K+3
Y:=Y+2
Y:=B+I
X:=X+20
gotoxy (X,Y)
gotoxy (X,Y)
Cetak
Nama,NIM,Jurusan
Cetak
Saya Belajar Pascal Nama,NIM
Jurusan
tidak
I>5 tidak
I>3
ya
ya
selesai selesai
Nomor 2 Nomor 3
PEMPROGRAMAN PASCAL 49
BAB V
Penyeleksian Kondisi
A. Pendahuluan
Pengambilan keputusan dalam pascal ada dua statement yaitu If ... then dan Case ... of,
proses pengambilam keputusan berepran penting dalam teknik pemprograman tersetruktur.
Output
Misalkan nilai yang diinput 85
Contoh 2 :
Uses Crt;
Var pilihan:byte;
R,L,T,Luas:Real;
Begin
Gotoxy(10,2);Writeln(‘PILIHAN’);
Gotoxy(10,4);Writeln(‘1. Menghitung luas lingkaran’);
Gotoxy(10,6);Writeln(‘2. Menghitung luas segitiga’);
Gotoxy(10,8);Writeln(‘3. Menghitung luas bujursangkar’);
Gotoxy(10,10);Writeln(‘0. Selesai’);
Pilihan:=9;
While(pilihan<0) or (pilihan>3) do
Begin
Gotoxy(10,12);Write(‘Pilih nomor (0-3)?’);Readln(pilihan);
End;
Clrscr;
If pilihan=1 then
Begin
Write(‘Jari-jari Lingkaran =’);Readln(R);
Luas:=3.14*R*R;
Writeln(‘Luas Lingkaran =’,Luas:9:2);
End;
PEMPROGRAMAN PASCAL 50
If pilihan=2 then
Begin
Write(‘Sisi Alas =’);Readln(L);
Write(‘Sisi Tinggi =’);Readln(T);
Luas:=0.5*L*T;
Writeln;
Writeln(‘Luas Segitiga =’,Luas:9:2);
End;
If pilihan=3 then
Begin
Write(‘Sisi Panjang =’);Readln(T);
Write(‘Sisi Lebar =’);Readln(L);
Luas:=T*L;
Writeln(‘Luas Bujursangkar =’,Luas:9:2);
End;
Readln;
End.
Output
Contoh 3 :
Uses Crt;
Var pilih:integer;
Begin
Clrscr;
Writeln(‘Daftar Tabel Penjualan Barang’);
Writeln(‘=======================================’);
Writeln(‘Jika anda pilih 1 maka terdapat daftar harga
sabun’);
Writeln(‘Jika anda pilih 2 maka terdapat daftar harga
shampo’);
Writeln(‘Jika anda pilih 0 maka tidak memilih daftar harga’);
Writeln(‘=======================================’);
Writeln;
Writeln(‘Pilihan anda 1,2,0.....’);Readln(pilih);
If pilih=1 then
Begin
Writeln(‘Daftar Harga-harga Sabun’);
Writeln(‘====================’);
Writeln(‘Sabun Citra Rp.800’);
Writeln(‘Sabun Lifeboy Rp.450’);
Writeln(‘Sabun Lux Rp.450’);
Writeln(‘Sabun Prity Rp.300’);
End;
PEMPROGRAMAN PASCAL 51
If pilih=2 then
Begin
Writeln(‘Daftar Harga-harga Shampo’);
Writeln(‘====================’);
Writeln(‘Shampo Sunsilk Rp.700’);
Writeln(‘Shampo Brisk Rp.1100’);
Writeln(‘Shampo Rejoice Rp.1000’);
Writeln(‘Sabun Kao Rp.600’);
End;
If pilih=0 then
Begin
Writeln(‘Anda tidak memilih daftar harga’);
End;
Readln;
End.
Output
Misalkan pilihannya adalah 2
PEMPROGRAMAN PASCAL 52
Contoh 2 :
Uses Crt;
Var nilai:integer;
Nama,nim:string;
Begin
Clrscr;
Write(‘Nama anda ?’);Readln(Nama);
Write(‘NIM anda ?’);Readln(nim);
Write(‘Berapa nilai anda ?’);Readln(nilai);
If (nilai<=100) and (nilai>=80) then
Begin
Writeln(‘Anda mendapat nilai A’);
Writeln(‘Poin yang anda peroleh = 4’);
End;
If (nilai<=79) and (nilai>=70) then
Begin
Writeln(‘Anda mendapat nilai B’);
Writeln(‘Poin yang anda peroleh = 3’);
End;
If (nilai<=69) and (nilai>=60) then
Begin
Writeln(‘Anda mendapat nilai C’);
Writeln(‘Poin yang anda peroleh = 2’);
End;
If (nilai<=59) and (nilai>=50) then
Begin
Writeln(‘Anda mendapat nilai D’);
Writeln(‘Poin yang anda peroleh = 1’);
End
Else
If (nilai<=49) then
Begin
Writeln(‘Anda mendapat nilai E’);
Writeln(‘Poin yang anda peroleh = 0’);
End;
Readln;
End.
Output
Misalkan nilainya adalah 80
PEMPROGRAMAN PASCAL 53
Variable dan konstanta yang dapat dipakai hanyalah yang mempunyai ordinal, yaiutu tipe
integer dan char.
Contoh 1:
Uses Crt;
Var nilai:char;
Begin
Write(‘Nilai Huruf yang didapat?’);
Readln(nilai);
Case nilai of
‘A’: Writeln(‘Sangat Baik’);
‘B’: Writeln(‘Baik’);
‘C’: Writeln(‘Cukup’);
‘D’: Writeln(‘Kurang’);
‘E’: Writeln(‘gagal’);
End;
Readln;
End.
Output
Misalkan nilai yang diinput adalah A
Contoh 2:
Uses Crt;
Var pembelian,potongan:integer;
Begin
Clrscr;
Write(‘Total Pembelian ?’);Readln(pembelian);
Case pembelian of
0..1000:potongan:=100;
1001..10000:potongan:=500;
10001..30000:potongan:=200;
End;
Writeln(‘Jumlah pembelian =Rp’,pembelian:7);
Writeln(‘Potongan =Rp’,potongan:7);
Writeln(‘-----------------------‘);
Writeln(‘Jumlah yang harus dibayar=Rp’,pembelian-potongan:7);
Readln;
End.
Output
Misalkan jumlah pembelian yang diinput 10000
PEMPROGRAMAN PASCAL 54
Contoh 3:
Uses Crt;
Var pilihan:Byte;
kg,beras,ketan,terigu:integer;
Begin
Clrscr;
Gotoxy(10,2);Writeln(‘Pilihan anda :’);
Gotoxy(10,4);Writeln(‘1. Menghitung harga beras’);
Gotoxy(10,6);Writeln(‘2. Menghitung harga ketan’);
Gotoxy(10,8);Writeln(‘3. Menghitung harga terigu’);
Gotoxy(10,10);Writeln(‘Pilih nomor 1-3 ?’);Readln(pilihan);
Clrscr;
Case pilihan of
1:begin
Writeln(‘Menghitung harga beras’);
Writeln(‘===================’);Writeln;
Writeln(‘Berapa kilogram yang anda
beli’);Readln(kg);
beras:=kg*900;
Write(‘Anda harus membayar Rp’,beras:7);
End;
2:begin
Writeln(‘Menghitung harga ketan’);
Writeln(‘===================’);Writeln;
Writeln(‘Berapa kilogram yang anda
beli’);Readln(kg);
ketan:=kg*1000;
Write(‘Anda harus membayar Rp’,ketan:7);
End;
3:begin
Writeln(‘Menghitung harga terigu’);
Writeln(‘===================’);Writeln;
Writeln(‘Berapa kilogram yang anda
beli’);Readln(kg);
terigu:=kg*900;
Write(‘Anda harus membayar Rp’,terigu:7);
End
Else
Begin
Write(‘Pilihan anda salah’);
Write(‘Pilih salah satu dari 1,2 atau 3’);
End;
End;
Readln;
End.
Output
PEMPROGRAMAN PASCAL 55
Menghitung harga beras
===========
Jawab
1. Program
Uses winCrt;
Var pembelian,potongan,bayar:real;
Begin
Clrscr;
Write('Jumlah pembelian ?');Readln(pembelian);
if pembelian > 50000 then
Begin
potongan:=0.1*pembelian;
PEMPROGRAMAN PASCAL 56
bayar:=pembelian-potongan;
End
Else
Begin
potongan:=0*pembelian;
bayar:=pembelian;
End;
Writeln('Potongan =Rp.',potongan:7:2);
Writeln('Jumlah yang harus dibayar =Rp.',bayar:7:2);
Readln;
End.
Output
Misalkan jumlah pembeliannya 100000
2. Program
Uses Crt;
Var n:Integer;
Begin
Clrscr;
Write('Berapa Nilai Anda?');Readln(n);
If n>60 then
Writeln('Anda Lulus');
If n=60 then
Writeln('Anda ikut perbaikan')
Else
if n<60 then
Writeln('Anda mengulang');Readln;
End.
Output
Berapa Nilai Anda?70
Anda Lulus
or
Berapa Nilai Anda?60
Anda ikut perbaikan
or
Berapa Nilai Anda?50
Anda mengulang
3. Program
Uses Crt;
Var Angka,kg,harga:longint;
x:Char;
Begin
Clrscr;
Writeln('Daftar Perhitungan Penjualan Beras dan Ketan');
Writeln('============================================');
Writeln('Jika anda memilih angka 1 = maka daftar beras');
Writeln('Jika anda memilih angka 2 = maka daftar ketan');
PEMPROGRAMAN PASCAL 57
Writeln;
Write('Pilihan anda ?');Readln(angka);
Writeln;
angka:=4;
While (angka<1) or (angka>2) do
Begin
Write('Mau coba lagi (Y/N) ?');Readln(x);
if x='N' then
Write('Selesai');
if x='Y' then
Write('Pilihan anda (1 or 2) ?');Readln(angka);
End;
Writeln;
Case angka of
1:Begin
Write('Berapa kilo beras yang anda beli ?
');Readln(kg);
harga:=kg*900;
Write('Anda harus membayar Rp.',harga);
End;
2:Begin
Write('Berapa kilo ketan yang anda beli ?
');Readln(kg);
harga:=kg*1000;
Write('Anda harus membayar Rp.',harga);
End;
End;
Readln;
End.
Output
Daftar Perhitungan Penjualan Beras dan Ketan
====================================
Jika anda memilih angka 1 = maka daftar beras
Jika anda memilih angka 2 = maka daftar ketan
Pilihan anda ?6
or
Pilihan anda ?6
PEMPROGRAMAN PASCAL 58
Mau coba lagi (Y/N) ?N
Selesai
4. Program
Uses Crt;
Var nama,NIM,jurusan:String;
gol:Char;
pajak,pph,bersih,gaji:real;
Begin
Clrscr;
Write('Nama :');Readln(nama);
Write('NIM :');Readln(NIM);
Write('Jurusan :');Readln(jurusan);
Write('Gaji :');Readln(gaji);
If (gaji<=500000) then
Begin
gol:='A';
pajak:=0.75;
pph:=0.0075*gaji;
End;
If (gaji>500000) and (gaji<=1000000) then
Begin
gol:='B';
pajak:=2;
pph:=0.02*gaji;
End;
If (gaji>1000000) and (gaji<=5000000) then
Begin
gol:='C';
pajak:=5;
pph:=0.05*gaji;
End
Else
If (gaji>5000000) then
Begin
gol:='D';
pajak:=10;
pph:=0.1*gaji;
End;
Writeln('Golongan :',gol);
Writeln('Besarnya Pajak :',pajak:4:2,'%');
Writeln('Pajak yang harus dibayar :',pph:7:0);
Writeln('--------------------------------------------');
bersih:=gaji-pph;
Writeln('Gaji Bersih:',bersih:7:0);
Readln;
End.
Output
Nama :Irpan KW
NIM :200822018
PEMPROGRAMAN PASCAL 59
Jurusan :Teknik Informatika
Gaji :1500000
Golongan :C
Besarnya Pajak :5.00%
Pajak yang harus dibayar : 75000
-----------------------------------------------------------
Gaji Bersih :1425000
Flowchart
PEMPROGRAMAN PASCAL 60
mulai
pembelian
tidak
pembelian > 50000 bayar:=pembelian
ya
bayar:=pembelian-(0.1*pembelian)
Cetak
bayar
selesai
mulai
Nilai
ya
nilai > 60 p:=Anda Lulus
tidak
ya
nilai = 60 p:=Anda ikut perbaikan
tidak
p:=Anda mengulang
cetak
p
selesai
Nomor 1 Nomor 2
PEMPROGRAMAN PASCAL 61
mulai
mulai
Nama,NIM
Jurusan,Gaji
angka
ya ya gol:=A
gaji<=500000 pajak:=0.75%
pph:=0.0075*gaji
ya
angka < 1 mau tidak
Y/N
angka > 2 coba lagi
ya gol:=B
gaji<=1000000 pajak:=2%
pph:=0.02*gaji
tidak
tidak
ya
angka = 1 kg ya gol:=C
gaji<=5000000 pajak:=5%
tidak pph:=0.05*gaji
tidak tidak
kg harga:=kg*900 gol:=D
pajak:=10%
pph:=0.1*gaji
harga:=kg*1000
gaber:=gaji-pph
Cetak
Cetak Nama,NIM,Jurusan
harga gaji,pajak,gaber
selesai selesai
Nomor 3 Nomor 4
PEMPROGRAMAN PASCAL 62