Program ini adalah pengembangan dari program sebelumnya dengan menggunakan prosedur.
Program Persegi;
uses crt;
FUNCTION INPUT(var p,l:real):REAL;
begin
clrscr;
write('Panjang = ');readln(p);
write('Lebar = ');readln(l);
End;
FUNCTION LUAS(p,l:real):REAL;
Begin
LUAS:= p*l;
End;
FUNCTION KEL(p,l :real):REAL;
Begin
KEL:=2*p + 2*l;
End;
FUNCTION CETAK(ls,kl : real):REAL;
Begin
writeln('Luas = ',ls:0:2);
writeln('Keliling =',kl:0:2);
End;
{Program Utama}
var a,b,c,d:real;
Begin
input(a,b);
c:=Luas(a,b);
d:=Kel(a,b);
cetak(c,d);
readkey;
End.
Cara kerja program :
Fungsi INPUT menggunakan parameter output karena nilai p dan l akan dikirim oleh fungsi ke dalam program utama ketika dipanggil. Fungsi Input bertugas untuk melakukan input data panjang p dan lebar l kemudian nilai p dikirim ke variabel a dan nilai l dikirim ke variabel b dalam program utama. Fungsi bertipe real tetapi tidak mempengaruhi nilai yang dikirim oleh fungsi lewat parameter output.
Fungsi LUAS bertipe real dengan parameter input p dan l. Fungsi ini bertugas menghitung nilai Luas. Kemudian fungsi mengembalikan nilai hasil perhitungan Luas ke dalam program utama ketika dipanggil dan disimpan dalam variabel c.
Fungsi KEL bertipe real dengan parameter input p dan l. Fungsi ini bertugas menghitung nilai Keliling. Kemudian fungsi mengembalikan nilai hasil perhitungan Keliling ke dalam program utama ketika dipanggil dan disimpan dalam variabel d.
Cara kerja fungsi Luas dan Kel menunjukkan perbedaan antara prosedur dan fungsi dimana fungsi dapat mengembalikan sebuah nilai tanpa parameter output. Jika fungsi mengembalikan lebih dari satu nilai maka harus menggunakan parameter output seperti pada fungsi INPUT.
Fungsi Cetak bertipe real dengan parameter input ls dan kl yang menerima nilai dari variabel c dan d ketika dipanggil. Fungsinya untuk mencetak nilai Luas dan Keliling.
Program sederhana ini dapat anda gunakan untuk memahami cara kerja fungsi dengan harapan anda dapat mengembangkan untuk membuat program yang lebih kompleks.
Semoga bermanfaat.
God bless you all
uses crt;
FUNCTION INPUT(var p,l:real):REAL;
begin
clrscr;
write('Panjang = ');readln(p);
write('Lebar = ');readln(l);
End;
FUNCTION LUAS(p,l:real):REAL;
Begin
LUAS:= p*l;
End;
FUNCTION KEL(p,l :real):REAL;
Begin
KEL:=2*p + 2*l;
End;
FUNCTION CETAK(ls,kl : real):REAL;
Begin
writeln('Luas = ',ls:0:2);
writeln('Keliling =',kl:0:2);
End;
{Program Utama}
var a,b,c,d:real;
Begin
input(a,b);
c:=Luas(a,b);
d:=Kel(a,b);
cetak(c,d);
readkey;
End.
Cara kerja program :
Fungsi INPUT menggunakan parameter output karena nilai p dan l akan dikirim oleh fungsi ke dalam program utama ketika dipanggil. Fungsi Input bertugas untuk melakukan input data panjang p dan lebar l kemudian nilai p dikirim ke variabel a dan nilai l dikirim ke variabel b dalam program utama. Fungsi bertipe real tetapi tidak mempengaruhi nilai yang dikirim oleh fungsi lewat parameter output.
Fungsi LUAS bertipe real dengan parameter input p dan l. Fungsi ini bertugas menghitung nilai Luas. Kemudian fungsi mengembalikan nilai hasil perhitungan Luas ke dalam program utama ketika dipanggil dan disimpan dalam variabel c.
Fungsi KEL bertipe real dengan parameter input p dan l. Fungsi ini bertugas menghitung nilai Keliling. Kemudian fungsi mengembalikan nilai hasil perhitungan Keliling ke dalam program utama ketika dipanggil dan disimpan dalam variabel d.
Cara kerja fungsi Luas dan Kel menunjukkan perbedaan antara prosedur dan fungsi dimana fungsi dapat mengembalikan sebuah nilai tanpa parameter output. Jika fungsi mengembalikan lebih dari satu nilai maka harus menggunakan parameter output seperti pada fungsi INPUT.
Fungsi Cetak bertipe real dengan parameter input ls dan kl yang menerima nilai dari variabel c dan d ketika dipanggil. Fungsinya untuk mencetak nilai Luas dan Keliling.
Program sederhana ini dapat anda gunakan untuk memahami cara kerja fungsi dengan harapan anda dapat mengembangkan untuk membuat program yang lebih kompleks.
Semoga bermanfaat.
God bless you all
Artikel Terkait :
Tidak ada komentar:
Posting Komentar
Silakan memberikan komentar dan pertanyaan yang sifatnya positif.