Subprosedur (Visual Basic)

Prosedur Sub adalah serangkaian pernyataan Visual Basic yang diapit oleh pernyataan Sub dan End Sub. Prosedur Sub melakukan tugas lalu mengembalikan kontrol ke kode panggilan, tetapi tidak mengembalikan nilai ke kode panggilan.

Setiap kali prosedur dipanggil, pernyataannya berjalan, dimulai dengan pernyataan pertama yang dapat dieksekusi setelah pernyataan Sub dan berakhir dengan pernyataan End Sub, Exit Sub, atau Return pertama yang ditemui.

Anda dapat menentukan prosedur Sub dalam modul, kelas, dan struktur. Prosedur Public secara default, yang berarti Anda dapat memanggilnya dari mana saja di aplikasi Anda yang memiliki akses ke modul, kelas, atau struktur tempat Anda mendefinisikannya. Istilah metode menjelaskan prosedur Sub atau Function yang diakses dari luar modul, kelas, atau struktur yang mendefinisikannya. Untuk informasi selengkapnya, lihat Prosedur.

Prosedur Sub dapat mengambil argumen, seperti konstanta, variabel, atau ekspresi, yang diteruskan ke dalamnya oleh kode panggilan.

Sintaks deklarasi

Sintaks untuk mendeklarasikan prosedurSub adalah sebagai berikut:

[modifiers] Sub SubName[(parameterList)]
    ' Statements of the Sub procedure.
End Sub

modifiers dapat menentukan tingkat akses dan informasi mengenai kelebihan beban, penimpaan, berbagi, dan pemberian bayangan. Untuk informasi selengkapnya, lihat Sub Pernyataan.

Deklarasi parameter

Anda mendeklarasikan setiap parameter prosedur yang mirip dengan cara Anda mendeklarasikan variabel, menentukan nama parameter dan jenis data. Anda juga dapat menentukan metode penerusan, dan menentukan opsional dari parameter yang ingin Anda deklarasikan.

Sintaks untuk setiap parameter dalam daftar parameter adalah sebagai berikut:

[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType

Jika parameter bersifat opsional, Anda juga harus memberikan nilai default sebagai bagian dari deklarasinya. Sintaks untuk menentukan nilai default adalah sebagai berikut:

Optional [ByVal | ByRef]  parameterName As DataType = defaultValue

Parameter sebagai variabel lokal

Ketika kontrol lolos ke prosedur, setiap parameter diperlakukan sebagai variabel lokal. Ini berarti bahwa masa pakainya sama dengan prosedur, dan ruang lingkupnya adalah seluruh prosedur.

Sintaks Panggilan

Anda memanggil prosedur Sub secara eksplisit dengan pernyataan panggilan yang berdiri sendiri. Anda tidak dapat memanggilnya dengan menggunakan namanya dalam ekspresi. Anda harus menyediakan nilai untuk semua argumen yang tidak opsional, dan Anda harus mengapit daftar argumen dalam tanda kurung. Jika tidak ada argumen disediakan, Anda dapat menghilangkan tanda kurung secara opsional. Penggunaan kata kunci Call bersifat opsional tetapi tidak disarankan.

Sintaks untuk mendeklarasikan prosedur Sub adalah sebagai berikut:

[Call] SubName[(argumentlist)]

Anda dapat memanggil metode Sub dari luar kelas yang mendefinisikannya. Pertama, Anda harus menggunakan kata kunci New untuk membuat instans kelas, atau memanggil metode yang mengembalikan instans kelas. Untuk informasi selengkapnya, lihat Operator Baru. Kemudian, Anda dapat menggunakan sintaks berikut untuk memanggil metode Sub pada objek instans:

object.MethodName[(argumentList)]

Ilustrasi Deklarasi dan Panggilan

Prosedur Sub berikut memberi tahu operator komputer tugas mana yang akan dilakukan aplikasi, dan juga menampilkan stempel waktu. Alih-alih menduplikasi kode ini di awal setiap tugas, aplikasi hanya memanggil tellOperator dari berbagai lokasi. Setiap panggilan meneruskan string dalam argumen task yang mengidentifikasi tugas yang sedang dimulai.

Sub tellOperator(ByVal task As String)
    Dim stamp As Date
    stamp = TimeOfDay()
    MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub

Contoh berikut ini memperlihatkan panggilan khusus ketellOperator.

tellOperator("file update")

Lihat juga