PROSEDUR
Modul program yang mengerjakan tugas/aktifitas yang spesifik dan menghasilkan suatu efek netto [LIE96]Pendefinisian Prosedur
Procedure Namaprosedur (deklarasi
parameter, jika ada)
{Spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini.
K.Awal : keadaan sebelum prosedur dilaksanakan.
K. Akhir : Keadaan sete;ah prosedur dilaksanakan}
DEKLARASI
{semua nama yang dipakai di dalam prosedur dan hanya berlaku lokal di dalam prosedur didefinisikan di sini}
ALGORITMA
{badan prosedur, berisi urutan instruksi}
contoh :
Procedure HitungLuasSegitiga
{Menghitung
luas
segitiga
dengan
rumus
L = (alas x tinggi)
/ 2}
{K.Awal
: sembarang}
{K.Akhir
: luas
segitiga
tercetak}
DEKLARASI
alas : real
tinggi : real
luas : real
ALGORITMA
read(alas,tinggi)
luas
<- (alas x tinggi) / 2
write(luas)
Pemanggilan prosedur
PROGRAM segitiga
{Menghitung
luas
N buah
segitiga}
DEKLARASI
i,
N : integer
procedure HitungLuasSegitiga
{Menghitung
luas
segitiga
dengan
rumus
L = (alas x tinggi
/ 2}
ALGORITMA
read
(N) {tentukan
banyaknya
segitiga}
for I <- 1 to N do
HitungLuasSegitiga
endfor
Nama Global, Lokal dan Lingkup
Nama (konstanta, peubah, tipe dll) :- Lokal : Nama-nama yang dideklarasikan di dalam prosedur tersebut dikatakan lingkupnya (scope) “lokal”. Hanya berlaku di dalam prosedur yang melingkupinya saja.
- Global : Nama-nama yang dideklarasikan di dalam program utama dikatakan lingkupnya “global”. Dapat digunakan di bagian manapun di dalam program.
Aturan dalam korespondensi satu-satu antara parameter aktuan dan formal
- Jumlah parameter aktual pada pemanggilan prosedur harus sama dengan jumlah parameter formal pada deklarasi prosedurnya
- Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian
- Tiap parameter aktual harus diekspresikan dalam cara yang taat-asas dengan parameter formal yang bersesuaian, bergantung pada jenis parameter formal.
Jenis Parameter formal
- Parameter masukan (input parameter)
- Parameter keluaran (output parameter)
- Parameter masukan/keluaran (input/output parameter)
Parameter Masukan
Procedure HitungLuasSegitiga(input
alas, tinggi :
real)
DEKLARASI
luas :
integer
ALGORITMA
Luas
<- (alas * tinggi) /2
write(luas)
Pemanggilan prosedur masukan
PROGRAM Segitiga
DEKLARASI
i, N :
integer
alas,
tinggi :
real
procedure
HitungLuasSegitiga (
input alas,
tinggi :
real)
ALGORITMA
read(N)
for
i
<- 1 to N do
read(alas,
tinggi)
HitungLuasSegitiga(alas,
tinggi)
endfor
Parameter Keluaran
Procedure HitungLuasSegitiga ( input
alas,
tinggi :
real)
output luas :
real)
DEKLARASI
ALGORITMA
Luas
<- (alas * tinggi) /2
Pemanggilan prosedur keluaran
PROGRAM Segitiga
DEKLARASI
i, N :
integer
a,
t, L : real
Procedure
HitungLuasSegitiga ( input
alas,
tinggi :
real)
output luas :
real)
ALGORITMA
read(N)
for
i
<- 1 to N do
read(a,
t)
HitungLuasSegitiga(a,
t, L)
write(L)
endfor
Parameter Masukan/Keluaran
Procedure inc(input/output x : integer)
DEKLARASI
ALGORITMA
x
<- x + 1
Pemanggilan prosedur masukan/keluaran
PROGRAM cetak0sampai10
DEKLARASI
x : integer
Procedure inc(input/output x : integer)
ALGORITMA
x <- 0
repeat
write(x)
inc(x)
until x > 10
FUNGSI
upa-program yang memberikan/mengembalikan (return) sebuah nilai dari tipe tertentu (tipe dasar atau tipe bentukan).
- Fungsi diakses dengan memanggil namanya
- Fungsi mengandung daftar parameter formal
- Parameternya merupakan parameter masukan
Pendefinisian Fungsi
Function NamaFungsi (input : deklarasi
parameter, jika ada)
-> tipe
{Spesifikasi fungsi, berisi penjelasan tentang apa yang dilakukan dan dikembalikan oleh fungsi .}
DEKLARASI
{semua nama yang dipakai di dalam fungsi dan hanya berlaku lokal di dalam prosedur didefinisikan di sini}
ALGORITMA
{badan fungsi, berisi urutan instruksi yang menghasilkan nilai yang
akan dikembalikan oleh fungsi}
Return
ekspresi {pengembalikan
nilai
yang dihasilkan
fungsi}
Contoh
Function Genap(input
n : integer) –> boolean
{true
jika
n adalah
bilangan
genap,
atau
false jika
tidak
genap}
DEKLARASI
{tidak
ada}
ALGORITMA
return (n mod 2 = 0)Prosedur atau Fungsi
- Fungsi digunakan apabila modul program mengembalikan sebuah nilai
- Prosedur digunakan bila modul menghasilkan efek netto dari (satu atau) sekumpulan aksi
Sekian, semoga bermanfaat. wassalamu'alaikum..
maksih info nya :)
BalasHapussukses selslu