Definisi Dan Perbedaan Procedure dengan Function

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 program utama.

  •  PROCEDURE
Prosedur 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 :
1.   Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
2.   Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Sebagaimana  halnya  sebuah  program,  suatu  procedure  juga  memiliki  header  dan  block. Perbedaan bentuknya dengan program hanyalah pada bagian header-nya saja.
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 modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang lainnya.


Prosedur Standar

Prosedur yang disediakan oleh Turbo Pascal :
1.   Prosedur standar EXIT
Digunakan untuk keluar dari suatu blok.
2.   Prosedur standar HALT

Digunakan untuk menghentikan proses program baik di program bagian maupun di program utama.
3.   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 source dan disalinkan ke byte pertama dest.
4.   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 count byte.


  •  FUNCTION

Blok fungsi  hampir  sama  dengan blok  prosedur, hanya  fungsi harus dideklarasikan dengan tipenya atau jenis hasilnya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi.
Pada bahasa Pascal dikenal beberapa fungsi, misalkan : abs, pred, sqrt, sqr, succ dan sebagainya. Fungsi-fungsi tersebut biasanya dikenal dengan Built in Function. Sedangkan function yang akan bicarakan disini adalah fungsi yang 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.
Secara umum bentuk header suatu function adalah :

FUNCTION nama : jenis hasil;
Atau                FUNCTION nama (formal parameter : jenis ) : jenis_hasil;



Perbedaan fungsi dengan prosedur adalah :
1.   Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada  parameter yang dikirimkan secara acuan). Pada contoh, nama fungsi tersebut adalah Hitung dan nilai yang dikirim  balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini  harus digunakan  untuk menampung hasil yang akan dikirimkan dari fungsi, sebagai berikut :
Hitung := A + B;
Nama fungsi yang berisi nilai yang akan dikirimkan

2.   Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya, sebagai berikut :
Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y));
Nama  fungsi  yang  langsung  digunakan untuk ditampilkan hasilnya.

Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya, sebagai berikut :

2 komentar:


  1. Artikelnya bagus kak, sy jga punya artikel perbedaan fungsi dan prosedur dalam C++, semoga bisa saling melengkapi
    .
    Perbedaan Fungsi dan Prosedur dalam C++

    BalasHapus
  2. semoga menjadi informasi yg sngat brmanfaat..

    BalasHapus