Terlepas dari kesamaan dan perbedaan penulisan pada masing-masing bahasa, perlu ditegaskan bahwa perbedaan antara Procedure dan Fungsi adalah:
Procedure
Tidak mengembalikan nilai, artinya hanya menjalankan perintah-perintah yang ada didalam (procedure)nya saja.
Contoh1:
Public Sub Main()
TesProcedure
‘Bisa juga ditulis dengan TesProcedure()
End
Sub TesProcedure()
Dim a As Byte
Print “Ini Procedure”
a = 20 + 5
Print a
End
Hasil:
Ini Procedure
25
Contoh 2:
Public Sub Main()
TesProcedure("Ini Prosedure", 3)
End
Sub TesProcedure(Teks As String, Nilai As Byte)
Dim a As Byte
a = Byte * 6
Print Teks;; a
End
Hasil:
Ini Prosedure 18
Program diatas artinya Sub Main memanggil procedure TesProcedure untuk menjalankan perintah-perintah yang ada didalamnya.
Fungsi
Mengembalikan nilai, artinya perintah-perintah yang ada dilamnya berujung pada pengembalian nilai, walaupun beberapa perintah didalamnya tidak berhubungan dengan nilai yang dikembalikan. Pengembalian nilai pada Fungsi ditandai dengan deklarasi tipe data yang dikembalikan (pada nama fungsi) dan perintah “Return” didalamnya.
Contoh 3:
Public Sub Main()
Dim z As Byte = 7
Dim b As Short
b = 2000 + TesFungsi()
Print TesFungsi() + z
Print b
End
Sub TesFungsi() As Short
Dim a As Byte
Print “Ini Fungsi”
a = 20 + 5
Print a
Return a
End
Hasil:
Ini Fungsi
25
32
2025
Contoh 4:
Public Sub Main()
Dim Kata As String = “Contoh Fungsi Kedua”
Dim Angka as Byte = 6
‘Procedure diberi nilai parameter “Contoh Fungsi Kedua” dan 6
Print TesFungsi(Kata, Angka) + 10
End
Sub TesFungsi(Teks As String, Nilai as Byte) As Short
Dim a As Byte
Print Teks
a = Nilai + 5
Return a
End
Hasil:
Contoh Fungsi Kedua
21
Kesimpulan:
- Procedure hanya menjalakan perintah yang didalamnya
- Fungsi Menjalankan perintah didalamnya dan mempunyai nilai yang dikembalikan yang ditandai dengan “Return”
- Fungsi harus di deklarasikan tipe data yang dikembalikan
- Pemanggilan Fungsi ditandai/diakhiri dengan “()” seperti NamaFungsi() atau NamaFungsi(1, 2)
- Pemanggilan Procedure tidak perlu ditandai “()” jika tidak ada nilai parameter. Contoh: NamaProcedure, NamaProcedure(), NamaProcedure(1,2)
Semoga bermanfaat
Tidak ada komentar:
Posting Komentar