Senin, 16 Januari 2012

Membulatkan Bilangan Desimal

Banyak cara dalam VB untuk membulatkan suatu bilangan/ angka desimal menjadi bilangan bulat. Jika Anda belum paham, berikut penjelasan singkatnya :
  • Pembulatan Otomatis
    Pembulatan ini dilakukan secara otomatis tergantung bilangannya.
    Jika angka utamanya adalah ganjil dan angka desimalnya >= 0,5 maka dilakukan pembulatan ke atas (angka utama ditambah 1) dan bila angka desimalnya < 0,5 maka dilakukan pembulatan ke bawah.
    Namun jika angka utamanya adalah 0 atau genap dan angka desimalnya > 0,5 maka dilakukan pembulatan ke atas dan bila angka desimalnya <= 0,5 maka dilakukan pembulatan ke bawah.
    i = CInt(0.4) , hasilnya 0
    i = CInt(0.5) , hasilnya 0
    i = CInt(0.6) , hasilnya 1
    i = CInt(1.4) , hasilnya 1
    i = CInt(1.5) , hasilnya 2
    i = CInt(1.6) , hasilnya 2

  • Pembulatan Selalu ke Bawah
    Pembulatan ini dilakukan selalu ke bawah berapapun angka desimalnya. Dengan kata lain akan menghilangkan angka desimalnya.
    i = Int(1.1) , hasilnya 1
    i = Int(1.5) , hasilnya 1
    i = Int(1.8) , hasilnya 1

  • Pembulatan Selalu ke Atas
    Pembulatan ini dilakukan selalu ke atas berapapun angka desimalnya.
    i = -Int(-(1.1)) , hasilnya 2
    i = -Int(-(1.5)) , hasilnya 2
    i = -Int(-(1.8)) , hasilnya 2

  • Pembulatan Yang Ditentukan
    Pembulatan ini dilakukan sesuai dengan Batas yang telah ditentukan.
    Jadi bila angka desimalnya >= Batas maka dilakukan pembulatan ke atas dan bila angka desimalnya < Batas maka dilakukan pembulatan ke bawah.
    Misalnya Batas yang ditentukan adalah 0,4 kodenya seperti ini :
    Dim Nilai As Double, Hasil As Long

    Nilai = 1.4 'bilangan yg akan dibulatkan

    Hasil = Int(Nilai) + IIf(CDbl(CStr(Nilai - Int(Nilai))) >= 0.4, 1, 0) 'Batas = 0,4

    MsgBox Hasil 'pesan Hasil = 2

Label: , , ,

Minggu, 15 Januari 2012

Menghitung Selisih Tanggal

Bila Anda membutuhkan kode untuk menghitung selisih antar 2 data Tanggal baik secara hari, bulan, atau tahun, berikut contohnya :

Fungsi : DateDiff( Jenis Interval, Tanggal Pertama, Tanggal Kedua )

Jenis IntervalKeterangan
dDay (Hari)
mMonth (Bulan)
yyyyYear (Tahun)
hHour (Jam)
nMinute (Menit)
sSecond (Detik)
wwWeek (Minggu)
qQuater (4 Bulan)


Misalnya Anda ingin menghitung selisih hari antara tanggal 15 Jan 2012 (ditulis #1/15/2012#) dan 20 Jan 2012, yang berarti akan menggunakan jenis interval "d".
t = DateDiff("d", #1/15/2012#, #1/20/2012#) , hasilnya 5

Jika Tanggal didapat dari kontrol semisal DateTimePicker, maka kodenya :
t = DateDiff("d", DateTimePicker1.Value, DateTimePicker2.Value)

Label: , , ,

Menambah dan Mengurangi Tanggal

Untuk menambah dan mengurangi data bertipe Date/Tanggal tidak semudah dengan data bertipe Angka yang hanya menggunakan operator + dan -. Karena itu ada fungsi khusus untuk melakukannya, berikut contoh penggunaannya :

Fungsi : DateAdd( Jenis interval, Besar perubahan, Tanggal yang dihitung )

Jenis IntervalKeterangan
dDay (Hari)
mMonth (Bulan)
yyyyYear (Tahun)
hHour (Jam)
nMinute (Menit)
sSecond (Detik)
wwWeek (Minggu)
qQuater (4 Bulan)


Misalnya Anda ingin menghitung 2 hari setelah tanggal 15 Jan 2012 (ditulis #1/15/2012#), yang berarti akan menggunakan jenis interval "d" dan besar perubahannya adalah 2
t = DateAdd("d", 2, #1/15/2012#) , hasilnya 17 Jan 2012

Sekarang jika Anda ingin menghitung 3 bulan sebelumnya, yang berarti akan menggunakan jenis interval "m" dan besar perubahaanya adalah -3.
t = DateAdd("m", -3, #1/15/2012#) , hasilnya 15 Okt 2011

Jika Tanggal didapat dari kontrol semisal DateTimePicker, maka kodenya :
DateTimePicker2.Value = DateAdd("m", -3, DateTimePicker1.Value)

Label: , , ,

Jumat, 13 Januari 2012

Fungsi-fungsi Date/Time

Berikut ini merupakan Fungsi-fungsi dasar untuk mengolah data jenis Date/Time atau Tanggal/Waktu di Visual Basic
  • Now, digunakan untuk mendapatkan Tanggal dan Waktu sekarang.
    d = Now , hasilnya 13/01/2012 1:22:42

  • Date, digunakan untuk mendapatkan Tanggal sekarang.
    [ VB 6.0 ] d = Date , hasilnya 13/01/2012
    [ VB .NET ] d = Now.Date , hasilnya 13/01/2012

  • Time, digunakan untuk mendapatkan Waktu sekarang.
    [ VB 6.0 ] d = Time , hasilnya 1:22:42
    [ VB .NET ] d = Now.ToLongTimeString , hasilnya 1:22:42

  • Day(x), digunakan untuk mengambil nilai Tanggal saja dari x.
    [ VB 6.0 ] d = Day(#1/13/2012#) , hasilnya 13
    [ VB .NET ] d = #1/13/2012#.Day , hasilnya 13

  • Month(x), digunakan untuk mengambil nilai Bulan saja dari x.
    [ VB 6.0 ] d = Month(#1/13/2012#) , hasilnya 1
    [ VB .NET ] d = #1/13/2012#.Month , hasilnya 1

  • Year(x), digunakan untuk mengambil nilai Tahun saja dari x.
    [ VB 6.0 ] d = Year(#1/13/2012#) , hasilnya 2012
    [ VB .NET ] d = #1/13/2012#.Year , hasilnya 2012

  • Hour(x), digunakan untuk mengambil nilai Jam saja dari x.
    [ VB 6.0 ] d = Hour(#1:22:42 AM#) , hasilnya 1
    [ VB .NET ] d = #1:22:42 AM#.Hour , hasilnya 1

  • Minute(x), digunakan untuk mengambil nilai Menit saja dari x.
    [ VB 6.0 ] d = Minute(#1:22:42 AM#) , hasilnya 22
    [ VB .NET ] d = #1:22:42 AM#.Minute, hasilnya 22

  • Second(x), digunakan untuk mengambil nilai Detik saja dari x.
    [ VB 6.0 ] d = Second(#1:22:42 AM#) , hasilnya 42
    [ VB .NET ] d = #1:22:42 AM#.Second, hasilnya 42

  • DateSerial(x, y, z), digunakan untuk menghasilkan Tanggal dari kombinasi x, y, z.
    d = DateSerial(2012, 1, 13) , hasilnya 13/01/2012

  • TimeSerial(x, y, z), digunakan untuk menghasilkan Waktu dari kombinasi x, y, z.
    d = TimeSerial(1, 22, 42) , hasilnya 1:22:42

  • MonthName(x), digunakan untuk mendapatkan nama Bulan dari x.
    d = MonthName(2) , hasilnya Februari

  • WeekdayName(x), digunakan untuk mendapatkan nama Hari dari x.
    d = WeekdayName(2, , vbSunday) , hasilnya Senin

Untuk kegunaan Fungsi-fungsi Date/Time yang lain, Anda bisa melihat postingan ini :
Nama Hari dari Tanggal
Menambah dan Mengurangi Tanggal
Menghitung Selisih Tanggal

Label: , , ,

Senin, 19 Desember 2011

Fungsi Semua Terisi

Fungsi Semua Terisi ini adalah fungsi untuk memudahkan Anda apakah User telah mengisi seluruh kontrol isian (seperti TextBox atau ComboBox) dalam suatu Form. Agar lebih jelas, berikut cara membuatnya :

Buat Project baru dengan sebuah Form dan sebuah Module didalamnya.
Di Module ketikkan kode berikut :
Public Function SemuaTerisi(ByVal Frm As Form) As Boolean
    Dim c As Control
    Dim b As Boolean
  
    b = True
  
    For Each c In Frm.Controls
        If (TypeOf c Is TextBox) Or (TypeOf c Is ComboBox) Then 'utk TextBox dan ComboBox
           b = Not (Trim(c.Text) = "")
        End If
      
        If b = False Then
            c.SetFocus
            Exit For
        End If
    Next
  
    SemuaTerisi = b
End Function
(bagi pengguna VB .NET gantikan kode yang berwarna merah dengan kode "c.Focus()"

Untuk percobaan, buatlah 3 buah Textbox dan 1 Tombol/ Button ke dalam Form. Lalu ketikkan kode berikut di Tombol/ Button_Click :
If SemuaTerisi(Me) Then
    MsgBox "Data sudah lengkap", vbInformation
Else
    MsgBox "Data belum lengkap", vbCritical
End If

Jalankan, kemudian tes dengan mengisi atau mengosongkan TextBox.

Label: , , , ,

Sabtu, 26 November 2011

Menjalankan dan Menunggu Aplikasi Ditutup

Yang dimaksud disini adalah proses dimana aplikasi Anda menjalankan sebuah aplikasi lain (dengan kode), lalu aplikasi Anda berhenti dan menunggu sampai aplikasi yang dijalankan tadi ditutup / diakhiri. Berikut ini contoh pembuatannya.
Buat Project baru dengan sebuah Form didalamnya, lalu tambahkan sebuah kontrol Tombol / Button ke Form tersebut.

[ VB 6.0 ]
Di bagian '(Declarations)' dari Form ketikkan :
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32.dll" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Const SYNCHRONIZE = &H100000

Di bagian 'Command1_Click' ketikkan :
Dim l As Long
  
l = Shell("notepad.exe", vbNormalFocus) 'menjalankan aplikasi notepad
l = OpenProcess(SYNCHRONIZE, 0, l)
  
Me.Hide 'menyembunyikan form
  
WaitForSingleObject l, -1  'proses menunggu
  
Me.Show 'memunculkan form kembali

Untuk kelancaran prosesnya, buatlah Project menjadi aplikasi (*.exe)




[ VB .NET ]
Di bagian 'Button1_Click' ketikkan :
Dim p As New Diagnostics.Process
p = Diagnostics.Process.Start("notepad.exe") 'menjalankan aplikasi notepad

Me.Hide() 'menyembunyikan form

p.WaitForExit(-1) 'proses menunggu

Me.Show() 'memunculkan form kembali

Label: , , ,

Jumat, 19 Agustus 2011

Clipboard

Secara awam, Clipboard adalah tempat di komputer untuk menyimpan data sementara ketika melakukan proses cut/copy-paste, baik data tersebut berupa teks, gambar, file atau yang lain. Dalam VB terdapat fungsi / prosedur khusus untuk mengoperasikan Clipboard secara sederhana. Berikut ini contoh penggunaannya :


[ VB 6.0 ]
  • Meng-copy Teks
    Clipboard.Clear
    Clipboard.SetText "Teks yang akan di-copy", vbCFText

  • Meng-copy Gambar (gambar diambil dari kontrol Picture1)
    Clipboard.Clear
    Clipboard.SetData Picture1.Picture, vbCFBitmap

  • Meng-paste Teks (ditampung di kontrol Text1)
    Text1.Text = Clipboard.GetText(vbCFText)

  • Meng-paste Gambar (ditampung di kontrol Picture1)
    Picture1.Picture = Clipboard.GetData(vbCFBitmap)

  • Memeriksa apakah berisi data Teks (pesan MsgBox)
    MsgBox Clipboard.GetFormat(vbCFText)

  • Memeriksa apakah berisi data Gambar (pesan MsgBox)
    MsgBox Clipboard.GetFormat(vbCFBitmap)

  • Menghapus data
    Clipboard.Clear




[ VB .NET ]
  • Meng-copy Teks
    Clipboard.SetText("Teks yang akan di-copy")

  • Meng-copy Gambar (gambar diambil dari kontrol PictureBox1)
    Clipboard.SetImage(PictureBox1.Image)

  • Meng-paste Teks (ditampung di kontrol TextBox1)
    TextBox1.Text = Clipboard.GetText

  • Meng-paste Gambar (ditampung di kontrol PictureBox1)
    PictureBox1.Image = Clipboard.GetImage

  • Memeriksa apakah berisi data Teks (pesan MsgBox)
    MsgBox(Clipboard.ContainsText)

  • Memeriksa apakah berisi data Gambar (pesan MsgBox)
    MsgBox(Clipboard.ContainsImage)

  • Menghapus data
    Clipboard.Clear

Label: , , , ,

Rabu, 03 Agustus 2011

Penghitungan Mundur

Bila Anda membutuhkan contoh prosedur untuk melakukan proses penghitungan mundur / countdown, berikut ini cara membuatnya. Buat Project baru dengan sebuah Form. Masukkan ke dalam Form tersebut 1 kontrol Label, 1 kontrol Tombol / Button, dan 1 buah kontrol Timer (Enabled=False; Interval=1000), lalu ketikkan kode-kode berikut


[ VB 6.0 ]
Di bagian '(Declarations)' dari Form ketikkan :
Dim Jam As Integer, Menit As Integer, Detik As Integer

Di bagian 'Form_Load' ketikkan :
Label1.Caption = "00:00:00"

Di bagian 'Command1_Click' ketikkan :
'nilai awal (0 s/d 59)
Jam = 0
Menit = 1
Detik = 10

Label1.Caption = Format(Jam, "00") & ":" & Format(Menit, "00") & ":" & Format(Detik, "00")

Timer1.Enabled = True
Command1.Enabled = False

Di bagian 'Timer1_Timer' ketikkan :
Detik = Detik - 1
If Detik < 0 Then
Detik = 59
   
Menit = Menit - 1
If Menit < 0 Then
Menit = 59
Jam = Jam - 1
End If
End If

Label1.Caption = Format(Jam, "00") & ":" & Format(Menit, "00") & ":" & Format(Detik, "00")

If Jam = 0 And Menit = 0 And Detik = 0 Then
Timer1.Enabled = False
Command1.Enabled = True
   
MsgBox "Waktu Habis !!!"
End If





[ VB .NET ]
Di bagian '(Declarations)' dari Form ketikkan :
Dim Jam, Menit, Detik As Integer

Di bagian 'Form1_Load' ketikkan :
Label1.Text = "00:00:00"

Di bagian 'Button1_Click' ketikkan :
'nilai awal (0 s/d 59)
Jam = 0
Menit =1
Detik = 10

Label1.Text = Format(Jam, "00") & ":" & Format(Menit, "00") & ":" & Format(Detik, "00")

Timer1.Enabled = True
Button1.Enabled = False

Di bagian 'Timer1_Tick' ketikkan :
Detik -= 1
If Detik < 0 Then
Detik = 59

Menit -= 1
If Menit < 0 Then
Menit = 59
Jam -= 1
End If
End If

Label1.Text = Format(Jam, "00") & ":" & Format(Menit, "00") & ":" & Format(Detik, "00")

If Jam = 0 And Menit = 0 And Detik = 0 Then
Timer1.Enabled = False
Button1.Enabled = True

MsgBox("Waktu Habis !!!")
End If





CATATAN : Kode diatas mencakup Jam, Menit, dan Detik. Namun bila Anda menginginkan hanya Menit dan Detik saja, tinggal menghapus kode-kode yang berwarna merah.

Label: , , ,

Jumat, 13 Mei 2011

Fungsi-fungsi Angka

Berikut ini adalah fungsi-fungsi yang sering digunakan untuk mengolah data bertipe angka (integer, long, double, dll). Sebelumnya khusus untuk VB .NET, ketikkan kode berikut dibagian paling atas dari jendela kode dari Form.
Imports System.Math

  • Abs(n), digunakan untuk mencari nilai absolut dari n. Contoh :
    a = Abs(5) , nilai a adalah 5
    a = Abs(-5) , nilai a adalah 5

  • CInt(n) dan Int(n), digunakan untuk mengubah nilai n menjadi nilai bertipe integer / bulat. Perbedaannya adalah jika CInt bila desimalnya bernilai lebih besar dari 0,5 , maka nilai akan dibulatkan 1 ke atas. Sedangkan Int tidak. Contoh :
    a = CInt(3.4) , nilai a adalah 3
    a = CInt(3.6) , nilai a adalah 4
    a = Int(3.4) , nilai a adalah 3
    a = Int(3.6) , nilai a adalah 3

  • CDbl(n) dan Val(n), digunakan untuk menkonversi nilai n yang bertipe string ke nilai bertipe double / angka. Perbedaannya adalah jika Val nilai n harus berformat Inggris (karakter desimal adalah tanda titik), sehingga muncul permasalahan jika settingan komputer menggunakan format Indonesia (karakter desimal adalah tanda koma) yang akan menghasilkan nilai berbeda. Sedangkan bila CDbl mampu menyesuaikan nilai sesuai dengan setting format komputer.
    Berikut contoh yang diterapkan di komputer dengan setting format Indonesia.
    a = Val("2,5") , nilai a adalah 2
    a = CDbl("2,5") , nilai a adalah 2,5

  • Randomize dan Rnd() * n, kedua fungsi ini sering dikombinasikan untuk mencari angka acak antara 0 sampai dengan n. Contoh :
    Randomize
    a = Rnd() * 4
    nilai a bisa bernilai antara 0 sampai dengan 4

    Namun jika Anda ingin angka bertipe bulat saja, berikut contohnya :
    Randomize
    a = CInt(Rnd() * 4)

    Dan jika Anda menginginkan acak dalam tipe boolean (True atau False),
    berikut contohnya :
    Randomize
    a = CBool(CInt(Rnd() * 1))
    nilai a bisa bernilai True atau False

  • Log(n), digunakan untuk mencari nilai logaritma natural dari n. Contoh :
    a = Log(5) , nilai a adalah 1,60943791243
    Jika Anda ingin mencari nilai logaritma standar dari n gunakan fungsi berikut :
    VB 6.0 a = Log(n) / Log(10)
    VB .NET a = Log10(n)

  • Exp(n), merupakan fungsi kebalikan dari Log(n). Contoh :
    a = Exp(1,60943791243) , nilai a adalah 5

  • Round(n, x), digunakan untuk menyesuaikan jumlah angka desimal dari n sebanyak x. Contoh :
    a = Round(5.3784, 2) , nilai a adalah 5,38

  • Sgn(n), digunakan untuk mencari tanda angka dari n. Fungsi ini menghasilkan nilai 1 jika n adalah positif, nilai -1 jika n adalah negatif, dan nilai 0 jika n adalah nol. Contoh:
    VB 6.0 a = Sgn(-9)
    VB .NET a = Sign(-9)
    nilai a adalah -1

  • Sqr(n), digunakan untuk mencari akar kuadrat dari n. Contoh :
    VB 6.0 a = Sqr(9)
    VB .NET a = Sqrt(9)
    nilai a adalah 3

  • Sin, Cos, Tan
    VB 6.0
    NamaFungsi
    Sina = Sin(n * Angle)
    Cosina = Cos(n * Angle)
    Tangena = Tan(n * Angle)
    Inv. Sina = Atn(n / Sqr(-n * n + 1)) / Angle
    Inv. Cosina = (Atn(-n / Sqr(-n * n + 1)) + 2 * Atn(1)) / Angle
    Inv. Tangena = Atn(n) / Angle
    Sin Hyp.a = (Exp(n) - Exp(-n)) / 2
    Cosin Hyp.a = (Exp(n) + Exp(-n)) / 2
    Tangen Hyp.a = (Exp(n) - Exp(-n)) / (Exp(n) + Exp(-n))
    Inv. Sin Hyp.a = Log(n + Sqr(n * n + 1))
    Inv. Cosin Hyp.a = Log(n + Sqr(n * n - 1))
    Inv. Tangen Hyp.a = Log((1 + n) / (1 - n)) / 2

    VB NET
    NamaFungsi
    Sina = Sin(n * Angle)
    Cosina = Cos(n * Angle)
    Tangena = Tan(n * Angle)
    Inv. Sina = Asin(n) / Angle
    Inv. Cosina = Acos(n) / Angle
    Inv. Tangena = Atan(n) / Angle
    Sin Hyp.a = Sinh(n)
    Cosin Hyp.a = Cosh(n)
    Tangen Hyp.a = Tanh(n)
    Inv. Sin Hyp.a = Log(n + Sqrt(n * n + 1))
    Inv. Cosin Hyp.a = Log(n + Sqrt(n * n - 1))
    Inv. Tangen Hyp.a = Log((1 + n) / (1 - n)) / 2

    Dalam beberpa fungsi diatas terdapat variabel dengan nama Angel, yang bisa digantikan dengan nilai berikut :
    Degress (DEG), gantikan dengan (3.14159265358979 / 180)
    Radians (RAD), gantikan dengan 1
    Grads (GRAD), gantikan dengan (3.14159265358979 / 200)
    Contoh menghitung Sin dari 5 dengan ukuran DEG :
    a = Sin(5 * (3.14159265358979 / 180))

Label: , , ,

Jumat, 06 Mei 2011

Operator

Operator dalam Visual Basic memiliki banyak jenis dan fungsi penggunaan.
Berikut ini adalah penjelasan singkat beberapa operator yang sering digunakan.

OPERATOR ARITMATIKA
Operator ini digunakan untuk mendapatkan hasil dari perpaduan dua buah data.
OperatorKeteranganContohHasil
+Penambahan5 + 27
-Pengurangan5 - 23
*Perkalian5 * 210
/Pembagian5 / 22,5
\Pembagian dgn hasil bulat5 \ 22
ModSisa pembagian5 Mod 21
^Pemangkatan5 ^ 225
&Penggabungan string"Aku " & "Dia""Aku Dia"

Proses urutan perhitungan :
h = 5 * 7 + 3 ^ 2 / 3 - ( 2 + 3 )
   = 5 * 7 + 3 ^ 2 / 3 - 5
   = 5 * 7 + 9 / 3 - 5
   = 35 + 9 / 3 - 5
   = 35 + 3 - 5
   = 38 - 5
   = 33




OPERATOR PERBANDINGAN
Operator ini digunakan untuk membandingkan dua buah data yang akan menghasilkan nilai True jika benar, dan menghasilkan nilai False jika salah.
OperatorKeterangan
=Sama dengan
<>Tidak sama dengan
>Lebih besar
<Lebih kecil
>=Lebih besar atau sama dengan
<=Lebih kecil atau sama dengan
LikeKriteria

Contoh perbandingan yang akan menghasilkan nilai True.
h = (2 = 2)
h = ("aku" = "aku")
h = (3 <> 2)
h = ("aku" <> "dia")
h = (3 > 2)
h = ("dia" > "aku")   'berdasarkan urutan abjad
h = (2 <= 3)

h = ("a5a" Like "a#a")
h = ("a123a" Like "a###a")
'tanda # sbg pembanding pengganti satu karakter angka

h = ("aua" Like "a?a")
h = ("a6u7a" Like "a???a")
'tanda ? sbg pembanding pengganti satu karakter sembarang

h = ("at63d346ra" Like "a*a")
h = ("aa" Like "a*a")
'tanda * sbg pembanding pengganti satu atau lebih karakter sembarang atau
tidak ada karakter




OPERATOR LOGIKA
Operator ini digunakan untuk membandingkan dua ekspresi atau lebih (khusus untuk Xor hanya bisa membandingkan dua ekspresi) yang akan menghasilkan nilai True atau False.
  1. And
    - True jika semua ekspresinya bernilai True
       h = ((2 = 2) And (3 > 2) And (5 <> 1))
    - False jika salah satu atau semua ekpresinya bernilai False
       h = ((2 = 2) And (3 < 2) And (5 <> 1))

  2. Or
    - True jika salah satu atau semua ekpresinya bernilai True
       h = ((2 = 2) Or (3 < 2) Or (5 = 1))
    - False jika semua ekspresinya bernilai False
       h = ((2 > 2) Or (3 < 2) Or (5 = 1))

  3. Xor
    - True jika salah satu ekpresinya bernilai True atau False
       h = ((2 = 2) Xor (3 < 2))
    - False jika semua ekspresinya bernilai True atau semua ekspresinya bernilai False
       h = ((2 <> 2) Xor (3 < 2))
Selain ketiga operator diatas, terdapat juga operator Not yang digunakan untuk membalikkan nilai. Jika nilainya True akan menjadi False, dan bila nilainya False akan menjadi True
h = Not ((2 > 2) And (3 < 2))       'menghasilkan True
h = Not ((2 = 2) And (3 > 2))      'menghasilkan False

Label: , , ,

Minggu, 01 Mei 2011

Membuat Aplikasi Trial

Aplikasi trial adalah aplikasi yang mempunyai batasan waktu penggunaan berdasarkan lama hari atau berapa kali aplikasi dijalankan.
Pembuatanya biasanya digunakan pada aplikasi shareware (berbayar) yang bertujuan agar user dapat menikmati aplikasi (demo) sebelum membeli aplikasi.
Berikut ini adalah contoh pembuatan aplikasi trial yang menggunakan lama hari penggunaan, lengkap dengan prosedur input kode registrasinya.

[ VB 6.0 ]
Buat Project baru dengan sebuah Form. Di bagian '(Declarations)' dari Form ketikkan :
Const LocationReg = "System\Windows\User" 'lokasi penyimpanan d registry (ubah sesuai selera)
Const PasswordReg = "kode" 'kode kunci registrasi

Function GetInfoReg() As String 'fungsi utk mendapatkan info registrasi
On Error GoTo Ero
Dim Reg As Object
Set Reg = CreateObject("WScript.Shell")
GetInfoReg = Reg.RegRead("HKEY_CLASSES_ROOT\" & LocationReg & "\")
Exit Function
Ero:
Reg.RegWrite "HKEY_CLASSES_ROOT\" & LocationReg & "\", Format(Now, "short date") 'memasukkan tgl sekarang
GetInfoReg = Format(Now, "short date")
End Function

Function SuccessReg() As Boolean 'fungsi utk prosedur pemasukan kode registrasi
Dim s As String
Lagi:
s = InputBox("Masukkan kode registrasi", "Registrasi")
If s = PasswordReg Then
Dim Reg As Object
Set Reg = CreateObject("WScript.Shell")
Reg.RegWrite "HKEY_CLASSES_ROOT\" & LocationReg & "\", "Registered" 'mendaftarkan k registry
MsgBox "Terima kasih telah melakukan registrasi", vbInformation, "Registrasi Sukses"
SuccessReg = True
      
ElseIf s = "" Then
SuccessReg = False
  
Else
If MsgBox("Maaf kode registrasi salah, coba lagi ?", vbYesNo + vbExclamation, "Registrasi") = vbYes Then GoTo Lagi
SuccessReg = False
End If
End Function

Lalu di bagian 'Form_Load' ketikkan :
Dim s As String, l As Long
  
s = GetInfoReg
If s <> "Registered" Then 'jika belum terdaftar"
l = 30 - (CDate(Format(Now, "short date")) - CDate(s)) 'max penggunaan trial 30 hari
      
If l > 0 And l <= 30 Then 'jika masih ada sisa hari
If MsgBox("Aplikasi ini hanya dapat digunakan sampai " & l & " hari lagi." & vbCrLf & _
"Jika ingin menggunakan tanpa batasan waktu, masukkan kode registrasi" & vbCrLf & vbCrLf & _
"Masukkan kode registrasi sekarang ?", vbYesNo + vbInformation, "Registrasi") = vbYes Then SuccessReg
          
Else 'jika kadaluarsa
If MsgBox("Aplikasi ini sudah tidak dapat digunakan lagi." & vbCrLf & _
"Jika ingin menggunakannya kembali, masukkan kode registrasi" & vbCrLf & vbCrLf & _
"Masukkan kode registrasi sekarang ?", vbYesNo + vbExclamation, "Registrasi") = vbYes Then
              
If SuccessReg = False Then End 'mengakhiri aplikasi
Else
End 'mengakhiri aplikasi
End If
          
End If
End If




[ VB .NET ]
Buat Project baru dengan sebuah Form. Di bagian '(Declarations)' dari Form ketikkan :
Const LocationReg = "System\Windows\User" 'lokasi penyimpanan d registry (ubah sesuai selera)
Const PasswordReg = "kode" 'kode kunci registrasi

Function GetInfoReg() As String 'fungsi utk mendapatkan info registrasi
Dim Reg = CreateObject("WScript.Shell")
Try
GetInfoReg = Reg.RegRead("HKEY_CLASSES_ROOT\" & LocationReg & "\")
Catch
Reg.RegWrite("HKEY_CLASSES_ROOT\" & LocationReg & "\", Now.Date) 'memasukkan tgl sekarang
GetInfoReg = Now.Date
End Try
End Function

Function SuccessReg() As Boolean 'fungsi utk prosedur pemasukan kode registrasi
Dim s As String
Lagi:
s = InputBox("Masukkan kode registrasi", "Registrasi")
If s = PasswordReg Then
Dim Reg = CreateObject("WScript.Shell")
Reg.RegWrite("HKEY_CLASSES_ROOT\" & LocationReg & "\", "Registered") 'mendaftarkan k registry
MsgBox("Terima kasih telah melakukan registrasi", vbInformation, "Registrasi Sukses")
SuccessReg = True

ElseIf s = "" Then
SuccessReg = False

Else
If MsgBox("Maaf kode registrasi salah, coba lagi ?", vbYesNo + vbExclamation, "Registrasi") = vbYes Then GoTo Lagi
SuccessReg = False
End If
End Function

Lalu di bagian 'Form1_Load' ketikkan :
Dim s As String, l As Long

s = GetInfoReg()
If s <> "Registered" Then 'jika belum terdaftar"
l = 30 - CType(Now.Date - CDate(s), TimeSpan).TotalDays 'max penggunaan trial 30 hari

If l > 0 And l <= 30 Then 'jika masih ada sisa hari
If MsgBox("Aplikasi ini hanya dapat digunakan sampai " & l & " hari lagi." & vbCrLf & _
"Jika ingin menggunakan tanpa batasan waktu, masukkan kode registrasi" & vbCrLf & vbCrLf & _
"Masukkan kode registrasi sekarang ?", vbYesNo + vbInformation, "Registrasi") = vbYes Then SuccessReg()

Else 'jika kadaluarsa
If MsgBox("Aplikasi ini sudah tidak dapat digunakan lagi." & vbCrLf & _
"Jika ingin menggunakannya kembali, masukkan kode registrasi" & vbCrLf & vbCrLf & _
"Masukkan kode registrasi sekarang ?", vbYesNo + vbExclamation, "Registrasi") = vbYes Then

If SuccessReg() = False Then End 'mengakhiri aplikasi
Else
End 'mengakhiri aplikasi
End If

End If
End If

Label: , , ,

Rabu, 16 Maret 2011

Aplikasi 4L@ÿ Generator

Apakah Anda sering menulis sesuatu dengan gaya Alay seperti update status Facebook, chat di YM, nge-Blog. Sebenarnya Anda bisa membuat tulisan Alay lebih mudah dengan membuat aplikasi generatornya sendiri menggunakan Visual Basic.

Buat sebuah Module baru dan ketikkan :
Public Function Alay(ByVal Str As String) As String
Dim s As String, h As String, i As Integer
Str = LCase(Str)
For i = 1 To Len(Str)
s = Mid(Str, i, 1)
Select Case s
Case "a": s = "àáâãäåÀÁÂÃÄÅ@4"
Case "b": s = "ß8"
Case "c": s = "çÇ¢"
Case "d": s = "Ð"
Case "e": s = "èéêëÈÉÊË£3"
Case "g": s = "69"
Case "i": s = "ìíîïÌÍÎÏ¡!1"
Case "n": s = "ñÑ"
Case "o": s = "òóôõöøÒÓÔÕÖØ0"
Case "p": s = "þÞ"
Case "s": s = "$§5"
Case "t": s = "7"
Case "u": s = "ùúûüÙÚÛܵ"
Case "x": s = "×"
Case "y": s = "ýÿÝ¥"
Case Else: s = IIf(CInt(Rnd * 1) = 0, UCase(s), s)
End Select

Randomize
h = h & Mid(s, CInt(Rnd * (Len(s) - 1)) + 1, 1)
Next
Alay = h
End Function


Selanjutnya, buat sebuah Form baru dengan 2 buah kontrol TextBox didalamnya.
[ VB 6.0 ]
Di bagian 'Text1_Change' ketikkan :
Text2.Text = Alay(Text1.Text)
[ VB .NET ]
di bagian 'TextBox1_TextChanged' ketikkan :
TextBox2.Text = Alay(TextBox1.Text)


Jalankan aplikasi, kemudian coba ketikkan teks di TextBox yang pertama !

Label: , , , ,

Senin, 07 Maret 2011

Prosedur SendKeys

Prosedur ini digunakan untuk menggantikan perintah yang dikirim melaui penekanan tombol Keyboard. Syntaksnya adalah :
[ VB 6.0 ]
SendKeys "Perintah"
[ VB .NET ]
SendKeys.Send("Perintah")


Sebagai contoh, misalnya dimana ketika user menekan tombol enter di TextBox,
maka akan secara otomatis berpindah ke TextBox yang lain. Caranya buat beberapa TextBox ke dalam Form, dan ketikkan kode berikut di setiap Textbox di bagian 'KeyPress'.
[ VB 6.0 ]
If KeyAscii = 13 Then SendKeys "{tab}"
[ VB .NET ]
If e.KeyChar = Chr(13) Then SendKeys.Send("{tab}")


Anda bisa menggunakan karakter abjad dan angka sebagai perintahnya. Namun bila Anda ingin menggunakan karakter simbol, seperti "+", "^", "(", ")", "~", harus diapit karakter "{}" terlebih dulu. Misalnya anda ingin menggunakan "+", maka perintahnya adalah "{+}".

Daftar perintah yang bisa Anda gunakan :
TombolPerintah
BACKSPACE{BACKSPACE}, {BS}, atau {BKSP}
BREAK{BREAK}
CAPS LOCK{CAPSLOCK}
DEL atau DELETE{DELETE} atau {DEL}
DOWN ARROW{DOWN}
END{END}
ENTER {ENTER}atau ~
ESC{ESC}
HELP{HELP}
HOME{HOME}
INS atau INSERT{INSERT} atau {INS}
LEFT ARROW{LEFT}
NUM LOCK{NUMLOCK}
PAGE DOWN{PGDN}
PAGE UP{PGUP}
PRINT SCREEN{PRTSC}
RIGHT ARROW{RIGHT}
SCROLL LOCK{SCROLLLOCK}
TAB{TAB}
UP ARROW{UP}
F1{F1}
F2{F2}
F3{F3}
F4{F4}
F5{F5}
F6{F6}
F7{F7}
F8{F8}
F9{F9}
F10{F10}
F11{F11}
F12{F12}

Untuk kombinasi tombol SHIFT, CTRL, dan ALT, awali dengan perintah berikut :
TombolPerintah
SHIFT+
CTRL^
ALT%

Label: , , ,

Jumat, 04 Maret 2011

Prosedur Sleep

Prosedur Sleep digunakan untuk menunda / menghentikan sementara proses jalannya prosedur dalam jangka waktu tertentu. Untuk menggunakannya buat sebuah Module baru dan ketikkan :
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)

Sebagai contoh penggunaanya, buat sebuah Tombol ke dalam Form, lalu ketikkan kode berikut di Tombol click :
MsgBox "Tidur sebentar !"
Sleep 3000 'selama 3 detik
MsgBox "Bangun lagi !"



Dalam beberapa kasus, penggunaan sleep dengan cara diatas dapat mengganggu prosedur-prosedur yang lain. Maka dari itu, perlu dibuat prosedur sleep buatan sendiri. Caranya buat sebuah Module baru dan ketikkkan :
[ VB 6.0 ]
Public Sub Tidur(ByVal Detik As Integer)
Dim t As Single
t = Timer
Do Until (Timer - t) >= Detik
DoEvents
Loop
End Sub

[ VB .NET ]
Public Sub Tidur(ByVal Detik As Integer)
Dim t As Double = Microsoft.VisualBasic.Timer
Do Until (Microsoft.VisualBasic.Timer - t) >= Detik
Application.DoEvents()
Loop
End Sub

Sebagai contoh penggunaanya, buat sebuah Tombol ke dalam Form, lalu ketikkan kode berikut di Tombol click :
MsgBox "Tidur sebentar !"
Tidur 3 'selama 3 detik
MsgBox "Bangun lagi !"

Label: , , ,

Minggu, 13 Februari 2011

Prosedur Beep

Prosedur Beep merupakan suatu prosedur yang digunakan untuk memutar suara beep secara langsung. Biasanya prosedur ini digunakan untuk mempertegas sebuah informasi yang ditampilkan. Berikut ini adalah varian dari Prosedur Beep yang bisa Anda gunakan :

1. Beep Standar
Beep ini adalah beep standar yang sudah menjadi bawaan VB.
Beep



2. Beep Internal
Beep ini menggunakan speaker internal yang biasanya terdapat dalam CPU. Beep ini dapat diatur frekuensi dan durasinya.

[ VB 6.0 ]
Di bagian '(Declarations)' dari form ketikkan :
Private Declare Function cBeep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Untuk menggunakannya ketikkan :
cBeep 1000, 100

[ VB .NET ]
System.Console.Beep(1000, 100)



3. Beep MsgBox
Beep ini merupakan beep yang sama ketika sebuah MessageBox (MsgBox) / kotak pesan muncul. Buat sebuah Module dan ketikkan :
Public Declare Function MessageBeep Lib "user32.dll" (ByVal wType As Integer) As Integer

Misalnya Anda ingin menggunakan beep seperti di MsgBox tipe Information, maka ketiikkan :
MessageBeep vbInformation

Label: , , ,

Kamis, 11 November 2010

Membulatkan Nilai Uang

Jika Anda berbelanja ke minimarket, hampir semua harga barang-barangnya tidak ada yang bulat. Dan ketika dibawa dan ditotal harganya di kasir, maka muncul nilai total harga yang tentu saja tidak pas, lalu pihak kasir memberitahukan kepada Anda nilai pembulatan dari total harga barang yang harus dibayar.Fungsi berikut ini digunakan untuk membulatkan nilai uang, sama seperti yang dilakukan oleh kasir tersebut.

Buat sebuah Module dan ketikkan :
Public Function BulatkanUang(ByVal NilaiUang As Double, Optional ByVal BatasDihapus As Integer = 0, Optional ByVal PecahanTerkecil As Integer = 100) As Double
Dim d As Double
d = NilaiUang - (Fix(NilaiUang / PecahanTerkecil) * PecahanTerkecil)
If (d = 0) Or (d <= BatasDihapus) Then
BulatkanUang = NilaiUang - d
Else
BulatkanUang = NilaiUang + (PecahanTerkecil - d)
End If
End Function

Misalkan nilai uangnya adalah 45025. Apabila nilai kelebihannya kurang dari atau sama dengan 15 maka tidak akan dihitung / dihapus, namun jika diatas 15 maka akan dihitung dengan dibulatkan ke atas. Pecahan uang terkecil yang tersedia adalah 100. Kodenya :
n = BulatkanUang(45025, 15, 100)

Label: , , , ,

Kamis, 04 November 2010

Fungsi Terbilang

Jika anda pernah melihat lembaran kwitansi, pastinya ada kolom 'Terbilang' yang digunakan untuk menuliskan nominal uang dalam bentuk kata. Fungsi berikut ini digunakan untuk mengubah nominal angka menjadi kata-kata / terbilang, lengkap dengan nilai desimalnya. Misalkan nominal 1500, maka hasilnya adalah 'seribu lima ratus'

Buat sebuah Module baru dan ketikkan : (khusus VB .NET, gantikan kode yang berwarna merah dengan kode System.Math.Abs)
Private Function KeKata(ByVal n As Double)
Dim t As String
Dim Angka() As String
Angka = Split(",satu,dua,tiga,empat,lima,enam,tujuh,delapan,sembilan,sepuluh,sebelas", ",")

If n < 12 Then
t = " " & Angka(n)
ElseIf n < 20 Then
t = KeKata(n - 10) & " belas"
ElseIf n < 100 Then
t = KeKata(n \ 10) & " puluh" & KeKata(n Mod 10)
ElseIf n < 200 Then
t = " seratus" & KeKata(n - 100)
ElseIf n < 1000 Then
t = KeKata(n \ 100) & " ratus" & KeKata(n Mod 100)
ElseIf n < 2000 Then
t = " seribu" & KeKata(n - 1000)
ElseIf n < 1000000 Then
t = KeKata(n \ 1000) & " ribu" & KeKata(n Mod 1000)
ElseIf n < 1000000000 Then
t = KeKata(n \ 1000000) & " juta" & KeKata(n Mod 1000000)
ElseIf n < 1000000000000# Then
t = KeKata(Fix(n / 1000000000)) & " milyar" & KeKata(n - (Fix(n / 1000000000) * 1000000000))
ElseIf n < 1E+15 Then
t = KeKata(Fix(n / 1000000000000#)) & " trilyun" & KeKata(n - (Fix(n / 1000000000000#) * 1000000000000#))
End If

KeKata = t
End Function

Private Function KeKataDesimal(ByVal n As Double)
Dim t As String, s As String, d As String, i As Integer
Dim Angka() As String
d = Mid(5 / 2, 2, 1)
Angka = Split("nol,satu,dua,tiga,empat,lima,enam,tujuh,delapan,sembilan", ",")

s = Split(n, d)(1)
For i = 1 To Len(s)
t = t & " " & Angka(Mid(s, i, 1))
Next

KeKataDesimal = t
End Function

Public Function Terbilang(ByVal Nilai As Double, Optional ByVal AwalKapital As Boolean = False)
Dim s As String, n As Double, d As String
d = Mid(5 / 2, 2, 1)
n = Abs(Nilai)

If InStr(Nilai, d) Then
s = KeKata(n) & " koma " & KeKataDesimal(n)
Else
s = KeKata(n)
End If

If Nilai < 0 Then s = "minus " & s

s = Trim(Replace(s, "  ", " "))

Terbilang = IIf(AwalKapital = True, StrConv(s, 3), s)
End Function

Untuk menggunakannya ketikkan :
s = Terbilang(5500)

Label: , , , ,

Fungsi Pecahan Uang

Fungsi ini digunakan untuk mengetahui rincian pecahan / recehan mata uang dari suatu nilai nominal uang. Misalkan nilai nominalnya 1550, maka rincian pecahannya adalah 1 Seribuan, 1 Lima ratusan, 1 Lima puluhan. Fungsi ini sangat cocok bila dipadukan dengan aplikasi pembayaran, semisal aplikasi kasir.

Buat sebuah Module baru dan ketikkan :
Dim Nominal(10) As Double, NamaNominal(10) As String

Public Function PecahanUang(ByVal Nilai As Double, Optional ByVal Pemisah As String = ", ") As String
Dim i As Integer, t As String, s As Double 'sisa

If Nominal(0) = 0 Then 'harus mulai dari yang terbesar s/d terkecil
Nominal(0) = 100000: NamaNominal(0) = "Seratus ribuan"
Nominal(1) = 50000: NamaNominal(1) = "Lima puluh ribuan"
Nominal(2) = 20000: NamaNominal(2) = "Dua puluh ribuan"
Nominal(3) = 10000: NamaNominal(3) = "Sepuluh ribuan"
Nominal(4) = 5000: NamaNominal(4) = "Lima ribuan"
Nominal(5) = 2000: NamaNominal(5) = "Dua ribuan"
Nominal(6) = 1000: NamaNominal(6) = "Seribuan"
Nominal(7) = 500: NamaNominal(7) = "Lima ratusan"
Nominal(8) = 200: NamaNominal(8) = "Dua ratusan"
Nominal(9) = 100: NamaNominal(9) = "Seratusan"
Nominal(10) = 50: NamaNominal(10) = "Lima puluhan"
End If

For i = 0 To UBound(Nominal)
If (Nilai >= Nominal(i)) Then
t = Format(Fix(Nilai / Nominal(i)), "#,#") & " " & NamaNominal(i)
s = Nilai - (Fix(Nilai / Nominal(i)) * Nominal(i))
Exit For
End If
Next

If (s <> 0) And (s >= Nominal(UBound(Nominal))) Then t = t & Pemisah & PecahanUang(s, Pemisah)

PecahanUang = t
End Function

Untuk menggunakannya ketikkan :
s = PecahanUang(5500)

Label: , , , ,

Selasa, 02 November 2010

Fungsi Format

Fungsi format digunakan untuk mengubah struktur atau tampilan suatu data. Fungsi format memiliki berbagai varian, diataranya adalah :

1. Format(x,n) , fungsi ini merupakan fungsi format yang umum dan bisa digunakan untuk berbagai macam tipe data, tapi kebanyakan digunakan untuk tipe data angka dan tanggal&waktu. Fungsi ini akan merubah data x berdasarkan nilai n. Berikut contoh penggunaannya :

ANGKA
Nilai masukan / input dalam Visual Basic harus menggunakan karakter Inggris, yang berbeda dengan karakter Indonesia. Dimana karakter Inggris menggunakan tanda titik (".") sebagai tanda desimalnya, dan tanda koma (",") sebagai tanda pemisah ribuannya.
Sedangkan untuk nilai hasilnya / output akan menggunakan karakter yang sama dengan settingan karakter komputer (untuk contoh dibawah ini, komputer menggunakan settingan karakter Indonesia).
Format(127500.67, "#,#") hasilnya 127.501
Format(127500.67, "#,#.000") hasilnya 127.500,670
Format(127500.67, "Currency") hasilnya Rp127.501
Format(127500.67, "Rp #,#.00") hasilnya Rp 127.500,67
Format(127500.67, "#,#.00 rupiah") hasilnya 127.500,67 rupiah
Format(127500.67, "0,00E+00") hasilnya 128E+03
Format(0.5, "0%") hasilnya 50%

TANGGAL & WAKTU
Dalam contoh ini digunakan fungsi Now sebagai pengganti nilai input-nya.
Format(Now, "dddd") hasilnya Minggu
Format(Now, "long date") hasilnya 31 Oktober 2010
Format(Now, "short date") hasilnya 31/10/2010
Format(Now, "dd-MM-yyyy") hasilnya 31-10-2010
Format(Now, "dd-MMM-yyyy") hasilnya 31-Okt-2010
Format(Now, "dddd, dd MMMM yyyy") hasilnya Minggu, 31 Oktober 2010
Format(Now, "long time") hasilnya 3:12:57
Format(Now, "short time") hasilnya 3:12
Format(Now, "h:mm:ss") hasilnya 3:12:57
Format(Now, "hh:mm:ss") hasilnya 03:12:57



2. FormatNumber dan FormatCurrency , fungsi ini merupakan fungsi format yang dikhususkan untuk data angka. Perbedaan FormatNumber dengan Format Currency terletak pada penambahan simbol mata uang dan karakter default bentuk negatifnya. Contoh :
FormatNumber(1250000, 2) hasilnya 1.250.000,00
FormatCurrency(1250000, 2) hasilnya Rp1.250.000,00
FormatNumber(-1250000, 2) hasilnya -1.250.000,00
FormatCurrency(-1250000, 2) hasilnya (Rp1.250.000,00)

Label: , , ,

Rabu, 27 Oktober 2010

Fungsi-fungsi String

Dalam Visual Basic terdapat banyak fungsi yang digunakan untuk mengolah data bertipe string. Berikut ini adalah penjelasan tentang fungsi-fungsi string yang sering digunakan.
  • LCase(x) , digunakan untuk mengubah semua huruf dalam string x menjadi kecil semua. Contoh:
    s = LCase("Aku Bisa") , maka nilai s adalah "aku bisa"

  • UCase(x) , digunakan untuk mengubah semua huruf dalam string x menjadi besar semua. Contoh:
    s = LCase("Aku Bisa") , maka nilai s adalah "AKU BISA"

  • Left(x,n) , digunakan untuk mengambil karakter dari string x yang dimulai dari kiri sebanyak n. Contoh:
    VB 6.0, s = Left("Aku Bisa", 3)
    VB .NET, s = Strings.Left("Aku Bisa", 3)
    maka nilai s adalah "Aku"

  • Right(x,n) , digunakan untuk mengambil karakter dari string x yang dimulai dari kanan sebanyak n. Contoh:
    VB 6.0, s = Right("Aku Bisa", 3)
    VB .NET, s = Strings.Right("Aku Bisa", 3)
    maka nilai s adalah "isa"

  • Mid(x,m,n) , digunakan untuk mengambil karakter dari string x yang dimulai dari karakter ke m sebanyak n. Contoh:
    s = Mid("Aku Bisa", 2, 2) , maka nilai s adalah "ku"

  • LTrim(x) , digunakan untuk menghapus karakter spasi di bagian kiri dari string x.
    Contoh: s = LTrim("     Aku Bisa     ") , maka nilai s adalah "Aku Bisa     "

  • RTrim(x) , digunakan untuk menghapus karakter spasi di bagian kanan dari string x.
    Contoh: s = RTrim("     Aku Bisa     ") , maka nilai s adalah "     Aku Bisa"

  • Trim(x) , digunakan untuk menghapus karakter spasi di bagian kiri dan kanan dari string x. Contoh:
    s = Trim("     Aku Bisa     ") , maka nilai s adalah "Aku Bisa"

  • Len(x) , digunakan untuk menghitung jumlah karakter dari string x. Contoh:
    s = Len("Aku Bisa") , maka nilai s adalah 8.

  • String(n,x) , digunakan untuk membuat karakter x sebanyak n. Contoh:
    VB 6.0,  s = String(10, "A")
    VB .NET, s = New String("A", 10)
    maka nilai s adalah "AAAAAAAAAA"

  • Space(n) , digunakan untuk membuat karakter spasi sebanyak n. Contoh:
    s = Space(10) , maka nilai s adalah "          "

  • Asc(x) , digunakan untuk mengetahui nilai ASCII dari karakter x. Contoh:
    s = Asc("A") , maka nilai s adalah 65

  • Chr(x) , digunakan untuk mengetahui karakter dari nilai ASCII x. Contoh:
    s = Chr(65) , maka nilai s adalah "A"

  • InStr(x,n) , digunakan untuk mengetahui posisi karakter n didalam string x. Contoh:
    s = InStr("Aku Bisa", "u") , maka nilai s adalah 3

  • StrComp(x,y,n) , digunakan untuk membandingkan string x dan string y berdasarkan n. Jika n bernilai 0 maka akan dibandingkan secara case-sensitive, sedangkan jika n bernilai 1 maka akan dibandingkan secara biasa. Contoh:
    s = StrComp("Aku", "aku", 0) , maka nilai s adalah -1
    s = StrComp("Aku", "aku", 1) , maka nilai s adalah 0
    Khusus untuk fungsi ini, jika menghasilkan nilai 0 maka dianggap sebagai True, dan jika menghasilkan nilai selain 0 maka dianggap False.

  • StrConv(x,n) , digunakan untuk mengubah huruf dalam string x berdasarkan nilai n. Contoh:
    s = StrConv("Aku Bisa", 1) , maka nilai s adalah "AKU BISA"
    s = StrConv("Aku Bisa", 2) , maka nilai s adalah "aku bisa"
    s = StrConv("aku bisa", 3) , maka nilai s adalah "Aku Bisa"

  • StrReverse(x) , digunakan untuk membalikkan posisi huruf dalam string x. Contoh:
    s = StrReverse("Aku Bisa") , maka nilai s adalah "asiB ukA"

  • Replace(x,m,n) , digunakan untuk menggantikan karakter m dalam string x dengan karakter n. Contoh:
    s = Replace("Kamu Juga Bisa", "a", "o") , maka nilai s adalah "Komu Jugo Biso"

  • Split(x,n)(i) , digunakan untuk memecah string x berdasarkan karakter n dengan penomoran i. Contoh:
    s = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")(0) , maka nilai s adalah "Kuda"
    s = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")(1) , maka nilai s adalah "Kerbau"
    s = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")(4) , maka nilai s adalah "Macan"

  • Join(x,n) , digunakan untuk menggabungkan rangkain string x yang dihubungkan dengan string n. Contoh:
    VB6, s = Join(Array("Hani", "Indah", "Budi", "Herman"), " & ")
    VB.NET, s = Join(New Object() {"Hani", "Indah", "Budi", "Herman"}, " & ")
    maka nilai s adalah "Hani & Indah & Budi & Herman"



Fungsi-fungsi diatas juga dapat djadikan fungsi lain diantaranya adalah :
  1. Mengecek keberadaan string dalam string. Misalnya Anda ingin memeriksa ada tidaknya string "a" dalam string "anda berhasil", maka kodenya adalah :
    If CBool(InStr("anda berhasil", "a")) Then
    'jika ada
    Else
    'jika tidak ada
    End If
  2. Menghitung karakter tertentu dalam string. Misalnya Anda ingin menghitung karakter "a" dalam string "anda berhasil", maka kodenya adalah :
    t = "anda berhasil"
    s = Len(t) - Len(Replace(t, "a", ""))
    maka nilai s adalah 3

  3. Menghitung jumlah kata dalam string. Misalnya Anda ingin menghitung jumlah kata dalam string "anda berhasil", maka kodenya adalah :
    s = UBound(Split("anda berhasil", " ")) + 1
    maka nilai s adalah 2

  4. Menghilangkan karakter tertentu dalam string. Misalnya Anda ingin menghilangkan karakter "a" dalam string "anda berhasil", maka kodenya adalah :
    s = Replace("anda berhasil", "a", "")
    maka nilai s adalah "nd berhsil"

  5. Mengisi variabel array dinamis dengan string. Contoh kodenya sebagai berikut :
    Dim Binatang() As String
    Binatang = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")
    maka variabel Binatang memiliki 5 index (0-4) dengan rincian:
    nilai Binatang(0) = "Kuda"
    nilai Binatang(1) = "Kerbau"
    nilai Binatang(2) = "Sapi"
    nilai Binatang(3) = "Kambing"
    nilai Binatang(4) = "Macan"



CATATAN : Dalam beberaa fungsi string, terdapat optional property 'CompareMethod'. Bila properti ini bernilai Binary, maka fungsi tersebuat melakukan metode case-sensitive terhadap string. Sedangkan bila bernilai Text, maka fungsi tersebuat tidak melakukan metode case-sensitive.

Label: , , ,