Procedures · Prosedur
A PROCEDURE is a named block
- A procedure is a named set of steps you run with
CALL. - Define it once, then call it as many times as you like.
PROCEDURE adalah blok bernama
- Sebuah procedure adalah serangkaian langkah bernama yang Anda jalankan dengan
CALL. - Definisikan sekali, lalu panggil sebanyak yang Anda inginkan.
PROCEDURE Greet
OUTPUT "Hello!"
ENDPROCEDURE
CALL Greet
CALL Greet // → Hello! (twice)
Parameters pass data in
- Put a parameter in brackets to send a value in.
Parameter mengirim data masuk
- Letakkan parameter dalam kurung untuk mengirimkan nilai masuk.
PROCEDURE Greet(Name : STRING)
OUTPUT "Hi, ", Name
ENDPROCEDURE
CALL Greet("Ada") // → Hi, Ada
CALL runs it, then comes back · CALL menjalankan, lalu kembali
CALL jumps into the procedure, runs its steps, then returns to the next line. · CALL melompat ke dalam prosedur, menjalankan langkah-langkahnya, lalu kembali ke baris berikutnya.
A parameter is a copy
- A parameter is a copy of the value you passed in.
- Changing it inside the procedure does not change the caller's variable.
- To get an answer back, use a FUNCTION and
RETURNit (next lesson).
Parameter adalah salinan
- Parameter adalah salinan dari nilai yang Anda masukkan.
- Mengubahnya di dalam procedure tidak mengubah variabel Caller.
- Untuk mendapatkan kembali jawaban, gunakan FUNGSI dan
RETURN-kan (pelajaran berikutnya).
FUNCTION Double(N : INTEGER) RETURNS INTEGER
RETURN N * 2
ENDFUNCTION
DECLARE X : INTEGER
X ← 5
OUTPUT Double(X) // → 10
Local and global
- A variable declared in the main program is global. A procedure can read it and change it.
- A variable declared inside the procedure is local. It hides a global of the same name, and it disappears when the call ends.
- A parameter is local too. It is a copy, so changing the parameter does not change the caller's variable.
Lokal dan global
- Variabel yang dideklarasikan dalam program utama adalah global. Procedure dapat membacanya dan mengubahnya.
- Variabel yang dideklarasikan di dalam procedure adalah lokal. Ini menyembunyikan global dengan nama yang sama, dan hilang saat pemanggilan berakhir.
- Parameter juga lokal. Itu adalah salinan, jadi mengubah parameter tidak mengubah variabel Caller.
DECLARE Total : INTEGER
Total ← 10
PROCEDURE ShowLocal
DECLARE Total : INTEGER
Total ← 3
OUTPUT Total // → 3, the local one
ENDPROCEDURE
CALL ShowLocal
OUTPUT Total // → 10, the global one
Watch out
- You must write
CALLbefore a procedure's name — but never before a function's. - A procedure cannot hand a value back; that is what a FUNCTION is for.
- (
BYREFmakes a parameter the real variable rather than a copy. It is in the AS 9618 guide, not in the IGCSE 0478 syllabus for 2026–2028, so do not use it in Paper 2.)
Hati-hati
- Anda harus menulis
CALLsebelum nama procedure — tetapi tidak pernah sebelum nama function. - Prosedur tidak dapat mengembalikan nilai; itulah fungsi dari FUNCTION.
- (
BYREFmembuat parameter sebagai variabel asli daripada salinan. Ini ada dalam panduan AS 9618 pedoman, tidak dalam silabus IGCSE 0478 untuk 2026–2028, jadi jangan gunakan di Paper 2.)
Common mistakes
PROCEDURE Name(...) ... ENDPROCEDURE; run it withCALL name(...).- A procedure does a job but returns no value.
Kesalahan umum
PROCEDURE Name(...) ... ENDPROCEDURE; jalankan denganCALL name(...).- Prosedur melakukan pekerjaan tetapi tidak mengembalikan nilai.
Now you try
- Define a procedure, then
CALLit. - Press Check answer to test it.
Sekarang Anda coba
- Definisikan prosedur, lalu
CALLitu. - Tekan Cek jawaban untuk mengujinya.
Define a PROCEDURE Greet that outputs Hello!, then CALL it twice (so Hello! prints on two lines). · Definisikan PROCEDURE Greet yang menampilkan Hello!, lalu CALL-kan dua kali (sehingga Hello! dicetak di dua baris).
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Define PROCEDURE Greet(Name : STRING) that outputs Hi, then the name, then CALL Greet("Ada"). Output should be Hi, Ada. · Definisikan PROCEDURE Greet(Name : STRING) yang menampilkan Hi, lalu nama, kemudian CALL Greet("Ada"). Hasil tampilan haruslah Hi, Ada.
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Define FUNCTION Double(N : INTEGER) RETURNS INTEGER that returns twice N. Set X to 5, then output Double(X) (it should be 10). · Definisikan FUNCTION Double(N : INTEGER) RETURNS INTEGER yang mengembalikan dua kali lipat N. Atur X menjadi 5, lalu tampilkan Double(X) (harusnya 10).
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.
Total is a global INTEGER starting at 10. Inside PROCEDURE AddFive, add 5 to that same Total. After the call, output Total (it is 15). · Total adalah INTEGER global yang dimulai dari 10. Di dalam PROCEDURE AddFive, tambahkan 5 ke Total yang sama. Setelah pemanggilan, tampilkan Total (nilainya adalah 15).
Click Run to see the output here. · Klik Jalankan untuk melihat output di sini.