PROCEDURE DAN FUNCTION
Procedure dan Function adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah
program kecil untuk memproses sebagian dari pekerjaan programutama.
PROCEDURE
Procedure diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.
Procedure diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.
Prosedur banyak digunakan pada program yang terstruktur, karena :
- Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
- Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
Bentuk Umum header suatu procedure adalah :
Atau
PROCEDURE nama;
PROCEDURE nama (formal parameter : jenis);
Jika kita menggunakan procedure dalam suatu program, maka procedure tersebut harus dituliskan pada
bagian deklarasi.
JANGKAUAN IDENTIFIER
Identifier yang dideklarasikan dalam suatu blok program hanya berlaku pada blok dimana
identifier tersebut didefinisikan.
PROCEDURE DENGAN PARAMETER
Nilai di dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat digunakan pada modulatau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang lainnya.
Procedure Standar
Prosedur yang disediakan oleh Turbo Pascal :
- Prosedur standar EXIT > Digunakan untuk keluar dari suatu blok.
- Prosedur standar HALT >Digunakan untuk menghentikan proses program baik di program bagian maupun di program utama.
- Prosedur standar MOVE > Bentuk umum : MOVE (Var source,dest; count : word); > Digunakan untuk menyalin suatu blok sebanyak count byte memori dari blok dimulai byte pertama sourcedan disalinkan ke byte pertama dest.
- Prosedur standar FILLCHAR > Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variabel, sebagai berikut : FillChar(x;count :word;ch); > X adalah variabel yang dapat bertipe apapun yang akan diisi dengan nilai tipe ordinal Ch sebanyak countbyte.
FUNCTION
Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya ataujenis hasilnya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi.
Pada bahasa Pascal dikenal beberapa fungsi, misalkan : abs, pred, sqrt, sqr, succ dan sebagainya. Fungsi-fungsitersebut biasanya dikenal dengan Built in Function. Sedangkan function yang akan bicarakan disini adalah fungsiyang kita buat sendiri.
Berbeda dengan procedure, function merupakan modul program yang menghasilkan suatu kuantitas. Hal ini dapat dilihat dari bentuk header-nya yang menyebutkan jenis data dari kuantitas yang dihasilkan.
Berbeda dengan procedure, function merupakan modul program yang menghasilkan suatu kuantitas. Hal ini dapat dilihat dari bentuk header-nya yang menyebutkan jenis data dari kuantitas yang dihasilkan.
Secara umum bentuk header suatu function adalah :
FUNCTION nama : jenis hasil;
Atau FUNCTION nama (formal parameter : jenis ) : jenis_hasil;
Contoh Program Fungsi pada C++
// Menampilkan pesan
#include <iostream>
#include <conio>
void printmessage ()
{
cout << "I'm a function!";
}
void main ()
{
printmessage ();
getch();
}
#include <iostream>
#include <conio>
void printmessage ()
{
cout << "I'm a function!";
}
void main ()
{
printmessage ();
getch();
}
Contoh Program Fungsi pada Pascal
uses crt;
function Hitung (X, Y, Z : Byte): Byte;
Begin
Z := X + Y;
Writeln ('ilai X = ',X);
Writeln ('Nilai Y = ',Y);
Writeln ('Nilai Z = ', Z);
End;
Var
A, B, C : Byte;
Begin
clrscr;
A := 5; B:= 7; C:=3;
Hitung (A, B, C);
Writeln ('Nilai A = ',A,'Nilai B = ',B,'Nilai C =
',C);
Readln;
End.
Contoh Program Prosedur pada C++
#include<iostream.h>
#include<conio.h>
int addition (int a, int b){
int r;
r=a+b;
return (r);
}
void main ()
{
int z;
z = addition (5,3);
cout << "The result is " << z;
getch();
}
Contoh Program Prosedur pada Pascal
program Lsegitiga;
uses crt;
var
i,n:integer;
a,t:real;
procedure hitungLuassegitiga(alas,tinggi:real);
var
luas:real;
BEGIN
luas:=(alas*tinggi)/2;
writeln('luas segitiga=',luas:10:2);
END;
BEGIN
Clrscr;
write ( ' banyaknya segitiga ?'); readln(n);
for i:=1 to n do
BEGIN
write(' panjang alas segitiga?');
readln(a);
write('tinggi segitiga?');
readln(t);
hitungluassegitiga(a,t);
END;
END.
a. Apa yang dimaksud dengan fungsi dan prosedur?Jelaskan apa
perbedaanya!
- Fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang dijalankan.
- Prosedur adalah suatu bagian yang digunakan untuk mengenali subprogram di dalam suatu program.
- Perbedaan fungsi dan prosedur :
· Fungsi dapat mengembalikan suatu nilai yang dapat digunakan dalam
ekspresi. Sedangkan, prosedur tidak memiliki nilai yang berhubungan
dengan namanya.
· Fungsi digunakan untuk membuat operasi-operasi yang tidak ada dalam fungsi
utama. Sedangkan, prosedur digunakan untuk menstrukturkan suatu program
dan untuk memperbaiki kejelasan dan keumumannya.
b. Jelaskan apa manfaat penggunaan fungsi dalam pemrograman!
Manfaat penggunaan fungsi dalam pemrograman adalah untuk memudahkan
pembacaan suatu program. Selain itu fungi dibuat untuk mengurangi terjadinya
pengkodean ulang, serta dapat mengembangkan program menjadi lebih baik.
c. Jelaskan bagaimana fungsi bisa menerima variabel inputan (secara ‘pass
by value’ dan ‘pass by reference’)! Dan jelaskan perbedaan keduanya!
- Pemanggilan Secara Nilai (‘Pass by Value’) :
·
Call by value akan menyalin
nilai dari parameter aktual ke parameter formal.
·
Yang dikirimkan ke fungsi
adalah nilai dari datanya, bukan alamat memori letak dari datanya.
·
Fungsi yang menerima kiriman
nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan
oleh bagian program yang memanggil fungsi.
·
Perubahan nilai di fungsi
(parameter formal) tidak akan merubah nilai asli di bagian program yang
memanggilnya.
·
Pengiriman parameter secara
nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi
ke fungsi yang dipanggil.
·
Pengiriman suatu nilai dapat
dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array
atau konstanta saja.
- Pemanggilan Secara Referensi (‘Passl by Reference’)
·
Pemanggilan secara Referensi
merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi.
·
Yang dikirimkan ke fungsi
adalah alamat letak dari nilai datanya, bukan nilai datanya.
·
Fungsi yang menerima kiriman
alamat ini makan menggunakan alamat yang sama untuk mendapatkan nilai datanya.
·
Perubahan nilai di fungsi akan
merubah nilai asli di bagian program yang memanggil fungsi.
·
Pengiriman parameter secara
referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi
yang dipanggil dan juga sebaliknya.
·
Pengiriman secara acuan tidak
dapat bdilakukan untuk suatu ungkapan.
d. Jelaskan bagaimana fungsi bisa menghasilkan output (return value)!
Untuk menghasilkan output (return value), fungsi membutuhkan input
yang berupa argument atau para meter. Argument dan parameter memungkinkan
terjadinya komunikasi antara fungsi utama dan fungsi-fungsi lain dalam program
sehingga menjadi lebih fleksibel, karena daftar argument memungkinkan fungsi
dapat memanipulasi data yang berbeda setiap kali fungsi tersebut dipanggil.
bagus terima kasih sangat bermanfaat :D
ReplyDeleteluar biasa :p
ReplyDelete