Pada FORTRAN, Subprogram ada 2 macam:
1. Subprogram FUNCTION
Bentuk umum:
FUNCTION nf(arg1, arg2, …, argm)
Penjelasan:
? nf = nama subprogram FUNCTION, yang sekaligus menjadi nama variabel outputnya, apabila namanya real, maka sifat functionnya real dan bila nama FUNCTION-nya integer, maka sifat functionnya integer.
? arg1, arg2,…, argm = argumen-argumen yang dikirim dari program pemanggil ke subprogram FUNCTION. Argumen boleh berupa variabel maupun konstanta, boleh real maupun integer.
Sifat-sifat subprogram FUNCTION:
o Bersifat otonom, sehingga nama-nama variabel di dalam subprogram boleh sama dengan nama-nama variabel di dalam program pemanggil dengan tidak terjadi kesalahan, oleh karena memang pada prinsipnya terpisah. Boleh melakukan operasi READ atau WRITE, boleh memanggil subprogram yang lain (baik function maupun subroutine).
o Dipanggil langsung dengan namanya.
o Argumen-argumen hanya merupakan input, output keluar melalui nama suprogram FUNCTION. Sehingga akibatnya, input bisa banyak (sebab argumen-argumen bisa banyak), tetapi output selalu hanya satu, yaitu melalui nama function.
o Boleh mempunyai lebih dari satu statemen RETURN, maupun juga statement STOP, sesuai kebutuhan.
o Hubungan antarargumen dalam program pemanggil dan program dipanggil adalah hubungan atas dasar posisi, bukan atas dasar nama variabel.
o Argumen-argumen dapat berupa konstanta maupun variabel real maupun integer.
2. Subprogram SUBROUTINE
Bentuk umum:
SUBROUTINE ns(arg1, arg2, …, argm)
Penjelasan:
? ns = nama subprogram SUBROUTINE. Nama ini mengikuti aturan variabel, hanya tidak bersifat real maupun integer.
? arg1, arg2,…, argm = argumen-argumen subprogram SUBROUTINE. Argumen boleh berupa input maupun output untuk subprogram SUBROUTINE.
Sifat-sifat subprogram SUBROUTINE:
o Bersifat otonom, sehingga nama-nama variabel di dalam subprogram boleh sama dengan nama-nama variabel di dalam program pemanggil dengan tidak terjadi kesalahan, oleh karena memang pada prinsipnya terpisah. Boleh melakukan operasi READ atau WRITE, boleh memanggil subprogram yang lain (baik function maupun subroutine).
o Dipanggil dengan cara: CALL ns(arg1, arg2, …, argm).
o Argumen-argumen boleh berfungsi sebagai input maupun sebagai output. Input boleh banyak, output juga boleh banyak.
o Boleh mempunyai lebih dari satu statemen RETURN, maupun juga statement STOP, sesuai kebutuhan.
o Hubungan antarargumen dalam program pemanggil dan program dipanggil adalah hubungan atas dasar posisi, bukan atas dasar nama variabel.
o Argumen-argumen dapat berupa konstanta maupun variabel real maupun integer.
Be First to Comment