Sub rutin dibagi menjadi dua macam, yaitu Procedure dan Function. Yang membedakan antara procedure dengan function adalah jika procedure tidak menghasilkan/mengembalikan suatu nilai, akan tetapi function mengembalikan suatu nilai.
Sebagai contoh kita membuat program yang digunakan untuk mencetak identitas sebanyak 3 kali (di Pascal).
program tanpaprocedure;tapi kalo menggunakan procedure
begin
write('Nama : Untung Subagyo');
write('Alamat Asal : Kebumen');
write('Alamat Tinggal: Yogyakarta');
write('Nama : Untung Subagyo');
write('Alamat Asal : Kebumen');
write('Alamat Tinggal: Yogyakarta');
write('Nama : Untung Subagyo');
write('Alamat Asal : Kebumen');
write('Alamat Tinggal: Yogyakarta');
end.
program pakeprocedure;Ketika kita menggunakan procedure, dan kita membutuhkan suatu pekerjaan berulang kali, maka kita tinggal memanggil procedure tersebut. Pada contoh program di atas, tidak ada nilai yang dikembalikan ke procedure. Biasanya procedure digunakan untuk melakukan pekerjaan-pekerjaan yang tidak menghasilkan nilai, misalkan untuk menampilkan sesuatu berulang kali. Di dalam pascal sudah tersedia beberapa procedure. Sebagai contoh, write adalah procedure untuk menampilkan tulisan di layar. clrscr adalah procedure yang digunakan untuk membersihkan layar. Jika kita sering melakukan pekerjaan yang sama berulang kali, dan pekerjaan tersebut membutuhkan sekumpulan perintah/statement, maka sebaiknya kita membuat procedure untuk keperluan tersebut.
procedure identitas;
begin
write('Nama : Untung Subagyo');
write('Alamat Asal : Kebumen');
write('Alamat Tinggal: Yogyakarta');
end;
begin
identitas;
identitas;
identitas;
end.
Sama seperti procedure, function merupakan sekumpulan perintah yang digunakan untuk keperluan tertentu, yang mungkin pekerjaan tersebut sering kita lakukan. Hanya saja, function menghasilkan/mengembalikan suatu nilai. Biasanya function digunakan untuk perhitungan. Nilai yang dihasilkan bisa disimpan ke suatu penampung terlebih dahulu (misalnya variabel), atau bisa juga langsung dicetak. Di dalam pascal terdapat beberapa function yang sudah tersedia, seperti readln digunakan untuk meminta masukan dari user melalui keyboard.
Sebagai contoh kita menginginkan untuk menghitung luas segitiga beberapa kali:
PROGRAM TanpaFunction;Jika menggunakan function
var p, l : integer;
BEGIN
alas := 5;
tinggi := 3;
writeln('Luas Segitiga = ',alas*tinggi*0.5);
alas := 2;
tinggi := 7;
writeln('Luas Segitiga = ',alas*tinggi*0.5);
alas := 4;
tinggi := 6;
writeln('Luas Segitiga = ',alas*tinggi*0.5);
END.
PROGRAM DenganFunction;Pada contoh di atas, function menghasilkan nilai luas segitiga yang langsung dicetak.
FUNCTION luas(alas,tinggi : integer):single;
BEGIN
luas := 0.5 * alas * tinggi;
END;
var p, l : integer;
BEGIN
alas := 5;
tinggi := 3;
writeln('Luas Segitiga = ',luas(alas,tinggi));
alas := 2;
tinggi := 7;
writeln('Luas Segitiga = ',luas(alas,tinggi));
alas := 4;
tinggi := 6;
writeln('Luas Segitiga = ',luas(alas,tinggi));
END.
Silahkan anda simpulkan apa kegunaan dari procedure dan function.
Tidak ada komentar:
Posting Komentar