Professional Documents
Culture Documents
Disusun Oleh :
Nama : Irpan Kusuma Wijaya
NIM : 200822018
Fakultas : Teknologi Industri
Jurusan : Teknik Informatika
DAFTAR ISI
HALAMAN JUDUL ............................................................................................. 1
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
dayak_timur@yahoo.com
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
Contoh 2
Begin
Writeln(‘Hai apa kabar?’);
Write(‘Baik-baik saja’);
Readln;
End.
Output
Hai apa kabar?
Baik-baik saja
Contoh 3
Begin
Write(‘Hai apa kabar?’);
Write(‘Baik-baik saja’);Readln;
End.
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
PEMPROGRAMAN PASCAL 7
dayak_timur@yahoo.com
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
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
PEMPROGRAMAN PASCAL 8
dayak_timur@yahoo.com
-Clrscr harus dipasangkan dengan Uses WinCrt bila pascal dijalankan dalam
Windows.
Contoh 3
Var Nama:String[15];
Begin
Nama :=’Shabira’;
Write(‘Nama :’);
Write(Nama);
Readln;
End.
Output
Nama : Shabira
Contoh 4
Var Nama:String[15];
Begin
Nama :=’Shabira’;
Writeln(‘Nama :’);
Writeln(Nama);
Readln;
End.
Output
Nama :
Shabira
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
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
PEMPROGRAMAN PASCAL 9
dayak_timur@yahoo.com
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
Contoh 8
Uses Crt;
Var A,B,C:Byte;
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
PEMPROGRAMAN PASCAL 10
dayak_timur@yahoo.com
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
Contoh 3
Uses Crt;
Var Ket1:Char;
Ket2:String[6];
Ket3:Integer;
Ket4:Real;
Ket5:Boolean;
Begin
PEMPROGRAMAN PASCAL 11
dayak_timur@yahoo.com
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
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}
PEMPROGRAMAN PASCAL 12
dayak_timur@yahoo.com
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;
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
PEMPROGRAMAN PASCAL 13
dayak_timur@yahoo.com
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
PEMPROGRAMAN PASCAL 14
dayak_timur@yahoo.com
Output
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
Contoh 2
Uses Crt;
Begin
PEMPROGRAMAN PASCAL 15
dayak_timur@yahoo.com
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 16
dayak_timur@yahoo.com
-----------------------------------------------
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
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
3. Program
Uses Crt;
Var jumlah:longint;
Const langganan=3000;
pulsa=100;
Begin
PEMPROGRAMAN PASCAL 17
dayak_timur@yahoo.com
Clrscr;
jumlah:=langganan+235*pulsa;
Writeln('Jumlah Tagihan : Rp.',jumlah);
Readln;
End.
Output
Jumlah Tagihan : Rp.26500
4. Program
Uses Crt;
Var no,nama,alamat:string;
x:char;
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
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);
PEMPROGRAMAN PASCAL 18
dayak_timur@yahoo.com
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('-------------------------------');
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
PEMPROGRAMAN PASCAL 19
dayak_timur@yahoo.com
Jawab :
1. Program
Uses Crt;
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');
PEMPROGRAMAN PASCAL 20
dayak_timur@yahoo.com
Gotoxy(74,25);Writeln('Irpan KW');
Readln;
End.
Output
200822018
200822018
Irpan KW
200822018
Teknik Informatika
Turbo Pascal
Irpan KW Irpan
KW
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
PEMPROGRAMAN PASCAL 21
dayak_timur@yahoo.com
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
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
PEMPROGRAMAN PASCAL 22
dayak_timur@yahoo.com
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’);
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.
PEMPROGRAMAN PASCAL 23
dayak_timur@yahoo.com
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);
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)
PEMPROGRAMAN PASCAL 24
dayak_timur@yahoo.com
Contoh 9
Uses Crt;
Var X:integer;
C,F:Real;
Begin
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
PEMPROGRAMAN PASCAL 25
dayak_timur@yahoo.com
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:
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
PEMPROGRAMAN PASCAL 26
dayak_timur@yahoo.com
End;
Readln;
End.
Output
Contoh 2
Uses Crt;
Var I,J:Integer;
Begin
Clrscr;
For I:=1 to 5 do
Begin
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.
PEMPROGRAMAN PASCAL 27
dayak_timur@yahoo.com
Output
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
*
**
***
PEMPROGRAMAN PASCAL 28
dayak_timur@yahoo.com
****
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;
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 29
dayak_timur@yahoo.com
Output
(misalkan jumlah data yang diinput 3)
Contoh 1
PEMPROGRAMAN PASCAL 30
dayak_timur@yahoo.com
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
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
PEMPROGRAMAN PASCAL 31
dayak_timur@yahoo.com
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;
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;
PEMPROGRAMAN PASCAL 32
dayak_timur@yahoo.com
End.
Output
PEMPROGRAMAN PASCAL 33
dayak_timur@yahoo.com
Jawab
1. Program
Uses Crt;
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');
PEMPROGRAMAN PASCAL 34
dayak_timur@yahoo.com
Gotoxy(12,3);Write(':');
Gotoxy(14,3);Write('00');
Gotoxy(25,15);Write('BOOOOM.....!');
Readln;
End.
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;
PEMPROGRAMAN PASCAL 35
dayak_timur@yahoo.com
end.
Output
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.
PEMPROGRAMAN PASCAL 36
dayak_timur@yahoo.com
Output
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 37
dayak_timur@yahoo.com
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 38
dayak_timur@yahoo.com
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 39
dayak_timur@yahoo.com
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 40
dayak_timur@yahoo.com
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
b. Program
Uses Crt;
PEMPROGRAMAN PASCAL 41
dayak_timur@yahoo.com
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
PEMPROGRAMAN PASCAL 42
dayak_timur@yahoo.com
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
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 43
dayak_timur@yahoo.com
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 44
dayak_timur@yahoo.com
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 45
dayak_timur@yahoo.com
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 46
dayak_timur@yahoo.com
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 47
dayak_timur@yahoo.com
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 48
dayak_timur@yahoo.com
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 49
dayak_timur@yahoo.com
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 50
dayak_timur@yahoo.com
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 51
dayak_timur@yahoo.com
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 52
dayak_timur@yahoo.com
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 53
dayak_timur@yahoo.com
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 54
dayak_timur@yahoo.com
Flowchart
PEMPROGRAMAN PASCAL 55
dayak_timur@yahoo.com
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 56
dayak_timur@yahoo.com
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 57