VISUAL BASIC .

on Jumat, 01 Januari 2010
NET Chapter 1 Variables, Procedure & Conditional BranchingMicrosoft 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 SubEnd 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.vbModule Module1 Sub Main() Dim num1, num2 As Integer num1 = 3 num2 = 5 Console.Write(num1 / num2) End SubEnd ModuleNah 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 StringDeclaration bisa juga diikuti dengan assignment misalnya Dim name As String = "Achmad Sayudi" Dim count As Integer = 25000Jika 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 berikutModule 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 SubEnd ModuleJika 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 Stringnum1 =10X ="2003"Console.WriteLine(num1 + X)menghasilkan 2013dan Console.WriteLine(num1 & X)menghasilkan 102003Perlu 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 Integermaka 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 IntegerIf 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 makanum = 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 = 2000maka 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 SingleEnd Structuremaka kelompok data ini bisa dibentuk dengan Dim student(40) As memberakan tercipta 40 student data dengan masing2 3 sub-data. student(12).fee = 65000.00menyatakan fee student ke 13 adalah sebesar 65000.00 Array bisa di-initialised dengan nilai awal misalDim 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 SubCobalah 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 CaseSedang 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 " & textCode lengkap ada di WinSample12.sln . Untuk hari2 lain, silahkan lengkapi sendiri sample diatas. Dalam case bisa dipakai test > atau >= , <>, <, < i =" 5" i="5," string =" {" i =" 0" i=" 0" i =" 4)"> 1) maka yang berlaku adalah i==2 dan 3 If (i < 2) or (i = 3) artinya jika i=0, i=1, dan i =3contoh :i = 0 Do Until (i = 4) If (i = 2) Or (i = 3) Then Console.Write("# ") Console.WriteLine(destination(i)) i += 1 LoopKelihatan 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 WhileGabungan 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 SubRoutine 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 FunctionJika 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 SubEnd 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 berikutPrivate 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.YEnd SubPrivate 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.YEnd SubSelain mouse bisa juga kita program untuk event KeyDown atau KeyUpPrivate Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown End Sub Named ArgumentsArgument umumnya diisikan dengan urutan seperti ditulis di procedure. Namun jika diinginkan bisa juga dengan nama argument tanpa perlu sesuai urutannya seperti berikutPrivate Sub Client(ByVal Name As String, ByVal Telp As String TextBox1.Text = Name TextBox2.Text = TelpEnd SubKita bisa call procedure Client dengan Client(Telp:="021-4532345", Name:="Martha K.") Unknown number of ArgumentsJumlah argument yang ingin di pass melalui procedure bisa tidak tentu jumlahnya. Hal ini bisa dilakukan dengan paramarray seperti code berikutSub AddName(ByVal ParamArray NameArray() As Object) Dim x As Object For Each x In NameArray ListBox1.Items.Add(x) Next xEnd Sub Call sub diatas dilakukan misalnyaAddName ( "Jakarta", "Bandung", Semarang", "Surabaya")Demikianlah hal-hal yang penting mengenai procedure mengakhiri tulisan ini di bab1 .

0 komentar:

Posting Komentar

About Us

Diberdayakan oleh Blogger.