Contoh Program Pascal: Prosedur dan Fungsi untuk Modularitas yang Efisien

By | September 27, 2025

Contoh Program Pascal: Prosedur dan Fungsi untuk Modularitas yang Efisien

Kalau kamu baru belajar pemrograman Pascal, pasti sering dengar istilah “prosedur” dan “fungsi”. Keduanya kayak superhero yang bisa bikin kode mu lebih rapi, efisien, dan mudah dikelola. Tapi apa sih bedanya? Kapan harus pakai yang mana?

Bayangkan kamu sedang membangun rumah. Daripada batu bata disusun begitu saja tanpa pola, lebih baik kamu buat dulu modul-modulnya: fondasi, dinding, atap, pintu. Nah, prosedur dan fungsi di Pascal itu seperti modul-modul tadi. Mereka memecah program besar menjadi bagian-bagian kecil yang lebih gampang dikontrol. Yuk, kita eksplor dengan contoh program Pascal yang langsung bisa kamu praktikkan!

Pengertian Dasar: Prosedur vs Fungsi

Sebelum masuk ke contoh, kita bedakan dulu kedua konsep ini.

Apa Itu Prosedur (Procedure)?

Prosedur adalah blok kode yang melakukan suatu tugas tertentu tanpa mengembalikan nilai. Kalau di analogi, prosedur itu seperti perintah “Sapu lantai!” atau “Masak nasi!”. Kamu melakukan aksi, tapi tidak mengharapkan hasil yang bisa langsung dipakai lagi.

Apa Itu Fungsi (Function)?

Fungsi adalah blok kode yang melakukan perhitungan atau operasi dan mengembalikan nilai. Ini seperti perintah “Hitung 5 + 3!” – kamu mengharapkan hasilnya, yaitu 8. Nilai kembalian inilah yang membedakan fungsi dari prosedur.

Contoh Program Pascal: Prosedur Sederhana

Mari kita lihat contoh prosedur dalam action. Misalnya kita ingin membuat program untuk menyapa pengguna.

program ContohProsedur;
uses crt;

{ Deklarasi Prosedur }
procedure salam;
begin
  writeln('==================');
  writeln('Halo, Selamat Datang!');
  writeln('Senang bertemu dengan Anda!');
  writeln('==================');
end;

{ Program Utama }
begin
  clrscr;
  salam; { Memanggil prosedur salam }
  writeln('Program utama berjalan...');
  salam; { Memanggil lagi prosedur yang sama }
  readln;
end.

Lihat kan? Kita cukup menulis kode untuk salam sekali saja di prosedur, tapi bisa dipanggil berulang kali. Ini namanya modularitas – hemat tenaga dan kode lebih terorganisir!

Contoh Program Pascal: Fungsi dengan Nilai Kembalian

Sekarang mari kita buat fungsi yang lebih “pintar” karena bisa mengembalikan nilai.

program ContohFungsi;
uses crt;

{ Deklarasi Fungsi untuk menghitung luas persegi }
function hitungLuasPersegi(sisi: integer): integer;
begin
  hitungLuasPersegi := sisi * sisi; { Mengembalikan nilai }
end;

{ Program Utama }
var
  s, luas: integer;
begin
  clrscr;
  write('Masukkan panjang sisi persegi: ');
  readln(s);
  
  luas := hitungLuasPersegi(s); { Memanggil fungsi dan menyimpan hasilnya }
  
  writeln('Luas persegi dengan sisi ', s, ' adalah: ', luas);
  readln;
end.

Perhatikan bagian hitungLuasPersegi := sisi * sisi;. Inilah cara fungsi mengembalikan nilai. Kita assign hasil perhitungan ke nama fungsi itu sendiri.

Keuntungan Menggunakan Prosedur dan Fungsi

Kenapa sih kita repot-repot bikin prosedur dan fungsi? Ini dia manfaatnya:

  • Reusability (Bisa Dipakai Ulang): Sekali bikin, bisa dipanggil berkali-kali dimana saja.
  • Kemudahan Debugging: Kalau ada error, lebih gampang melacaknya karena kode sudah terpisah-pisah.
  • Kolaborasi Lebih Mudah: Dalam tim, programmer bisa bagi tugas bikin modul berbeda.
  • Perawatan Kode: Mau ubah logic? Cukup edit di satu tempat saja.

Contoh Program Pascal Lengkap: Kalkulator Sederhana

Sekarang kita gabungkan prosedur dan fungsi dalam satu program yang lebih kompleks. Mari buat kalkulator sederhana!

program KalkulatorModular;
uses crt;

var
  pilihan: integer;
  angka1, angka2: real;

{ Prosedur untuk menampilkan menu }
procedure tampilkanMenu;
begin
  writeln('=== KALKULATOR SEDERHANA ===');
  writeln('1. Penjumlahan');
  writeln('2. Pengurangan');
  writeln('3. Perkalian');
  writeln('4. Pembagian');
  writeln('5. Keluar');
  writeln('============================');
  write('Pilih operasi (1-5): ');
end;

{ Fungsi untuk penjumlahan }
function tambah(a, b: real): real;
begin
  tambah := a + b;
end;

{ Fungsi untuk pengurangan }
function kurang(a, b: real): real;
begin
  kurang := a - b;
end;

{ Fungsi untuk perkalian }
function kali(a, b: real): real;
begin
  kali := a * b;
end;

{ Fungsi untuk pembagian }
function bagi(a, b: real): real;
begin
  if b = 0 then
    begin
      writeln('Error: Pembagian dengan nol!');
      bagi := 0;
    end
  else
    bagi := a / b;
end;

{ Program Utama }
begin
  clrscr;
  repeat
    tampilkanMenu;
    readln(pilihan);
    
    if (pilihan >= 1) and (pilihan <= 4) then
    begin
      write('Masukkan angka pertama: ');
      readln(angka1);
      write('Masukkan angka kedua: ');
      readln(angka2);
      
      case pilihan of
        1: writeln('Hasil: ', tambah(angka1, angka2):0:2);
        2: writeln('Hasil: ', kurang(angka1, angka2):0:2);
        3: writeln('Hasil: ', kali(angka1, angka2):0:2);
        4: writeln('Hasil: ', bagi(angka1, angka2):0:2);
      end;
      writeln;
    end
    else if pilihan <> 5 then
      writeln('Pilihan tidak valid!');
      
  until pilihan = 5;
  writeln('Terima kasih telah menggunakan kalkulator!');
  readln;
end.

Tips Menentukan Kapan Pakai Prosedur atau Fungsi

Masih bingung kapan pakai prosedur atau fungsi? Ini pedoman sederhananya:

Gunakan Prosedur Jika… Gunakan Fungsi Jika…
Hanya perlu melakukan aksi/tugas Perlu mengembalikan nilai hasil perhitungan
Contoh: menampilkan menu, membersihkan layar Contoh: menghitung luas, konversi suhu
Tidak ada output yang perlu disimpan Hasilnya akan digunakan dalam operasi lain

Kesalahan Umum dan Cara Menghindarinya

Sebagai programmer pemula, beberapa kesalahan ini sering terjadi:

  • Lupa Mendeklarasikan Prosedur/Fungsi: Pastikan deklarasi dilakukan sebelum program utama.
  • Tipe Data Tidak Sesuai: Perhatikan tipe data parameter dan nilai kembalian.
  • Fungsi Tidak Mengembalikan Nilai: Jangan lupa assign nilai ke nama fungsi.
  • Parameter Tidak Cocok: Saat memanggil, jumlah dan tipe parameter harus sesuai deklarasi.

Kesimpulan

Menguasai prosedur dan fungsi adalah langkah besar dalam belajar pemrograman Pascal. Dengan contoh program Pascal yang kita bahas tadi, kamu sekarang sudah punya fondasi yang kuat untuk membuat kode yang lebih terstruktur.

Ingat, modularitas bukan cuma untuk programmer advanced. Dari awal sekali, biasakan diri memecah masalah besar menjadi bagian-bagian kecil. Dengan begitu, debugging jadi lebih mudah, kode lebih readable, dan yang paling penting – programming jadi lebih menyenangkan!

Coba praktikkan contoh-contoh di atas, modifikasi sesuai kreativitasmu, dan rasakan sendiri betapa powerful-nya konsep modularitas ini. Selamat coding!