Di setiap bahasa pemrograman pasti mempunyai yang namanya sub rutin yaitu sub program atau bagian terkecil dari suatu program yang digunakan untuk keperluan tertentu. Hanya saja masing-masing bahasa pemrograman mungkin menyebutnya dengan istilah/cara yang berbeda. Dengan menggunakan procedure dan function pembuatan program yang besar dan komplek menjadi lebih mudah.
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).
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;
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.
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.
tapi kalo menggunakan procedure
program pakeprocedure;
procedure identitas;
begin
write('Nama : Untung Subagyo');
write('Alamat Asal : Kebumen');
write('Alamat Tinggal: Yogyakarta');
end;
begin
identitas;
identitas;
identitas;
end.
procedure identitas;
begin
write('Nama : Untung Subagyo');
write('Alamat Asal : Kebumen');
write('Alamat Tinggal: Yogyakarta');
end;
begin
identitas;
identitas;
identitas;
end.
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.
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:
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;
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.
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.
Jika menggunakan function
PROGRAM DenganFunction;
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.
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.
Pada contoh di atas, function menghasilkan nilai luas segitiga yang langsung dicetak.
Reference : http://algo-id.blogspot.com/2010/06/
Tidak ada komentar:
Posting Komentar