Thank's atas masukan dan penjelasan dari rekan2 semua. semuanya sangat membantu saya....
rgds Aji Dian Rahmadi wrote: > > Nambah keterangan dari Mas Kudo... > > Gampangnya...program besar itu terdiri dari sub - sub > program, seperti CPU itu terdiri dari processor, > memory, HD. > > Dalam bahasa basic, sub program itu ada 2 jenis yaitu > : > 1. Sub (singkatan dari subrutin) > 2. Function > > Perbedaannya : > Sub hanya melakukan proses, tidak mengembalikan > (menghasilkan) nilai, sedangkan function mengembalikan > (menghasilkan) nilai. > > Untuk VB ditambahkan event sub yang akan dikerjakan > jika suatu event terjadi, misalnya sub pada saat > tombol diklik (sub click) , sub pada saat tombol > keyboard ditekan (sub keydown, keyup dan keypress) dan > lain-lain. > > Contoh penggunaan Sub pada program BASIC sederhana : > > Sub Jumlahkan() > A = 5 + 3 > print A > end sub > > Function Kalikan() as integer > Kalikan = 5 * 3 > end function > > Cara manggilkan (seperti yang sudah dijelaskan Mas > Kudo) adalah : > > Jumlahkan atau Call Jumlahkan > setelah pernyataan ini dikerjakan akan muncul angka 8. > > print Kalikan() atau Call Kalikan() > setelah pernyataan ini dikerjakan akan muncul 15. > > Perhatikan perbedaan pemanggilan sub dan function. > Pemanggilan sub hanya menyertakan namanya saja, > sedangkan function disertakan perintah PRINT untuk > menampilkan nilai yang dikembalikan function ke layar. > > Sub dan function dapat menerima masukan nilai atau > mengeluarkan nilai. Masukan dan keluaran ini disebut > parameter (berbeda dengan nilai yang dikeluarkan > function, parameter bersifat optional, boleh ada boleh > tidak tergantung kebutuhan, sedangkan nilai yang > dikembalikan/dihasilkan function wajib ada walaupun > Null/hampa). > > Dalam pengiriman nilai ke dalam parameter ada dua > jenis yaitu : > 1. Pengiriman secara nilai (pass by value), yaitu > pengiriman nilai yang bersifat read only artinya jika > di dalam sub atau function terjadi perubahan nilai, > maka perubahan tersebut hanya terjadi selama > pemanggilan sub atau function yang dipanggil tersebut > dan tidak mempengaruhi nilai asal parameter tersebut. > > 2. Pengiriman secara referensi (pass by reference), > yaitu pengiriman nilai yang bersifat read write > artinya jika nilai parameter tersebut berubah pada > saat sub atau function dikerjakan, maka perubahan > tersebut akan mempengaruhi nilai asal. > > contoh pass by value : > > '*** Definisi sub rutin *** > Sub KirimParamter(byval M as integer) > M = 10 > end sub > > contoh pass by reference > Sub KirimReferensi(M as integer) > M = 50 > end sub > > A = 5 > > '*** Pemanggilan Sub *** > Call KirimParameter(A) > Print A > pada saat perintah ini dijalankan akan tampil 5 yaitu > nilai A yang dikirimkan ke dalam parameter M > (perhatikan pendefinisian sub KirimParameter). Di > dalam sub tersebut nilai parameter M diganti jadi 10 > (M=10), tetapi karena sifatnya hanya read only (by > value), maka ketika dicetak nilai variabel A yang > dikirimkan sebagai parameter M akan tetap tampil 5 > (bukan 10) sebagai nilai asal (awal) variabel A. > > Call KirimReferensi(A) > Print A > pada saat perintah ini dijalankan akan tampil 50 yaitu > nilai parameter A yang dikirimkan ke dalam parameter M > (perhatikan pendifinisian sub KirimReferensi). Di > dalam sub tersebut nilai parameter M diganti menjadi > 50, dan karena sifatnya yang read write (by reference) > maka perubahan nilai parameter M mempengaruhi nilai > asal data yaitu variabel A. Akibatnya, begitu nilai A > dicetak akan menghasilkan 50. > > Gitu loh... > Tapi kalo kurang jelas juga, temen2 lain mungkin bisa > kasih pendapat yang lebih cerah... > > Semoga membantu. > > --- "Kudo, Shinichi" <[EMAIL PROTECTED] > <mailto:shinichijemy%40yahoo.com.sg>> > menulis: > > > Dear Aji, > > > > saya coba jelaskan yc semoga ga tambah2 bingung he > > he he (untuk suhu mohon CMIIW) > > > > > > Di VB Prosedure di kenal dengan SUB, contoh > > > > Private Sub tampilPesan(Byval sMSG as String) 'tidak > > ada hasil > > > > msgbox sMSG > > > > end SUB > > > > > > sedangkan Function FUNCTION, Contoh > > > > Private Function HitungLuas(byval P as integer, > > byval L as integer) as Integer 'Hasil dari fungsi > > > > HitungLuas = P * L > > > > End Function > > > > > > > > > > cara manggil di program : > > Private Sub Command1_Click() > > > > call sMSG("Hallo") > > 'atau > > sMSG "Hallo" > > > > End Sub > > > > > > > > Private Sub Command1_Click() > > dim Luas as Integer > > > > > > Luas = HitungLuas(5,4) > > > > End Sub > > > > > > > > > > yach sampe sini bingung ga??? Semoga enggak > > yach....secara global Prosedure adalah "Potongan > > program yang di gunakan tetapi tidak menghasilkan > > sesuatu" sedangan Fungsi "Potongan Program yang di > > gunakan dan menghasilkan sesuatu" > > > > mungkin udah mulai bingung nech, saat kita menjalan > > kan prosedure (sub) itu tidak ada hasilnya lihat > > dech contoh prosedure. > > kalo ada pertanyaan, lho buat apa sech kita bikin > > prosedure / fungsi...bayangkan ada membuat project > > dengan VB yang menggunakan Code yang sama > > berulang-ulang pasti terasa dech enaknya > > prosedure/fungsi. selain itu prosedure/fungsi > > membuat code terlihat rapi, tersturktur dan cantik > > (halah...hehehe) > > > > wah hampir lupa kalo bingung apa itu ByVal arti > > selengehannya gini....waktu kita membuat prosedure > > atau fungsi KADANG kita memerlukan variable nah itu > > lah guna nya ByVal. tetapi Byval itu hanya mengirim > > VALUE atau NILAI saja ke PROSEDURE/FUNGSI tanpa > > merubah Variable aslinya. kalo pake ByREF variable > > yang mengirimnya akan berubah/dirubah saat Variable > > di Fungsi atau prosedure di rubah. karena pada > > dasarnya ByRef itu menggunaan Pointer (wah ini ribet > > nech nerangin nya udah agak2 lupa :p) > > > > oh iya ada satu lagi selain ByVal, ByRef yaitu > > Optional (artinya saat fungsi/procedur di panggil ga > > pake variable gpp) > > > > ok dech gitu aja pencerahannya (semoga aja jd cerah > > :p) kalo tambah bingung bisa japri ke Y! > > [EMAIL PROTECTED] <mailto:shinichijemy%40yahoo.com.sg> > > > > > > > > > > Salam, > > > > Jemy > > IT @ TGSSI (Astra Otoparts Groups) > > Freelancer Programmer (kalo ada project untuk > > VB/VBNET jangan malu untuk Call :p) > > > > *maaf sekalian promosi, siapa tau ada yang mau > > ngajak pindah...he he he > > > > > > > > > > > > > > > > > > ----- Original Message ----- > > From: via76ers > > To: [email protected] <mailto:indoprog-vb%40yahoogroups.com> > > Sent: Tuesday, June 24, 2008 1:26 PM > > Subject: [*** SPAM ***] [indoprog-vb] prosedure dan > > function > > > > Dear all, > > Saya sudah membaca beberapa artikel mengenai > > prosedure dan function.. > > tapi kok gak ngerti2 juga ya.. > > Mungkin ada temen2 yang bisa bantu jelasin....? > > sekalian contoh dan penggunaannya ya.. biar lebih > > ngerti.. > > > > regards > > Aji > > > > > > > > <<Please Make a Diggest This Groups>> > > > > [Non-text portions of this message have been > > removed] > > > > > > __________________________________________________________ > Dapatkan alamat Email baru Anda! > Dapatkan nama yang selalu Anda inginkan sebelum diambil orang lain! > http://mail.promotions.yahoo.com/newdomains/id/ > <http://mail.promotions.yahoo.com/newdomains/id/> > >
