Sub Program Materi 8
Sub Program di C Pada Bahasa Pemrograman selain C, sub program dibagi menjadi 2 yaitu procedure dan function. Pada Pemrograman C sub program adalah function.
Bentuk umum dari function di C Tipe_data Nama_function ( daftar parameter ) { Variabel lokal; Blok kode; }
#include <stdio.h> #include <conio.h> int luas ( int a,int b); main() { int x,y,z ; printf("masukkan nilai panjang x="); scanf("%i",&x); printf("masukkan nilai lebar y="); scanf("%i",&y); z=luas(x,y); printf ("Hasil= %i\n",z); } int luas ( int a, int b) float hasil; hasil=a*b; return(hasil);
Bentuk umum sub program di pemrograman lain Procedure Function
Procedure kumpulan pernyataan-pernyataan dalam satu unit tertentu. Sebelum dipanggil, procedure harus dideklarasikan di bagian deklarasi. Procedure dipanggil atau diaktifkan dengan cara memanggil atau menuliskan judul procedure tersebut.
program coba_procedure; uses wincrt; Procedure aditya; {nama procedure} var a,b,c:integer; begin writeln('a='); readln(a); writeln(b); readln(b); c:=a+b; writeln('c=',' ',c); end; aditya; {panggil procedure} end.
Function Function merupakan module atau kumpulan pernyataan yang mengembalikan hasil berupa nilai tunggal. Dalam procedure nilai yang dikembalikan bisa terdiri dari beberapa nilai, tetapi function mengembalikan nilai tunggal.
Suatu Function Dimulai dengan kata kunci function. Strukturnya sama dengan sebuah procedure. Didalam function, suatu nilai dihasilkan dengan nama function. Suatu function dipakai pada sisi sebelah kanan pada suatu ekspresi. Hanya menghasilkan tipe data sederhana
Function nama_function( parameter ):type data; Begin Pernyataan End;
program function_luas; uses wincrt; var x,y,z : integer; function luas (a, b:integer):integer; begin luas:=a*b; end; writeln('masukkan panjang x='); readln(x); writeln('masukkan lebar y='); readln(y); z:=luas(x,y); writeln('hasil luas=',z); end.
Parameter Supaya nilai variable bisa digunakan di module lain yang membutuhkannya, maka variable tersebut dibuat sebagai variable global atau dikirim sebagai suatu parameter.
Parameter ini ada dua macam, yaitu Parameter nilai ( by value ) Parameter variabel ( by refrences )
Parameter by Value Nilai dari parameter formal tidak mempengaruhi parameter nyata. Pengiriman satu arah yaitu parameter nyata ke parameter formal.
Parameter by reference Nilai dari parameter formal mempengaruhi parameter nyata. Pengiriman nilai secara dua arah yaitu parameter nyata ke parameter formal, dan sebaliknya parameter formal ke parameter nyata.