Selasa, 30 September 2014

Perbedaan Function dan Prosedure

Seperti yang kita ketahui bahwa dalam bahasa pemrograman apapun pastilah memiliki istilah yang disebut dengan function dan procedure.
 
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 :
1Merupakan 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 :

  
PROCEDURE nama;
atau
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 :
1Prosedur standar EXIT
Digunakan untuk keluar dari suatu blok.
2Prosedur standar HALT
Digunakan untuk menghentikan proses program baik di program bagian maupun di program utama.
3Prosedur 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.
4Prosedur 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.




1 komentar:

  1. blognya bagus, cuma warna tulisanya terlalu terang, jadi agak silau ketika di baca,
    kunjungi blog saya yah , http://chelsea-fans-community.blogspot.com/

    BalasHapus

Terimakasih kunjungannya :D,
Silahkan berikan komentar anda :D

 
Themes by: Simple-Blogskins. Powered by Handayani Putri