Mengenal tentang Procedure
Tutorial Level 2
Salam untuk semua..
Buat yang baru mulai belajar VBA, pasti sering mendengar istilah Procedure. Dan kenyataannya, procedure itu emang ada dimana-mana di dalam VBA.
Emangnya, apa sih Procedure itu?
Oke, kita mulai dengan tahu dulu, baru tempe eh, maksudku, kita mulai dari tahu dulu apa itu Procedure.
Pake analogi aja yah, biar gampang. Bayangin sebuah Pabrik Motor. Mereknya terserah, mo honda, yamaha, toyota eh gak ada dink merek toyota. Pokoknya mereknya apa aja.
Sebuah pabrik motor, gak semua bagian motor itu dibuat sendiri dipabrik tersebut. Sering kali, beberapa bagiannya di-sub kan ke pabrik lain. Misalkan bagian ban. Ban tidak dibuat dipabrik motor, tapi dibuat oleh pabrik Ban. Bisa juga bagian softbraker. Bagian ini juga dikerjakan oleh pabrik lainnya lagi.
Jadi, ternyata sebuah motor yang kita beli itu, gak semua bagiannya di buat di pabrik pembuat motor. Tapi banyak yang di-sub kan ke pabrik lainnya.
Nah, Procedure itu persis seperti pabrik yang ngerjain Ban, pabrik yang ngerjain softbraker dan seterusnya.
Jadi, sebuah procedure akan menunggu perintah dan juga inputan dari procedure lain, kemudian mengerjakan perintah tersebut sesuai dengan inputan yang diberikan. Dan kalau sudah selesai dikerjakan, hasilnya dikembalikan ke procedure yang memerintahkannya.
Setidaknya, ada dua jenis Procedure yaitu:
1. Sub Procedure
2. Function Procedure
(Sebenernya ada 1 lagi jenis procedure yaitu Properties Procedure. Tapi yang ini ntar-ntar aja deh..)
Apa bedanya?
Tenang, ini juga mau dijelasin.
Sub Procedure
Sub procedure itu berisi baris program untuk mengolah sesuatu. Bila baris program selesai dilakukan, maka procedure ini akan berhenti dan menutup. Dan Program dikembalikan ke program utama.
Oke, sekarang kita pakai analogi pabrik tempe yah. Kan sering tuh makan tempe. Proses pembuatan tempe itu disederhanakan sebagai berikut:
1. Mulai pengerjaan
2. Kedelai dicuci bersih.
3. Kedelai dikupas kulitnya.
4. Kedelai direbus.
5. Kedelai diragi
6. Kedelai dibungkus.
7. Selesai
Jadi...
No. 1, program utama dimulai.
Saat sampai ke No.2, program utama memanggil sub procedure: pencucian kedelai. Jika kedelai sudah bersih, dikembalikan ke program utama.
Kemudian, saat sampai ke No.3, program utama memanggil sub procedure: pengupasan kulit. Jika kulit sudah terkelupas, dikembalikan ke program utama. Dan seterusnya sampai selesai.
Begitulah cara kerja Sub Procedure.
Function Procedure
Jika sub procedure cuma menjalankan program, maka function procedure melakukan kalkulasi dan mengeluarkan hasil untuk dipakai program utama.
Kita masuk lagi ke analogi pembuatan tempe. Ternyata, agar tempe dapat ter-ragi dengan sukses, maka harus menghitung besarnya kantong, banyaknya kedelai, dan banyaknya ragi. Jadi, kalo ada 10 kg kedelai, trus kantong plastiknya 1/4 kg-an, berapa jumlah ragi yang dibutuhkan?
Nah, agar pembuatan tempe-nya sukses, maka pada proses di atas, harus ditambahkan sebuah function procedure. Jadinya adalah sebagai berikut:
1. Mulai pengerjaan
2. Kedelai dicuci bersih.
3. Kedelai dikupas kulitnya.
4. Kedelai direbus.
5. Hitung jumlah ragi yang dibutuhkan umtuk 10 kg kedelai dan plastik 1/4 kg-an.
6. Kedelai diragi
7. Kedelai dibungkus.
8. Selesai
No.1 sampai No.4 masih sama seperti sebelumnya. Tapi setelah sub procedure: perebusan selesai, dan program dikembalikan ke program utama, maka program utama akan memanggil function procedure: penghitungan ragi. Inputan-nya adalah: kedelai 10 kg dan plastiknya 1/4 kg-an.
Function procedure kemudian akan menghitung dan memberikan hasil ke program utama. Misalkan hasilnya adalah 10 gram ragi. Hasil dari function ini bisa digunakan oleh procedure-procedure lainnya.
Kemudian, program utama akan memanggil sub procedure berikutnya hingga selesai.
Wah, tambah pusing..! Ada contoh pogramnya gak?
Oke, sekarang kita coba buat sebuah sub procedure ya. Semakin banyak latihan, semakin cepet pinter kan..
Pada gambar di atas, kita buat 2 sub procedure. (programutama dan testsubproc).
Sebenernya, dua-duanya adalah sub procedure, tapi untuk mempermudah gambaran, kita anggap yang pertama adalah program utama dan yang kedua sub procedure. Sesungguhnya, program utama itu ya Excel itu sendiri.
Oke pertama, kita buat program utama (anggap aja ini program utama ya, meski sebenernya sama-sama sub procedure).
Didalam program utama, kita memanggil sub procedure: testsubproc. Cara manggilnya gampang, cukup tulis namanya saja.
Sub programutama()
'didalam program utama, kita akan panggil sub procedure testsubproc
testsubproc
End Sub
Sekedar info, tanda petik satu ('), menunjukkan kalimat setelah tanda ini adalah sekedar keterangan saja. Dan VBA tidak akan memprosesnya sebagai baris program.
Nah, selenjutnya kita buat sub procedure testsubproc.
Sub testsubproc()
'sub procedure ini berisi sebuah perintah untuk menampikkan pesan.
MsgBox "halo..! saya lagi belajar VBA"
End Sub
Sekedar info lagi yah, perintah MsgBox sebenarnya adalah sebuah function loh. Tapi ini internal function, atau function yang udah built-in (dibuat) oleh Excel. Kita tinggal manggil aja.
Sekarang kita coba RUN program utama kita. Letakkan cursor pada programutama dan klik RUN seperti pada gambar dibawah.
Hasilnya adalah, akan muncul pesan seperti pada gambar berikut:
Sub Procedure kita SUKSES!!
Trus, gimana cara bikin Function Procedure?
Oke, sekarang kita coba buat sebuah function. Seperti pada sub procedure, kita akan pura-pura memiliki program utama (yang sebenernya adalah sebuah sub procedure juga. Ingat, program utama sesungguhnya adalah program Excel itu sendiri).
Biar gampang, kita tetap pakai code sebelumnya dan cukup kita tambah memanggil function procedure. Oke..
Function procedure kita adalah Penjumlahan. Berikut code function-nya:
Function penjumlahan(input1 As Integer, input2 As Integer) As Integer
'baris program di function untuk menjumlahkan dua variabel
penjumlahan = input1 + input2
End Function
Apa yang dilakukan code diatas adalah:
Function penjumlahan meminta inputan yang nantinya akan dimasukkan ke dalam variable input1 dan input2. Kedua variabel memiliki datatype integer. Hasil dari function ini tersimpan dalam variable penjumlahan dengan datatype yang juga integer. Selanjutnya, didalam function, kita tulis sebuah formula perhitungan dari variabel-variabel tadi (penjumlahan = input1 + input2).
Jadi, jika kita memanggil function penjumlahan dengan memberikan data inputan yang diminta, function akan memasukkan ke dalam variabel dan menghitungnya sesuai formula dan mengeluarkan hasilnya untuk pemanggil (program utama misalnya).
Oke, function sudah beres, sekarang waktunya memanggilnya di program utama. Ingat, kita masih memakai program utama sebelumnya dengan menambahkan pemanggilan function.
Sub programutama()
'didalam program utama, kita akan panggil sub procedure testsubproc
·· · testsubproc
'memanggil function procedure penjumlahan dan menampilkan hasilnya ke message box.
'input penjumlahannya adalah 2 dan 5. Hasilnya seharusnya 7.
MsgBox "ini hasil function : " & penjumlahan(2, 5)
End Sub
Pada program utama, function dipanggil bersamaan dengan perintah memunculkan pesan (perintah MsgBox). Data yang kita input adalah 2 dan 5.
Nah, jika kita RUN program utama kita (ingat, letakkan cursor pada program utama), maka akan muncul pesan seperti gambar dibawah. Hasil dari inputan 2 dan 5 adalah 7!
SUKSES LAGI!!!
Well.. Gimana.. Udah tahu apa itu procedure?
Kalo masih bingung, jangan sungkan untuk nanya ya.. Ditunggu..
See ya..