PROSEDUR DAN FUNGSI

Posted: 14 April 2011 in Algoritma Pemrograman

Seringkali dalam pembuatan program yang berukuran besar, program tersebut dapat dipecah menjadi beberapa subprogram/modul yang lebih kecil. Tiap modul dapat dipasangkan ke program lain yang membutuhkannya. Jenis modul program ada dua macam, yaitu Prosedur dan Fungsi.

a. Prosedur

Prosedur adalah modul program yang mengerjakan aktivitas yang spesifik dan hasilnya diperoleh dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur. Sehingga pada setiap prosedur keadaan awal harus didefinisikan sebelum rangkaian instruksi di dalam prosedur dilaksanakan dan keadaan akhir yang diharapkan setelah rangkaian instruksi dilaksanakan.

Struktur prosedur terdiri dari tiga bagian yaitu:

  • Judul
  • Deklarasi
  • Deskripsi/Badan Prosedur
procedure NAMA_PROSEDUR;

{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses }

{ Kondisi awal : keadaan sebelum prosedur dilaksanakan }

{ Kondisi akhir : keadaan setelah prosedur dilaksanakan }

(* DEKLARASI *)

{ Semua nama yang dipakai prosedur didefinisikan di sini dan hanya berlaku lokal }

(* DESKRIPSI *)

begin

{ badan prosedur, berisi semua langkah atau aksi }

end;

Cara memanggil prosedur: NAMA_PROSEDUR;

Ketika NAMA_PROSEDUR dipanggil, kendali program berpindah secara otomatis ke prosedur tersebut. Instruksi di dalam badan prosedur dilaksanakan. Setelah semua instruksi selesai dilaksanakan, kendali program berpindah secara otomatis ke instruksi sesudah pemanggilan prosedur.

Kebanyakan program memerlukan pertukaran informasi antara prosedur (atau fungsi) dan titik dimana ia dipanggil. Penggunaan parameter menawarkan mekanisme penukaran informasi tersebut. Tiap item data ditransfer antara parameter aktual dan parameter formal yang bersesuaian.  Parameter aktual adalah parameter yang disertakan ketika pemanggilan, sedangkan paramater formal adalah parameter yang dideklarasikan di bagian header prosedur itu sendiri. Ketika prosedur dipanggil, parameter aktual menggantikan parameter formal.

Berdasarkan maksud penggunaannya, terdapat tiga jenis parameter formal yang disertakan di dalam prosedur, yaitu:

  • Prosedur dengan Parameter Masukan

Parameter masukan adalah parameter yang nilainya berlaku sebagai masukan untuk prosedur. Pada parameter masukan, nilai parameter aktual diisikan ke dalam parameter formal yang bersesuaian. Nilai ini digunakan di dalam badan prosedur yang bersangkutan. Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim dalam arah sebaliknya. Itulah alasan mengapa parameter jenis ini diacu sebagai parameter masukan. Perubahan nilai parameter di dalam badan prosedur tidak mengubah nilai parameter aktual. Karena yang dipentingkan adalah nilainya, maka nama parameter aktual boleh berbeda dengan nama parameter formal yang bersesuaian.

procedure NAMA_PROSEDUR(parameter : tipe_param);

{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses }

{ Kondisi awal : keadaan sebelum prosedur dilaksanakan }

{ Kondisi akhir : keadaan setelah prosedur dilaksanakan }

(* DEKLARASI *)

{ Semua nama yang dipakai prosedur didefinisikan di sini dan hanya berlaku lokal }

(* DESKRIPSI *)

begin

{ badan prosedur, berisi semua langkah atau aksi }

end;

Cara memanggil prosedur: NAMA_PROSEDUR(parameter_aktual);

  • Prosedur dengan Parameter Masukan/Keluaran

Parameter masukan/keluaran adalah parameter yang berfungsi sebagai masukan sekaligus keluaran bagi prosedur tersebut. Bila prosedur yang mengandung parameter keluaran dipanggil, nama parameter aktual di dalam program pemanggil menggantikan nama parameter formal yang bersesuaian di dalam prosedur. Jadi, nama parameter aktual akan digunakan selama pelaksanaan prosedur. Akibat penggunaan parameter masukan/keluaran, bila parameter actual diubah nilainya di dalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual di titik pemanggilan juga berubah. Ini berbeda dengan parameter masukan, yang dalam hal ini meskipun nilai parameter aktual di dalam badan prosedur diubah, nilai parameter aktual tersebut tidak berubah di titik pemanggilan.

Struktur Bahasa Pascal untuk prosedur dengan parameter masukan/keluaran ditunjukkan dibawah ini.

procedure NAMA_PROSEDUR(var parameter : tipe_param);

{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses }

{ Kondisi awal : keadaan sebelum prosedur dilaksanakan }

{ Kondisi akhir : keadaan setelah prosedur dilaksanakan }

(* DEKLARASI *)

{ Semua nama yang dipakai prosedur didefinisikan di sini dan hanya berlaku lokal }

(* DESKRIPSI *)

begin

{ badan prosedur, berisi semua langkah atau aksi }

end;

Cara memanggil prosedur: NAMA_PROSEDUR(parameter_aktual);

b. Fungsi

Fungsi juga merupakan modul program yang mempunyai tujuan spesifik. Fungsi memberikan/mengembalikan (return) sebuah nilai dan tipe tertentu (tipe dasar atau tipe bentukan). Fungsi diakses dengan memanggil namanya. Selain itu, fungsi juga dapat mengandung daftar parameter formal. Parameter pada fungsi selalu merupakan parameter masukan. Jenis parameter masukan pada fungsi disebabkan oleh kenyataan bahwa parameter pada fungsi merupakan masukan yang digunakan oleh fungsi tersebut untuk menghasilkan nilai.

Struktur Bahasa Pascal untuk fungsi ditunjukkan di bawah ini.

function NAMA_FUNGSI(daftar parameter formal) : tipe_hasil;

{ Spesifikasi Fungsi, menjelaskan apa yang dilakukan dan dikembalikan oleh fungsi }

(* DEKLARASI *)

{ Semua nama yang dipakai fungsi didefinisikan di sini dan hanya berlaku lokal }

(* DESKRIPSI *)

begin

{ badan fungsi, berisi semua langkah atau aksi algoritma untuk menghasilkan nilai yang akan dikembalikan }

NAMA_FUNGSI:=hasil; { pengembalian nilai yang dihasilkan fungsi }

end;

c. Variabel Global dan Lokal

Variabel-variabel yang dideklarasikan di dalam bagian Deklarasi Prosedur ataupun Fungsi bersifat “lokal” dan hanya dapat digunakan di dalam Prosedur/Fungsi yang melingkupinya saja. Sedangkan variabel-variabel yang dideklarasikan di dalam program utama bersifat “global” dan dapat digunakan di bagian manapun di dalam program, baik di dalam program utama maupun di dalam Prosedur/Fungsi.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s