Procedure dan Fungsi pada Pascal
Baik kali ini kita masuk kebagian
procedure dan fungsi di pascal.
tapi sebelum membahas lebih jauh kita kenali dulu kira-kira apa sih perbedaan procedure dan fungsi di pascal.
perbedaannya yaitu.
1. Prosedur diawali dengan dengan kata procedure untuk mendeklarasikannya
contoh : procedure hitung_angka;
kalau fungsi di awali dengan kata function
function hitung_bilangan: integer;
2. Procedure tidak mengembalikan nilai ke program utama, sedangkan fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus ada tipe datanya (integer, char atau string).
tapi sebelum membahas lebih jauh kita kenali dulu kira-kira apa sih perbedaan procedure dan fungsi di pascal.
perbedaannya yaitu.
1. Prosedur diawali dengan dengan kata procedure untuk mendeklarasikannya
contoh : procedure hitung_angka;
kalau fungsi di awali dengan kata function
function hitung_bilangan: integer;
2. Procedure tidak mengembalikan nilai ke program utama, sedangkan fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus ada tipe datanya (integer, char atau string).
3. Procedure outputnya diletakkan di
dalam procedure, kalau fungsi outputnya di letakkan di program utama.
4. Prosedur di panggil diprogram utama dengan menuliskan nama procedure tersebut di program utama.
Sebelum melanjutkan lebih lagi, saya mau mau mengatakan bahwa perbedaan antara procedure dan function adalah: kalau procedure tidak mengembalikan nilai/ hasil, sedangkan function mengembalikan nilai/ hasil. Untuk lebih jelas nanti akan saya berikan contoh kasusnya.
contoh :hitung_bilangan;
Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung menuliskannya di program utama.
contoh. hasil:= hitung_bilangan(a,b);
atau write(‘hasilnya adalah ‘, hitng_bilangan(a,b));
4. Prosedur di panggil diprogram utama dengan menuliskan nama procedure tersebut di program utama.
Kegunaan procedure dan function
Dalam bahasa pemrograman Pascal atau pada bahasa pemrograman umumnya, procedure dan function digunakan untuk memisahkan barisan kode program yang memiliki fungsi dan tujuan yang sama kedalam blok-blok tersendiri.Ivo Idham PerdameianDengan menggunakan procedur dan function otomatis akan menghindari kita dalam menulis kode yang berulang-ulang karena kode sudah dikelompokkan berdasarkan kegunaannya pada blok-blok tertentu seperti yang sudah saya sebutkan sebelumnya dan apabila kita memerlukannya tinggal dipanggil saja, dengan demikian program kita akan nampak lebih rapi dan lebih mudah jika akan melakukan pengeditan kode program, karena kita hanya perlu melihat bagian dari procedure atau function yang menangani proses tertentu.
Sebelum melanjutkan lebih lagi, saya mau mau mengatakan bahwa perbedaan antara procedure dan function adalah: kalau procedure tidak mengembalikan nilai/ hasil, sedangkan function mengembalikan nilai/ hasil. Untuk lebih jelas nanti akan saya berikan contoh kasusnya.
contoh :hitung_bilangan;
Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung menuliskannya di program utama.
contoh. hasil:= hitung_bilangan(a,b);
atau write(‘hasilnya adalah ‘, hitng_bilangan(a,b));
baik langsung saja ke contoh..
</pre>
<blockquote>program
aritha_pascal;
uses
wincrt;
procedure
nama;
var
nm: string;
begin
write('masukkan
nama anda ');
readln(nm);
write('haloo
', nm);
end;
begin
writeln('-======Program Procedure Input
Nama======-');
nama;
end.</blockquote>
<pre>
Procedure
dengan parameter Input dan parameter Output
kalau kita lihat contoh program
sebelumnya perintah input read(nama); dan output write(nama); berada di
procedure yang sama. nah bagai mana caranya apabila kita membaca input di
procedure a. kemudian menampilkannya di procedure b.
untuk melakukan itu kita membutuhkan yang namanya parameter. parameter ada 2 parameter input yang berfungsi sebagai inputan untuk procedure tesebut. dan yang kedua adalah parameter output. yang berufngsi untuk memberikan output pada variabel yang di parameterkan.
untuk melakukan itu kita membutuhkan yang namanya parameter. parameter ada 2 parameter input yang berfungsi sebagai inputan untuk procedure tesebut. dan yang kedua adalah parameter output. yang berufngsi untuk memberikan output pada variabel yang di parameterkan.
</pre>
<blockquote>program
widy_pascal;
uses
wincrt;
procedure
inputnama <span style="color: red;" color="red">(var
nm:string)</span>;
begin
write('masukkan
nama anda ');
readln(nm);
end;
procedure
tampilnama <span style="color: blue;"
color="blue">(nm:string)</span>;
begin
write('haloo
',nm);
end;
var
nama:string;
begin
writeln('-======Program Procedure Input Nama======-');
inputnama(nama);
tampilnama(nama);
end.</blockquote>
<pre>
pada prosedur inputnama tulisan yang
berwana merah (var nm:string) adalah parameter
output (parameter by reference). dimana nama yang di inputkan di dalam procedur
akan menjadi output pada program utama sehingga di program utama nama yang
telah di inpukan tadi bisa digunakan. ciri2 parameter output adalah dengan
adanya var pada (var nm:string)
sedangkan untuk parameter input
tidak menggunakan var. lihat coding di procedure tampilnama yang berwana biru (nm:string) nah in adalah contoh parameter input
(parameter by value)
contoh lain
</pre>
<blockquote>program
aritha_pascal;
uses
wincrt;
procedure
inputan(alas: integer; tinggi:integer; var luas:real);
begin
write('masukkan
nilai alas : '); readln(alas);
write('masukkan
nilai tinggi : '); readln(tinggi);
luas:=
alas*tinggi/2;
end;
var
a,t:integer;
begin
writeln('-======Program Procedure Luas
segitiga======-');
writeln;
inputan(a,t,luas);
write('luas segitiga adalah : ', luas:0:2);
end.</blockquote>
Fungsi
</pre>
<blockquote>program
aritha_pascal;
uses
wincrt;
function
luassegitiga(alas: integer; tinggi:integer) : real;
var
luas:real;
begin
luas:=
alas*tinggi/2;
luassegitiga:=
luas;
end;
var
a,t:integer;
luas
: real;
begin
writeln('-======Program Fungsi Luas
segitiga======-');
writeln;
write('masukkan nilai alas : '); readln(a);
write('masukkan nilai tinggi : '); readln(t);
write('luas segitiga adalah : ', <span
style="color: red;"
color="red">luassegitiga(a,t):0:2</span>);
end.</blockquote>
<pre>
tulisan yang berwarna merah adalah
pemanggilan fungsi yang memberikan nilai luas dari segitiga.
kayaknya segitu aja deh ya contoh
buat fungsi dan procedure. semoga bermanfaat :)