Modifikasi Prosedur dan Program Utama pada Algoritma
Prosedur HitungLuasSegitiga kita coba modifikasi dengan meniadakan peubah alas, dan tinggi di dalam bagian deklarasinya, dan menghilangkan pernyataan-pernyataan pembacaan data di dalam prosedur.
procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus Luas = (alas x tinggi)/2) }
{ K.Awal : sembarang }
{ K.Akhir : luas segitiga tercetak }
DEKLARASI
luas : real
ALGORITMA
luas <- (alas x tinggi)/2
write(luas)
--------------------------------------------------------------------------------------------
Selanjutnya, modifikasi program utama Segitiga dengan memasukkan peubah alas, dan tinggi ke dalam bagian deklarasi program utama, dan membaca alas dan tinggi;
PROGRAM Segitiga
{ Menghitung luas N dan buah segitiga. }
DEKLARASI
i, N : integer
alas, tinggi : real
procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 }
ALGORITMA
read(N) { tentukan banyaknya segitiga }
for i <- 1 to N do
read(alas,tinggi)
HitungLuasSegitiga
endfor
--------------------------------------------------------------------------------------------
Penjelasan :
Peubah alas dan tinggi dideklarasikan di dalam bagian deklarasi program utama. Karena itu, alas dan tinggi adalah peubah global sehingga mereka juga "dikenal" dan dapat digunakan di dalam prosedur HitungLuasSegitiga.
Sebaliknya, peubah luas dideklarasikan di dalam prosedur HitungLuasSegitiga, jadi peubah tersebut adalah peubah lokal dan ia hanya dapat digunakan di dalam lingkup prosedur itu saja. Anda tidak dapat menuliskan pernyataan write(luas) di dalam program utama.
procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus Luas = (alas x tinggi)/2) }
{ K.Awal : sembarang }
{ K.Akhir : luas segitiga tercetak }
DEKLARASI
luas : real
ALGORITMA
luas <- (alas x tinggi)/2
write(luas)
--------------------------------------------------------------------------------------------
Selanjutnya, modifikasi program utama Segitiga dengan memasukkan peubah alas, dan tinggi ke dalam bagian deklarasi program utama, dan membaca alas dan tinggi;
PROGRAM Segitiga
{ Menghitung luas N dan buah segitiga. }
DEKLARASI
i, N : integer
alas, tinggi : real
procedure HitungLuasSegitiga
{ Menghitung luas segitiga dengan rumus L = (alas x tinggi)/2 }
ALGORITMA
read(N) { tentukan banyaknya segitiga }
for i <- 1 to N do
read(alas,tinggi)
HitungLuasSegitiga
endfor
--------------------------------------------------------------------------------------------
Penjelasan :
Peubah alas dan tinggi dideklarasikan di dalam bagian deklarasi program utama. Karena itu, alas dan tinggi adalah peubah global sehingga mereka juga "dikenal" dan dapat digunakan di dalam prosedur HitungLuasSegitiga.
Sebaliknya, peubah luas dideklarasikan di dalam prosedur HitungLuasSegitiga, jadi peubah tersebut adalah peubah lokal dan ia hanya dapat digunakan di dalam lingkup prosedur itu saja. Anda tidak dapat menuliskan pernyataan write(luas) di dalam program utama.