Terdapat dua macam para parameter fungsi, yaitu :
/* ———————— */
/* Penggunaan Call By Value */
/* Program Pertukaran Nilai */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int x, int y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<”Nilai Sebelum Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
tukar(a,b);
cout<<”\nNilai Setelah Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
getch();
} tukar(int x, int y)
{
int z;
z = x; x = y; y = z;
cout<<”\n\nNilai di dalam Fungsi Tukar()”;
cout<<”\nx = “<<x<<” y = “<<y;
cout<<endl;
}
/* Penggunaan Call By Reference */
/* Program Pertukaran Nilai */
/* —————————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int *x, int *y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<”Nilai Sebelum Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
tukar(&a,&b);
cout<<endl;
cout<<”\nNilai Setelah Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
getch();
}
tukar(int *x, int *y)
{
int z;
z = *x; *x = *y; *y = z;
cout<<endl;
cout<<”\nNilai di Akhir Fungsi Tukar()”;
cout<<”\nx = “<<*x<<” y = “<<*y;
}
Pengiriman Data Ke Fungsi
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}
/* ———————— */
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<”\nMenghitung Luas Bujur Sangkar”<<endl;
cout<<”\nMasukan Nilai Sisi Bujur Sangkar : “;
cin>>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs<<” Cm”;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}
- Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
- Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.
- Pemanggilan dengan nilai ( Call by Value )
/* ———————— */
/* Penggunaan Call By Value */
/* Program Pertukaran Nilai */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int x, int y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<”Nilai Sebelum Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
tukar(a,b);
cout<<”\nNilai Setelah Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
getch();
} tukar(int x, int y)
{
int z;
z = x; x = y; y = z;
cout<<”\n\nNilai di dalam Fungsi Tukar()”;
cout<<”\nx = “<<x<<” y = “<<y;
cout<<endl;
}
- Pemanggilan dengan Referensi (Call by Reference)
/* Penggunaan Call By Reference */
/* Program Pertukaran Nilai */
/* —————————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int *x, int *y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<”Nilai Sebelum Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
tukar(&a,&b);
cout<<endl;
cout<<”\nNilai Setelah Pemanggilan Fungsi”;
cout<<”\na = “<<a<<” b = “<<b;
getch();
}
tukar(int *x, int *y)
{
int z;
z = *x; *x = *y; *y = z;
cout<<endl;
cout<<”\nNilai di Akhir Fungsi Tukar()”;
cout<<”\nx = “<<*x<<” y = “<<*y;
}
Pengiriman Data Ke Fungsi
- Pengiriman Data Konstanta Ke Fungsi
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}
- Pengiriman Data Variabel Ke Fungsi
/* ———————— */
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<”\nMenghitung Luas Bujur Sangkar”<<endl;
cout<<”\nMasukan Nilai Sisi Bujur Sangkar : “;
cin>>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs<<” Cm”;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}