Procedure
Procedure Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Diawali dengan kata cadangan “Procedure” di dalam bagian deklarasi prosedur.
Parameter Dalam Prosedur Parameter Formal Paramter Aktual
Parameter Formal merupakan nama-nama variable (list nama) yang dipakai dalam mendefinisikan prosedur dan membuat prosedur tersebut dapat dieksekusi dengan nama-nama yang berbeda ketika dipanggil. Ada 3 jenis parameter formal : Parameter Input : yaitu parameter yang diperlukan prosedur sebagai masukan untuk melakukan aksi yang efektif. Parameter Output : yaitu parameter yang nilainya akan dihasilkan oleh prosedur. Parameter Input / Output : yaitu parameter yang nilainya diperlukan prosedur sebagai masukan untuk melakukan aksi, dan pada akhir prosedur akan dihasilkan nilai yang baru.
adalah nama-nama informasi yang dipakai ketika prosedur itu dipakai.
Passing Parameter Pada pascal ada dua macam passing parameter Pass By Value Pass By Reference
Pass By Value Bila parameter dikirim secara value (nilai) , parameter formal di prosedur akan berisi nilai yang akan dikirimkan yang kemudian bersifat lokal di prosedur. Bila nilai parameter formal di prosedur tersebut berubah, tidak akan mempengaruhi nilai parameter nyata (nilai parameter nyata tetap, tidak berubah). Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari parameter nyata ke parameter formal, yang tidak dikirim balik dari parameter formal ke parameter nyata.
Karakteristik Pass By Value a) Data yang dikirim dari parameter aktual di blok program utama ke parameter formal di prosedur adalah nilai dari datanya bukan alamat memori letak dari datanya. b) Prosedur/Fungsi yang menerima nilai ini akan menyimpan data tersebut di alamat memori yang berbeda dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi/prosedur tersebut di blok program utama. c) Karena terdapat alamat memori yang berbeda, maka perubahan nilai di fungsi tidak akan merubah nilai asli di bagian program yang memanggil prosedur/fungsi tersebut.
Contoh Program
Output Program
Penjelasan walaupun didalam procedure telah dilaukan perubahan nilai, namun perubahan nilai tidak bisa dipanggil ke program utama, karena pass by value hanya dapat mengcopy nilai sehingga saat di panggil nilainya tetap memakai nilai diprogram utama. Pass By Value sebagai parameter masukkan dimana tidak bisa membawa nilai yang telah diubah didalam menuju keluar prosedure, dia hanya berfungsi untuk memasukkan nilai dari program utama ke dalam procedure.
Pass By Reference sedangkan bila pengiriman parameter secara reference (acuan), maka perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan memperngaruhi nilai parameter nyata. Parameter-parameter ini disebut dengan variabel parameter serta dideklarasikan di deklarasi prosedur dengan menggunakan kata cadangan Var. Identifier konstanta dan literal tidak dapat digunakan dalam parameter, karena kedua identifier tersebut tidak dapat berubah nilainya.
Karakteristik Pass By Reference a) Pada saat pengiriman nilai, yang dikirim dari parameter aktual di blok program utama ke parameter formal di prosedur adalah alamat letak dari nilai datanya bukan. b) Prosedur/Fungsi yang menerima nilai ini akan menggunakan alamat memori yang sama dengan nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi/prosedur tersebut di blok program utama. Karena menggunakan alamat memori yang sama, maka perubahan nilai di prosedur/fungsi akan merubah nilai asli di bagian program yang memanggil prosedur/fungsi tersebut.
Contoh Program
Output Program
Penjelasan Dapat dilihat perbedaannya dengan pass by value, pada pass by reference, nilai variabel dikirim berdasarkan alamat sehingga perubahan nilai yang terjadi pada prosecedure dapat berpengaruh sebagai parameter keluaran, dimana nilai yang berubaha didalam procesure dapat dipanggiil keluar dari perocedure dengan catatan varibel harus dideklarasikan sendiri-sendiri.
Referensi https://mypapershin.wordpress.com/2013/10/21/procedure-dalam-pascal/