Baik kali ini kita masuk kebagian procedure dan fungsi di pascal.
tapi sebelum membahas lebih jauh kita kenali dulu kira-kira apa sih perbedaan procedure dan fungsi di pascal.
perbedaannya yaitu.
1. Prosedur diawali dengan dengan kata procedure untuk mendeklarasikannya
contoh : procedure hitung_angka;
kalau fungsi di awali dengan kata function
function hitung_bilangan: integer;
2. Procedure tidak mengembalikan nilai ke program utama, sedangkan
fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi
harus ada tipe datanya (integer, char atau string).
3. Procedure outputnya diletakkan di dalam procedure, kalau fungsi outputnya di letakkan di program utama.
4. Prosedur di panggil diprogram utama dengan menuliskan nama procedure tersebut di program utama. contoh :hitung_bilangan;
Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung menuliskannya di program utama.
contoh. hasil:= hitung_bilangan(a,b);
atau write(‘hasilnya adalah ‘, hitng_bilangan(a,b));
Procedure
Procedure adalahsuatu program yang terpisah dalam blok tersendiri yang
berfungsi sebagai subprogram. Penggunaan prosedur diawali dengan kata
cadangan procedure dalam bagian deklarasi prosedur. Pemanggilan prosedur
dapat dilakukan dengan menggunakan judul prosedur.
Pada program terstruktur banyak menggunakan prosedur karena :
• Sebagai penerapan program yang modular yaitu memecah program yang
rumit menjadi program-program bagian yang lebih sederhana dalam bentuk
prosedur.
• Untuk beberapa perintah yang sering digunakan berulang, cukup dituliskan sekali dalam prosedur dan dipanggil sewaktu-waktu.
Bentuk umum:
Procedure nama_procedure(parameter);
Deklarasi variabel,label,…dll;
Begin
Statement procedure;
………………………….
………………………….
End;
Contoh program
Uses crt;
Procedure hitungluas(p,l:integer);
Var
ls:integer;
begin
ls:=p*l;
Writeln(‘Luas: ‘, ls);
End;
Procedure hitkeliling(pp,ll:integer);
Var
Kel:integer;
Begin
Kel:=(2*pp)+(2*ll);
Writeln(‘Keliling: ‘,kel);
End;
Var
Pj,lbr:integer;
begin
clrscr;
write(‘Masukan panjang : ‘);readln(pj);
write(‘Masukan lebar : ‘);readln(lbr);
writeln;
hitungluas(pj,lbr);
hitkeliling(pj,lbr);
readln;
end.
Function
Blok pada function hampir sama dengan blok pada procedure, 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.
Contoh program 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.
Sumber: https://bimosakti15.wordpress.com/2013/04/26/procedure-dan-function-pada-pascal/ , http://sangwidy.wordpress.com/web-design/oop-1/sub-routinction-function-voidfunction/procedure-dan-fungsi-pada-pascal/
Tidak ada komentar:
Posting Komentar