Prosedur Dalam Pascal • Procedure bertujuan untuk membagi-bagi sebuah program menjadi beberapa sub program, sehingga program menjadi lebih sederhana dan efisien. • Sub Program bertujuan untuk mengurangi penulisan kode program secara berulang kali. Bentuk Prosedur dan Fungsi PROCEDURE Nama_Prosedur (parameter input : tipe; var parameter output :tipe); FUNCTION Nama_Fungsi (parameter input : tipe; var parameter output :tipe): Tipe Fungsi Parameter Parameter adalah nama Variabel yang dideklarasikan pada bagian header prosedur/ Fungsi. 1. Parameter aktual (argumen) adalah parameter yang disertakan pada waktu pemanggilan procedure/Fungsi. 2. Parameter formal adalah parameter yang dideklarasikan di dalam bagian header prosedur/Fungsi itu sendiri. Aturan Parameter Aturan yang harus diperhatikan antara parameter aktual dan parameter formal: 1. Jumlah parameter aktual pada pemang-gilan prosedur harus sama dengan jumlah parameter formal pada header prosedur/ Fungsinya. 2. Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian Variabel Dalam Prosedur/Fungsi 1. Variabel Global • Adalah variabel yang yang dapat dikenali oleh semua sub program dan program utama. • Dideklarasikan di awal program . 2. Variabel Lokal • Adalah variabel yang hanya dapat dikenali oleh sub program yang mendeklarasikannya.
• Dideklarasikan di dalam sub program
Deklarasi Prosedur PROCEDURE Nama_prosedur (parameter_input:tipe; Var parameter_output : tipe); Var …… {Deklarasi Variabel Lokal} Begin
; End;
Jenis Prosedur 1. Prosedur Tanpa Parameter 2. Prosedur Dengan Parameter Input 3. Prosedur Dengan Parameter Output 4. Prosedur Dengan Parameter Input dan Output.
Contoh : Buatlah program untuk menghitung Luas Segitiga dengan menggunakan 4 macam bentuk prosedur. Jawaban : 1. Prosedur Tanpa Parameter Semua proses dilakukan di dalam prosedur yaitu input data, hitung, dan cetak hasil. Deklarasi : Procedure LuasSegitiga; {tanpa parameter} Program tidak efisien karena belum melakukan pembagian tugas menjadi beberapa sub program. Program Utama hanya memanggil satu prosedur untuk dijalankan.
Prosedur diberi nama LuasSegitiga tanpa menggunakan parameter formal. Variabel alas,tinggi, dan luas dideklarasikan dalam prosedur. Variabel tersebut disebut variable lokal. 2. Prosedur Dgn Parameter Input Prosedur ini hanya menggunakan parameter formal input yang bertugas menerima data yang dikirim ke dalam prosedur. Bentuk deklarasinya seperti berikut: Procedure Nama_prosedur(parameter_input: Tipe); Procedure LuasSegitiga( alas,tinggi: Real); Alas dan tinggi adalah Variabel formal yang berfungsi untuk menerima data dari variable aktual pada saat dipanggil. LuasSegitiga(a,t); Variabel a dan t adalah parameter aktual yang nilainya dikirim ke dakam prosedur dan diterima oleh variable aktual alas dan tinggi. Syarat yang harus diikuti adalah variabel alas, tinggi, a , dan t harus bertipe sama dan urutannya harus bersesuaian.
Dalam program di atas, kita melihat bahwa nilai variable a dan t dilakukan dalam program utama, kemudian nilainya dikirim ke prosedur pada saat memanggil prosedur LuasSegitiga. 3. Prosedur Dengan Parameter Output. Prosedur ini hanya menggunakan parameter output. Perlu diperhatikan bahwa parameter output didahului oleh kata kunci Var. Bentuk deklarasinya adalah sebagai berikut : Procedure Nama_prosedur(Var parameter_output:tipe) Contoh : Procedure LuasSegitiga( Var Luas: Real);
Cara kerja program adalah proses input data dilakukan dalam prosedur kemudian hasil perhitungan Luas dikirim kembali ketika dipanggil dari program utama. Hasil perhitungan luas dikirim lewat variable luas dan diterima oleh variable l. Dengan demikian maka Luas dapat dicetak dalam program utama dengan menggunakan variable l. Syaratnya adalah tipe variable luas dan l harus sama. 4. Prosedur Dgn Parameter Input dan Output Prosedur ini menggunakan parameter formal input dan output. Bentuk deklarasinya adalah sebagai berikut : Procedure Nama_prosedur (parameter_input : tipe; Var parameter_output :tipe) Prosedur menerima nilai/data dari variable a dan yang dikirim ke dalam lewat parameter input alas dan tinggi, kemudian mengirim hasil perhitungan luas ke program utama lewat variable output Luas dan diterima oleh variable L. Contoh : Procedure LuasSegitiga( alas,tinggi: Real; Var Luas:Real); Program :
Cara kerja program adalah program utama melakukan input nilai variable a dan t kemudian dikirim ke prosedur yang diterima oleh variable alas dan tinggi. Kemudian hasil perhitungan luas dikirim kembali lewat variable luas dan diterima oleh variable L. Dengan demikian hasil perhitungan luas dicetak dalam program utama dengan menggunakan variable L. Program di atas dapat juga dimodifikasi dengan membagi lagi menambahkan beberapa prosedur, misalnya prosedur input data dan prosedur cetak hasil perhitungan.
Semoga bermanfaat. God bless you all.