SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Visual Basic Dasar


By ; Gapra. Email ga_pra_27@yahoo.c0.id


       Bagian pertama ini akan menguraikan hal-hal yang sifatnya esensial

dalam pemrograman Visual Basic. Meskipun dikatakan esensial, namun kita

tidak boleh menyepelekan begitu saja. Pada kenyataannya, teknik-teknik

dasar yang mungkin dianggap sepele seringkali mampu menyelesaikan

berbagai persoalan pelik. Oleh karena itu, untuk memudahkan pembuatan

program tingkat lanjut, akan lebih baik jika kita sudah memiliki bekal dasar.



1. Teknik Dasar Visual Basic
   Jika kita membahas teknik dasar Visual Basic, sebenarnya tidak cukup

hanya dengan satu bab, apalagi satu subbab. Namun, di sini akan dibatasi

agar uraiannya tidak terlalu umum ataupun khusus. Artinya, bagian ini

mencoba menguraikan hal-hal ringan yang dianggap penting dan sering

diperlukan.

      Awalan Penamaan Variabel

   Konsistensi sering dikaitkan dengan penulisan kode program yang

standar. Ini tentu cukup beralasan karena penulisan kode yang konsisten

menjadikan kode program lebih mudah dibaca dan dipahami. Sebagai contoh,

dalam penamaan variabel, sangat dianjurkan agar Anda mengacu pada

standar yang telah ditetapkan.

Contohnya seperti berikut:
' Jika hanya ada satu variabel String di satu
' ruang lingkup
Dim str As String



Tip & Trik Visual Basic 6.0                                                 1
' Jika terdapat lebih dari satu
Dim strNama As String
Dim strAlamat As String
Daftar      standar      penamaan        selengkapnya     untuk     variabel    yang

merepresentasikan suatu tipe data, kontrol-kontrol built-in dan ActiveX,

serta objek-objek ADO bisa Anda lihat di lampiran.

        Hindari Tipe Variant

   Tipe data Variant secara otomatis akan ditetapkan pada suatu variabel

manakala Anda tidak menetapkan tipe datanya secara eksplisit.
' Variabel intX bertipe Variant
Dim intX, intY As Integer
' intA dan intB bertipe Integer
Dim intA As Integer, intB As Integer
Alasan utama untuk            menghindari tipe    data Variant adalah          karena

eksekusinya yang cenderung lebih lambat dan mengonsumsi memori lebih

besar.

        Ruang Lingkup Variabel

   Apabila variabel-variabel Anda hanya diperlukan oleh sebuah method

(prosedur/fungsi), sebaiknya deklarasikan di level lokal. Teknik ini terkait

erat dengan performa aplikasi, di mana variabel lokal akan lebih cepat

dieksekusi dibanding variabel global.

        Konkatenasi dan Multiline

   Pada     saat   Anda       ingin   menghubungkan     string,   gunakan   operator

konkatenasi (&). Adapun jika konkatenasi melibatkan baris baru, sebaiknya

manfaatkan karakter garis bawah (underscore).
' Hello Indonesia adalah satu bagian
strData = "Hello " & _
"Indonesia"
' strA dan strB adalah dua bagian



Tip & Trik Visual Basic 6.0                                                        2
Dim strA As String, _
strB As String
      Definisi Tipe Data

   Anda     pasti   pernah    menemui   kode   program   Visual   Basic    yang

mendefinisikan suatu tipe data menggunakan akhiran karakter tertentu,

seperti $, %, dan sebagainya. Pendekatan yang juga disebut definisi tipe

data secara implisit ini umumnya dilakukan untuk mempercepat eksekusi

kode. Berikut ini simbol (karakter) yang dapat digunakan sebagai akhiran

nama variabel untuk merepresentasikan tipe data.



            Akhiran                     Tipe Data                     Contoh

               %                        Integer                     IntUsia%
               &                          Long                            Ing&
               !                         Single                           Sng!
               #                         Double                           Dbl#
               @                        Currency                          Cur@
               $                         String                           str$


   Perlu diperhatikan, bagian ini tidak bermaksud menyarankan Anda untuk

menggunakan pendekatan di atas, namun sekadar memperlihatkan bagaimana

implementasi definisi secara implisit. Bagaimanapun juga, pendekatan

seperti ini seringkali membingungkan, terutama bagi yang belum memahami

makna karakter terkait.

      Verifikasi Tipe Data

   Pada saat akan melakukan operasi terhadap suatu variabel, terkadang

kita ingin memeriksa tipe datanya terlebih dahulu. Untuk memudahkan

verifikasi ini, kita bisa memanfaatkan method-method yang tersedia.




Tip & Trik Visual Basic 6.0                                                      3
Method             Keterangan (Nilai Kembalian)

               IsArray()        True jika variabel adalah suatu
                                array

               IsDate()         True      jika         ekspresi   dapat
                                dikonversi ke format tanggal

               IsEmpty()        True      jika         variabel   belum
                                diinisialisasi

               IsError()        True     jika    ekspresi     merupakan
                                nilai error

               IsMissing()      True jika argumen opsional belum
                                dilewatkan

               IsNull()         True jika ekspresi null

               IsNumeric()      True      jika         ekspresi   dapat
                                dievaluasi sebagai bilangan

               IsObject()       True            jika         identifier
                                merepresentasikan
                                variabel objek


      Pernyataan Kondisional

   Dalam melakukan analisis dua kasus, Anda bisa meringkas penulisan kode

program dengan memanfaatkan method IIf.
Dim bStatus As Boolean
Dim intResult As Integer
' Pendekatan If (standar)
If bStatus Then
intResult = 1
Else
intResult = 0
End If




Tip & Trik Visual Basic 6.0                                               4
Print intResult
' Pendekatan IIf
intResult = IIf(bStatus, 1, 0)
Print intResult
Namun perlu diperhatikan, eksekusi method IIf cenderung lebih lambat

dibanding pernyataan kondisional If.

      Keyword Step

   Disamping menyederhanakan penulisan       kode   program   pengulangan,

keyword Step juga mampu mempercepat eksekusi kode. Sebagai contoh,

kedua program berikut akan menghasilkan keluaran sama.
Dim i As Integer
' Mencetak bilangan ganjil 1-10
For i = 0 To 9
i = i + 1
Print i
Next i
' Menggunakan pendekatan Step
For i = 1 To 10 Step 2
Print i
Next i
      Keyword Optional

   Apabila Anda ingin mendeklarasikan suatu argumen yang sifatnya opsional

(tidak wajib), gunakan keyword Optional.
' Deklarasi argumen lng sebagai opsi
Private Sub Test(str As String, _
Optional lng As Long = 1)
' ...
End Sub
Walaupun Anda diperkenankan untuk tidak menetapkan nilai default dari

suatu argumen opsional, namun sebaiknya Anda menetapkannya. Langkah ini




Tip & Trik Visual Basic 6.0                                             5
bertujuan untuk memudahkan penulisan tubuh method dan meningkatkan

kompatibilitas terhadap versi Visual Basic yang baru (VB.NET).

      Array Argumen

   Kasus lain yang mungkin ditemui saat mendeklarasikan method adalah

kemampuan untuk menerima sejumlah argumen. Kasus semacam ini bisa Anda

selesaikan dengan memanfaatkan keyword ParamArray.
Private Function Sum(ParamArray args() _
As Variant) As Double
Dim i As Integer
' array argumen adalah array berbasis 0
For i = 0 To UBound(args)
Sum = Sum + args(i)
Next i
End Function
' Ekspresi berikut valid semua
Debug.Print Sum(2, 3)
Debug.Print Sum(2, 3, 4, 5)
Perlu diingat, ParamArray harus dideklarasikan sebagai array Variant, tidak

boleh dengan tipe data lainnya. Selain itu, suatu method hanya boleh

memiliki sebuah array argumen, dan harus berada di bagian paling akhir.

Aturan terakhir, Anda tidak boleh meletakkan argumen opsional di depan

array argumen.



2. Operasi String
   Sudah bukan rahasia lagi, frekuensi penggunaan tipe data String sangat

tinggi sekali. Ini tentu tidak lepas dari sifat dasarnya yang ìsederhanaî dan

memiliki sejumlah operasi yang sangat bermanfaat. Oleh karena itu, tidak

ada salahnya jika kita mengenal operasi-operasi string lebih lanjut.




Tip & Trik Visual Basic 6.0                                                6
   Mencetak Spasi/Karakter

   Bagaimana mencetak 10 karakter kosong dengan cepat? Jika Anda sudah

mengenal method Space, tentu tidak akan kesulitan melakukannya.
' Mencetak 10 spasi antara a dan b
Print "a" & Space$(10) & "b"
Sebagai alternatif, Anda juga bisa memanfaatkan method String untuk

tujuan serupa. Selain itu, method ini lebih luas fungsionalitasnya.
' Mencetak 10 spasi antara a dan b
Print "a" & String$(10, " ") & "b"
' Sama, 32 adalah kode ASCII spasi
Print "a" & String$(10, 32) & "b"
' Mencetak karakter * sebanyak 10
Print String$(10, "*")
      Mencari Substring

   Mencari bagian-bagian string merupakan operasi sederhana yang

implementasinya terkadang tidak sesederhana bayangan kita. Berikut tip-tip

ringan untuk menemukan substring di suatu string.
strText = "abcdefg"
Print Left$(strText, 3) ' Output: abc
Print Right$(strText, 2) ' Output: fg
' Mengambil 4 karakter, dimulai dari karakter ke 3
Print Mid$(strText, 3, 4) ' Output: cdef
Anda juga bisa memanfaatkan method Mid untuk memodifikasi karakter di

dalam string.
' Replace strText mulai karakter ke 3
Mid$(strText, 3) = "123"
Print strText
' Output: ab123fg
      Pemformatan String

Pemformatan string seringkali diperlukan guna mendapatkan format nilai



Tip & Trik Visual Basic 6.0                                             7
yang sesuai. Bergantung pada kebutuhan, ada beberapa pendekatan yang

bisa kita lakukan.
Dim str As String
str = "nadin savitri"
' Format huruf besar dan kecil
Print UCase$(str)
Print LCase$(str)
' Konversi ke huruf semestinya
Print StrConv(str, vbProperCase)
' Output: Nadin Savitri
Selain mengatur format huruf, Anda juga bisa menetapkan format angka.
Dim sng As Single: sng = 2.246
' Pembulatan dan pemformatan
Print Format$(sng, "0.00") ' Output: 2,25
Print FormatNumber$(sng, 2) ' Output: 2,25
' Pembulatan dan Format currency
Print FormatCurrency$(sng, 2) ' Output: Rp2,25



3. Konversi
       Dalam pembuatan aplikasi perangkat lunak, seringkali kita perlu

melakukan konversi, baik itu konversi tipe data maupun konversi nilai. Untuk

beberapa tujuan, operasi ini dapat kita lakukan dengan mudah melalui

method-method built-in yang disediakan oleh class Conversion.

Tabel berikut ini memperlihatkan keyword dan method untuk konversi

berdasarkan kegunaannya.



        Aksi Konversi                     Keyword/Method

        Nilai ANSI ke string              Chr, ChrW

        String ke huruf kecil/besar       Format, LCase, UCase




Tip & Trik Visual Basic 6.0                                               8
Angka ke string                    Format, Str

        Satu tipe data ke tipe data lain   CBool, CByte, CDate, CDbl, CDec,

                                           CInt, CLng, CSng, CShort, CStr,

                                           CVar, Fix, Int, Hex, Oct

        Tipe Date ke tanggal, bulan, atau Day, Month, Year

        tahun

        Tipe Time ke jam, menit, atau Hour, Minute, Second

        detik

        String ke nilai ASCII              Asc, AscW

        String ke angka                    Val



Sebagai contoh, untuk mengkonversi nilai string ke angka, gunakan method

Val. Sebaliknya, manfaatkan method Str untuk mengembalikan representasi

string dari angka.
Print Val("12A") ' Output: 12
Print Str$("12") ' Output: 12
       Apabila Anda ingin mendapatkan nilai ANSI dari suatu kode karakter,

gunakan method Chr atau ChrW. Adapun jika ingin mendapatkan nilai ASCII,

manfaatkan method Asc atau AscW.
Print ChrW$(65) ' Output: A
Print AscW("A") ' Output: 65
Begitu pula halnya ketika Anda ingin mendapatkan nilai heksadesimal dari

tipe data desimal atau sebaliknya, gunakan method Hex dan Val.
' Konversi Hexadecimal ke Decimal
Me.txtDec.Text = Val("&H" & Me.txtHex.Text)
' Konversi Decimal ke Hexadecimal
Me.txtHex.Text = Hex$(Me.txtDec.Text)




Tip & Trik Visual Basic 6.0                                              9
4. Validasi String dan Angka
       Pada prinsipnya, string mampu menampung berbagai jenis karakter

sehingga fleksibel dalam penggunaannya. Namun dibalik itu, diperlukan

pekerjaan ekstra guna memperoleh data seperti yang diharapkan. Sebagai

contoh, bagaimana memastikan bahwa user hanya mengisi huruf, angka, atau

kombinasi keduanya? Sebagai tindakan lanjut, diperlukan langkah efektif,

yaitu validasi data. Dalam implementasinya, validasi data bisa kita lakukan

melalui berbagai pendekatan.

      Validasi Input Huruf

   Untuk memastikan bahwa string masukan yang diberikan oleh user sudah

valid, kita bisa memanfaatkan operator Like. Operator ini berfungsi

mengevaluasi string yang diberikan dan memeriksa apakah sama dengan pola

yang telah dispesifikasikan atau tidak.
Private Function IsHuruf(ByVal str As _
String) As Boolean
Dim strChar As String
Dim iLen As Integer, iCount As Integer
iLen = Len(str)
If iLen > 0 Then
' Loop sampai panjang string
For iCount = 1 To iLen
' Ambil karakter satu per satu
strChar = Mid$(str, iCount, 1)
' Jika tidak sesuai pola, berarti False
If Not strChar Like "[A-Za-z]" Then _
Exit Function
' Jika ingin menyertakan spasi,
' tambahkan di pola, misal [A-Z a-z]
Next iCount
IsHuruf = True



Tip & Trik Visual Basic 6.0                                             10
End If
End Function


       Validasi Input Angka

   Dalam kasus ini, sebenarnya Anda bisa memanfaatkan method built-in,

yaitu   IsNumeric.     Namun    perlu   diperhatikan,   IsNumeric   juga   akan

mengembalikan nilai true jika suatu ekspresi masih merepresentasikan

angka, misalnya -1, +1, atau 1.1.

   Apabila Anda hanya ingin menerima masukan angka (bilangan bulat),

IsNumeric tentu kurang tepat digunakan. Sebagai solusinya, Anda bisa

menggunakan pendekatan operator Like, seperti kasus sebelumnya. Adapun

pola untuk angka adalah [0-9], contohnya seperti berikut:
Private Function IsAngka(ByVal str As _
String) As Boolean
Dim strChar As String
Dim iLen As Integer, iCount As Integer
iLen = Len(str)
If iLen > 0 Then
For iCount = 1 To iLen
strChar = Mid$(str, iCount, 1)
If Not strChar Like "[0-9]" Then _
Exit Function
Next iCount
IsAngka = True
End If
End Function
       Kombinasi Huruf dan Angka

   Mengacu pada dua contoh validasi sebelumnya, tentu sangat mudah bagi

Anda untuk mendapatkan nilai berupa kombinasi huruf dan angka. Lebih

jelasnya, Anda tinggal menetapkan pola huruf dan angka, yaitu [0-9A-Za-z].



Tip & Trik Visual Basic 6.0                                                  11
5. Operasi Array
       Array merupakan tipe data agregat yang mampu menampung sejumlah

variabel. Karakteristiknya yang fleksibel sangat membantu kita dalam

mengelola koleksi item (elemen). Terkait hal ini, ada banyak operasi penting

yang lazimnya dilakukan terhadap koleksi item di dalam array.

      Split dan Join

   Disamping mengisi elemen array satu per satu (berbasis index), Anda

bisa memecah bagian-bagian string kemudian memasukkannya ke dalam

array. Untuk melakukan hal ini, manfaatkan fungsionalitas method Split.

Adapun sebaliknya, untuk menggabung elemen array gunakan method Join.
Dim str As String
str = "Satu Dua Tiga"
Dim strArr() As String
' Memisah string, assign ke array
strArr = Split(str)
' Gabung elemen array, delimeter = spasi
Print Join$(strArr, " ")
      Iterasi Elemen

   Iterasi merupakan salah satu operasi dasar yang sering dilakukan untuk

mendapatkan elemen-elemen array. Walaupun Anda dapat menggunakan

pendekatan For...Next, namun akan lebih praktis jika memanfaatkan

pernyataan For Each...Next.
Dim i As Integer
Dim intMax As Integer
' Mendapatkan index maksimum
intMax = UBound(strArr)
For i = 0 To intMax
Print strArr(i)



Tip & Trik Visual Basic 6.0                                              12
Next i
Dim vnt As Variant
For Each vnt In strArr
Print vnt
Next vnt
      Pencarian Elemen

   Pada saat Anda ingin mencari suatu elemen di dalam array, Anda bisa

menggunakan method Filter. Method ini sebenarnya berfungsi menyaring

elemen, namun juga sangat

memungkinkan untuk digunakan dalam mencari elemen.
Dim strRes() As String
' Penyaringan case-insensitive
strRes = Filter(strArr, "dua", True, _
vbTextCompare)
Dim vnt As Variant
' Ekstrak elemen yang sesuai penyaringan
For Each vnt In strRes
Print vnt
Next vnt



6. Date dan Time
       Operasi tanggal dan waktu tidak hanya sebatas mendapatkan tanggal

dan waktu saat ini (current date/time). Anda mungkin juga perlu melakukan

operasi-operasi lanjut, seperti mengembalikan tanggal/waktu, kalkulasi

tanggal/waktu, dan sebagainya. Untuk lebih jelasnya, berikut tip dalam

menyelesaikan operasi-operasi seputar tanggal dan waktu.

      Mendapatkan Tanggal dan Waktu

   Untuk mendapatkan informasi mengenai tanggal dan waktu saat ini,

lazimnya kita menggunakan method Now. Sebagai alternatif, Anda bisa




Tip & Trik Visual Basic 6.0                                           13
memanfaatkan properti Date dan Time untuk mendapatkan tanggal dan

waktu.
' Mendapatkan current date dan time
Print Now ' Tanggal dan waktu
Print Date ' Tanggal
Print Time ' Waktu
        Pembentukan dan Ekstraksi

   Apabila Anda tidak ingin mendapatkan tanggal yang lengkap dari

pendekatan sebelumnya, Anda bisa membentuk sendiri komponen-komponen

tanggal/waktu.
' Mendapatkan bagian (DateTime) tertentu
Print Day(Now) & "-" & Month(Now) & "-" & _
Year(Now)
Print Hour(Now) & ":" & Minute(Now)



Seperti halnya ketika membentuk komponen-komponen tanggal/waktu, ada

beberapa pendekatan untuk mengekstrak tanggal dan waktu.
' Mendapatkan bagian (DateTime) tertentu
Print Day(Now) & "-" & Month(Now) & "-" & _
Year(Now)
Print Hour(Now) & ":" & Minute(Now)


Print DatePart("d", Now) ' d= Day
Print DatePart("m", Now) ' m= Month
Print DatePart("yyyy", Now) ' yyyy= Year
        Kalkulasi Tanggal dan Waktu

   Bergantung pada kebutuhan Anda, ada beberapa pendekatan untuk

mengalkulasi tanggal dan waktu. Sebagai contoh, untuk menambah atau

mengurangi tanggal/waktu, gunakan method DateAdd.
' 3 hari kemudian dan yang lalu



Tip & Trik Visual Basic 6.0                                       14
Print DateAdd("d", 3, Now)
Print DateAdd("d", -3, Now)


' Untuk bulan=m, tahun=yyyy
' 3 jam kemudian
Print DateAdd("h", 3, Now)
' Untuk menit= n, detik= s
Jika Anda ingin mendapatkan informasi mengenai selisih tanggal/waktu,

gunakan method DateDiff.
' Jumlah hari sejak 20 September 2006
Print DateDiff("d", #9/20/2006#, Now)
      Pemformatan Tanggal dan Waktu

   Jika diperlukan, informasi tanggal/waktu yang telah Anda dapatkan bisa

diformat sesuai dengan kebutuhan. Hal ini diwujudkan dengan memanfaatkan

method Format. Print Format(Now, "dddd, dd mmm yyyy")
' Output: (misal) Sabtu, 29 September 2006
Print Format(Now, "hh:mm:ss")
' Output: 21:30:48



7. Timer dan Alternatifnya
       Banyak contoh kasus yang memerlukan keberadaan komponen Timer

untuk mendapatkan nilai interval waktu. Disamping mampu menghasilkan nilai

yang akurat, komponen ini juga mudah sekali digunakan. Sekadar contoh

sederhana, jika Anda ingin melakukan suatu operasi dalam rentang waktu

lima detik setelah kode program berjalan, tentu Timer menjadi pilihan guna

mewujudkannya. Contoh kode programnya seperti berikut:
Private intBatas As Integer
Private Sub Command1_Click()
' Misal batas waktu = 5 detik




Tip & Trik Visual Basic 6.0                                            15
intBatas = 5
' Interval = 1000 milidetik (1 detik)
Me.tmr.Interval = 1000
Me.tmr.Enabled = True
End Sub
Private Sub tmr_Timer()
' Decrement batas waktu
intBatas = intBatas - 1
If intBatas <= 0 Then
Me.tmr.Enabled = False
' Unload form
Unload Me
Else
' Menampilkan hitungan mundur
Me.Caption = "TimeOut: " & intBatas
End If
End Sub
       Sebagai alternatif, untuk tujuan yang sama, Anda bisa memanfaatkan

pendekatan method DateAdd dan pengulangan. Tekniknya, spesifikasikan

batas waktu, kemudian lakukan pengulangan hingga waktu saat ini (current

time) melewati batas waktu.
Private Sub Command2_Click()
intBatas = 5
Dim intTOut As Integer
Dim dtm As Date
dtm = DateAdd("s", intBatas, Now)
' Loop sampai batas terlewati
Do Until Now >= dtm
DoEvents
intTOut = Second(dtm) - Second(Now)
' Hitungan mundur
Me.Caption = "TimeOut: " & intTOut



Tip & Trik Visual Basic 6.0                                           16
Loop
' Unload form
Unload Me
End Sub
Alternatif lain yang bisa Anda gunakan adalah melalui pendekatan method

Timer. Method read-only ini akan mengembalikan nilai (detik) Single yang

telah lewat sejak waktu tengah malam.



8. Mengirim Keystroke
       Dalam beberapa kasus spesifik, Anda mungkin ingin mengirim

keystroke ke aplikasi. Sebagai contoh, secara otomatis memindahkan fokus

ke kontrol lain ketika batas pengisian TextBox sudah maksimal, mengubah

perilaku key, dan sebagainya.

       Untuk mendukung operasi-operasi di atas, manfaatkan method

SendKeys. Method ini berfungsi mengirim keystroke ke window yang saat

itu sedang mendapatkan fokus.
Private Sub Form_Load()
' Misal max panjang karakter =5
Me.txt1.MaxLength = 5
End Sub
Private Sub txt1_Change()
' Jika panjang karakter sudah terpenuhi
If Len(Me.txt1.Text) = Me.txt1.MaxLength Then
' Memindahkan fokus ke kontrol berikutnya
SendKeys ("{TAB}")
End If
End Sub
Kunci utama dalam pengiriman keystroke adalah argumen dari method

SendKeys, yakni kode key (tombol). Secara keseluruhan, kode key mengacu




Tip & Trik Visual Basic 6.0                                          17
pada label yang ada di keyboard, kecuali untuk key spesifik. Di mana kode

untuk key Shift adalah +, Ctrl adalah ^, dan Alt adalah %. Jadi, ketika

Anda ingin mengirim kombinasi key Alt+F4 (menutup window), gunakan key

ì%{F4}î.
' Mengaktifkan window notepad
' window sudah harus terbuka
Call AppActivate("Untitled - Notepad")
' Menutup window notepad
SendKeys ("%{F4}")



9. Argumen Command Line
       Jika Anda menghendaki, aplikasi Visual Basic yang Anda buat dapat

memiliki kemampuan untuk menerima argumen dari command line. Seperti

halnya program-program berbasis teks, Anda tinggal mendefinisikan

argumen di command line setelah nama file executable program. Kunci utama

aplikasi semacam ini adalah bagaimana mendapatkan informasi argumen, dan

ini kita lakukan dengan memanfaatkan method Command. Setelah argumen

berhasil didapatkan, Anda bisa menggunakannya untuk mengatur perilaku

aplikasi atau untuk keperluan lainnya.
Private Sub Form_Load()
Dim strCmd As String
' Mendapatkan argumen dari command line
strCmd = Command$()
If InStrB(strCmd, "-status MAX") > 0 Then
' Jika argumen didapatkan,
' Misalkan men-set status window
Me.WindowState = 2
Me.Caption = "Argumen: " & strCmd
Else




Tip & Trik Visual Basic 6.0                                           18
Me.WindowState = 0
End If
End Sub
Untuk menjalankan kode program di atas, misalkan nama file executable

adalah    Project1.exe,       buka   command   prompt   dan   berikan   perintah

Project1.exe ñstatus MAX.



10. Error Handling
       Bagaimana implementasi penanganan kesalahan? Dan bagaimana

mendapatkan informasi yang bermanfaat terkait dengan kesalahan yang

terjadi? Apabila Anda ingin mendapatkan informasi detail mengenai

kesalahan yang berhasil ditangkap, gunakan method Err.
Dim dblRes As Double


On Error GoTo ErrHandler
' Ini akan menimbulkan kesalahan
' sehingga perlu di-trap
dblRes = 10 / 0


' Jika error, ini tidak akan dieksekusi
MsgBox ("Hasil: " & dblRes)


' Jika sukses, keluar dari blok
Exit Sub


ErrHandler:
' Misalkan kode kesalahan diketahui
If (Err.Number = 11) Then
MsgBox ("Pembagian dengan nol" & vbCrLf & _
"Kode Kesalahan: " & Err.Number & vbCrLf & _
"Deskripsi: " & Err.Description & vbCrLf & _



Tip & Trik Visual Basic 6.0                                                  19
"Sumber: " & Err.Source)
Else
MsgBox ("Kode Kesalahan: " & Err.Number & _
"Deskripsi: " & Err.Description & vbCrLf & _
"Sumber: " & Err.Source)
End If
        Dalam menangani kesalahan, tentunya tidak semua bagian kode

program harus diberi pernyataan On Error. Artinya, ada saatnya kita bisa

memanfaatkan fungsionalitas method. Sebagai contoh sederhana, ketika

ingin   melakukan     verifikasi   terhadap   suatu   array,   akan   lebih   baik

menggunakan method IsArray dibanding mendefinisikan On Error sebelum

kode verifikasi.

Bagaimanapun juga, mekanisme penanganan kesalahan memerlukan tambahan

alokasi memori. Artinya, penggunaan pernyataan On Error berbanding lurus

terhadap waktu eksekusi. Dengan kata lain, semakin banyak blok On Error di

suatu kode program, maka juga akan semakin lambat eksekusinya.



11. API Win32
        Bagian ini secara khusus akan menguraikan tip mengenal Application

Programming Interface (API) Windows, khususnya di platform 32-bit

(Win32).    Ini    dimaksudkan     untuk   lebih   mendekatkan    Anda    dengan

fungsionalitas API Win32 dan juga terkait pembahasan-pembahasan

selanjutnya. Pada prinsipnya, API Win32 terdiri atas koleksi Dynamic- Link

Library (DLL) yang disebut DLL standar. Cara kerja DLL standar ini berbeda

dengan Componen Object Model (COM). Idealnya, saat mengeksekusi

method aplikasi berbasis COM, kita menggunakan COM untuk pemanggilan

prosedur yang tersedia. Di sisi lain, pada pendekatan DLL standar, kita

melakukan pemanggilan method secara langsung.



Tip & Trik Visual Basic 6.0                                                    20
   Kelebihan API Win32

   Sedikitnya ada dua kelebihan yang bisa didapatkan dari pendekatan API

Windows. Pertama, kita dapat memperluas fungsionalitas aplikasi, dan kedua

adalah meningkatkan performa aplikasi. Pada kenyataannya, DLL standar

mampu menghasilkan kode yang lebih cepat dan efisien.

      Fungsionalitas API Win32

   API Win32 mengekspos tiga DLL utama yang mencakup beberapa

fungsionalitas spesifik, yaitu User32, Kernel32, dan GDI32. DLL User32

(user32.dll) mengelola menu, kontrolkontrol, dan kotak dialog Windows.

Kernel32 (kernel32.dll) menangani tugas-tugas sistem operasi dan operasi

level rendah, seperti manajemen memori, file, proses, waktu, dan kontrol

Comm. Sementara itu, DLL terakhir (gdi32.dll), menangani pemrosesan

grafik/gambar.

      Mendeklarasikan DLL

   Ada dua tahap untuk mengimplementasikan DLL standar, yaitu deklarasi

dan pemanggilan method. Sintaks pernyataan deklarasi diperlihatkan seperti

berikut:
[Public|Private] Declare Function nama_fungsi _
Lib "nama_library" [Alias "nama_alias"] _
[(argumen)]
Apabila deklarasi dilakukan di level modul, gunakan access modifier Public,

sedangkan untuk level form, sebaiknya gunakan Private.

      Informasi dan Dokumentasi

   Walaupun API Win32 berpotensi besar untuk menghasilkan aplikasi yang

kompleks, namun dokumentasinya sangat minim. Di Visual Basic, Anda bisa

memanfaatkan tool API Text Viewer untuk melihat daftar method, tipe,

serta konstanta yang tersedia. Shortcut tool ini tersedia di submenu




Tip & Trik Visual Basic 6.0                                             21
Microsoft Visual Basic 6.0 Tools, atau bisa juga diakses dari Add-in

Manager.

   Apabila Anda sangat tertarik mendalami API Win32 dan kegunaannya,

Anda bisa mendapatkan dokumentasi API Win32 (Win32 Programmerís

Reference) alamat ftp.borland.com/pub/delphi/techpubs/delphi2/win32.zip.

Dokumentasi ini lebih detail karena menyertakan deskripsi serta beberapa

informasi tambahan.




                     Gambar 1.1 Menggunakan API Viewer



12. Menangguhkan Eksekusi
       Dalam kasus tertentu, kita perlu sekali untuk menangguhkan eksekusi

kode, misalnya ketika melakukan sinkronisasi. Sayangnya, method yang

memiliki fungsionalitas seperti ini tidak tersedia di Visual Basic. Pada




Tip & Trik Visual Basic 6.0                                            22
kenyataannya, Anda bisa memanfaatkan timer untuk menangguhkan eksekusi

dan melanjutkan kembali dalam interval waktu tertentu. Namun, jika Anda

menginginkan pendekatan yang lebih praktis, gunakan API Win32.
' Untuk menangguhkan eksekusi
Private Declare Sub Sleep Lib "kernel32" ( _
ByVal dwMilliseconds As Long)


Private Sub Pause(ByVal sngDetik As Single)
' Menangguhkan eksekusi dalam (waktu) detik
Call Sleep(Int(sngDetik * 1000#))
End Sub
       Sebenarnya Anda bisa langsung menggunakan method Sleep, tetapi

perlu diperhatikan, nilai argumennya adalah waktu dalam satuan milidetik.

Oleh karena itu, untuk lebih memudahkan penggunaan method Sleep, kita

membuat method Pause yang menerima argumen waktu dalam satuan detik.

Contoh penggunaan method Pause diperlihatkan sebagai berikut:
Dim i As Integer
For i = 1 To 200
Me.Caption = i
If i = 100 Then
' Tangguhkan eksekusi selama 5 detik
Me.Caption = "Berhenti 5 detik"
Pause (5)
End If
Next i



13. Mengatur Project Visual Basic
       Setiap kali kita membuat project, IDE akan menciptakan file .vbp

yang berisi informasi-informasi penting. Adapun jika diperlukan, Anda juga

bisa melakukan pengaturan spesifik terhadap project, terlepas dari



Tip & Trik Visual Basic 6.0                                            23
pengaturan default.

      Mengatur Versi Aplikasi

   Apabila Anda ingin mengubah ikon default yang ada di form, gunakan

properti Icon. Untuk menghasilkan tampilan yang proporsional, sebaiknya

ukuran ikon kurang lebih 14 x 14 pixel (picture element).

      Mengatur Versi Aplikasi

   Untuk menandai aplikasi, sebaiknya Anda memberikan versi yang berbeda

di setiap versi rilis. Adapun cara yang praktis adalah dengan memanfaatkan

fitur IDE. Terlebih dahulu buka kotak dialog Project Properties dari menu

Project. Setelah itu, aktifkan tab Make, kemudian beri tanda centang di

bagian Auto Increment.

      Informasi Versi

   Sebelum Anda mendistribusikan aplikasi, akan lebih baik jika Anda

memberikan informasi detail mengenai aplikasi. Langkah ini bisa Anda

lakukan dari tab Make di kotak dialog Project Properties. Pada bagian

Version Information, pilih Type informasi, kemudian isikan informasinya di

bagian Value.




                         Gambar 1.2 Informasi aplikasi



Tip & Trik Visual Basic 6.0                                            24

Más contenido relacionado

La actualidad más candente

Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 
Pemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operatorPemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operatorDeka M Wildan
 
3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net 3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net Aris Saputro
 
Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2Mulyana Yana
 
Algoritma - tipe data
Algoritma - tipe dataAlgoritma - tipe data
Algoritma - tipe dataZombie Black
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooindahshafira
 
Tipe data pada java
Tipe data pada javaTipe data pada java
Tipe data pada javarahmat s
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemogramanPANJI_ADITYAN
 
Dasar-dasar c++
Dasar-dasar c++Dasar-dasar c++
Dasar-dasar c++aks247
 
pbo 2 ervan
pbo 2 ervanpbo 2 ervan
pbo 2 ervanaris
 
Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...
Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...
Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...Rizka Putri Silvyaningrum
 
Pascal tutorialtpascal701
Pascal tutorialtpascal701Pascal tutorialtpascal701
Pascal tutorialtpascal701Alvin Setiawan
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operatorppt Tipe data,variabel, operator
ppt Tipe data,variabel, operatorIwank Odarlean
 

La actualidad más candente (16)

Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
Pemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operatorPemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operator
 
3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net 3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net
 
Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2
 
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe DataAlgoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
 
Chendra (pemrograman)
Chendra (pemrograman)Chendra (pemrograman)
Chendra (pemrograman)
 
Algoritma - tipe data
Algoritma - tipe dataAlgoritma - tipe data
Algoritma - tipe data
 
Modul pd
Modul pdModul pd
Modul pd
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasoo
 
Tipe data pada java
Tipe data pada javaTipe data pada java
Tipe data pada java
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Dasar-dasar c++
Dasar-dasar c++Dasar-dasar c++
Dasar-dasar c++
 
pbo 2 ervan
pbo 2 ervanpbo 2 ervan
pbo 2 ervan
 
Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...
Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...
Pendahuluan, pembahasan, penutup dan daftar pustaka Makalah Algoritma dan Pem...
 
Pascal tutorialtpascal701
Pascal tutorialtpascal701Pascal tutorialtpascal701
Pascal tutorialtpascal701
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operatorppt Tipe data,variabel, operator
ppt Tipe data,variabel, operator
 

Similar a VB Dasar

Visual 1 1&2.pptx
Visual 1 1&2.pptxVisual 1 1&2.pptx
Visual 1 1&2.pptxArdiWilis1
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Mengimplementasikan Pemrograman Terstruktur.pdf
Mengimplementasikan Pemrograman Terstruktur.pdfMengimplementasikan Pemrograman Terstruktur.pdf
Mengimplementasikan Pemrograman Terstruktur.pdfraia22
 
Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascalDuriani
 
analisis data tikus percobaan materi informatika kelas X.pptx
analisis data tikus percobaan materi informatika kelas X.pptxanalisis data tikus percobaan materi informatika kelas X.pptx
analisis data tikus percobaan materi informatika kelas X.pptxrulimustiyawan37
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1Budi Yono
 
Tipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaTipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaAs Faizin
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataFakhrian Fadlia Adiwijaya
 
PRESENTASI DATA ANALYS.pptx
PRESENTASI DATA ANALYS.pptxPRESENTASI DATA ANALYS.pptx
PRESENTASI DATA ANALYS.pptxEdiSum1
 
Pemrograman android-dasar-02-tipe-data
Pemrograman android-dasar-02-tipe-dataPemrograman android-dasar-02-tipe-data
Pemrograman android-dasar-02-tipe-dataMIqbalNasution
 
Ringkasan materi teori algoritma
Ringkasan materi teori algoritmaRingkasan materi teori algoritma
Ringkasan materi teori algoritmaAkhmad Asari
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxssuser2693661
 
Penulisanalgoritma
PenulisanalgoritmaPenulisanalgoritma
Penulisanalgoritmacasnadi
 

Similar a VB Dasar (20)

Visual 1 1&2.pptx
Visual 1 1&2.pptxVisual 1 1&2.pptx
Visual 1 1&2.pptx
 
Laporan tugas struktur data
Laporan tugas struktur dataLaporan tugas struktur data
Laporan tugas struktur data
 
Semester genap
Semester genapSemester genap
Semester genap
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Mengimplementasikan Pemrograman Terstruktur.pdf
Mengimplementasikan Pemrograman Terstruktur.pdfMengimplementasikan Pemrograman Terstruktur.pdf
Mengimplementasikan Pemrograman Terstruktur.pdf
 
Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascal
 
analisis data tikus percobaan materi informatika kelas X.pptx
analisis data tikus percobaan materi informatika kelas X.pptxanalisis data tikus percobaan materi informatika kelas X.pptx
analisis data tikus percobaan materi informatika kelas X.pptx
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1
 
3.algoritma dasar
3.algoritma dasar3.algoritma dasar
3.algoritma dasar
 
Tipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaTipe Data pada Bahasa Java
Tipe Data pada Bahasa Java
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 
bab3_alpro1.pptx
bab3_alpro1.pptxbab3_alpro1.pptx
bab3_alpro1.pptx
 
PRESENTASI DATA ANALYS.pptx
PRESENTASI DATA ANALYS.pptxPRESENTASI DATA ANALYS.pptx
PRESENTASI DATA ANALYS.pptx
 
Pemrograman android-dasar-02-tipe-data
Pemrograman android-dasar-02-tipe-dataPemrograman android-dasar-02-tipe-data
Pemrograman android-dasar-02-tipe-data
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Modul 2 pbo
Modul 2 pboModul 2 pbo
Modul 2 pbo
 
Modul algoritma dan pemograman
Modul algoritma dan pemogramanModul algoritma dan pemograman
Modul algoritma dan pemograman
 
Ringkasan materi teori algoritma
Ringkasan materi teori algoritmaRingkasan materi teori algoritma
Ringkasan materi teori algoritma
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptx
 
Penulisanalgoritma
PenulisanalgoritmaPenulisanalgoritma
Penulisanalgoritma
 

Último

MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfNurulHikmah50658
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...MetalinaSimanjuntak1
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMIGustiBagusGending
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajarHafidRanggasi
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiaNILAMSARI269850
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxSlasiWidasmara1
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxssuser50800a
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptxSirlyPutri1
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)PUNGKYBUDIPANGESTU1
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaafarmasipejatentimur
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 

Último (20)

MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesia
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 
(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
POWER POINT MODUL 1 PEBI4223 (PENDIDIKAN LINGKUNGAN HIDUP)
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 

VB Dasar

  • 1. Visual Basic Dasar By ; Gapra. Email ga_pra_27@yahoo.c0.id Bagian pertama ini akan menguraikan hal-hal yang sifatnya esensial dalam pemrograman Visual Basic. Meskipun dikatakan esensial, namun kita tidak boleh menyepelekan begitu saja. Pada kenyataannya, teknik-teknik dasar yang mungkin dianggap sepele seringkali mampu menyelesaikan berbagai persoalan pelik. Oleh karena itu, untuk memudahkan pembuatan program tingkat lanjut, akan lebih baik jika kita sudah memiliki bekal dasar. 1. Teknik Dasar Visual Basic Jika kita membahas teknik dasar Visual Basic, sebenarnya tidak cukup hanya dengan satu bab, apalagi satu subbab. Namun, di sini akan dibatasi agar uraiannya tidak terlalu umum ataupun khusus. Artinya, bagian ini mencoba menguraikan hal-hal ringan yang dianggap penting dan sering diperlukan.  Awalan Penamaan Variabel Konsistensi sering dikaitkan dengan penulisan kode program yang standar. Ini tentu cukup beralasan karena penulisan kode yang konsisten menjadikan kode program lebih mudah dibaca dan dipahami. Sebagai contoh, dalam penamaan variabel, sangat dianjurkan agar Anda mengacu pada standar yang telah ditetapkan. Contohnya seperti berikut: ' Jika hanya ada satu variabel String di satu ' ruang lingkup Dim str As String Tip & Trik Visual Basic 6.0 1
  • 2. ' Jika terdapat lebih dari satu Dim strNama As String Dim strAlamat As String Daftar standar penamaan selengkapnya untuk variabel yang merepresentasikan suatu tipe data, kontrol-kontrol built-in dan ActiveX, serta objek-objek ADO bisa Anda lihat di lampiran.  Hindari Tipe Variant Tipe data Variant secara otomatis akan ditetapkan pada suatu variabel manakala Anda tidak menetapkan tipe datanya secara eksplisit. ' Variabel intX bertipe Variant Dim intX, intY As Integer ' intA dan intB bertipe Integer Dim intA As Integer, intB As Integer Alasan utama untuk menghindari tipe data Variant adalah karena eksekusinya yang cenderung lebih lambat dan mengonsumsi memori lebih besar.  Ruang Lingkup Variabel Apabila variabel-variabel Anda hanya diperlukan oleh sebuah method (prosedur/fungsi), sebaiknya deklarasikan di level lokal. Teknik ini terkait erat dengan performa aplikasi, di mana variabel lokal akan lebih cepat dieksekusi dibanding variabel global.  Konkatenasi dan Multiline Pada saat Anda ingin menghubungkan string, gunakan operator konkatenasi (&). Adapun jika konkatenasi melibatkan baris baru, sebaiknya manfaatkan karakter garis bawah (underscore). ' Hello Indonesia adalah satu bagian strData = "Hello " & _ "Indonesia" ' strA dan strB adalah dua bagian Tip & Trik Visual Basic 6.0 2
  • 3. Dim strA As String, _ strB As String  Definisi Tipe Data Anda pasti pernah menemui kode program Visual Basic yang mendefinisikan suatu tipe data menggunakan akhiran karakter tertentu, seperti $, %, dan sebagainya. Pendekatan yang juga disebut definisi tipe data secara implisit ini umumnya dilakukan untuk mempercepat eksekusi kode. Berikut ini simbol (karakter) yang dapat digunakan sebagai akhiran nama variabel untuk merepresentasikan tipe data. Akhiran Tipe Data Contoh % Integer IntUsia% & Long Ing& ! Single Sng! # Double Dbl# @ Currency Cur@ $ String str$ Perlu diperhatikan, bagian ini tidak bermaksud menyarankan Anda untuk menggunakan pendekatan di atas, namun sekadar memperlihatkan bagaimana implementasi definisi secara implisit. Bagaimanapun juga, pendekatan seperti ini seringkali membingungkan, terutama bagi yang belum memahami makna karakter terkait.  Verifikasi Tipe Data Pada saat akan melakukan operasi terhadap suatu variabel, terkadang kita ingin memeriksa tipe datanya terlebih dahulu. Untuk memudahkan verifikasi ini, kita bisa memanfaatkan method-method yang tersedia. Tip & Trik Visual Basic 6.0 3
  • 4. Method Keterangan (Nilai Kembalian) IsArray() True jika variabel adalah suatu array IsDate() True jika ekspresi dapat dikonversi ke format tanggal IsEmpty() True jika variabel belum diinisialisasi IsError() True jika ekspresi merupakan nilai error IsMissing() True jika argumen opsional belum dilewatkan IsNull() True jika ekspresi null IsNumeric() True jika ekspresi dapat dievaluasi sebagai bilangan IsObject() True jika identifier merepresentasikan variabel objek  Pernyataan Kondisional Dalam melakukan analisis dua kasus, Anda bisa meringkas penulisan kode program dengan memanfaatkan method IIf. Dim bStatus As Boolean Dim intResult As Integer ' Pendekatan If (standar) If bStatus Then intResult = 1 Else intResult = 0 End If Tip & Trik Visual Basic 6.0 4
  • 5. Print intResult ' Pendekatan IIf intResult = IIf(bStatus, 1, 0) Print intResult Namun perlu diperhatikan, eksekusi method IIf cenderung lebih lambat dibanding pernyataan kondisional If.  Keyword Step Disamping menyederhanakan penulisan kode program pengulangan, keyword Step juga mampu mempercepat eksekusi kode. Sebagai contoh, kedua program berikut akan menghasilkan keluaran sama. Dim i As Integer ' Mencetak bilangan ganjil 1-10 For i = 0 To 9 i = i + 1 Print i Next i ' Menggunakan pendekatan Step For i = 1 To 10 Step 2 Print i Next i  Keyword Optional Apabila Anda ingin mendeklarasikan suatu argumen yang sifatnya opsional (tidak wajib), gunakan keyword Optional. ' Deklarasi argumen lng sebagai opsi Private Sub Test(str As String, _ Optional lng As Long = 1) ' ... End Sub Walaupun Anda diperkenankan untuk tidak menetapkan nilai default dari suatu argumen opsional, namun sebaiknya Anda menetapkannya. Langkah ini Tip & Trik Visual Basic 6.0 5
  • 6. bertujuan untuk memudahkan penulisan tubuh method dan meningkatkan kompatibilitas terhadap versi Visual Basic yang baru (VB.NET).  Array Argumen Kasus lain yang mungkin ditemui saat mendeklarasikan method adalah kemampuan untuk menerima sejumlah argumen. Kasus semacam ini bisa Anda selesaikan dengan memanfaatkan keyword ParamArray. Private Function Sum(ParamArray args() _ As Variant) As Double Dim i As Integer ' array argumen adalah array berbasis 0 For i = 0 To UBound(args) Sum = Sum + args(i) Next i End Function ' Ekspresi berikut valid semua Debug.Print Sum(2, 3) Debug.Print Sum(2, 3, 4, 5) Perlu diingat, ParamArray harus dideklarasikan sebagai array Variant, tidak boleh dengan tipe data lainnya. Selain itu, suatu method hanya boleh memiliki sebuah array argumen, dan harus berada di bagian paling akhir. Aturan terakhir, Anda tidak boleh meletakkan argumen opsional di depan array argumen. 2. Operasi String Sudah bukan rahasia lagi, frekuensi penggunaan tipe data String sangat tinggi sekali. Ini tentu tidak lepas dari sifat dasarnya yang ìsederhanaî dan memiliki sejumlah operasi yang sangat bermanfaat. Oleh karena itu, tidak ada salahnya jika kita mengenal operasi-operasi string lebih lanjut. Tip & Trik Visual Basic 6.0 6
  • 7. Mencetak Spasi/Karakter Bagaimana mencetak 10 karakter kosong dengan cepat? Jika Anda sudah mengenal method Space, tentu tidak akan kesulitan melakukannya. ' Mencetak 10 spasi antara a dan b Print "a" & Space$(10) & "b" Sebagai alternatif, Anda juga bisa memanfaatkan method String untuk tujuan serupa. Selain itu, method ini lebih luas fungsionalitasnya. ' Mencetak 10 spasi antara a dan b Print "a" & String$(10, " ") & "b" ' Sama, 32 adalah kode ASCII spasi Print "a" & String$(10, 32) & "b" ' Mencetak karakter * sebanyak 10 Print String$(10, "*")  Mencari Substring Mencari bagian-bagian string merupakan operasi sederhana yang implementasinya terkadang tidak sesederhana bayangan kita. Berikut tip-tip ringan untuk menemukan substring di suatu string. strText = "abcdefg" Print Left$(strText, 3) ' Output: abc Print Right$(strText, 2) ' Output: fg ' Mengambil 4 karakter, dimulai dari karakter ke 3 Print Mid$(strText, 3, 4) ' Output: cdef Anda juga bisa memanfaatkan method Mid untuk memodifikasi karakter di dalam string. ' Replace strText mulai karakter ke 3 Mid$(strText, 3) = "123" Print strText ' Output: ab123fg  Pemformatan String Pemformatan string seringkali diperlukan guna mendapatkan format nilai Tip & Trik Visual Basic 6.0 7
  • 8. yang sesuai. Bergantung pada kebutuhan, ada beberapa pendekatan yang bisa kita lakukan. Dim str As String str = "nadin savitri" ' Format huruf besar dan kecil Print UCase$(str) Print LCase$(str) ' Konversi ke huruf semestinya Print StrConv(str, vbProperCase) ' Output: Nadin Savitri Selain mengatur format huruf, Anda juga bisa menetapkan format angka. Dim sng As Single: sng = 2.246 ' Pembulatan dan pemformatan Print Format$(sng, "0.00") ' Output: 2,25 Print FormatNumber$(sng, 2) ' Output: 2,25 ' Pembulatan dan Format currency Print FormatCurrency$(sng, 2) ' Output: Rp2,25 3. Konversi Dalam pembuatan aplikasi perangkat lunak, seringkali kita perlu melakukan konversi, baik itu konversi tipe data maupun konversi nilai. Untuk beberapa tujuan, operasi ini dapat kita lakukan dengan mudah melalui method-method built-in yang disediakan oleh class Conversion. Tabel berikut ini memperlihatkan keyword dan method untuk konversi berdasarkan kegunaannya. Aksi Konversi Keyword/Method Nilai ANSI ke string Chr, ChrW String ke huruf kecil/besar Format, LCase, UCase Tip & Trik Visual Basic 6.0 8
  • 9. Angka ke string Format, Str Satu tipe data ke tipe data lain CBool, CByte, CDate, CDbl, CDec, CInt, CLng, CSng, CShort, CStr, CVar, Fix, Int, Hex, Oct Tipe Date ke tanggal, bulan, atau Day, Month, Year tahun Tipe Time ke jam, menit, atau Hour, Minute, Second detik String ke nilai ASCII Asc, AscW String ke angka Val Sebagai contoh, untuk mengkonversi nilai string ke angka, gunakan method Val. Sebaliknya, manfaatkan method Str untuk mengembalikan representasi string dari angka. Print Val("12A") ' Output: 12 Print Str$("12") ' Output: 12 Apabila Anda ingin mendapatkan nilai ANSI dari suatu kode karakter, gunakan method Chr atau ChrW. Adapun jika ingin mendapatkan nilai ASCII, manfaatkan method Asc atau AscW. Print ChrW$(65) ' Output: A Print AscW("A") ' Output: 65 Begitu pula halnya ketika Anda ingin mendapatkan nilai heksadesimal dari tipe data desimal atau sebaliknya, gunakan method Hex dan Val. ' Konversi Hexadecimal ke Decimal Me.txtDec.Text = Val("&H" & Me.txtHex.Text) ' Konversi Decimal ke Hexadecimal Me.txtHex.Text = Hex$(Me.txtDec.Text) Tip & Trik Visual Basic 6.0 9
  • 10. 4. Validasi String dan Angka Pada prinsipnya, string mampu menampung berbagai jenis karakter sehingga fleksibel dalam penggunaannya. Namun dibalik itu, diperlukan pekerjaan ekstra guna memperoleh data seperti yang diharapkan. Sebagai contoh, bagaimana memastikan bahwa user hanya mengisi huruf, angka, atau kombinasi keduanya? Sebagai tindakan lanjut, diperlukan langkah efektif, yaitu validasi data. Dalam implementasinya, validasi data bisa kita lakukan melalui berbagai pendekatan.  Validasi Input Huruf Untuk memastikan bahwa string masukan yang diberikan oleh user sudah valid, kita bisa memanfaatkan operator Like. Operator ini berfungsi mengevaluasi string yang diberikan dan memeriksa apakah sama dengan pola yang telah dispesifikasikan atau tidak. Private Function IsHuruf(ByVal str As _ String) As Boolean Dim strChar As String Dim iLen As Integer, iCount As Integer iLen = Len(str) If iLen > 0 Then ' Loop sampai panjang string For iCount = 1 To iLen ' Ambil karakter satu per satu strChar = Mid$(str, iCount, 1) ' Jika tidak sesuai pola, berarti False If Not strChar Like "[A-Za-z]" Then _ Exit Function ' Jika ingin menyertakan spasi, ' tambahkan di pola, misal [A-Z a-z] Next iCount IsHuruf = True Tip & Trik Visual Basic 6.0 10
  • 11. End If End Function  Validasi Input Angka Dalam kasus ini, sebenarnya Anda bisa memanfaatkan method built-in, yaitu IsNumeric. Namun perlu diperhatikan, IsNumeric juga akan mengembalikan nilai true jika suatu ekspresi masih merepresentasikan angka, misalnya -1, +1, atau 1.1. Apabila Anda hanya ingin menerima masukan angka (bilangan bulat), IsNumeric tentu kurang tepat digunakan. Sebagai solusinya, Anda bisa menggunakan pendekatan operator Like, seperti kasus sebelumnya. Adapun pola untuk angka adalah [0-9], contohnya seperti berikut: Private Function IsAngka(ByVal str As _ String) As Boolean Dim strChar As String Dim iLen As Integer, iCount As Integer iLen = Len(str) If iLen > 0 Then For iCount = 1 To iLen strChar = Mid$(str, iCount, 1) If Not strChar Like "[0-9]" Then _ Exit Function Next iCount IsAngka = True End If End Function  Kombinasi Huruf dan Angka Mengacu pada dua contoh validasi sebelumnya, tentu sangat mudah bagi Anda untuk mendapatkan nilai berupa kombinasi huruf dan angka. Lebih jelasnya, Anda tinggal menetapkan pola huruf dan angka, yaitu [0-9A-Za-z]. Tip & Trik Visual Basic 6.0 11
  • 12. 5. Operasi Array Array merupakan tipe data agregat yang mampu menampung sejumlah variabel. Karakteristiknya yang fleksibel sangat membantu kita dalam mengelola koleksi item (elemen). Terkait hal ini, ada banyak operasi penting yang lazimnya dilakukan terhadap koleksi item di dalam array.  Split dan Join Disamping mengisi elemen array satu per satu (berbasis index), Anda bisa memecah bagian-bagian string kemudian memasukkannya ke dalam array. Untuk melakukan hal ini, manfaatkan fungsionalitas method Split. Adapun sebaliknya, untuk menggabung elemen array gunakan method Join. Dim str As String str = "Satu Dua Tiga" Dim strArr() As String ' Memisah string, assign ke array strArr = Split(str) ' Gabung elemen array, delimeter = spasi Print Join$(strArr, " ")  Iterasi Elemen Iterasi merupakan salah satu operasi dasar yang sering dilakukan untuk mendapatkan elemen-elemen array. Walaupun Anda dapat menggunakan pendekatan For...Next, namun akan lebih praktis jika memanfaatkan pernyataan For Each...Next. Dim i As Integer Dim intMax As Integer ' Mendapatkan index maksimum intMax = UBound(strArr) For i = 0 To intMax Print strArr(i) Tip & Trik Visual Basic 6.0 12
  • 13. Next i Dim vnt As Variant For Each vnt In strArr Print vnt Next vnt  Pencarian Elemen Pada saat Anda ingin mencari suatu elemen di dalam array, Anda bisa menggunakan method Filter. Method ini sebenarnya berfungsi menyaring elemen, namun juga sangat memungkinkan untuk digunakan dalam mencari elemen. Dim strRes() As String ' Penyaringan case-insensitive strRes = Filter(strArr, "dua", True, _ vbTextCompare) Dim vnt As Variant ' Ekstrak elemen yang sesuai penyaringan For Each vnt In strRes Print vnt Next vnt 6. Date dan Time Operasi tanggal dan waktu tidak hanya sebatas mendapatkan tanggal dan waktu saat ini (current date/time). Anda mungkin juga perlu melakukan operasi-operasi lanjut, seperti mengembalikan tanggal/waktu, kalkulasi tanggal/waktu, dan sebagainya. Untuk lebih jelasnya, berikut tip dalam menyelesaikan operasi-operasi seputar tanggal dan waktu.  Mendapatkan Tanggal dan Waktu Untuk mendapatkan informasi mengenai tanggal dan waktu saat ini, lazimnya kita menggunakan method Now. Sebagai alternatif, Anda bisa Tip & Trik Visual Basic 6.0 13
  • 14. memanfaatkan properti Date dan Time untuk mendapatkan tanggal dan waktu. ' Mendapatkan current date dan time Print Now ' Tanggal dan waktu Print Date ' Tanggal Print Time ' Waktu  Pembentukan dan Ekstraksi Apabila Anda tidak ingin mendapatkan tanggal yang lengkap dari pendekatan sebelumnya, Anda bisa membentuk sendiri komponen-komponen tanggal/waktu. ' Mendapatkan bagian (DateTime) tertentu Print Day(Now) & "-" & Month(Now) & "-" & _ Year(Now) Print Hour(Now) & ":" & Minute(Now) Seperti halnya ketika membentuk komponen-komponen tanggal/waktu, ada beberapa pendekatan untuk mengekstrak tanggal dan waktu. ' Mendapatkan bagian (DateTime) tertentu Print Day(Now) & "-" & Month(Now) & "-" & _ Year(Now) Print Hour(Now) & ":" & Minute(Now) Print DatePart("d", Now) ' d= Day Print DatePart("m", Now) ' m= Month Print DatePart("yyyy", Now) ' yyyy= Year  Kalkulasi Tanggal dan Waktu Bergantung pada kebutuhan Anda, ada beberapa pendekatan untuk mengalkulasi tanggal dan waktu. Sebagai contoh, untuk menambah atau mengurangi tanggal/waktu, gunakan method DateAdd. ' 3 hari kemudian dan yang lalu Tip & Trik Visual Basic 6.0 14
  • 15. Print DateAdd("d", 3, Now) Print DateAdd("d", -3, Now) ' Untuk bulan=m, tahun=yyyy ' 3 jam kemudian Print DateAdd("h", 3, Now) ' Untuk menit= n, detik= s Jika Anda ingin mendapatkan informasi mengenai selisih tanggal/waktu, gunakan method DateDiff. ' Jumlah hari sejak 20 September 2006 Print DateDiff("d", #9/20/2006#, Now)  Pemformatan Tanggal dan Waktu Jika diperlukan, informasi tanggal/waktu yang telah Anda dapatkan bisa diformat sesuai dengan kebutuhan. Hal ini diwujudkan dengan memanfaatkan method Format. Print Format(Now, "dddd, dd mmm yyyy") ' Output: (misal) Sabtu, 29 September 2006 Print Format(Now, "hh:mm:ss") ' Output: 21:30:48 7. Timer dan Alternatifnya Banyak contoh kasus yang memerlukan keberadaan komponen Timer untuk mendapatkan nilai interval waktu. Disamping mampu menghasilkan nilai yang akurat, komponen ini juga mudah sekali digunakan. Sekadar contoh sederhana, jika Anda ingin melakukan suatu operasi dalam rentang waktu lima detik setelah kode program berjalan, tentu Timer menjadi pilihan guna mewujudkannya. Contoh kode programnya seperti berikut: Private intBatas As Integer Private Sub Command1_Click() ' Misal batas waktu = 5 detik Tip & Trik Visual Basic 6.0 15
  • 16. intBatas = 5 ' Interval = 1000 milidetik (1 detik) Me.tmr.Interval = 1000 Me.tmr.Enabled = True End Sub Private Sub tmr_Timer() ' Decrement batas waktu intBatas = intBatas - 1 If intBatas <= 0 Then Me.tmr.Enabled = False ' Unload form Unload Me Else ' Menampilkan hitungan mundur Me.Caption = "TimeOut: " & intBatas End If End Sub Sebagai alternatif, untuk tujuan yang sama, Anda bisa memanfaatkan pendekatan method DateAdd dan pengulangan. Tekniknya, spesifikasikan batas waktu, kemudian lakukan pengulangan hingga waktu saat ini (current time) melewati batas waktu. Private Sub Command2_Click() intBatas = 5 Dim intTOut As Integer Dim dtm As Date dtm = DateAdd("s", intBatas, Now) ' Loop sampai batas terlewati Do Until Now >= dtm DoEvents intTOut = Second(dtm) - Second(Now) ' Hitungan mundur Me.Caption = "TimeOut: " & intTOut Tip & Trik Visual Basic 6.0 16
  • 17. Loop ' Unload form Unload Me End Sub Alternatif lain yang bisa Anda gunakan adalah melalui pendekatan method Timer. Method read-only ini akan mengembalikan nilai (detik) Single yang telah lewat sejak waktu tengah malam. 8. Mengirim Keystroke Dalam beberapa kasus spesifik, Anda mungkin ingin mengirim keystroke ke aplikasi. Sebagai contoh, secara otomatis memindahkan fokus ke kontrol lain ketika batas pengisian TextBox sudah maksimal, mengubah perilaku key, dan sebagainya. Untuk mendukung operasi-operasi di atas, manfaatkan method SendKeys. Method ini berfungsi mengirim keystroke ke window yang saat itu sedang mendapatkan fokus. Private Sub Form_Load() ' Misal max panjang karakter =5 Me.txt1.MaxLength = 5 End Sub Private Sub txt1_Change() ' Jika panjang karakter sudah terpenuhi If Len(Me.txt1.Text) = Me.txt1.MaxLength Then ' Memindahkan fokus ke kontrol berikutnya SendKeys ("{TAB}") End If End Sub Kunci utama dalam pengiriman keystroke adalah argumen dari method SendKeys, yakni kode key (tombol). Secara keseluruhan, kode key mengacu Tip & Trik Visual Basic 6.0 17
  • 18. pada label yang ada di keyboard, kecuali untuk key spesifik. Di mana kode untuk key Shift adalah +, Ctrl adalah ^, dan Alt adalah %. Jadi, ketika Anda ingin mengirim kombinasi key Alt+F4 (menutup window), gunakan key ì%{F4}î. ' Mengaktifkan window notepad ' window sudah harus terbuka Call AppActivate("Untitled - Notepad") ' Menutup window notepad SendKeys ("%{F4}") 9. Argumen Command Line Jika Anda menghendaki, aplikasi Visual Basic yang Anda buat dapat memiliki kemampuan untuk menerima argumen dari command line. Seperti halnya program-program berbasis teks, Anda tinggal mendefinisikan argumen di command line setelah nama file executable program. Kunci utama aplikasi semacam ini adalah bagaimana mendapatkan informasi argumen, dan ini kita lakukan dengan memanfaatkan method Command. Setelah argumen berhasil didapatkan, Anda bisa menggunakannya untuk mengatur perilaku aplikasi atau untuk keperluan lainnya. Private Sub Form_Load() Dim strCmd As String ' Mendapatkan argumen dari command line strCmd = Command$() If InStrB(strCmd, "-status MAX") > 0 Then ' Jika argumen didapatkan, ' Misalkan men-set status window Me.WindowState = 2 Me.Caption = "Argumen: " & strCmd Else Tip & Trik Visual Basic 6.0 18
  • 19. Me.WindowState = 0 End If End Sub Untuk menjalankan kode program di atas, misalkan nama file executable adalah Project1.exe, buka command prompt dan berikan perintah Project1.exe ñstatus MAX. 10. Error Handling Bagaimana implementasi penanganan kesalahan? Dan bagaimana mendapatkan informasi yang bermanfaat terkait dengan kesalahan yang terjadi? Apabila Anda ingin mendapatkan informasi detail mengenai kesalahan yang berhasil ditangkap, gunakan method Err. Dim dblRes As Double On Error GoTo ErrHandler ' Ini akan menimbulkan kesalahan ' sehingga perlu di-trap dblRes = 10 / 0 ' Jika error, ini tidak akan dieksekusi MsgBox ("Hasil: " & dblRes) ' Jika sukses, keluar dari blok Exit Sub ErrHandler: ' Misalkan kode kesalahan diketahui If (Err.Number = 11) Then MsgBox ("Pembagian dengan nol" & vbCrLf & _ "Kode Kesalahan: " & Err.Number & vbCrLf & _ "Deskripsi: " & Err.Description & vbCrLf & _ Tip & Trik Visual Basic 6.0 19
  • 20. "Sumber: " & Err.Source) Else MsgBox ("Kode Kesalahan: " & Err.Number & _ "Deskripsi: " & Err.Description & vbCrLf & _ "Sumber: " & Err.Source) End If Dalam menangani kesalahan, tentunya tidak semua bagian kode program harus diberi pernyataan On Error. Artinya, ada saatnya kita bisa memanfaatkan fungsionalitas method. Sebagai contoh sederhana, ketika ingin melakukan verifikasi terhadap suatu array, akan lebih baik menggunakan method IsArray dibanding mendefinisikan On Error sebelum kode verifikasi. Bagaimanapun juga, mekanisme penanganan kesalahan memerlukan tambahan alokasi memori. Artinya, penggunaan pernyataan On Error berbanding lurus terhadap waktu eksekusi. Dengan kata lain, semakin banyak blok On Error di suatu kode program, maka juga akan semakin lambat eksekusinya. 11. API Win32 Bagian ini secara khusus akan menguraikan tip mengenal Application Programming Interface (API) Windows, khususnya di platform 32-bit (Win32). Ini dimaksudkan untuk lebih mendekatkan Anda dengan fungsionalitas API Win32 dan juga terkait pembahasan-pembahasan selanjutnya. Pada prinsipnya, API Win32 terdiri atas koleksi Dynamic- Link Library (DLL) yang disebut DLL standar. Cara kerja DLL standar ini berbeda dengan Componen Object Model (COM). Idealnya, saat mengeksekusi method aplikasi berbasis COM, kita menggunakan COM untuk pemanggilan prosedur yang tersedia. Di sisi lain, pada pendekatan DLL standar, kita melakukan pemanggilan method secara langsung. Tip & Trik Visual Basic 6.0 20
  • 21. Kelebihan API Win32 Sedikitnya ada dua kelebihan yang bisa didapatkan dari pendekatan API Windows. Pertama, kita dapat memperluas fungsionalitas aplikasi, dan kedua adalah meningkatkan performa aplikasi. Pada kenyataannya, DLL standar mampu menghasilkan kode yang lebih cepat dan efisien.  Fungsionalitas API Win32 API Win32 mengekspos tiga DLL utama yang mencakup beberapa fungsionalitas spesifik, yaitu User32, Kernel32, dan GDI32. DLL User32 (user32.dll) mengelola menu, kontrolkontrol, dan kotak dialog Windows. Kernel32 (kernel32.dll) menangani tugas-tugas sistem operasi dan operasi level rendah, seperti manajemen memori, file, proses, waktu, dan kontrol Comm. Sementara itu, DLL terakhir (gdi32.dll), menangani pemrosesan grafik/gambar.  Mendeklarasikan DLL Ada dua tahap untuk mengimplementasikan DLL standar, yaitu deklarasi dan pemanggilan method. Sintaks pernyataan deklarasi diperlihatkan seperti berikut: [Public|Private] Declare Function nama_fungsi _ Lib "nama_library" [Alias "nama_alias"] _ [(argumen)] Apabila deklarasi dilakukan di level modul, gunakan access modifier Public, sedangkan untuk level form, sebaiknya gunakan Private.  Informasi dan Dokumentasi Walaupun API Win32 berpotensi besar untuk menghasilkan aplikasi yang kompleks, namun dokumentasinya sangat minim. Di Visual Basic, Anda bisa memanfaatkan tool API Text Viewer untuk melihat daftar method, tipe, serta konstanta yang tersedia. Shortcut tool ini tersedia di submenu Tip & Trik Visual Basic 6.0 21
  • 22. Microsoft Visual Basic 6.0 Tools, atau bisa juga diakses dari Add-in Manager. Apabila Anda sangat tertarik mendalami API Win32 dan kegunaannya, Anda bisa mendapatkan dokumentasi API Win32 (Win32 Programmerís Reference) alamat ftp.borland.com/pub/delphi/techpubs/delphi2/win32.zip. Dokumentasi ini lebih detail karena menyertakan deskripsi serta beberapa informasi tambahan. Gambar 1.1 Menggunakan API Viewer 12. Menangguhkan Eksekusi Dalam kasus tertentu, kita perlu sekali untuk menangguhkan eksekusi kode, misalnya ketika melakukan sinkronisasi. Sayangnya, method yang memiliki fungsionalitas seperti ini tidak tersedia di Visual Basic. Pada Tip & Trik Visual Basic 6.0 22
  • 23. kenyataannya, Anda bisa memanfaatkan timer untuk menangguhkan eksekusi dan melanjutkan kembali dalam interval waktu tertentu. Namun, jika Anda menginginkan pendekatan yang lebih praktis, gunakan API Win32. ' Untuk menangguhkan eksekusi Private Declare Sub Sleep Lib "kernel32" ( _ ByVal dwMilliseconds As Long) Private Sub Pause(ByVal sngDetik As Single) ' Menangguhkan eksekusi dalam (waktu) detik Call Sleep(Int(sngDetik * 1000#)) End Sub Sebenarnya Anda bisa langsung menggunakan method Sleep, tetapi perlu diperhatikan, nilai argumennya adalah waktu dalam satuan milidetik. Oleh karena itu, untuk lebih memudahkan penggunaan method Sleep, kita membuat method Pause yang menerima argumen waktu dalam satuan detik. Contoh penggunaan method Pause diperlihatkan sebagai berikut: Dim i As Integer For i = 1 To 200 Me.Caption = i If i = 100 Then ' Tangguhkan eksekusi selama 5 detik Me.Caption = "Berhenti 5 detik" Pause (5) End If Next i 13. Mengatur Project Visual Basic Setiap kali kita membuat project, IDE akan menciptakan file .vbp yang berisi informasi-informasi penting. Adapun jika diperlukan, Anda juga bisa melakukan pengaturan spesifik terhadap project, terlepas dari Tip & Trik Visual Basic 6.0 23
  • 24. pengaturan default.  Mengatur Versi Aplikasi Apabila Anda ingin mengubah ikon default yang ada di form, gunakan properti Icon. Untuk menghasilkan tampilan yang proporsional, sebaiknya ukuran ikon kurang lebih 14 x 14 pixel (picture element).  Mengatur Versi Aplikasi Untuk menandai aplikasi, sebaiknya Anda memberikan versi yang berbeda di setiap versi rilis. Adapun cara yang praktis adalah dengan memanfaatkan fitur IDE. Terlebih dahulu buka kotak dialog Project Properties dari menu Project. Setelah itu, aktifkan tab Make, kemudian beri tanda centang di bagian Auto Increment.  Informasi Versi Sebelum Anda mendistribusikan aplikasi, akan lebih baik jika Anda memberikan informasi detail mengenai aplikasi. Langkah ini bisa Anda lakukan dari tab Make di kotak dialog Project Properties. Pada bagian Version Information, pilih Type informasi, kemudian isikan informasinya di bagian Value. Gambar 1.2 Informasi aplikasi Tip & Trik Visual Basic 6.0 24