PROSEDUR
Prosedur
prosedur adalah
modul program yang mengerjakan tugas/aktivitas yang spesifik dan menghasilkan
suatu efek netto. Efek netto diketahui dengan membandingkan keadaan awal dan
keadaan akhir pada pelaksanaan sebuah prosedur.
Pendeklarasian Prosedur
Didalam sebuah prosedur harus lah terdapat
;
o
Nama prosedur
o
Nama konstanta
o
Peubah (Variabel)
o
tipe data
o
Dan aksi yang dilakukan oleh prosedur tersebut.
Pemanggilan Prosedur
Pemanggilan prosedur dilakukan dengan cara menyebutkan nama prosedur
didalam sub main().
Contoh;
HitungLuasSegitiga();
Notasi Algoritmik
Procedure NamaProsedur (parameter)
{
K.awal : keadaan sebelum prosedur dilaksanakan
K. Akhir: keadaan setelah prosedur dilaksanakan
Deklarasi
{
Semua variabel, konstanta, dan tipe data yang
digunakan
}
Contoh Prosedur; Menghitung luas Segitiga
#include
<stdio.h>
void
HitungLuasSegitiga();
main()
{
HitungLuasSegitiga();
return 0;
}
void HitungLuasSegitiga()
{
int alas;
int tinggi;
float luas;
printf("Alas
Segitiga=");scanf("%d",&alas);
printf("Tinggi
Segitiga= ");scanf("%d",&tinggi);
luas=(alas*tinggi)/2;
printf("Luas
Segitiga = %1.2f",luas);
}
Jika dijalankan outputnya;
Variabel
Global dan Variabel Lokal
v Variabel lokal
Variabel global adalah nama variabel dan tipe data
yang dideklarasikan didalam sebuah prosedur. Variabel dan tipe data tersebut
hanya dikenal didalam lingkup prosedur tersebut. Setelah prosedur selesai
dieksekusi variabel tersebut tidak dikenal lagi di prosedur lain.
Variabel
global Variabel global adalah sebuah
variabel yang dideklarasikan di dalam program utama. Variabel tersebut dikenali
dibagian manapun didalam program. Misal pada sebuah prosedur.
Contoh:
#include
<stdio.h>
void
HitungLuasSegitiga(float a,float t);
float a, t;//variable
global
main()
{
float a,t;// variable lokal
printf("Alas Segitiga
?");scanf("%f",&a);
printf("Tinggi Segitiga ? ");scanf("%f",&t);
HitungLuasSegitiga(a,t);
return 0;
}
void HitungLuasSegitiga(float
alas,float tinggi)
{
a=15.0;
t=16.0;
printf("%f\n",a);
printf("%f\n",t);
float luas;
luas=(alas*tinggi)/2.0;
printf("Luas
Segitiga = %1.2f",luas);
}
-
Parameter
·
Parameter Masukkan
Parameter masukkan digunakan untuk mengirimkan informasi ke dalam
prosedur. Informasi dapat berupa variabel dan tipe data.
·
Parameter Keluaran
Parameter keluaran digunakan untuk mengirimkan yang akan menjadi output.
Contoh parameter
masukan;
#include
<stdio.h>
void
HitungLuasSegitiga(float a,float t);
main ()
{
float a,t;
printf("alas
segitiga ? "); scanf("%f",&a);
printf("tinggi
segitiga ? ");scanf("%f",&t);
HitungLuasSegitiga(a,t);
}
void
HitungLuasSegitiga(float alas,float tinggi)
{
float luas;
luas=(alas*tinggi)/2.0;
printf("luas
segitiga = %f",luas);
}
-
Contoh parameter keluaran;
#include <stdio.h>
void HitungLuasSegitiga(float a,float t, float *L); main()
{
float a,t,L; printf("Alas Segitiga "
);scanf("%f",&a); printf("Tinggi Segitiga
");scanf("%f",&t); HitungLuasSegitiga(a,t,&L);
printf("Luas Segitiga=%f",L); return 0;
}
void HitungLuasSegitiga(float alas, float tinggi,
float *luas) {*luas=(alas*tinggi)/2.0;}
NB:
Parameter keluaran
Semua
peubah harus menggunakan character *
Contoh
*luas =
(alas * tinggi)/2.0
Contoh Pengaplikasian Beberapa Prosedur dalam Satu Program;
#include
<stdio.h>
void
luasbalok(float p, float t, float l); void
luasbalok(float panjang, float tinggi, float lebar)
{ float luas; luas=2*(tinggi+panjang+lebar); printf("LUAS
BALOK=%.2f",luas);
}
void
luaslingkaran(); void
luaslingkaran()
{
const double phi=3.14; int
jari2;
printf("\n\nLuas_Lingkaran;"); printf("\n\nJARI-JARI=");
scanf("%d",&jari2); float
luas=phi*(jari2*jari2); printf("Luas
Lingkaran=%.2f",luas);
}
void
luaskubus(); void luaskubus()
{
int sisi;
printf("\n\nLuas_Kubus:"); printf("\n\nSISI=");
scanf("%d",&sisi); float luas;
luas=6*(sisi*sisi); printf("LUAS
BALOK=%.2f",luas);
}
int main()
{
float p, l,t; printf("Luas_balok:\n\n"); printf("Nilai
tinggi=");
scanf("%f",&t);
printf("Nilai
panjang="); scanf("%f",&p); printf("Nilai
lebar="); scanf("%f",&l); luasbalok(p,l,t); luaskubus(); luaslingkaran();
return
0;
}
Jika
dijalankan output dari program diatas sebagai berikut;
Tidak ada komentar:
Posting Komentar