Kumpulan program pascal ini merupakan kumpulan latihan saat penulis
belajar bahasa pemrograman pascal. Penulis menggunakan Turbo Pascal for
Windows (TPW) Versi 1.5 sebagai kompilernya. Mungkin ada kekurangan
disana sini, tapi mudah-mudahan kumpulan program ini bermanfaat bagi
pembaca yang berminat dan baru mempelajari bahasa pemrograman pascal.
Pascal merupan salah satu program yang terkemuka karena struktur
penulisannya yang mengalir seperti algoritma, saat ini kita akan
mempelajari pascal 1.5 (TPW 1.5).
Sebelum itu perhatikan keterangan berikut ini struktur dasarnya.
1. Program namaprogram; ==> Judul Program
2. Var jenis : variable; ==> Jenis Variabel
3. Begin ; ==> Memulai Program
4. Clrscr ==> Membersihkan Layar (boleh digunakan dan tidak)
5. Isi ==> Isi Program
6. End. ==>Akhir Program
2. Var jenis : variable; ==> Jenis Variabel
3. Begin ; ==> Memulai Program
4. Clrscr ==> Membersihkan Layar (boleh digunakan dan tidak)
5. Isi ==> Isi Program
6. End. ==>Akhir Program
Sintak dari pascal :
- Write => Menulis/menampilkan keluaran ke layar monitor sedangkan kursor tetap di baris yang sama.
- Writeln => Menulis/menampilan keluaran ke layar monitor sedangkan kursor pindah ke baris berikutnya.
- Read => Menginput data/membaca masukan dari keyboard sedangkan kursor tetap di baris yang sama .
- Readln => Menginput data/membaca masukan dari keyboard sedangkan kursor pindah ke baris berikutnya.
- Var => variable
> Program Menampilkan Tulisan
program menampilkan;
uses wincrt;
begin
write ('Selamat datang di dunia pascal');
end.
> Program Membuat Komentar
program komentar;
uses wincrt;
begin
clrscr; {ini adalah komentar dan tidak akan di eksekusi oleh program}
writeln ('mencoba menuliskan komentar program');
{ini (*juga*) komentar sehingga tidak akan ditampilkan di dalam hasil keluaran}
readln;
end.
> Program Menginput Data
program input_data;
uses wincrt;
var
nama : string;
begin
write ('Masukan Nama : ');
Read (nama);
clrscr;
Write ('Selamat Datang ',nama);
end.
> Program Penjumlahan
program penjumlahan_langsung;
uses wincrt;
var
a,b,c:integer;
begin
a:=20;
b:=25;
c:=a+b;
writeln('c=',c)
end.
> Program Runtunan
program runtunan;
uses wincrt;
var
a,b : integer ;
begin
a:=5;
b:=12;
a:=a+2;
b:=a+2;
a:=a+b;
Writeln ('A : ',a);
end.
============
program runtunan;
uses wincrt;
var
a,b:integer;
begin
a:=10;
a:=a*2;
b:=a;
b:=b+a;
writeln (b);
end.
> Program Menentukan Nilai Terbesar
program X_lebih_besar_daripada_Y;
uses wincrt;
var
x,y: integer;
begin
clrscr;
write ('Masukan Nilai X = ');
readln (x);
write ('Masukan Nilai Y = ');
readln (y);
if ( x > y ) then
writeln ('Nilai ',x, ' lebih besar daripada ',y);
readln;
end.
> Program Akar
program akar;
uses wincrt;
var
a,b,c:integer;(*variable x dengan tipe integer*)
nama:string[25];{variable nama dengan tipe string}
d:real;
begin
a:=9;
b:=4;
c:=a div b;
writeln (c);
d:=sqrt(a);
write(d:0:0);
end.
>Program If
program latihan_if;
uses wincrt;
var
bilangan : integer;
begin
clrscr;
write ('Masukan Bilangan = ');
readln (bilangan);
if ( bilangan > 0) then
writeln ('Bilangan Positif');
end.
====================
program if_dua_kasus;
uses wincrt;
var
nama : string;
nilai : integer;
begin
write ('Nama Siswa : ');
readln (nama);
write ('Nilai Angka : ');
readln (nilai);
if ( nilai > 55 ) then begin
writeln ('Hasil : Anda Lulus Selamat Ya');
end else
if (nilai <55 br="br" then="then" writeln="writeln"> writeln ('Hasil : Maaf anda tidak lulus');
end.55>
==================
program if_tiga_kasus;
uses wincrt;
var
nama : string;
nilai : integer;
begin
write ('Masukan Nama : ');
readln (nama);
write ('Masukan Nilai : ');
readln (nilai);
if (nilai >=85) then begin
writeln ('A');
end
else
if (nilai >=75 ) then begin
writeln ('B');
end
else
if (nilai >=50) then begin
writeln ('C');
end;
end.
> Program dengan menggunakan AND
program and_inputgaji_karyawan;
uses wincrt;
var
nama, jenis_kelamin, status : string;
jumlah_anak: integer;
begin
write ('Nama : ');
readln (nama);
write ('Jenis Kelamin ( P/L) : ');
readln (jenis_kelamin);
write ('Status (M/S) : ');
readln (status);
write ('Jumlah Anak : ');
readln (jumlah_anak);
if (jenis_kelamin= 'L') and (status = 'M') and ( jumlah_anak <=3) then
writeln ( 'Mendapatkan Tunjangan',jumlah_anak*35000)
else
writeln ( 'Tidak Mendapatkan Tunjangan')
end.
> Program OR
Program latihan_or;
uses wincrt;
var
nama : string;
toefl1, toefl2, toefl3 : integer;
begin
Write ('Nama : ');
readln (nama);
write ('Toefl1 : ');
readln (toefl1);
write ('Toefl2 : ');
readln (toefl2);
write ('Toefl3 : ');
readln (toefl3);
Writeln ('------------------------');
if (toefl1>=400) or (toefl2>=400) or (toefl3>=400) then
writeln ( ' ANDA LULUS ')
else
write ('ANDA TIDAK LULUS ')
end.
> Program Gaji Karyawan
Program gaji_karyawan;
uses wincrt;
var
upah_lembur,upah_kerja,hari_kerja,jam_lembur,a,b:real;
nama,jabatan,golongan:string;
gj_kotor,pjk,gj_bersih:real;
begin
upah_lembur:=7500;
upah_kerja:=50000;
writeln(' Program Gaji Karyawan');
writeln;
write('Nama = ');
readln(nama);
write('Jabatan = ');
readln(jabatan);
write('Golongan = ');
readln(golongan);
write('Hari kerja = ');
readln(hari_kerja);
write('Jam Lembur = ');
readln(jam_lembur);
clrscr;
a:=upah_kerja*hari_kerja;
b:=upah_lembur*jam_lembur;
gj_kotor:=a+b;
pjk:=0.1*gj_kotor;
gj_bersih:=gj_kotor-pjk;
writeln ('Nama Anda = ',nama);
writeln ('Jabatan = ',jabatan);
writeln ('Golongan = ',golongan);
writeln ('Gaji Bersih Anda = ',gj_bersih :0:0);
end.
=====================================
program Hitung_Gaji;
uses wincrt;
var
Nama, Jabatan: string;
Gaji_Direktur,Gaji_Manager,Gaji_Karyawan,Gaji_OB:longint;
Tunjangan_Direktur, Tunjangan_Manager,Tunjangan_Karyawan,Tunjangan_OB,PPN_DIrektur,PPN_Manager,PPN_Karyawan,PPN_OB:real;
begin
writeln ('Program Gaji Karyawan');
writeln ('---------------------');
write ('Nama : ');
Readln (Nama);
write ('Jabatan : ');
Readln (Jabatan);
Gaji_Direktur:=3000000;
Gaji_Manager:=2000000;
Gaji_Karyawan:=1000000;
Gaji_OB:=800000;
Tunjangan_Direktur:=0.10*Gaji_Direktur;
Tunjangan_Manager:=0.05*Gaji_Manager;
Tunjangan_Karyawan:=0.02*Gaji_Karyawan;
Tunjangan_OB:=0.01*Gaji_OB;
PPN_Direktur:=0.10*Gaji_Direktur;
PPN_Manager:=0.10*Gaji_Manager;
PPN_Karyawan:=0.10*Gaji_Karyawan;
PPN_OB:=0.10*Gaji_OB;
if (Jabatan= 'Direktur') or (Jabatan= 'direktur') or (Jabatan= 'DIREKTUR') then begin
writeln ('Gaji = Rp. ',Gaji_Direktur);
writeln ('Tunjangan = Rp. ',Tunjangan_Direktur:0:0);
writeln ('PPN 10% = Rp. ', PPN_Direktur:0:0);
writeln ('Gaji Bersih = Rp. ',Gaji_Direktur+Tunjangan_Direktur-PPN_Direktur:0:0);
end
else
if (Jabatan= 'Manager') or (Jabatan= 'manager') or (Jabatan= 'MANAGER') then begin
writeln ('Gaji = Rp. ',Gaji_Manager);
writeln ('Tunjangan = Rp. ',Tunjangan_Manager:0:0);
writeln ('PPN 10% = Rp. ', PPN_Manager:0:0);
writeln ('Gaji Bersih = Rp. ',Gaji_Manager+Tunjangan_Manager-PPN_Manager:0:0);
end
else
if (Jabatan= 'Karyawan') or (Jabatan= 'karyawan') or (Jabatan= 'KARYAWAN') then begin
writeln ('Gaji = Rp. ',Gaji_Karyawan);
writeln ('Tunjangan = Rp. ',Tunjangan_Karyawan:0:0);
writeln ('PPN 10% = Rp. ', PPN_Karyawan:0:0);
writeln ('Gaji Bersih = Rp. ',Gaji_Karyawan+Tunjangan_Karyawan-PPN_Karyawan:0:0);
end
else
if (Jabatan= 'Ob') or (Jabatan= 'ob') or (Jabatan= 'OB') then begin
writeln ('Gaji = Rp. ',Gaji_OB);
writeln ('Tunjangan = Rp. ',Tunjangan_OB:0:0);
writeln ('PPN 10% = Rp. ', PPN_OB:0:0);
writeln ('Gaji Bersih = Rp. ',Gaji_OB+Tunjangan_OB-PPN_OB:0:0);
end;
writeln ('-------------------------')
end.
> Program Case Of
program nilai_case;
uses wincrt;
var
nilai:char;
begin
write ('Masukan nilai : ');
readln(nilai);
case (nilai) of
'A'..'a': write ('Sangat Baik');
'B'..'b' : write ('Baik');
'C'..'c' : write ('Cukup');
end;
end.
=====================
program case_bioskop;
uses wincrt;
var
studio : integer;
begin
writeln ('JADWAL FILM STUDIO');
writeln (' 1 : XX1');
writeln (' 2 : 21 ');
writeln (' 3 : Layar Tancap ');
write ('Masukan pilihan studio : ');
readln(studio);
case ( studio ) of
1 : begin
writeln ( 'Terminator');
writeln('Pocong 1');
writeln ('Kungfu panda'); end;
2 : begin
writeln ('Kucing bunting');
writeln ('Derita anak kos');
writeln ('Kungfu panda'); end;
3 : begin
writeln ('Kuntilanak');
writeln ('Jelangkung');
writeln ('Pulau hantu');
end;
end;
end.
==========================
program haricase;
uses wincrt;
var
hari : integer;
begin
write ('Masukan hari ke : ');
readln(hari);
case (hari) of
1:write('Senin');
2:write('Selasa');
3:write('Rabu');
4:write('Kamis');
5:write('Jumat');
6:write('Sabtu');
7:write('Minggu');
end;
end.
===========================
program nilai_case;
uses wincrt;
var
nilai:char;
begin
write ('Masukan nilai : ');
readln(nilai);
case (nilai) of
'a'..'z': write ('Sangat Baik');
end;
end.
=======================
> Program Case If
program case_if;
uses wincrt;
var
kode : char;
ukuran : integer;
begin
writeln ('========[PILIHAN PRODUK]========');
writeln ('A. Susu Dancow');
writeln (' 1. ukuran kecil');
writeln (' 2. ukuran sedang');
writeln (' 3. ukuran besar');
writeln ('B. Susu Bendera');
writeln (' 1. ukuran kecil');
writeln (' 2. ukuran sedang');
writeln (' 3. ukuran besar');
writeln ('A. Susu SGM');
writeln (' 1. ukuran kecil');
writeln (' 2. ukuran sedang');
writeln (' 3. ukuran besar');
Writeln ('==================================');
write ('Masukan kode jenis : ');
readln (kode);
case (kode) of
'A':
begin
writeln('Susu Dancow');
write ('Pilih Jenis ukuran : ');
readln(ukuran);
if (ukuran =1) then
begin writeln ('ukuran kecil');
writeln ('15000');
end
else
if (ukuran =2) then
begin
writeln ('ukuran sedang');
writeln ('18500');
end
else
if (ukuran = 3) then
begin
writeln ('ukuran besar');
writeln ('35000');
end
end;
end;
end.
> Program Go To Ulang
program gotoulang;
uses wincrt;
label ulang ;
var
bil1,bil2 : integer;
opr : char;
begin
ulang:
clrscr;
write ('Masukan Bilangan 1 : ');
readln ( bil1);
write ( 'Masukan Bilangan 2 : ');
readln (bil2);
writeln ('----------------');
write ('Pilih Operasi : ');
readln (opr);
writeln ('----------------');
case (opr) of
'+' : write ('Hasil Penjumlahannya adalah ', bil1+bil2);
'-' : write ('Hasil Pengurangannya adalah ',bil1-bil2);
'*' : write ('Hasil Pengaliannya : ',bil1*bil2);
'/' : write ('Hasil Pembagiannya adalah ',bil1/bil2);
end;
readln;
goto ulang;
end.
> Program Ganjil Genap
program ganjil_genap;
uses wincrt;
var
bil, sisa : integer;
begin
write ('Masukan sebuah bilangan : ');
readln (bil);
sisa := bil mod 2;
if sisa = 0 then
begin
writeln ('Bilangan Genap');
end
else
writeln ('Bilangan Ganjil');
end.