Menguasai Fungsi (Function) di Pascal: Definisi dan Implementasi

Setelah mempelajari prosedur, struktur penting lainnya dalam sub-program Pascal adalah Fungsi (Function). Berbeda dengan prosedur yang hanya menjalankan sekumpulan perintah, fungsi dirancang khusus untuk memproses data dan menghasilkan sebuah nilai balik (return value).

Definisi dan Struktur Dasar Fungsi

Fungsi didefinisikan menggunakan kata kunci function. Keunikan utama dari fungsi adalah adanya tipe data yang menyertai nama fungsi tersebut, yang menunjukkan jenis nilai yang akan dikembalikan.

Bentuk Umum Penulisan Fungsi:

Function NamaFungsi (parameter1: tipe_data; parameter2: tipe_data): tipe_data_kembalian;
const
  {daftar konstanta lokal}
Var
  {daftar variabel lokal}
Begin
  {kode program}
  NamaFungsi := nilai_kembalian; {Baris paling krusial}
End;

Penting untuk diingat bahwa di dalam blok kode fungsi, Anda harus memberikan nilai ke NamaFungsi agar fungsi tersebut dapat mengirimkan hasil kembali ke program pemanggil.

Mengembalikan Nilai dengan Variabel Lokal

Anda dapat langsung memberikan nilai hasil perhitungan ke nama fungsi, atau menggunakan variabel lokal terlebih dahulu untuk menyimpan hasil sementara sebelum dikembalikan.

Contoh Fungsi Perkalian Sederhana:

Function Kali (x, y: integer): longint;
Var
  Hasil: longint; {Variabel lokal}
Begin
  Hasil := x * y;
  Kali := Hasil; {Mengembalikan nilai melalui nama fungsi}
End;

Cara Memanggil Fungsi

Fungsi diakses dengan memanggil namanya diikuti dengan daftar parameter aktual jika ada. Karena fungsi menghasilkan nilai, pemanggilannya biasanya ditampung ke dalam suatu variabel atau langsung ditampilkan dalam perintah output.

Contoh Pemanggilan:

Var
  A: longint;
Begin
  A := Kali(10, 5); {Menampung hasil fungsi ke variabel A}
End.

Contoh Implementasi Praktis

Berikut adalah beberapa skenario penggunaan fungsi dalam berbagai logika pemrograman:

1. Menentukan Nilai Maksimum

Fungsi ini membandingkan dua bilangan dan mengembalikan angka yang paling besar.

Function Maks(x, y: integer): integer;
Begin
  if x < y then Maks := y else Maks := x;
End;

2. Mengecek Tahun Kabisat

Fungsi dapat mengembalikan tipe data boolean untuk pengecekan kondisi, seperti menentukan apakah sebuah tahun adalah tahun kabisat.

Function Kabisat(th: integer): boolean;
Begin
  if (th mod 4 = 0 and th mod 100 <> 0) or (th mod 400 = 0) then
    Kabisat := true
  else
    Kabisat := false;
End;

3. Konversi Nomor ke Nama Bulan

Dengan menggunakan struktur case, fungsi dapat mengubah input angka menjadi teks.

Function NamaBulan(bln: integer): string;
Begin
  case bln of
    1: NamaBulan := 'Januari';
    2: NamaBulan := 'Februari';
    3: NamaBulan := 'Maret';
    4: NamaBulan := 'April';
  end;
End;

Kesimpulan

Fungsi adalah modul program yang sangat efisien untuk melakukan perhitungan atau pemrosesan yang memerlukan hasil balik. Dengan menggunakan fungsi, kode program utama menjadi lebih bersih karena logika perhitungan dipisahkan ke dalam modul-modul tersendiri.

Tantangan: Buatlah sebuah program lengkap menggunakan fungsi untuk menghitung nilai Faktorial dari sebuah angka yang diinput oleh pengguna. Gunakan perulangan for di dalam fungsi tersebut untuk mengalikan angka secara berurutan.

This article was updated on January 24, 2026