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.
