PROCEDURE DAN FUNCTION
Prosedur maupun fungsi adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram. Prosedur diawali dengan kata “Procedure” sedangkan fungsi diawali dengan kata “Fungction” pada bagian deklarasinya. Perbedaan antara Procedure dan Fungsi adalah Procedure tidak menghasilkan nilai kepada bagian program yang memanggilnya sedangkan pada fungsi dapat menghasilkan nilai.
Pendeklarasian Procedure Procedure Nama_Prosedur; Begin Statement; End; Atau : Procedure Nama_Prosedur(Daftar Parameter);
Pendeklarasian Fungsi Function Nama_Fungsi : Type_Data; Begin Statement; End; Atau Function Nama_Fungsi(Daftar Parameter): Type_Data;
Contoh ….
PENGGOLONGAN VARIABEL Berdasarkan kelas penyimpanannya variable pada Pascal secara umum dapat dibedakan kedalam dua kelas : Variabel lokal Variabel global (eksternal)
Variabel lokal Variabel lokal adalah variabel yang dideklarasikan di dalam fungsi. Sifat-sifat variabel lokal : 1. Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan lenyap ketika proses eksekusi terhadap fungsi berakhir. 2. Hanya dikenal oleh fungsi tempat variabel dideklarasikan 3. Tidak ada inisialisasi secara otomatis (saat variabel diciptakan nilainya random).
Variabel global (eksternal) Variabel global (eksternal) adalah variabel yang dideklarasikan di luar fungsi. Sifat-sifat variabel global : 1. Dikenal (dapat diakses) oleh semua fungsi. 2. Jika tidak diberi nilai awal secara otomatis berisi nilai nol.
PARAMETER 1. Parameter Formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi atau prosedur. 2. Parameter Aktual adalah variabel (parameter) yang dipakai dalam pemanggilan fungsi atau prosedur
Dalam contoh program pertambahan di atas parameter formal terdapat pada pendefinisisan fungsi dan Procedure. Procedure Cetak_hasil(hasil :integer); Function Tambah(a: integer; b:integer):integer; Sedangkan parameter aktual terdapat pada pemanggilan fungsi atau procedure hasil := Tambah(op1,op2); Cetak_Hasil(hasil);
MELEWATKAN PARAMETER Cara melewatkan suatu parameter dalam Bahasa Pascal ada dua cara yaitu : emanggilan secara nilai (Call by Value) dan Pemanggilan Secara Referensi (Call by Reference).
Call By Value Call by value akan menyalin nilai dari parameter aktual ke parameter formal. Yang dikirimkan ke fungsi atau prosedur adalah nilai dari datanya, bukan alamat memori letak dari datanya. Fungsi dan prosedur yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program. Perubahan nilai di fungsi atau prosedur (parameter formal) tidak akan merubah nilai asli di bagian program yang memanggilnya. Pengiriman parameter secara nilai adalah pengiriman searah.
Contoh ….
Call by Reference Pemanggilan secara Referensi untuk melewatkan alamat dari suatu variabel ke dalam fungsi atau prosedur. Yang dikirimkan ke fungsi atau prosedur adalah alamat letak dari nilai datanya, bukan nilai datanya. Fungsi atau prosedur yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya. Perubahan nilai di fungsi atau prosedur akan merubah nilai asli di bagian program yang memanggil fungsi atau prosedur. Pengiriman parameter secara referensi adalah pengiriman dua arah.
Contoh ….
To Be Continue ….