10 Contoh Program Pascal yang Mendasar dan Populer

Ilustrasi Bahasa Pemrograman Pascal Simbol kode dan struktur blok dalam bentuk grafis modern. BEGIN END. I/O [ ]

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).

Daftar 10 Contoh Program Pascal

  1. Program "Halo Dunia"
  2. Penjumlahan Dua Bilangan
  3. Program Kondisional (If-Else)
  4. Perulangan (For Loop)
  5. Perulangan (While Loop)
  6. Fungsi Menghitung Faktorial
  7. Program Array Sederhana
  8. Penggunaan Record (Struktur Data)
  9. Program Penggantian Bilangan (Swap)
  10. Program Deret Fibonacci Sederhana

1. Program Sederhana: "Halo Dunia"

Program paling dasar yang hanya menampilkan teks ke layar.

program HaloDunia;
begin
    WriteLn('Halo Dunia! Saya Belajar Pascal.');
end.
            

2. Penjumlahan Dua Bilangan (Input Pengguna)

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.
            

3. Menentukan Bilangan Ganjil atau Genap

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.
            

4. Mencetak Angka 1 sampai 10 Menggunakan FOR

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.
            

5. Menghitung Mundur Menggunakan WHILE

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.
            

6. Fungsi: Menghitung Nilai Faktorial

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.
            

7. Manipulasi Data Array

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.
            

8. Penggunaan RECORD untuk Data Mahasiswa

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.
            

9. Prosedur Pertukaran Nilai (Swap)

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.
            

10. Menghasilkan Deret Fibonacci Sederhana

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.