Apa perbedaan prosedure dan fungsi ?
Prosedur
Prosedur adalah suatu program terpisah dalam blok
sendiri yang berfungsi sebagai subprogram (program bagian). Diawali dengan kata
cadangan “Procedure” didalam bagian deklarasi prosedur. Procedure biasanya
bersifat suatu aktifitas seperti menghitung luas, meghitung faktorial, mencari
nilai maksimum/minimum,dsb. Prosedur
banyak digunakan pada program yang terstruktur karena :
Merupakan penerapan konsep program modular, yaitu
memecah-mecah program yang rumit menjadi program-program bagian yang lebih
sederhana dalam bentuk prosedur-prosedur.
Untuk hal-hal yang sering dilakukan berulang-ulang,
cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau
dipergunakan sewaktu-waktu bila diperlukan.
Fungsi
Fungsi sama seperti halnya dengan procedure, namun
tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe variabel yang
kita tentukan. Dan cara pemanggilan variabel ada 2 macam dalam pascal. Yaitu :
·
Mengoutputkan
nilai dari fungsi tersebut Contoh : Writln (namafungsi(parameter));
·
Dengan assignment
Variabel1 := namafungsi(parameter);
Berbeda dengan procedure yang bisa tidak menggunakan
parameter, fungsi harus menggunakan parameter dalam penggunaannya.
FUNCTION identifier (daftar parameter) : type ;
Blok fungsi juga diawali dengan kata cadangan Begin
dan di akhiri dengan kata cadangan End dan titik koma.
Perbedaan fungsi dengan prosedur adalah :
Pada fungsi, nilai yang dikirimkan balik terdapat pada
nama fungsinya ( kalau pada prosedur pada parameter yang dikirimkan secara
acuan).
Karena nilai balik berada di nama fungsi tersebut,
maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau
nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variable yang
lainnya.
Pada prosedur, nama prosedur tidak dapat digunakan
lagsung, yang dapat langsung digunakan adalah parameternya yang mengandung
nilai balik.
Mengapa menggunakan prosedur dan fungsi ?
Memecahkan program yang rumit dan besar menjadi
program-program yang lebih sederhana.
Untuk aktivitas yang dilakukan lebih dari satu kali / sering
dilakukan berulang-ulang.
Buatlah fungsi untuk menghitung luas lingkaran !
Jawab :
#include<stdio.h>
#include<cstdlib>
#define phi
3,14
float luaslingkaran(int jarijari)
{
float luas;
luas=phi*(jarijari*jarijari);
return luas;
}
main()
{
int var1;
float var2;
printf("||------>>>> Luas Lingkaran By Grizenzio
Orchivillando<<<<------||\n");
printf("||Masukan Nilai Phi =
");scanf("%d",&var1);
var2=luaslingkaran(var1);
printf("Luas = %.2f\n" ,var2);
system("pause");
return
0;
}
Buatlah fungsi untuk menghitung luas segitiga !
Jawab:
#include<stdio.h>
#include<cstdlib>
float Hitung_luas_segitiga(int alas, int tinggi)
{
float luas;
luas=(alas*tinggi)/2;
return luas;
}
main()
{
int var1,
var2;
float
var3;
printf("||------>>>> Luas Segitiga By Grizenzio
Orchivillando
<<<<------||\n");
printf("||Masukan Nilai Alas =
");scanf("%d",&var1);
printf("||Masukan Nilai Tinggi =
");scanf("%d",&var2);
var3=Hitung_luas_segitiga(var1,var2);
printf("Luas = %.2f\n" ,var3);
system("pause");
return
0;
}
Buatlah fungsi untuk menghitung persegi panjang !
Jawab:
#include<stdio.h>
#include<cstdlib>
/* Fungsi menghitung persegi panjang*/
float Hitung_LPersegipanjang(float p, float l)
{
float luas_pp;
luas_pp =
p * l;
return luas_pp;
}
main()
{
float panjang, lebar, luas_pp;
printf("Luas Persegi Panjang By Grizenzio
Orchivillando\n");
printf("Masukan panjang =
");scanf("%f",&panjang);
printf("Masukan lebar =
");scanf("%f",&lebar);
luas_pp = Hitung_LPersegipanjang(panjang,lebar);
printf("Luas persegi panjang adalah
%f\n",luas_pp);
system("pause");
return 0;
}
Buatlah aplikasi masing-masing fungsi tersebut !
#include<stdio.h>
#include<cstdlib>
#include<conio.h>
#include<string.h>
#define phi 3.14
void HitungL_ling()
{
int
j;
float
lu_ling;
system("cls");
printf("===================================\n");
printf(" Menghitung Luas Lingkaran \n");
printf("===================================\n");
printf("Masukkan
Nilai Jari-jari = ");scanf("%d",&j);
lu_ling=phi*j*j;
printf("Luas
Lingkaran = %.2f\n",lu_ling);
}
void HitungL_perpan()
{
int
panjang,lebar,lu_perpan;
system("cls");
printf("===================================\n");
printf(" Hitung Luas Persegi Panjang \n");
printf("===================================\n");
printf("Masukan
Panjang = ");scanf("%d",&panjang);
printf("Masukan
Lebar =
");scanf("%d",&lebar);
lu_perpan=panjang*lebar;
printf("Luas
Persegi Panjang = %d\n",lu_perpan);
}
void HitungL_seg()
{
int
a,t;
float
lu_seg;
system("cls");
printf("===================================\n");
printf(" Hitung Luas Segitiga \n");
printf("===================================\n");
printf("Masukan
Alas =
");scanf("%d",&a);
printf("Masukan
Tinggi = ");scanf("%d",&t);
lu_seg=a*t/2;
printf("Luas
Segitiga = %.2f\n",lu_seg);
}
main()
{
char
nama_login[15];
char
pass_login[10];
char
nama_key[]="Grizenzio";
char
pass_key[]="Orchivillando";
int
banding1,banding2;
int
salah;
bool
status;
char
no_menu;
char
lagi;
salah=0;status=1;
{
system("cls");
printf("===================================\n");
printf("|| M E N U
L O G I N ||\n");
printf("===================================\n");
printf("Nama :
");gets(nama_login);
printf("Pass :
");gets(pass_login);
banding1 = strcmp(nama_login,nama_key);
banding2
= strcmp(pass_login,pass_key);
if((banding1==0)&&(banding2==0))
{
atas:
system("cls");
printf("===================================\n");
printf(" M E N U U T A M A \n");
printf("===================================\n");
printf(" 1. Hitung luas
Lingkaran\n");
printf(" 2. Hitung luas Persegi
Panjang\n");
printf(" 3. Hitung luas
Segitiga\n");
printf(" 4. Keluar
System\n");
printf("===================================\n");
printf("Masukan pilihan 1/2/3/4 :
\n");
no_menu=getch();
switch(no_menu)
{
case
'1' : HitungL_ling();
system("pause");
break;
case
'2' : HitungL_perpan();
system("pause");
break;
case
'3' : HitungL_seg();
system("pause");
break;
case
'4' : status = 0;
break;
default
: printf("Nomor yang anda masukan salah\n");
}
}
else
salah
= salah +1;
if(salah==3);
{
printf("Hubungi
Admin System\n");
status
= 0;
}
}
while(status);
printf("\n");
getch();
system("cls");
printf("\n\n
Ingin kembali ke Menu Lagi [Y/T] :");
lagi
= getche();
system("cls");
if(lagi
== 'Y' || lagi == 'y')
goto
atas;
printf(" TERIMA KASIH \n");
return
0;
}
Comments