Procedure and Function (PASCAL)
19.31
Assalamu’alaikum Wr. Wb.
Alhamdulillah
akhirnya sampai pada materi terakhir di semester awal ini. PROCEDURE and
FUNCTION, dalam pembahasan kali ini saya akan memberikan sedikit penjelasan
tentang procedure and function. Procedure dan Function adalah suatu program
terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program)
yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan
program utama.
·
PROCEDURE
Kata procedure sering kita dengar
dalam kehidupan sehari-hari. Seorang mahasiswa pada setiap awal semester selalu
melakukan pendaftaran ulang (registrasi). Langkah-langkah pendaftaran ulang
lazim dinyatakan dalam sebuah procedure yang dinamakan procedure daftar ulang. Secara
sederhana procedure daftar ulang dituliskan sebagai berikut :
Procedure
Daftar Ulang
1.
Ambil Form Rencana Studi
(FRS) di kantor Tata Usaha Akademik dengan memperlihatkan Kartu Tanda Mahasiswa
(KTM) dan Kartu Studi Mahasiswa (KSM)
2.
Lakukan pembayaran SPP di
loker pembayaran dan minta kwitansinya
3.
Isi KRS dengan mata kuliah
– mata kuliah yang akan diambil di semester ini
4.
Lakukan perwalian untuk
mengesahkan KRS oleh Wali Akademik
5.
Jika SPP sudah lunas, maka
serahkan KRS yang sudah disahkan oleh Wali Akademik ke petugas di Kantor Tata
Usaha Akademik. Jika SPP belum lunas, kembali ke langkah 2
6.
Serahkan foto ukuran 2 x 3
untuk KTM yang baru, untuk kemudian dicap oleh petugas
7.
Selesai
Ketika sebuah
procedure dieksekusi, maka instruksi-instruksi di dalamnya dikerjakan satu per satu.
Pada contoh regristasi mahasiswa, mahasiswalah yang mengeksekusi procedure
daftar ulang. Mahasiswa membaca setiap langkah di dalam procedure, lalu
melaksanakan instruksi yang tertulis pada setiap langkah. Efek dari pelaksanaan
procedure dapat diamati sebelum dan sesudah procedure dijalankan oleh
mahasiswa.
Pendefinisian PROCEDURE
Sebagaimana halnya sebuah
program, suatu procedure juga memiliki header dan block.
Perbedaan bentuknya dengan program hanyalah pada
bagian header-nya saja. Bentuk Umum header suatu procedure adalah :
PROCEDURE nama;
Atau
PROCEDURE nama (formal parameter : jenis);
Jika kita menggunakan procedure
dalam suatu program, maka procedure tersebut harus dituliskan pada bagian
deklarasi.
Cntoh Soal :
Hitunglah menggunakan pilihan
Luas Persegi Panjang dan Luas Segitiga menggunakan procedure.
Kode Program :
var
pil:integer;
panjang,lebar:integer;
procedure luas_persegi_panjang;
var
x,y,hasil:integer;
begin
write(' Masukan Panjang : ');readln(x);
write(' Masukan Lebar : ');readln(y);
hasil:=x*y;
writeln(' Luas Persegi Panjang : ',hasil);
end;
procedure
luas_segitiga;
var
alas,tinggi,hasil:real;
begin
write(' Masukan Alas : ');readln(alas);
write(' Masukan Tinggi : ');readln(tinggi);
hasil:=(alas*tinggi)/2;
writeln(' Luas Segitiga : ',hasil:0:2);
end;
procedure
judul;
begin
writeln('----------------------------------------------------------------------------');
writeln('| CONTOH
PROCEDURE
|');
writeln('----------------------------------------------------------------------------');
end;
begin
writeln('1. Luas Persegi Panjang
');
writeln('2. Luas Segitiga ');
write(' Masukan Pilihan : ');
readln(pil);
if (pil=1) then
begin
luas_persegi_panjang;
end
else if (pil=2) then
begin
luas_segitiga;
end;
readln;
end.
Hasilnya :
·
FUNCTION
Seperti
halnya procedure, function juga merupakan upa-program yang mempunyai tujuan
spesifik. Function/fungsi adalah upa-program yang memberikan/mengembalikan
(return) sebuah nilai dari tipe tertentu (tipe dasar atau tipe bentukan). Definisi
function di dalam matematika, kita mengenal cara penulisan fungsi seperti pada
contoh berikut :
1. Ć’(x) = 2x2 + 5x – 8
2. H(x,y) = 3x – y + xy
Pada keuda
contoh diatas, Ć’ dan H adalah nama fungsi, sedangkan x dan y
adalah parameter fungsi yang bersangkutan. Nilai yang diberikan oleh fungsi
bergantung pada masukan parameter. sebagai misal :
1. x = 2,
maka Ć’(2) = 2
. 22 + 5 . 2 – 8 = 10
2. x = 1, y = 2, maka H(1,2)
= 3 . 1 – 2 + 1 . 2 = 3
Nilai 10
dan 3 pada kedua contoh di atas adalah nilai yang diberikan (return value) oleh
masing-masing fungsi Ć’ dan
fungsi H
Pendefinisian FUNCTION
Sebagaimana halnya pada procedure, struktur fungsi sama dengan
struktur algoritma yang sudah anda kenal: ada bagian header yang berisi nama fungsi (beserta parameter masukan, jika
ada) dan spesifikasi tentang fungsi tersebut, bagian deklarasi, dan bagian fungsi.
Blok pada fungsi hampir sama dengan blok pada
prosedur, hanya pada function harus dideklarasikan dengan tipe dari function
tersebut yang merupakan tipe hasil dari function itu sendiri. Sehingga
dikatakan function dapat mengembalikan nilai. Perbedaan fungsi dengan prosedur
adalah:
• Pada fungsi, nilai yang dikirimkan balik terdapat pada nama
fungsinya(kalau pada prosedur parameter yang dikirimkan secara acuan).
• Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya.
• Pada prosedur, nama prosedur tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.
• Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya.
• Pada prosedur, nama prosedur tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.
Contoh
Program pada Function :
Uses crt;
Function faktor(bilangan :integer) : real;
Begin
If bilangan = 0 then faktor := 1
Else
Faktor := faktor(bilangan-1)*bilangan;
End;
Var
n : integer;
begin
clrscr;
write(' Berapa Faktorial Dari = ');
readln(n);
writeln(n,' faktorial = ', faktor(n):9:0);
readln;
end.
Hasilnya
:
Terimakasih
Atas Kunjungan Anda di Blog Saya, Semoga Bermanfaat dan dapat membantu anda
apabila mendapatkan kesulitan dalam memahami procedure and function :-)
Sumber :
1. Algoritma
& Pemrograman dalam bahasa PASCAL dan C edisi Revisi : Rinaldi Munir