Kembali lagi kali ini saya ingin membagikan 10 contoh program pascal sederhana yang cukup lengkap meliputi materi-materi umum yang kita pelajari di bahasa pemrograman pascal seperti program runtunan, percabangan, perulangan, array (larik), serta prosedur atau fungsi.
Contoh-contoh program ini saya buat dan jalankan melalui aplikasi pascal compiler secara online di https://www.onlinegdb.com/online_pascal_compiler. Semoga bisa menjadi bahan belajar (referensi) teman-teman untuk mengerjakan soal atau tugas dalam matakuliah algoritma dasar dengan pemrograman pascal.
Daftar Isi
Program Menghitung Luas Persegi Panjang
program Luas_Persegi_Panjang;
var
panjang : integer;
lebar : integer;
luas : integer;
begin
write ('Masukan Panjang = ');read(panjang);
write ('Masukan Lebar = ');read(lebar);
luas:=panjang*lebar;
writeln('Luas Persegi panjang = ',luas);
end.

Contoh program pascal sederhana yang pertama yaitu untuk menghitung luas persegi panjang termasuk program runtunan atau biasa disebut sekuensial dalam algoritmanya instruksi akan di laksanakan baris per baris sesuai urutannya dari atas kebawah.
Pada bagian var dideklarasi variabel panjang, lebar dan luas masing-masing bertipe integer (bilangan bulat). Pada bagian begin kita buat perintah untuk memasukan nilai panjang dan lebar yang di tampung pada variabel panjang dan lebar yang sudah kita deklarasikan diatas. Program akan menghitung luas sesuai rumus panjang * lebar lalu kemudian hasilnya akan di tampilkan.
Program Menghitung Luas Lingkaran
program Luas_Lingkaran;
const
pi=3.14;
var
r : real;
luas : real;
begin
write ('Masukan Jari-jari = ');read(r);
luas:=pi*r*r;
writeln('Luas = ',luas:4:2);
end.
Program yang kedua juga masih mengimplementasi struktur dasar algoritma runtunan untuk menghtiung luas lingkaran. Dengan konstanta phi 3,14 dan variabel r dan luas dengan tipe data real (bilangan pecahan).
Pengguna akan memasukan jari-jari (r) lalu program akan menghitung sesuai rumus luas lingkaran luas:=pi*r*r;
Pada instruksi terahir program akan menampilkan hasil luas lingkaan dengan forma angka 4:2 maksudnya adalah program akan mencetak 4 angka (maksimal) sebelum tanda koma atau pemisah antara nilai desimal, nilai desimalnya adalah 2 angka di belakang koma.

Contoh Program Pascal Struktur Case
program struktur_Case;
var
grade: char;
begin
grade:= 'A';
case (grade) of
'A' : writeln('Luar biasa!' );
'B' : writeln('Bagus' );
'C' : writeln('Cukup' );
'D' : writeln('Kurang' );
'F' : writeln('Coba Lagi' );
else
writeln('Grade (nilai) salah');
end;
end.

Program ketiga kita sudah menggunakan algoritma percabangan atau pemilihan yang mana kita menggunakan struktur case. Struktur case akan membandingkan suatu nilai dengan setiap ekspresi yang terdapat dalam struktur case tersebut.
Pada contoh diatas grade ‘A’ akan di bandingkan dengan setiap ekspresi pada struktur case jika ada ekspresi yang sama dengan nilai grade maka instruksi dalam ekspresi tersebut akan dikerjakan.
Hasil output program diatas adalah ‘Luar Biasa!’ karena grade ‘A’ terdapat ekspresi ‘A’ yang akan mencetak kalimat ‘Luar Biasa!’.
Contoh Program Percabangan IF ELSE
program Percabangan_1;
var
bil : integer;
begin
write ('Masukan Bilangan : ');read(bil);
if (bil mod 2 = 0) then
begin
writeln ('Bilangan Genap');
end
else
begin
writeln ('Bilangan Ganjil');
end;
end.

Program keempat juga masih menggunakan struktur algoritma percabangan dengan menggunakan percabangan if else.
Percabangan if else merupakan percabangan yang akan mengerjakan suatu instruksi jika kondisi bernilai benar (true), sedangkan jika salah (false) maka instruksi di dalam blok else yang akan dikerjakan.
Sebagai contoh diatas kita membuat program untuk menentukan suatu bilangan yang dimasukan merupakan bilangan genap atau ganjil. dengan parameter kondisi yang ditetapkan adalah jika bil modulus 2 menghasilkan nilai 0 maka dapat dipastikan bahwa bilangan tersebut adalah bilangan genap, sedangkan jika hasilnya bukan 0 berarti bilangan tersebut adalah bilangan genap.
Sebagai contoh jika bilangan yang kita masukan adalah 3 maka kondisi pasti akan bernilai false sehingga instruksi di dalam blok else yang akan dikerjakan.
Contoh Perulangan Repeat Until
program repeat_until;
var
i,n: integer;
begin
i:= 1;
write('Mencetak angka 1 sampai ke-N : ');read(n);
repeat
begin
writeln(i);
i:= i + 1;
end;
until i > n;
end.
Program yang kelima tentang perulangan repeat until. Perulangan ini akan mengerjakan minimal satu kali iterasi kemudian kondisi akan di cek pada bagian akhir.

Misalnya pada contoh diatas nilai N yang dimasukan adalah 5 maka perulangan akan dilakukan dari nilai i=1 kemudian nilai i akan ditambah 1 selama proses iterasi berjalan. selama nilai i<=5 maka perulangan akan terus dikerjakan.
Program Perulangan For Do
program for_to_do;
var
i, n, angka: integer;
begin
write('Masukan jenis perkalian : ');read(angka);
write('Masukan batas perulangan : ');read(n);
for i:=1 to n do
begin
writeln( i ,' x ', angka ,' = ', i * angka);
end;
end.
Contoh program pascal sederhana yang keenam mengenai perulangan for do. Perulangan ini kita gunakan untuk perulangan yang sudah diketahui berapa kali jumlah perulangan yang harus dilakukan.
Dalam perulangan for do terdapat sebuah variabel pencacah (counter) yang akan bertambah satu selama proses iterasi berlangsung. Contoh diatas variabel cacah atau counter adalah variabel i. Selama nilai i <n maka perulangan akan terus dilakukan.

Program diatas akan membuat daftar perkalian sesuai jenis perkalian yang diinginkan. contohnya kita ingin menampilkan daftar perkalian 7 dengan batas maksimal sebanyak 10, maka program akan menampikan daftar perkalian 7 dari deret 1 sampai 10.
Menghitung Nilai Rata-rata Menggunakan Array
program Contoh3;
var
x: array [1..100] of integer;
n,i,jmh : integer;
rata :real;
begin
write ('Masukan banyak data : '); readln (n);
jmh :=0;
for i := 1 to n do
begin
write ('Masukan nilai ke',i,':'); readln (x[i]);
jmh := jmh + x[i];
end;
rata :=jmh / n ;
writeln ('jumlah :',jmh);
writeln ('rata-rata:',rata:0:2);
readln;
end.
Program diatas kita buat untuk menghitung nilai rata-rata dari suatu deret bilangan menggunakan array (larik). Array merupakan suatu tipe data yang dapat menampung banyak nilai namun dengan tipe yang sama. Nilai array dapat diakses lewat indeks array, indeks array biasanya dimulai dari 0.

Saat program dijalankan, pengguna akan diminta untuk memasukan banyaknya data yang akan di tampung pada variabel n, nilai n akan menjadi batas perulangan. Saat perulangan berlangsung pengguna akan memasukan setiap nilai yang disimpan pada array x[] dengan indeks ke-i.
Nantinya setiap nilai yang dimasukan akan dijumlahkan dan disimpan pada variabel jmh. Untuk mendapatkan nilai rata-rata maka nilai jmh dibagi dengan n.
Contoh Penggunaan Function di Pascal
Program Fungsi_1;
uses crt;
Function HitungPerkalian(Var a,b : integer):integer;
begin
HitungPerkalian:=a*b;
end;
Var x,y : integer;
Begin
Writeln('Silahkan masukan Angka: ');
write('Nilai X : ');readln(x);
write('Nilai Y : ');readln(y);
writeln;
write(x,' x ',y,' = ',HitungPerkalian(x,y));
readln;
end.
Pada contoh program yang kedelapan mengenai function. Function merupakan suatu blok program atau sub program yang dipisah dari program utama dan berfungsi untuk mengerjakan suatu tugas tertentu.
Contoh diatas kita membuat fungsi HitungPerkalian dengan tipe integer. dengan membawa dua variabel, yaitu a dan b dengan tipe integer. Fungsi ini akan menghasilkan nilai balik (return value) yaitu mengalikan nilai a dan b. Perlu diketahui variabel a dan b merupakan variabel lokal yang mana variabel ini hanya dapat digunakan di dalam fungsi saja tidak dapat digunakan di fungsi lain atau pada program utama.
Pada bagian program utama kita memiliki variabel x dan y yang merupakan variabel global, ini berarti variabel ini dapat diakses/digunakan disemua fungsi yang ada di dalam program.
Saat program dijalankan, pengguna akan memasukan nilai x dan y yang kemudian nilai nya akan dilewatkan pada fungsi HitungPerkalian(x,y) nantinya nilai tersebut akan diterima oleh fungsi HitungPerkalian yang selanjutnya akan di proses di dalam fungsi tersebut.
Contoh Program Penjualan Barang
program transaksi_penjualan_barang;
var
harga_barang, jumlah, total: longint;
kode_barang : string;
nama_barang : string;
diskon,tot_bayar : real;
begin
write('Masukan Kode Barang : ');read(kode_barang);
if (kode_barang = 'B1') or (kode_barang = 'b1') then
begin
nama_barang :='Kaos Katun';
harga_barang :=50000;
end
else if (kode_barang = 'B2') or (kode_barang = 'b2') then
begin
nama_barang := 'Jaket Bomber';
harga_barang := 235000;
end
else if (kode_barang = 'B3') or (kode_barang = 'b3') then
begin
nama_barang := 'Kemeja Lengan Pendek';
harga_barang := 120000;
end
else if (kode_barang = 'B4') or (kode_barang = 'b4') then
begin
nama_barang := 'Celana Panjang Jeans';
harga_barang := 199000;
end
else if (kode_barang = 'B5') or (kode_barang = 'b5') then
begin
nama_barang := 'Sepatu Sneaker';
harga_barang := 260000;
end
else
begin
writeln('Kode barang salah');
exit();
end;
writeln('Nama Barang : ',nama_barang);
writeln('Harga Barang : ',harga_barang);
write('Jumlah Beli : ');read(jumlah);
total:=harga_barang*jumlah;
diskon:=0;
if (total >= 1000000) then
begin
diskon:=0.3;
end
else if (total >= 500000) then
begin
diskon:=0.2;
end
else if (total >= 250000) then
begin
diskon:=0.1;
end;
tot_bayar:=(total-(total*diskon));
writeln('Sub total : ',total);
writeln('Potongan : ',total*diskon:0:0);
writeln('Total Bayar : ',tot_bayar:0:0);
end.
Program yang kesembilan mengenai contoh program pascal sederhana tentang penjulan barang yang merupakan program runtunan namun di dalamnya sudah menggunakan struktur pemilhan/percabangan. Untuk lebih lengkapnya silahkan baca pada artikel contoh program pascal tentang penjualan barang.
Program Pascal Menghitung Gaji Karyawan
program menghitung_gaji_karyawan;
var
jum, gol, jkerja, jlembur, gapok, glembur, tun_pengabdian : longint;
pajakgapok, pajaklembur, totpajak,gajibersih : real;
begin
gapok:=0;
tun_pengabdian:=0;
write('Masukan golongan : ');read(gol);
write('Masukan jam kerja : ');read(jkerja);
case (gol) of
1 :
begin
gapok:=1486500;
tun_pengabdian:=250000;
end;
2 :
begin
gapok:=1926000;
tun_pengabdian:=300000;
end;
3 :
begin
gapok:=2456700;
tun_pengabdian:=350000;
end;
4 :
begin
gapok:=2899500;
tun_pengabdian:=400000;
end;
end;
if (jkerja>173) then
begin
jlembur:=jkerja-173;
end
else
begin
jlembur:=0;
end;
glembur:=jlembur*20000;
pajakgapok:=0.05*gapok;
pajaklembur:=0.05*glembur;
totpajak:=pajakgapok+pajaklembur;
gajibersih:=((gapok+tun_pengabdian+glembur)-totpajak);
writeln('Gaji Pokok : ',gapok);
writeln('Gaji Lembur : ',glembur);
writeln('Pajak Gaji Pokok : ',pajakgapok:4:6);
writeln('Pajak Lembur : ',pajaklembur:4:6);
writeln('Total Pajak : ',totpajak:4:6);
writeln('Tunjangan Pengabdian : ',tun_pengabdian);
writeln('Gaji Diterima : ',gajibersih:4:6);
end.
Program yang terakhir tentang penggajian karyawan, program ini juga diimplementasi dari algoritma sekuensial.
Untuk penjelasan mengenai aturan dan flowchart sudah saya bahas pada artikel contoh program pascal menghitung gaji karyawan.