Search This Blog

Memanggil Sub dan Function Procedure

Untuk memanggil Sub procedure dari procedure lain, tuliskan nama dari procedure dan sertakan nilai dari argumen yang diperlukan. Statemen Call tidak perlu dituliskan, tetapi jika anda menggunakan ini anda harus memberikan tanda kurung pada argumen yang digunakan pada procedure.

Anda dapat menggunakan procedure Sub untuk mengorganisasikan procedure lain sehingga mereka mudah untuk dipahami dan di-debug. Pada contoh berikut, procedure Sub Main memanggil Sub procedure Multibeep, melewatkan nilai 56 sebagai argumen. Setelah Multibeep berjalan, kontrol kembali ke Main, dan Main memanggil Sub procedure Message. Message menampilkan message box; ketika user meng-klik OK, kontrol kembali ke Main, dan Main selesai.

Sub Main()
MultiBeep 56
Message
End Sub

Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub

Sub Message()
MsgBox "Waktunya Istirahat!"
End Sub

Memanggil Sub Procedure dengan lebih dari Satu Argumen

Contoh berikut menunjukkan dua cara untuk memanggil Sub procedure dengan lebih dari satu argumen. Pada pemanggilan kedua HouseCalc dipanggil, menggunakan tanda kurung pada argumen-nya karena statemen Call digunakan.

Sub Main()
HouseCalc 99800, 43100
Call HouseCalc(380950, 49500)
End Sub

Sub HouseCalc(price As Single, wage As Single)
If 2.5 * wage <= 0.8 * price Then MsgBox "Rumah ini tidak Cocok." Else MsgBox "Rumah ini cocok." End If End Sub

Menggunakan Tanda kurung ketika memanggil Function procedure

Untuk menggunakan nilai yang dikembalikan dari sebuah function, assign function ke sebuah variabel dan gunakan tanda kurung pada argumen sebagaimana contoh berikut.

Answer3 = MsgBox("Apakah anda puas dengan gaji anda?", 4, "Question 3")

Jika anda tidak tertarik pada nilai yang dikembalikan oleh function, anda dapat memanggil function dengan cara yang sama anda memanggil Sub procedure. Gilangkan tanda kurung, ketikkan argumen dan jangan assign functoin ke variabel, sebagaimana contoh berikut.

MsgBox "Proses selesai!", 0, "Proses Box"

Perhatian Jika anda menyertakan tanda kurung pada contoh terakhir, statemen akan mengalami error.

Melewatkan Named Argument

Statemen di dalam Sub atau Function procedure dapat melewatkan nilai untuk memanggil procedure menggunakan argumen name. Anda dapat mengetikkan named argument pada urutan apapun. Named argument berisi nama dari argumen diikuti titik dua dan sama dengan (:=), dan nilai yang di-assign pada argumen.

Contoh berikut memanggil function MsgBox menggunakan named argumen dengan tidak mengembalikan nilai.

MsgBox Title:="Proses Box", Prompt:="Proses selesai!"

Contoh berikut memanggil function MsgBox menggunakan named argument. Nilai hasil di-assign (diberikan) kepada variabel asnswer3.

answer3 = MsgBox(Title:="Question 3", _
Prompt:="Apakah anda puas dengan gaji anda?", Buttons:=4)

No comments: