Lompat ke konten Lompat ke sidebar Lompat ke footer

Pemanggilan Prosedur pada Algoritma

Pemanggilan Prosedur pada Algoritma



Kata "prosedur" sering kita dengan dalam kehidupan sehari-hari. Seorang mahasiswa pada setiap awal semester selalu melakukan pendaftaran ulang (registrasi). Langkah-langkah pendaftaran ulang lazim dinyatakan dalam sebuah prosedur yang dinamakan prosedur daftar ulang. Secara sederhana daftar ulang dituliskan sebagai berikut :

Prosedur Daftar Ulang:
  1. Ambil Form Rencana Studi (FRS) di kantor Tata Usaha Akademik dengan memperlihatkan Kartu Tanda Mahasiswa (KTM) dan Kartu Studi Mahasiswa (KSM).
  2. Lakukan pembayaran SPP di loker pembayaran dan minta kwitansinya.
  3. Isi FRS dengan mata kuliah-mata kuliah yang akan diambil di semester ini.
  4. Lakukan perwalian untuk mengesahkan FRS oleh Wali Akademik.
  5. Jika SPP sudah lunas, maka serahkan FRS yang sudah disahkan oleh Wali Akademik ke petugas di Kantor Tata Usaha Akademik. Jika SPP belum lunas, kembali ke langkah 2.
  6. Serahkan foto ukuran 2x3 untuk KTM yang baru, untuk kemudian di cap oleh petugas.
  7. Selesai

Ketika sebuah prosedur dieksekusi, maka instruksi-instruksi di dalamnya dikerjakan satu per satu. Pada contoh registrasi mahasiswa, mahasiswalah yang mengeksekusi prosedur daftar ulang. Mahasiswa membaca setiap langkah di dalam prosedur, lalu melaksanakan instruksi yang tertulis pada setiap langkah. Efek dari pelaksanaan prosedur dapat diamati sebelum dan sesudah prosedur dijalankan oleh mahasiswa. Sebelum pelaksanaan prosedur daftar ulang, mahasiswa belum terdaftar di semester yang baru, dan sesudah pelaksanaan prosedur, mahasiswa terdaftar di semester yang baru.

Di dalam dunia pemrograman, prosedur adalah modul program yang mengerjakan tugas/aktivitas yang spesifik dan menghasilkan suatu efek netto [LIE96]. Suatu efek netto diketahui dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah prosedur. Oleh karena itu, pada setiap prosedur kita perlu mendefinisikan keadaan awal (K.Awal), sebelum rangkaian instruksi di dalam prosedur dilaksanakan dan keadaan akhir (K.Akhir) yang diharapkan setelah rangkaian instruksi di dalam prosedur dilaksanakan.


Prosedur bukan program yang berdiri sendiri, jadi ia tidak dapat dieksekusi secara langsung. Ini berarti, instruksi-instruksi di dalam prosedur baru dapat dilaksanakan hanya bila prosedur tersebut diakses. Prosedur diakses dengan cara memanggil namanya dari program pemanggil (misalnya dari program utama atau dari modul program lainnya).

Jika prosedur tanpa parameter, maka pemanggilannya cukup dengan namanya saja:
NamaProsedur

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

Atas nama prosedur dikenal oleh program pemanggil, maka di dalam program pemanggil, kita harus mendeklarasikan purwarupa (prototype) prosedur tersebut. Purwarupa prosedur hanya berisi bagian header prosedur. Pendeklarasian purwarupa juga untuk memberitahu program pemanggil bagaimana cara-cara mengakses prosedur (jumlah parameter dan tipe parameter, jika ada).



Struktur Prosedur

Algoritma Notasi algoritmik untuk mendefinisikan prosedur (tanpa parameter) adalah :

procedure NamaProsedur (deklarasi parameter, jika ada)
{ Spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini.
K.Awal : keadaan sebelum prosedur dilaksanakan.
K.Akhir : keadaan setelah prosedur dilaksanakan. }

DEKLARASI
{ semua nama yang dipakai di dalam prosedur dan hanya berlaku lokal di dalam prosedur didefinisikan di sini }

ALGORITMA:
{ badan prosedur, berisi urutan instruksi }



Prosedur sederhana

adalah sebuah subprogram yang tidak mempunyai parameter masukan maupun parameter keluaran.
Berikut ini adalah skema prosedure sederhana:

procedure A; { nama prosedur adalah A }
var varlok1, varlok2, … : tipevar;
begin
{ statement }
end;


Pada skema di atas, terlihat bahwa dalam prosedur dapat digunakan variable yang dideklarasikan juga dalam prosedur tersebut, variable-variabel ini disebut variable local.