untuk dapat bahan bisa jg cari di cd tempat anda beli vs.net
karena kebetulan saya pernah nulis penjelasan semacam tutorial
untuk anak saya berikut ini saya paste dibawah semoga membantu.

--- In ITCENTER@yahoogroups.com, "m" <[EMAIL PROTECTED]> wrote:
> salam untuk semuanya...
> saya mahasiswa yang masih awam akan program.banyak hal yang belum 
saya 
> ketahui akan seluk beluknya untuk bisa menjadi seorang yang mengerti 
> bahkan bisa untuk menjadi seorang programer, adapun beberapa 
> pertanyaan yang mungkin siapa saja anggota milis yang bisa jawab :
> 1.hal apa yang mungkin harus saya lakukan untuk bisa program 
> (programmer vb.net)
> 2.referensi dari mana yang mungkin bisa memberikan kontribut bagus 
> (website,download-an)
> 3.terakhir kalo DLL itu bisa dibuka gak yah? misalnya DDL delphi 
atau 
> VB.net itu cara ngebukanya gimana? apa ada software khusus untuk 
cara 
> ngebukanya tsb.

VISUAL BASIC . NET

               Chapter 1  
Variables, Procedure & Conditional Branching

Microsoft pada mulanya mengeluarkan suatu bahasa program yang 
sederhana yang disebut Basic. Kelebihan dari Basic terutama adalah 
tata-bahasa yang sederhana sehingga mirip bahasa Inggris. Seiring 
kemajuan computer dan system operasi windows akhirnya dirasakan Basic 
banyak kekurangan maka di keluarkan bahasa program baru dengan nama 
Visual Basic dan disusul dengan Visual C++. Ditambah visual Interdev , 
paket ini disebut Visual Studio. Visual Basic dan Visual C++ ini 
memudahkan programer jika ingin membuat program yang jalan/run di 
lingkungan system Windows. Hal yang sulit dilakukan jika memakai 
bahasa program lain misalnya gpp atau gcc.

  Setelah berjalan beberapa tahun paket Visual Studio mengeluarkan 
versi Visual Studio.Net . Paket .Net(baca dot net) mempunyai beberapa 
kelebihan yaitu mudah dipakai baik untuk lingkungan windows maupun 
internet. Selain itu juga mendukung pemograman yang berjalan di 
Console (windows dos). Helpnya juga sudah bisa integrated dengan 
development environment, sehingga jika ada syntax yang kurang dipahami 
tinggal cari melalui index. Visual .Net ini sudah ada 2 versi yaitu 
versi 2002 dan versi 2003. Pada versi 2002 untuk pemograman Visual C++ 
belum ada form dan control visual tools drag and paste seperti 
tersedia untuk Visual basic. Versi yang 2003 sudah lengkap baik untuk 
Visual C++.Net  sama dengan Visual Basic.Net bisa memakai basic 
controls dengan drag and paste.

  Dalam bahasan kita ini, kita akan mempelajari lengkap Visual Basic 
namun ditujukan untuk dicompile dengan Visual Basic.Net. Pemograman 
dilakukan di MDE yang bisa dijalankan dengan click Icon Visual 
Studio.Net, kemudian buat new project, pilih Visual Basic sebagai 
project type dan pilih Templates yang dinginkan misalnya Window 
Application atau Console Application. Atau lainnya yang ada dipilihan. 
Name dari project dan letak file project yang akan disave juga bisa 
diatur sebelum click OK.

  Sebagai contoh pertama , coba dipilih template Window Application 
dan project name misal WinSample1 dan directory misal test1 dan click 
OK. MDE akan membuat Solution WinSample1. Dikanan dari IDE nampak 
Solution explorer dan folder References dan 2 file, AssemblyInfo.vb 
dan Form1.vb . Sedang ditengah nampak Form1.vb dalam bentuk Design. 
Form1 ini jika diclick , maka dikanan bawah dari IDE bisa kita lihat 
Form1 properties. 

  Pemrograman Visual adalah pemrograman Object Oriented. Jika pernah 
belajar C++ maka object dibuat dari definisi(turunan) suatu class. 
Class induknya adalah System dengan turunannya  System.Data , 
System.Drawing, System.XML dan System.Windows. Sedangkan Formnya 
sendiri adalah turunan dari System.Windows.Forms. Ini nampak di 
References dari project explorer.

   Kembali ke Form1(select dulu dengan single click kalau belum). 
Dibaris bawah Solution Explorer kita bisa click View Designer atau 
View   Code atas Form1. Dalam Designer View, pada Form ini bisa didrag 
and paste macam-macam standard controls yang disebut Windows Form 
Toolsbox (nampak pada kolom dikiri MDE). Sedang pada Code view , kita 
bisa tuliskan code untuk Form ini dan controls2-nya.

  Nah, untuk latihan kita yang pertama ini yaitu WinSample project 
kita select Form1 dalam Designer View. Lalu pilih misal Button control 
(ada lambang ab) dan click posisi awal(misal tengah atas) di Form1 
lalu drag . Jadilah Button kita yang mana pada kolom properties kita 
bisa change properties sesuai keinginan kita. Misal text Button1 kita 
change jadi Start.


 Jika sekarang button Start ini kita double-click maka akan tampil 
Code view dimana di list code kita :
Public Class Form1
    Inherits System.Windows.Forms.Form

   
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e 
As      System.EventArgs) Handles Button1.Click

    End Sub
End Class
 Note: harap diperhatikan buat yg baru belajar code baris kata Private 
adalah nyambung dalam satu baris sampai Button1.Click.
  Nampak bahwa Button1_Click object adalah terletak dalam Class Form1 
dimana class ini adalah turunan dari System.Windows.Forms.Form. 
Sementara ini kita nggak usah pusing soal class ini, kita bisa tulis 
code kita untuk Button1_Click ini di sub Button1_Click. Untuk itu kita 
buat lagi 1 control di Form (kembali dulu ke Designer view) 
misalnya Label(lambang A), taruh dibawah button start. Kemudian di 
Label1 properties text dibuat blank. Nah sekarang kita sudah siap 
tulis code untuk Button1_Click (double click button Start). Tulis code 
seperti dibawah ini :

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal 
e As    System.EventArgs) Handles Button1.Click
      
                Label1.Text = "This is the text created by clicking 
Start button."

        End Sub

  Selanjutnya tinggal click Build WinSimple1 di Build menu. Jika tidak 
ada error di layar build output (bawah), maka tinggal click Start di 
menu Debug. Setelah Form muncul coba click button Start untuk 
memunculkan tulisan text tersebut !
  Ok, sekarang close WinSample1 ini. Kembali ke Form1 dalam designer 
view, tambahkan 4 button dikiri dan 3 buah textbox dikanan atas 
kebawah . Susun button seperti tuts calculator dan perkecil jadi 
segiempat dan text dirubah masing2 jadi +, -, * dan /. Agar nampak 
lebih tegas font dirubah jadi bold dan size 12. Dan name dari button 
ganti jadi plus, minus, times and devide. Untuk textbox1 sampai 3 , 
name diganti jadi Text1, Text2 dan Text3. Sedang text propertynya 
ganti 0 dan align di set right. Tujuannya adalah kita akan membuat 
calculator sederhana. untuk mulai code view , double_click plus button 
dan muncul code seperti dibawah ini :

        Private Sub Plus_Click(ByVal sender As System.Object, ByVal e 
As System.EventArgs)    Handles Plus.Click

      End Sub 
 
Kita buat 3 buah variable misal Num1, Num2 dan Num3. Dan agar variable 
ini punya scope berlaku untuk sub-routine dari beberapa button maka 
kita declare diluar sub_routine sebagai berikut. Sekalian didalam 
routine ditulis code untuk menjumlah nilai pada Text1 dan Text2. 
Karena Text1.text adalah string, maka perlu diambil value-nya dulu 
sebelum bisa dijumlah dengan benar. 
        Dim Num1, Num2, Num3 As Integer
        Private Sub Plus_Click(ByVal sender As System.Object, ByVal e 
As System.EventArgs)    Handles Plus.Click

                Num1 = Val(Text1.text)
                Num2 = Val(Text2.text)
            Num3 = Num1 + Num2
            Text3.text = Str(Num3)

    End Sub 
   Selanjutnya isikan code utk Sub Minus_Click dan seterusnya seperti 
diatas dan sesuaikan rumus kurang kali dan bagi masing2 button.

   Aplikasi diatas kalau dirun/start maka akan kelihatan bahwa 
hasilnya selalu bilangan bulat. Agar bisa menampilkan bilangan pecahan 
maka variables Num1, Num2 dan Num3 bisa diset sebagai Single atau 
Double jika perlu high precision:
  Dim Num1, Num2, Num3 As Single

   Nah jika contoh pertama sudah dicoba dan berjalan benar kita coba 
buat contoh kedua. Sebagai contoh kita yang kedua mari kita buat new 
project(sebelumnya close dulu WinSample1 Solution), dengan template 
Console Application. Kita namai ConSample1 Solution. Kali ini tidak 
ada Form1 melainkan Module1.vb. Karena ini dalam mode console maka 
tidak disediakan designer view. Cobalah masukan code berikut ke 
module1.vb

Module Module1

    Sub Main()
        Dim num1, num2 As Integer
        num1 = 3
        num2 = 5
        Console.Write(num1 / num2)
    End Sub

End Module

Nah application kita siap di build jadi ConSample1.exe(click build di 
Build menu). Untuk run aplikasi ini kita perlu ke dos prompt. Change 
directory ke tempat kita simpan ConSample1 files lalu cd ke bin. Run 
aplikasi dengan ketik ConSample1 dan enter. Hasilnya adalah 0.5 . 
Ternyata hasilnya adalah bilangan pecahan. Hasil pembagian ini oleh VB 
ditampung di variable double.
   Dari contoh kita diatas, kita lihat ada beberapa topic yang perlu 
kita bahas secara lebih detail dalam paragraph berikut ini. 
Selanjutnya jika kita membuat contoh latihan dalam windows application 
kita beri nama winsamp dan dalam console application kita sebut 
consamp.


        Variables 
  Variable adalah tempat menampung isi/value di memory. Yang ditampung 
adalah data angka. Data angka ini bisa mewakili bentuk2 value lain 
misal kata maupun tanggal bahkan object. Karena Visual Basic 
dimaksudkan untuk mempermudah pemrograman maka kita nggak perlu 
telusuri bagaimana data angka bisa mewakili kata dan sebagainya. Yang 
perlu diketahui adalah supaya variable bisa menampung data type yang 
berbeda, memory untuk tiap type mempunyai ukuran memory tertentu. 
Misal type single butuh memory 32bits atau 4 bytes. Sedang type double 
butuh 64 bits.

Type   
   Variable type bisa dikelompokkan dalm bebrapa kelompok yaitu 
Numeric, String, Boolean, Date dan Object. 

   Numeric data dibagi lagi atas short(int16), integer(int32), long
(int64), single, double dan decimal. Integer hanya menampung angka 
bulat, sedang lainnya bisa pecahan. Decimal mempunya ketelitian paling 
tinggi tapi juga butuh memory sebesar 64bits(8bytes).
    
   String data untuk menampung data kata .Tiap string mampu menampung 
2GB data huruf . Dalam VB.Net tiap huruf memerlukan 2 bytes karena 
memakai unicode. Lain dengan C yang memakai ASCCI yang cukup dengan 1 
byte per huruf.

   Boolean data adalah hanya untuk menampung 2 nilai yaitu true atau 
false.

   Date data untuk menampung tanggal dan jam. Tanggal dan jam saat ini 
di computer tersimpan di BIOS ROM yang setiap saat bisa diaccess untuk 
mendapatkan tanggal dan jam saat ini.

   Object data  adalah variable type yang bisa dipakai secara 
fleksible yang nanti akan bisa dilihat dari contoh pemakaian. 
 
   Istilah-istilah diatas cukup membingungkan jika pertama kala baca,
namun jika sudah sering membuat program maka akan terbiasa dengan 
istilah-istilah baru tersebut.

Declaration
   Seperti terlihat pada WinSample1, sebelum bisa dipakai, variables 
perlu di-declare. Berikut adalah beberapa cara declaration yang bisa 
dipakai:

     Dim Num1, Num2, Num3 As Single
     Dim Value1 As Long, name As String
Declaration bisa juga diikuti dengan assignment misalnya
     Dim name As String = "Achmad Sayudi"
     Dim count As Integer = 25000
Jika kita hanya memerlukan variable 1 character, maka bisa dipakai
     Dim ch As Char = "a"
     Dim cn As Char = "das"
Variable cn karena Char maka hanya d yang tertampung, a dan s tidak 
bisa disimpan di variable tersebut. 
   Declare date bisa dilakukan sebagai berikut
      Dim myBirthday As Date = #12/30/1989#
        Dim date1 As Date = #6/12/2004 6:25:30 AM#
        Dim date2 As Date = "May 15, 1952"
        Dim sekarang As Date 
      sekarang = Now()
Karena variables dalam VB sebenarnya adalah object maka disediakan 
methode untuk beberapa pemakaian. Misalnya DateInterval.Day yang bisa 
dipakai dalam DateDiff function:
      Dim days As Long
      days = DateDiff(DateInterval.Day,myBirthday,Now())

Cobalah di ConSample1 sebagai berikut
Module Module1

    Sub Main()
        Dim num1, num2 As Integer
        num1 = 3
        num2 = 5
        Console.WriteLine(num1 / num2)  
        Dim myBirthday As Date = #12/30/1989#

        Dim days As Long
        days = DateDiff(DateInterval.Day, myBirthday, Now())
        Console.Write(days)
    End Sub

End Module

Jika dirun hasil baris kedua adalah selisih hari antara hari ini dan 
myBirtday. Agar lebih interactive bisa juga ditulis
           Console.WriteLine("Jumlah hari sejak lahir : " & days)

  Variables bisa dimanipulasi dengan operator umum seperti +, & .
Misalnya Dim num1, num2 As Integer
        Dim Num3 As Double, X As String
num1 =10
X ="2003"
Console.WriteLine(num1 + X)
menghasilkan 2013
dan Console.WriteLine(num1 & X)
menghasilkan 102003
Perlu diketahui bahwa Console.Write bisa mengenali type data dan 
menampilkan dengan tepat. Hal ini bisa karena methode-nya menggunakan 
tehnik overloading.

Type conversion   
   Pada Windows Application yang kebanyakan memakai controls. Dalam 
menampilkan data yang kebanyakan text, maka perlu ada conversion. 
Misalkan integer , untuk ditampilkan misalnya di Label1.text maka 
perlu di convers jadi string dengan 
   Label1.text = Str (num)
Sebaliknya data di Label.text jika ingin diambil nilai integernya 
menjadi
   num = Val (Label1.text)
Karena sering terjadi type conversion dalam program maka VB 
menyediakan conversion lengkap untuk semua type yang ada yaitu CBool, 
CInt16, CInt32 , CStr dst.
Misal Dim year As String = "1980"
      Dim num1 As Integer
maka  num1 = CInt32(year)
akan mendapatkan angka 1980 dalam type integer 32 bits. Maka perlu 
diperhatikan jika data yang diconversi awalnya menempati memory 32 
bits diconversi menjadi data memory 16 bits maka ada kemungkinan akan 
ada pembulatan jika itu pecahan.
   Jika didalam program kita ingin mengetahui type suatu variable bisa 
dengan
 num.GetType() maka hasilnya adalah Integer
If num3.GetType Is GetType(System.Double)
adalah mengecheck apakah num3 benar type double.
Selain GetType() disediakan juga GetTypeCode dimana hasilnya dalam 
code numeric (int16)
jika num adalah int16 maka
num = num3.GetTypeCode()  menghasilkan num = 14(jika num3 type double)
Untuk melihat code numeric ini cobalah tampilkan dengan Console.Write
(var.GetTypeCode()) dengan mendeclare var untuk berbagai type 
variable .

Variables Lifetime dan Scope
  Seperti dalam C ,scope dari variables ini tergantung dimana variable 
ini di-declare. Jika di-declare diluar sub-routine tapi didalam Form1 
module misalnya maka variable ini berlaku di seluruh module Form1. 
Jika di-declare didalam salah satu sub-routine maka scope variable ini 
hanya berlaku di dalam sub-routine tersebut. Jika ingin berlaku 
diseluruh bagian dari project, maka declare di suatu module dan beri 
prefix Public. Sebaliknya jika menginginkan suatu variable tidak bisa 
diaccess di luar module maka pakai prefix Private. 
  Lifetime berkaitan juga seperti diatas, jika suatu variable 
dideclare lokal untuk suatu sub-routine maka variable tersebut hanya 
mempunyai lifetime selama program sedang process sub-routine.
Begitu selesai sampai end sub maka memory tempat menampung data 
variable tersebutkan se-olah2 hilang. Hal ini karena tempat/alamat 
dari memory tersebut tidak diingat/disimpan lagi. Namun jika data 
variable ini ingin lifetimenya tidak habis bisa juga memakai prefix 
Static. Hanya perlu diingat bahwa memory static jangan sampai datanya 
tertulis oleh suatu sub-routine yang tidak sengaja memakai nama 
variable ini. Dalam hal ini program berjalan tanpa error tapi hasilnya 
bisa tidak sesuai dengan yang diinginkan.   

  Constant

  Selain variable type memory VB mengenal juga Constant. Dalam program 
sering kita mempunyai data yang harus tetap maka kita declare sebagai 
constant. Cara declare sebagai berikut :
  
 Const size1 As Int16 = 2000
maka size1 mempunyai nilai tetap sebesar 2000
 Const pi As Double = 3.14159265358979
 Const theCode = "s234k332~"
jika diinginkan constant ini berlaku public
 Public Const theCode = "s999h765<>"

   Array
  Dalam menangani data yang banyak kita perlu mengelompokan data. 
Misalnya data murid disekolah atau data anggota suatu club. Array yang 
sederhana misal 
  Dim name(20) As String 
Maka ada 20 variable string yaitu name(0) sampai name(19). Kita bisa 
memberikan nilai name(2)= "premium", name(3) = "optimal" dsb.
  Untuk kelompok yang lebih banyak bisa dipakai structure misal :
Structure member
  Dim name As String
  Dim ID As String
  Dim fee As Single
End Structure
maka kelompok data ini bisa dibentuk dengan
  Dim student(40) As member
akan tercipta 40 student data dengan masing2 3 sub-data.
  student(12).fee = 65000.00
menyatakan fee student ke 13 adalah sebesar 65000.00
  Array bisa di-initialised dengan nilai awal misal
Dim Hari() As String = ["Minggu","Senin","Selasa" ....]

   Methode
   Karena variable kita adalah object maka tersedia methode dalam VB 
yang bermanfaat dalam program. Contoh pemakaian methode seperti GetType
() sudah diberikan sebelum ini. Berikut contoh yang sering kita 
perlukan yaitu format. Data yang ingin ditampilkan dimonitor/printer 
sering berupa text/string. Misalnya nilai uang 
  Dim payment As Single = 7563.25
  Dim text As String
  text = payment.ToString("C")
disini variable payment memiliki methode ToString(format), dimana "C" 
adalah format Currency.
Agar lebih jelas kita open WinSample1 , lalu tambahkan satu textbox 
beri nama price, text = 0 dan text align = right. Dan 1 button dan 
beri name misal CheckPrice. Lalu tuliskan code seperti dibawah ini 
setelah double_click button CheckPrice .
  
    Private Sub CheckPrice_Click(ByVal sender As System.Object, ByVal 
e As System.EventArgs) Handles CheckPrice.Click
        Dim payment As Single = 7563.25
        Dim text As String
        text = payment.ToString("C")
        price.Text = text
    End Sub

Cobalah ganti "C" dengan "Rp ###,###,###.##" 
Selain C formatter lain adalah N(number),G(general,F(fixed-point),E
(scientific) dan X(hex number).

Selain format string juga ada format date (untuk detail bisa lihat 
format function dates di help). Contoh pemakaian format date,
Dim myBirthday As Date = #12/30/1989#
Console.WriteLine(myBirthday.ToString("D"))

   Conditional Branching
  Kesamaan lain dengan bahasa program seperti C adalah VB mempunyai 
lengkap pengaturan test condition dan percabangan juga. Test condition 
yang disediakan adalah
  If .. Then.. 
  If .. Then.. ElseIf
  Select Case
Sedang percabangannya
  For .. Next
  Do.. Loop
  While ..
  Contoh berikut ini bisa memberikan gambaran pemakaian :
Misalkan result adalah hasil ujian
  Dim text As String
        text = "failed"
        If result > 80 Then
            text = "excellent"
        ElseIf result > 65 Then
            text = "good"
        ElseIf result > 55 Then
            text = "passed"
   End If
  Cobalah test code diatas di winapplication sebagai latihan. Buatlah 
2 buah textbox dan 1 button. textbox yang satu untuk mengisi result 
dan satunya untuk menampilkan text dengan click button. Jika mengalami 
kesulitan dan mau contoh lihat WinSample12.sln  .Misalkan result = 80 
maka if yang pertama tidak terpenuhi maka dicari ke elseif berikut, 
ternyata memenuhi maka text dari failed menjadi good. Elseif yang 
ketiga tidak dicheck karena code kita langsung ke End If.  
  Contoh penggunaan select case
  Dim text As String
        Select Case Now.DayOfWeek
            Case DayOfWeek.Sunday
                text = "Ini hari libur."
            Case DayOfWeek.Wednesday
                text = "Rabu . Ini hari kerja."
        End Select
        Label2.Text = "Hari ini hari " & text

Code lengkap ada di WinSample12.sln . Untuk hari2 lain, silahkan 
lengkapi sendiri sample diatas. Dalam case bisa dipakai test > atau 
>=  , <>, <, < dan sebagainya.

   For .. loop mirip dalam C, beda di tata-bahasa saja
   Dim i As Integer
        For i = 5 To 20 Step 5
            Console.WriteLine(i * i - 200)
        Next i
WriteLine menulis untuk i=5, 10, 15 dan 20 . Jika step dihilangkan 
maka default adalah nambah 1.

Loop yang kedua adalah do..while
  Dim destination() As String = 
{"Jakarta", "Bandung", "Surabaya", "Denpasar",NULL}
  i = 0
  Do While (i < 4)
            Console.WriteLine(destination(i))
            i += 1
        Loop

 
Sedang code berikut sama hasilnya dengan diatas  
          i= 0
          Do Until (i = 4)
              Console.WriteLine(destination(i))
            i += 1
        Loop

Penggunaan conditional test bisa memakai logika and, or atau lainnya 
seperti 
   If (i < 4) and  (i > 1)  maka yang berlaku adalah i==2 dan 3  
   If (i < 2) or (i = 3) artinya jika i=0, i=1, dan i =3

contoh :
i = 0
        Do Until (i = 4)
            If (i = 2) Or (i = 3) Then Console.Write("# ")

            Console.WriteLine(destination(i))


            i += 1
        Loop

Kelihatan If nggak perlu diberi End If karena loop sudah mewakili.

While .. bisa dipasangi dengan End While
     i = 0
    While (i<4)
      Console.WriteLine(destination(i))
            i += 1
     End While

Gabungan dari loop dan condition-test bisa menciptakan nested loop , 
sehingga macam2 condition yang diinginkan bisa dibuatkan code-nya. 
Selain itu jika suatu condisi terjadi dan kita ingin loop berhenti, 
maka bisa dipakai Exit. Exit Function, Exit For, Exit While dan Exit 
Do bisa dipakai sesuai dengan loop yang ada.


   Procedure

   Yang dimaksud dengan procedure adalah potongan code yang 
mengerjakan sesuatu yang bisa sering dipakai oleh beberapa bagian dari 
program. Misalnya kita bisa membuat procedur untuk menghitung selisih 
hari antara 2 tanggal. Sehingga jika diperlukan kita tinggal 
memanggil/call dari dalam program dan bisa dipakai berulang-ulang. 
Bahkan kita bisa copykan procedur ini ke module lain/ project lain 
jika diperlukan.
  Dalam VB procedure ini bisa merupakan sub-routine atau function. 
Kita sudah beberapa kali membuat sub-routine yang dibuat otomatis jika 
kita double-click suatu button atau box. Perbedaannya dengan function 
adalah, function bisa diharapkan mempunyai return. Artinya jika 
dipanggil function menghasilkan suatu nilai bisa string, numeric atau 
lainnya tergantung code di function yang kita buat. 
   Sub-routine
   Pemakaian sub-routine adalah dengan syntax sub nama_routine(arg,arg)
dan diakhiri end sub. Arg artinya argument/parameter dalam C adalah 
nilai/value yang ingin kita process melalui routine ini. Misal jika 
kita ingin routine ini menampilkan isi suatu silinder, maka arg1 
adalah radius dan arg2 adalah tinggi. 
    
Sub Syl__Volume(ByVal R As Double, ByVal H As Double)
        Dim Vol As Double
        Vol = 3.14159 * R * R * H
        Console.Write(Vol)
    End Sub
Routine diatas bisa dipaste ke atasnya sub main(), jika ingin 
memanggilnya cukup ketikkan di dalam sub main () dimana rad dan height 
adalah numeric sebaiknya single atau double variable. 
    Syl_Volume(rad,height)
ByVal pada argument artinya variable ini adalah copy sehingga rad dan 
height tidak bisa berubah nilainya, tapi R dan H bisa berubah kalau mau
(dan perlu diingat begitu call selesai R dan H hilang dari memory).
  
   Function
  Pada function kita bisa mendapat return. Sehingga contoh diatas bisa 
dibuat demikian
    Function Syl_Volume(ByVal R As Double, ByVal H As Double) As Double
        
        Return(3.14159 * R * R * H)
        
    End Function

Jika ingin ditampilkan tinggal 
    Dim vol As Double
    vol = Syl_Volume(4.2 , 5 )
    Console.Write ( vol)

4.2 adalah radius dan 5 adalah height. Sedangkan As Double dibelakang 
kurung menandakan function ini ada return berupa type double. Jika 
diinginkan type lain misalnya single tinggal ganti double dengan 
single. Return dari function bisa satu nilai, jika diinginkan lebih 
dari 1 parameter yang bisa dikembalikan oleh function ada tehnik lain 
yang akan dibahas berikut ini.

Sebetulnya pemakaian routine dan function ini sudah sering dalam VB.  
Dalam pemrograman visual studio ini disediakan routine dan function 
built_in yang sangat lengkap.  Karena routine adalah termasuk function 
maka selanjutnya kita pakai sebutan function saja, kecuali yang 
dimaksud adalah sub_routine VB secara khusus. Jadi pelajaran mengenai 
function ini juga membantu kita memahami bagaimana memakai function 
yang built_in.

   Passing Arguments 
   Jika kita lihat kembali function kita diatas nampak bahwa argument 
R dan H ada kata ByVal, ini dimaksudkan yang diberikan ke function 
adalah value. Maksudnya adalah jika diandaikan argument itu adalah 
kotak penyimpan(ingat bahwa argument adalah data dan data memerlukan 
tempat/bisa memory atau sejenisnya) .Jadi byval bisa diartikan copy 
dari data yang diberikan, dan ini secara default diisi oleh wizard. 
Jika diinginkan lain, maka bisa dipakai byref. ByRef ini memberikan 
data asli tanpa dicopy dulu, sehingga data tersebut jika dirubah 
didalam function, maka data tersebut ikut berubah setelah function 
selesai dipanggil.
  Kita coba test dengan contoh program consamp13 . 

 Module Module1
    Function Testval(ByVal A As Integer, ByVal B As Integer) As Integer
        A += 3
        B += 5
        Return (A * B)
    End Function
    Function Testref(ByRef A As Integer, ByRef B As Integer) As Integer
        A += 3
        B += 5
        Return (A * B)
    End Function
    Sub Main()
        Dim Num1, Num2, Num3 As Integer
        Num1 = 7
        Num2 = 5
        Num3 = Testval(Num1, Num2)
        Console.WriteLine("Num1 = " & Num1 & "  Num2 = " & Num2 & "   
Num3 = " & Num3)
        Num1 = 7
        Num2 = 5
        Num3 = Testref(Num1, Num2)
        Console.WriteLine("Num1 = " & Num1 & "  Num2 = " & Num2 & "   
Num3 = " & Num3)


    End Sub

End Module

 Jika code diatas dibuild kemudian di run di Dos prompt , tampak bahwa 
setelah function kita call , untuk passing ByVal nilai argument Num1 
dan Num2 tidak berubah, sedangkan jika dipanggil dengan 
ByRef,variables berubah setelah function di-call. Perlu diketahui 
bahwa pemakaian ByVal atau ByRef adalah sesuai kebutuhan, dalam 1 
function bisa ber-macam2 combination diijinkan.
  Dengan tehnik passing ByRef kita bisa memprocess beberapa argument 
sekaligus untuk mendapatkan beberapa return berupa nilai argument yang 
telah kita process tersebut.
  Procedure bukan hanya bisa process variables sebagai arguments tapi 
juga object(misalnya Button1.Text ). Argument object ini diperlakukan 
sebagai argument ByRef sekalipun ditulis dengan ByVal !

    Event Handler.
   Dalam windows, kita selalu berhubungan dengan event misal 
button_click. Untuk mengatur event ini disebut event_handler kita 
memakai sub routine karena nggak memerlukan return. Dan yang sering 
kita process adalah sender sebagai object dan e sebagai action seperti 
berikut
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs)       Handles Button1.Click

        End Sub 
Dalam visual programming, potongan code diatas otomatis dibuat jika 
kita double_click Button1 !
    Events yang sering kita temui misalnya mouse event. Code berikut 
ini adalah contoh code untuk event MouseUp dan MouseDown.

Private Sub Button1_MouseDown(ByVal sender As System.Object, ByVal e 
As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
        Label1.Text = "Button click at " & e.X & "' " & e.Y

End Sub
Private Sub Button1_MouseUp(ByVal sender As System.Object, ByVal e As 
System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
        Label2.Text = "Button release at " & e.X & "' " & e.Y

End Sub

Selain mouse bisa juga kita program untuk event KeyDown atau KeyUp
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As 
System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        
End Sub

   Named Arguments
Argument umumnya diisikan dengan urutan seperti ditulis di procedure. 
Namun jika diinginkan bisa juga dengan nama argument tanpa perlu 
sesuai urutannya seperti berikut
Private Sub Client(ByVal Name As String, ByVal Telp As String
        TextBox1.Text = Name
      TextBox2.Text = Telp

End Sub
Kita bisa call procedure Client dengan 
  Client(Telp:="021-4532345", Name:="Martha K.")
 
    Unknown number of Arguments
Jumlah argument yang ingin di pass melalui procedure bisa tidak tentu 
jumlahnya. Hal ini bisa dilakukan dengan paramarray seperti code 
berikut
Sub AddName(ByVal ParamArray NameArray() As Object)
        Dim x As Object
        For Each x In NameArray
            ListBox1.Items.Add(x)
        Next x
End Sub
 Call sub diatas dilakukan misalnya
AddName ( "Jakarta", "Bandung", Semarang", "Surabaya")

Demikianlah hal-hal yang penting mengenai procedure mengakhiri tulisan 
ini di bab1 .Tentu saja masih banyak hal lain mengenai topic diatas 
yang bisa dipelajari di help dengan lebih lengkap.


Chapter 2

Forms & Controls





-- 
www.itcenter.or.id - Komunitas Teknologi Informasi Indonesia 
Info, Gabung, Keluar, Mode Kirim : [EMAIL PROTECTED] 
::: Hapus bagian yang tidak perlu (footer, dst) saat reply! ::: 
## Jobs: itcenter.or.id/jobs ## Bursa: itcenter.or.id/bursa ##
$$ Iklan/promosi : www.itcenter.or.id/sponsorship $$


:: SPONSOR -----------------------------------------------
Web hosting 1GB space cuma Rp. 65ribu/bln
Multiple website, free domain name. http://www.rakdata.com
----------------------------------------------------------

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ITCENTER/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Kirim email ke