PROCEDURE AND FUNCTION STMIK AMIKOM PURWOKERTO
Outline: Pendahuluan Keuntungan Procedure Sub Procedure Function Procedure Module
PENDAHULUAN Adakalanya ketika kita membuat program, ada beberapa kode program yang ditulis berulang-ulang. Hal tersebut tentu saja tidak efisien. Kode program menjadi terlalu banyak dan kompleks. Untuk lebih menyederhanakan kode program, sebaiknya program dibagi menjadi beberapa sub program. Ada 2 jenis sub program dalam VB.Net antara lain: Sub Procedure Function Procedure
KEUNTUNGAN PROCEDURE Secara garis besar ada dua keuntungan yang bisa diperoleh dari pemakaian prosedur yaitu : Program terbagi menjadi komponen-komponen yang mandiri. Dengan demikian program menjadi lebih terstruktur sehingga pencarian kesalahan dapat lebih mudah dilakukan. Prosedur yang terletak dalam suatu program dapat dipakai berulang-ulang sesuai dengan kebutuhan
SUB PROCEDURE Sub Procedure adalah suatu blok perintah yang dijalankan sebagai tanggapan atas terbentuknya kejadian (Event) dan tidak akan mengembalikan nilai. Bentuk penulisan dari sub procedure adalah: Procedure dengan parameter Procedure tanpa parameter [Public] [Private] Sub <NamaProcedure> (Parameter) Blok Pernyataan End sub [Public] [Private] Sub <NamaProcedure> Blok Pernyataan End sub
SIFAT SUB Public sub Sub yang dapat dipanggil atau digunakan oleh seluruh bagian kode program aplikasi. Private sub Sub yang hanya dapat dipanggil atau digunakan oleh kode program dalam form dimana sub tersebut dideklarasikan. Sehingga kode program di dalam form lain tidak dapat memanggil dan menggunakannya.
PEMANGGILAN SUB Pemanggilan Sub procedure harus dilakukan melalui pernyataan tersendiri (baris terpisah), dengan cara sebagai berikut : Meskipun pernyataan Call boleh tidak digunakan, ada baiknya anda tetap menuliskannya untuk membedakan mana prosedur dan mana yang variabel. Call <NamaSubProcedure> (Parameter1, Parameter2) Atau <NamaSubProcedure> (Parameter1, Parameter2)
PARAMETER SUB Parameter merupakan daftar nama data (variabel) yang dipergunakan pada prosedur tersebut dan mirip dengan pendeklarasian variabel. Sub memiliki dua buah parameter: Parameter Formal Argumen yang dimiliki oleh suatu sub Parameter Formal Public Sub Tampilkan (ByVal Angka As Integer) txtcetak.text = cstr(Angka) End sub
PARAMETER SUB Parameter Aktual Input bagi suatu sub. Parameter aktual dapat berupa nilai atau variabel. Parameter aktual harus memiliki tipe data yang sama dengan parameter formal (argumen) yang bersesuaian dengannya. Private sub olah() dim hasil, nilai as integer nilai = val(txtnilai.text) hasil = nilai * 10 Call Tampilkan (hasil) End Sub Parameter Aktual bagi sub Tampilkan
JENIS PARAMETER FORMAL Parameter Masukan (Input): Parameter yang menerima nilai dari parameter aktual Parameter Keluaran (Output) : Parameter yang menyerahkan nilai ke parameter aktual Parameter masukan dan keluaran (Input-Output) : Parameter yang menerima nilai dari parameter aktual untuk diproses dalam prosedur kemudian diserahkan kembali ke parameter aktual setelah selesai.
TIPE PENGIRIMAN PARAMETER (1) Berdasarkan Nilai (By Value) Paramenter formal (argumen) hanya menerima salinan nilai dari parameter aktual yang bersesuaian dengannya. Sehingga ketika nilai yang dimiliki oleh parameter formal berubah, maka tidak akan mengubah nilai parameter aktualnya. Private sub Tambahkan(ByVal Angka As Integer) Angka = Angka + 5 End Sub Dim Jumlah as Integer Jumlah = 10 Call Tambahkan(Jumlah)
TIPE PENGIRIMAN PARAMETER (2) Berdasarkan Alamat (By Reference) Paramenter formal (argumen) mengirim salinan nilai ke parameter aktual yang bersesuaian dengannya. Sehingga ketika nilai yang dimiliki oleh parameter formal berubah, maka nilai parameter aktualnya juga akan berubah. Private sub Tambahkan(ByRef Angka As Integer) Angka = Angka + 5 End Sub Dim Jumlah as Integer Jumlah = 10 Call Tambahkan(Jumlah)
TIPE PENGIRIMAN PARAMETER (3) Pengiriman parameter yang bersifat Optional Parameter Optional dibuat dengan menambahkan kata optional di depan nama argumennya. Selain itu parameter optional harus diberi nilai default (nilai yang dikandung parameter tsb) Public sub Cetak(ByVal Depan As String, optional ByVal Belakang As String = “AB”) txt1.text = Depan + Belakang End Sub Dim NamaDpn As String NamaDpn = “Rian” Call Cetak(NamaDpn) Dim NamaDpn , NamaBlkg As String NamaDpn = “Rian” NamaBlkg =“Nugraha” Call Cetak(NamaDpn,NamaBlkg)
TIPE PENGIRIMAN PARAMETER (4) Pengiriman parameter ParamArray Dengan Parameter ParamArray, satu buah parameter formal dapat menampung lebih dari satu nilai parameter aktual, asalkan tipe datanya sama) Parameter ParamArray dibuat dengan menambahkan kata ParamArray di depan nama argumennya. Parameter ParamArray secara otomatis akan bersifat Optional. Hanya bolah ada satu parameter ParamArray dalam sebuah sub dan diletakkan terakhir. Tidak boleh ada parameter lain yang bersifat optional. Parameter ParamArray hanya bisa bersifat ByVal
TIPE PENGIRIMAN PARAMETER (5) Public sub Hitung(ByVal Nama As String, ByVal ParamArray Nilai () As Integer ) Dim i As Integer Dim Total , Banyak As Integer Total = 0 Banyak = Nilai.Length For i = 0 (To Banyak - 1) Total = Total + Nilai(i) Next i Txt1.text = Nama Txt2.text = Cstr(Total) End Sub Length adalah properti yang menunjukkan panjang suatu array. Dalam hal ini, variabel Nilai adalah sebuah Array. Call Hitung (“Rian” , 1, 2, 3, 4, 5)
FUNCTION Prosedur Function adalah prosedur yang menghasilkan nilai balik (Return Value). Nilai Balik ini akan akan dikembalikan pada blok perintah yang memanggil prosedur function. Fungsi dengan parameter Fungsi tanpa parameter [Public] [Private] Function <NamaFunction> (Parameter) As Type data Blok Pernyataan End sub [Public] [Private] Function < NamaFunction > Blok Pernyataan End sub
<Ekspresi> = <NamaFunction> (Parameter) PEMANGGILAN FUNCTION Pada saat memanggil sebuah fungsi, dibutuhkan suatu ekspresi untuk menampung nilai yang dikembalikan oleh fungsi tersebut. Ekspresi dapat berupa variabel, objek, atau persamaan matematika. Pada contoh pemanggilan fungsi di atas, akan dikembalikan nilai 25, kemudian akan ditampung oleh variabel Hasil. Sehingga isi variabel Hasil adalah 25. <Ekspresi> = <NamaFunction> (Parameter) Hasil = kuadrat (5)
PERBEDAAN SUB DENGAN FUNCTION Mengembalikan suatu nilai Tidak Mengembalikan suatu nilai Memiliki tipe data. Tipe data tersebut merupakan tipe data bagi nilai yang akan dikembalikan oleh Fungsi Tidak memiliki tipe data Nilai yang diberikan pada procedure akan diolah dan dihasilkan nilai baru untuk dipakai oleh ekspresi diluar Fungsi Nilai yang diberikan pada procedure akan digunakan untuk prosedur itu sendiri Suatu Fungsi dipanggil dengan menuliskan pada sisi kanan operator penugasan (tanda =). Sedang pada sisi kiri bisa dituliskan ekspresi yang sesuai dengan kode yang digunakan Karena pada sub procedure tidak membawa nilai, tidak ada parameter yang perlu dituliskan.
MODULE Module adalah tempat yang dikhususkan untuk meletakkan kode program saja. Pada module tidak dapat ditanamkan sebuah objek seperti pada Form. Module biasanya digunakan untuk meletakkan sub procedure atau function procedure yang sering digunakan dalam program aplikasi yang dibuat. Sehingga umumnya sub dan function didalam module bersifat public.
LATIHAN 1 Buat sub procedure untuk menghitung luas persegi panjang dimana data-data panjang, lebar diinput dari kotak isian (textbox) pada form beserta cara pemanggilannya.
LATIHAN 2 Buat Function procedure untuk menghitung luas segitiga dimana data-data alas, tinggi diinput dari kotak isian (textbox) pada form beserta cara pemanggilannya.
IF YOU CAN’T FLY, THEN RUN IF YOU CAN’T RUN, THEN WALK IF YOU CAN’T WALK, THEN CRAWL BUT WHATEVER YOU DO YOU HAVE TO KEEP MOVING FORWARD (Martin Luther King Jr.)