Labels

Rabu, 05 Oktober 2011

Parameter dalam Prosedur dan Fungsi

Ketika program panggilan prosedur atau fungsi, dapat melewatkan data dengan prosedur atau fungsi untuk pengolahan. However, when you create a procedure or function that performs operations on data that passes to it from the calling program, the procedure or function must contain parameters in its definition to handle the data. Namun, bila Anda membuat prosedur atau fungsi yang melakukan operasi pada data yang lolos ke dari program menelepon, prosedur atau fungsi harus berisi parameter dalam definisi untuk menangani data.
The following sections contain information about working with parameters: Bagian berikut berisi informasi tentang bekerja dengan parameter:

Defining Parameters in Procedures and Functions Mendefinisikan Parameter dalam Prosedur dan Fungsi

When a program passes data to a procedure or function, the parameters in the procedure or function handles that data so the procedure or function can perform operations on the data. Ketika program lewat data ke prosedur atau fungsi, parameter dalam prosedur atau fungsi yang menangani data sehingga prosedur atau fungsi dapat melakukan operasi pada data. When you want to create procedures and functions that process data that the calling program passes to them, you need to include parameters in the procedure and function definitions. Bila Anda ingin membuat prosedur dan fungsi yang memproses data bahwa program memanggil lolos ke mereka, Anda perlu menyertakan parameter dalam prosedur dan definisi fungsi.
The following lines of code illustrate the basic format for including parameters in procedure definition: Baris kode berikut mengilustrasikan format dasar untuk termasuk parameter dalam definisi prosedur:
PROCEDURE myProcedure PROSEDUR myProcedure
   LPARAMETERS Par1, Par2, Par3, ... LPARAMETERS par1, par2, Par3, ...
   * Insert procedure code. * Masukkan kode prosedur.
ENDPROC ENDPROC
-OR- -ATAU-
PROCEDURE myProcedure(Par1, Par2, Par3, ...) PROSEDUR myProcedure (par1, par2, Par3, ...)
  * Insert procedure code. * Masukkan kode prosedur.
ENDPROC ENDPROC
The first procedure includes an LPARAMETERS statement that can contain one or more parameters. Prosedur pertama mencakup pernyataan LPARAMETERS yang dapat mengandung satu atau lebih parameter. The second procedure lists the same parameters enclosed by parentheses (()) immediately following the procedure name. Prosedur kedua daftar parameter yang sama tertutup dengan tanda kurung (()) segera setelah nama prosedur. Using the LPARAMETERS statement or enclosing the parameter list in parentheses defines the parameters with local scope for the procedure. Menggunakan pernyataan LPARAMETERS atau melampirkan daftar parameter dalam tanda kurung mendefinisikan parameter dengan lingkup lokal untuk prosedur. You can also use the PARAMETERS keyword instead of LPARAMETERS to accept privately scoped parameters. Anda juga dapat menggunakan kata kunci PARAMETER bukan LPARAMETERS untuk menerima parameter pribadi scoped. You can pass multiple values to a procedure or function by separating the values with commas. Anda dapat memberikan beberapa nilai untuk sebuah prosedur atau fungsi dengan memisahkan nilai-nilai dengan koma.
For example, the following examples show procedure definitions that include parameters. Misalnya, contoh berikut menunjukkan definisi prosedur yang mencakup parameter. The first procedure includes an LPARAMETERS statement and two parameters, myPar1 and myPar2 . Prosedur pertama mencakup pernyataan LPARAMETERS dan dua parameter, myPar1 dan myPar2. The second procedure lists the same parameters enclosed by parentheses (()) immediately following the procedure name. Prosedur kedua daftar parameter yang sama tertutup dengan tanda kurung (()) segera setelah nama prosedur. Both procedures add the value in myPar2 to myPar1 and assign the result to myPar1 . Kedua prosedur menambah nilai dalam myPar2 untuk myPar1 dan menetapkan hasil untuk myPar1. By default, data passes to procedures by reference, so the new value of myPar1 replaces its original value. Secara default, data yang lolos ke prosedur dengan referensi, sehingga nilai baru myPar1 menggantikan nilai aslinya.
PROCEDURE myProcedure PROSEDUR myProcedure
   LPARAMETERS myPar1, myPar2 LPARAMETERS myPar1, myPar2
   myPar1 = myPar1 + myPar2 myPar1 = myPar1 + myPar2
ENDPROC ENDPROC
-OR- -ATAU-
PROCEDURE myProcedure(myPar1, myPar2) PROSEDUR myProcedure (myPar1, myPar2)
  myPar1 = myPar1 + myPar2 myPar1 = myPar1 + myPar2
ENDPROC ENDPROC
You can include parameters similarly in a function definition. Anda dapat menyertakan parameter sama dalam definisi fungsi. For more information, see PROCEDURE Command , FUNCTION Command , LPARAMETERS Command , and PARAMETERS Command . Untuk informasi lebih lanjut, lihat PROSEDUR Komando , Komando FUNGSI , Komando LPARAMETERS , dan Komando PARAMETER .

Passing Data to Procedures and Functions Melewati Data untuk Prosedur dan Fungsi

You can pass data, or specifically, "arguments", from your program to procedures and functions in different ways, depending on the following: Anda dapat melewatkan data, atau secara khusus, "argumen", dari program Anda untuk prosedur dan fungsi dalam cara yang berbeda, tergantung pada berikut:
For example, when you call a procedure with the DO command, you can pass data using the WITH clause and a parameter list. Sebagai contoh, ketika Anda memanggil sebuah prosedur dengan perintah DO, Anda dapat melewatkan data dengan menggunakan DENGAN klausa dan daftar parameter. In the following example, the variables myVar and myVar2 contain the values 4 and 5. Pada contoh berikut, variabel myVar dan myVar2 mengandung nilai-nilai 4 dan 5. When you call the procedure myProcedure using the DO command, the parameter list in the WITH clause passes the variables to the procedure: Ketika Anda memanggil myProcedure prosedur menggunakan perintah DO, daftar parameter dalam klausa DENGAN melewati variabel dengan prosedur:
myVar = 4 myVar = 4
myVar2 = 5 myVar2 = 5
DO myProcedure WITH myVar, myVar2 LAKUKAN DENGAN myProcedure myVar, myVar2
By default, variables and arrays pass to procedures by reference. Secara default, variabel dan array lolos ke prosedur dengan referensi. Therefore, changes made in the procedure to passed variables and arrays are passed back to the calling program. Oleh karena itu, perubahan yang dibuat dalam prosedur untuk variabel array berlalu dan berlalu kembali ke program menelepon. For example, suppose the procedure increments the value in myVar by the value in myVar2 . Sebagai contoh, misalkan prosedur kenaikan nilai dalam myVar oleh nilai myVar2. The modified value of myVar becomes the new value of myVar when the procedure returns control to the calling program. Nilai dimodifikasi myVar menjadi nilai baru myVar ketika prosedur mengembalikan kontrol ke program menelepon.
Alternatively, if you want to use the DO command but want to pass data by value, enclose each parameter with parentheses (()) as shown in the following example: Atau, jika Anda ingin menggunakan perintah DO tapi ingin mengirimkan data dengan nilai, melampirkan setiap parameter dengan tanda kurung (()) seperti yang ditunjukkan dalam contoh berikut:
DO myProcedure WITH (myVar), (myVar2) DO myProcedure DENGAN (myVar), (myVar2)
When you call a function, you can pass data using a parameter list enclosed in parentheses (()) as shown in the following line of code: Bila Anda memanggil sebuah fungsi, Anda dapat melewatkan data menggunakan daftar parameter dalam tanda kurung (()) seperti ditunjukkan pada baris kode berikut:
myFunction(myVar, myVar2) myFunction (myVar, myVar2)
By default, variables and arrays pass to user-defined functions by value. Secara default, variabel dan array lolos ke fungsi pengguna-ditentukan oleh nilai. Therefore, changes made in the function to passed variables and arrays are not passed back to the calling program. Oleh karena itu, perubahan yang dibuat dalam fungsi untuk variabel berlalu dan array tidak lulus kembali ke program menelepon. However, you can pass variables and arrays by reference by prefacing variables and arrays with the at sign (@) as shown in the following line of code: Namun, Anda dapat melewatkan variabel dan array dengan referensi oleh prakata variabel dan array dengan tanda di (@) seperti ditunjukkan pada baris kode berikut:
myFunction(@var1, @var2, ...) myFunction (@ var1, var2 @, ...)
The following table summarizes the ways you can pass variables to procedures and functions in the example. Tabel berikut merangkum cara-cara Anda dapat melewatkan variabel prosedur dan fungsi dalam contoh.
Procedure or function call Prosedur atau fungsi panggilan Comments Komentar
DO myProcedure WITH var1, var2, ... LAKUKAN DENGAN myProcedure var1, var2 ... Calls a procedure and passes variables by reference. Panggilan prosedur dan melewati variabel dengan referensi.
DO myProcedure WITH (var1), (var2), ... DO myProcedure DENGAN (var1), (var2), ... Calls a procedure and passes variables by value. Panggilan prosedur dan melewati variabel dengan nilai.
myFunction(var1, var2, ...) myFunction (var1, var2, ...) Calls a function and passes variables by value. Fungsi panggilan dan melewati variabel dengan nilai.
myFunction(@var1, @var2, ...) myFunction (@ var1, var2 @, ...) Calls a function and passes variables by reference. Fungsi panggilan dan melewati variabel dengan referensi.

0 comment:

Posting Komentar

Followers