Bahasa Pemrograman Pascal, yang dikembangkan oleh Niklaus Wirth, dikenal karena sintaksnya yang terstruktur, keterbacaannya, dan penekanannya pada pemrograman terstruktur. Meskipun popularitasnya sedikit menurun dibandingkan bahasa modern, Pascal tetap menjadi alat fundamental untuk mengajarkan konsep dasar pemrograman, algoritma, dan struktur data di banyak institusi pendidikan.
Berikut adalah 10 contoh program Pascal yang mencakup berbagai konsep dasar, mulai dari input/output sederhana hingga implementasi struktur kontrol yang lebih kompleks. Program-program ini umumnya dapat dijalankan menggunakan kompiler Free Pascal (FPC) atau Turbo Pascal (untuk versi yang lebih lawas).
Program paling dasar yang hanya menampilkan teks ke layar.
program HaloDunia;
begin
WriteLn('Halo Dunia! Saya Belajar Pascal.');
end.
Meminta dua input bilangan bulat dan menampilkan hasilnya.
program Penjumlahan;
var
a, b, hasil: Integer;
begin
Write('Masukkan bilangan pertama: ');
ReadLn(a);
Write('Masukkan bilangan kedua: ');
ReadLn(b);
hasil := a + b;
WriteLn('Hasil penjumlahannya adalah: ', hasil);
end.
Menggunakan struktur kontrol IF-THEN-ELSE berdasarkan operasi modulus.
program GanjilGenap;
var
angka: Integer;
begin
Write('Masukkan sebuah angka: ');
ReadLn(angka);
if (angka mod 2 = 0) then
WriteLn(angka, ' adalah bilangan Genap.')
else
WriteLn(angka, ' adalah bilangan Ganjil.');
end.
Menunjukkan penggunaan loop iteratif yang terstruktur.
program LoopFor;
var
i: Integer;
begin
WriteLn('Angka dari 1 sampai 10:');
for i := 1 to 10 do
begin
WriteLn(i);
end;
end.
Contoh perulangan yang berjalan selama kondisi masih terpenuhi.
program LoopWhile;
var
hitung: Integer;
begin
hitung := 5;
WriteLn('Hitung Mundur Dimulai:');
while hitung >= 1 do
begin
WriteLn(hitung);
hitung := hitung - 1;
end;
WriteLn('Selesai!');
end.
Penggunaan fungsi untuk memisahkan logika perhitungan.
function Faktorial(n: Integer): LongInt;
begin
if n <= 1 then
Faktorial := 1
else
Faktorial := n * Faktorial(n - 1);
end;
program MainFaktorial;
var
bil: Integer;
begin
Write('Masukkan bilangan (maks 10): ');
ReadLn(bil);
if (bil >= 0) and (bil <= 12) then
WriteLn('Faktorial dari ', bil, ' adalah: ', Faktorial(bil))
else
WriteLn('Angka di luar jangkauan.');
end.
Menyimpan dan menampilkan 5 nilai siswa dalam sebuah array.
program ContohArray;
const
UKURAN = 5;
var
nilai: array[1..UKURAN] of Integer;
i: Integer;
begin
WriteLn('Masukkan 5 nilai ujian:');
for i := 1 to UKURAN do
begin
Write('Nilai ke-', i, ': ');
ReadLn(nilai[i]);
end;
WriteLn('Data yang Anda masukkan:');
for i := 1 to UKURAN do
begin
WriteLn('Indeks [', i, ']: ', nilai[i]);
end;
end.
Mengelompokkan beberapa tipe data berbeda menjadi satu kesatuan.
program ContohRecord;
type
Mahasiswa = record
NIM: String[10];
Nama: String[30];
IPK: Real;
end;
var
mhs1: Mahasiswa;
begin
mhs1.NIM := '12345';
mhs1.Nama := 'Budi Santoso';
mhs1.IPK := 3.55;
WriteLn('--- Data Mahasiswa ---');
WriteLn('NIM: ', mhs1.NIM);
WriteLn('Nama: ', mhs1.Nama);
WriteLn('IPK: ', mhs1.IPK:4:2); // Format 4 karakter, 2 desimal
end.
Menunjukkan penggunaan prosedur (subprogram) untuk pertukaran nilai menggunakan parameter VAR.
procedure Tukar(var x, y: Integer);
var
temp: Integer;
begin
temp := x;
x := y;
y := temp;
end;
program SwapDemo;
var
A, B: Integer;
begin
A := 10;
B := 20;
WriteLn('Sebelum ditukar: A=', A, ', B=', B);
Tukar(A, B); // Panggil prosedur
WriteLn('Setelah ditukar: A=', A, ', B=', B);
end.
Mencetak beberapa suku pertama dari deret Fibonacci (0, 1, 1, 2, 3, 5, ...).
program Fibonacci;
var
n, i: Integer;
a, b, c: Integer;
begin
Write('Berapa suku Fibonacci yang diinginkan? ');
ReadLn(n);
a := 0;
b := 1;
WriteLn('Deret Fibonacci:');
for i := 1 to n do
begin
Write(a, ' ');
c := a + b;
a := b;
b := c;
end;
WriteLn;
end.
Kesepuluh contoh di atas memberikan gambaran menyeluruh tentang bagaimana struktur dasar Pascal—seperti deklarasi variabel, tipe data, percabangan, perulangan, fungsi, dan prosedur—digunakan untuk memecahkan masalah pemrograman. Penguasaan konsep ini adalah fondasi yang kuat sebelum beralih ke bahasa pemrograman yang lebih modern.