Astawan’s World

Icon

Just To Remember Something That I Ever Know

VB6 : Angka Terbilang Library – Penerjemah angka kedalam kata-kata

Angka Terbilang Library (KWATerbilang6.dll) adalah library yang berfungsi untuk menerjemahkan angka kedalam bentuk kata-kata untuk VB 6. Fungsi dan penggunaanya hampir sama dengan KWATebilang.dll untuk .Net (VB 2005 : Angka Terbilang Library – Penerjemah angka kedalam kata-kata).
Library dapat didownload di http://astawan008.googlepages.com/KWATerbilang6.dll dan bebas digunakan pada project anda, baik komersil maupun tidak.

Jika ada bug error silahkan anda kirim bug error tersebut ke email saya di astawan008@gmail.com

Silahkan download dan copy file KWATerbilang6.dll ke komputer anda, lalu load library melalui menu Project – Reference, tekan tombol Browse, lalu cari file library yang telah anda copy tadi, jika telah ditemukan, pilih dan tekan tombol OK, setelah itu akan daftar Available Reference akan muncul KWATerbilang Library for VB 6.

Cara lain untuk meregistrasikan library adalah, copy library ke direktori sistem anda (ex: c:\windows\system32), lalu masuk ke Command Prompt kemudian ketikan regsvr32  c:\windows\system32\KWATerbilang6.dll, tekan Enter.

Contoh coding penerapan pada aplikasi VB 6:

Sub main()
    ' buat object instant dari kwaTerbilang
    Dim at As New KwaTerbilang6.cKWATerbilang

    Dim angka As Double
    Dim angkaTerbilang As String

    angka = 1545600
    ' terjemahkan angka menggunakan method KwaTerbilang
    angkaTerbilang = at.KwaTerbilang(angka)

    ' hasilnya adalah "Satu Juta Lima Ratus Empat Puluh Lima Ribu Enam Ratus"
End Sub

Filed under: VB 6

VB 2005 : Angka Terbilang Library – Penerjemah angka kedalam kata-kata

Angka Terbilang Library (KWATerbilang.dll) adalah library yang berfungsi untuk menerjemahkan angka kedalam bentuk kata-kata.
Contoh : 25,000 menjadi Dua Puluh Lima Ribu, 160,500 menjadi Seratus Enam Puluh Ribu Lima Ratus.

Penerjemah ini biasa saya gunakan pada modul cetak kwitansi pembayaran yang biasanya berisi terbilang dari jumlah yang dibayarkan.

Library ini dibuat menggunakan VB 2005 yang tentunya berbasis .Net Framework 2.0 dan telah diterapkan dibeberapa project yang menggunakan VB 2005. untuk VB 2003 yang berbasis .Net Framework 1.0 dan VB 2008 yang berbasis .Net Framework 3.0/3.5 saya belum pernah mengetesnya, tetapi seharusnya berjalan normal, karena dibuat menggunakan bahasa standar VB .Net. Library ini tidak bisa digunakan pada VB 6, karena banyak perbedaan yang signifikan diantara versi VB tersebut.

Range angka yang dapat ditangani adalah bilangan bulan antara 0 - triliun, karena diatas itu saya nggak tau lagi istilahnya dan juga nggak bisa membayangkan kalau punya uang diatas nilai tersebut he..he..

Library dapat didownload di http://astawan008.googlepages.com/KWATerbilang.dll dan bebas digunakan pada project anda, baik komersil maupun tidak.

Jika ada bug error silahkan anda kirim bug error tersebut ke email saya di astawan008@gmail.com

Cara Penggunaan  Library

Silahkan download dan copy file KWATerbilang.dll ke komputer anda, lalu load library melalui menu Project – Add Reference, masuk ke tab Browse, lalu cari file library yang telah anda copy tadi, jika telah ditemukan, pilih dan tekan tombol OK.

Contoh coding penerapan pada aplikasi :

Sub main()
' buat object instant dari kwaTerbilang
    Dim at As New KwaTerbilang.cKWATerbilang

    Dim angka As Double
    Dim angkaTerbilang As String

    angka = 1545600
    ' terjemahkan angka menggunakan method KwaTerbilang
    angkaTerbilang = at.KwaTerbilang(angka)

    ' hasilnya adalah "Satu Juta Lima Ratus Empat Puluh Lima Ribu Enam Ratus"
End Sub

Filed under: VB .Net

2 Cara Bermain Dengan Array dalam Visual Basic .Net

VB .Net menghadirkan dua jenis array, yang pertama array normal yang kita dapat dengan mendeklarasikan sebuah variable menggunakan tanda (), yang kedua dengan cara membuat array objek dari class Array yang dibawa oleh VB.Net. Class Array menyediakan beberapa metode spesial untuk memanipulasi array seperti reversing, sorting dan searching.

Berikut adalah cara pertama yaitu dengan mendeklarasikan variable myArray dengan menambahkan karakter () dibelakang variable.

Private Sub firstArray()
 Dim myArray(10) As Integer
 For i As Integer = 0 To 10
  myArray(i) = i * i
 Next
 
 Dim txt As String = ""
 For i As Integer = 0 To 10
  txt &= myArray(i) & vbCrLf
 Next
 MsgBox(txt)
End Sub

Berikut adalah cara kedua yaitu dengan membuat objek myArray dari Class Array melalui method CreateInstance.

Private Sub secondArray()
 Dim myArray As Array = Array.CreateInstance(GetType(Integer), 11)</span>

<span style="font-size: 12pt; font-family: Arial;"> For i As Integer = 0 To 10
  myArray.SetValue(i * i, i)
 Next</span>

<span style="font-size: 12pt; font-family: Arial;"> Dim txt As String = ""
  For i As Integer = 0 To 10
  txt &= myArray.GetValue(i).ToString & vbCrLf
 Next
 MsgBox(txt)
End Sub

Untuk cara diatas jika Option Strict Off, kita dapat memberi nilai array dengan cara myArray(i) = i * I, tetapi jika Option Strict On kita harus menggunakan myArray.SetValue(i * i, i). Begitu pula dengan pengambilan nilai jika Option Strict Off, pengambilan nilai array dapat dilakukan dengan myArray(i).ToString, tetapi jika Option Strict On, maka pengambilan nilai harus melalui myArray.GetValue(i).ToString

 

Resizing

Untuk mengubah ukuran array normal kita dapat menggunakan keyword ReDim dan tambahkan keyword Preserve jika kita ingin mempetahankan nilai yang sudah ada.

Contoh :

Dim myArray(100) As Integer

 

Untuk mengubah ukuran menjadi 200 tetapi tidak ingin mempetahankan nilai yang sudah ada.

ReDim myArray(200) As Integer

 

Untuk mengubah ukuran menjadi 200 tetapi nilai yang sudah ada akan dipertahankan.

ReDim Preserve myArray(200) As Integer

 

Sedangkan untuk array objek kita tidak dapat merubah ukurannya yang sudah diset pada saat deklarasi, akan tetapi dapat diakali dengan cara mengcopy objek array ke objek array yang baru dengan catatan destination objek array length tidak lebih kecil dari pada source objek array.

Contoh :

Dim myArray As Array = Array.CreateInstance(GetType(Integer), 100)

Dim myArray1 As Array = Array.CreateInstance(GetType(Integer), 200)

myArray.CopyTo(myArray1, 0)

 

Speed

Dengan beberapa keunggulan yang dimiliki array objek seperti adanya reserving, sorting dan searching, mungkin kita akan lebih senang menggunakan array ini dari pada menggunakan array normal, akan tetapi sebelum menentukan pilihan akan lebih bijak jika kita mengetahui sedikit tentang kecepatan yang dimiliki oleh masing-masing jenis array.

 

Untuk masalah kecepatan, array dari variabel akan lebih cepat dari pada array objek, namun jika aplikasi anda mengolah array yang panjangnya hanya sampai ribuan, perbedaan kecepatan mungkin tidak berarti, tetapi akan berbeda jika panjang array yang anda olah sudah sampai jutaan, diposisi ini anda harus mempertimbangkan lebih baik menggunakan array variable dari pada array object.

 

Dari salah satu sumber yang pernah saya baca, untuk membuat 10 juta array 1-D dan 2-D, array normal membutuhkan waktu sekitar 0,1092 baik untuk array 1-D maupun array 2-D, sedangkan array objek membutuhkan waktu 1,2636 untuk array 1-D dan 1,4508 untuk array 2-D.

 

 

 

 

Filed under: VB 6

VB6: Mengetahui Apakah DSN/Database ODBC Driver Sudah Terinstall Atau Belum

Dalam membuat aplikasi khususnya yang berhubungan dengan database, tentunya kita tidak bisa menghindar dari apa yang namanya DSN atau Driver database atau ODBC Driver, karena mereka merupakan jembatan yang akan kita gunakan untuk mengakses dan memanipulasi data yang ada dalam database.
Mungkin kita tidak akan memperhatikan keberadaan driver tersebut jika kita membuat aplikasi menggunakan databasenya Ms Access (*.Mdb), untuk mengaksesnya biasanya kita menggunakan driver Microsoft Access Driver (*.Mdb) ataupun Driver do Microsoft Access (*.Mdb) yang natobene telah terinstall langsung saat kita menginstall OS Windows ataupun paket Office, tapi bagaimana jika database engine yang digunakan adalah MySql/PostgreSql/FireBird Sql.
Untuk MySql khususnya MySql versi 5.x, driver yang digunakan adalah MySql ODBC 3.51 Driver yang tidak akan atau belum terinstall saat kita menginstall OS Windows ataupun saat kita Menginstall MySql Server itu sendiri di suatu mesin. Driver MySql ODBC 3.51 Driver dapat diinstall dengan menginstall package MySQL ODBC 3.51 Driver yang dapat didownload dari website mysql.

Kembali ketopik pembahasan, saat aplikasi dijalankan dan akan membuat koneksi ke database maka aplikasi akan menggunakan driver tersebut, jika driver yang digunakan tersedia maka aplikasi akan dapat membuat koneksi, jika tidak tersedia maka aplikasi tidak akan dapat membuat koneksi ke database. Ibarat kita akan menyeberangi sungai yang lebar, dalam dan deras, untuk menyeberang kita butuh suatu jembatan ataupun perahu, nah disini driver database ibarat jembatan ataupun perahu tersebut.

Dengan pemasalahan diatas kita dapat membuat aplikasi kita sedikit smart yaitu pada saat akan membuat koneksi kedatabase kita dapat mengecek dahulu apakah driver yang kita gunakan sudah tersedia atau belum, bila perlu jika ternyata driver tidak tersedia aplikasi dapat kita otomatis menginstall sendiri driver yang dibutuhkan (Tergantung dari spesifikasi driver itu sendiri, jika driver yang kita gunakan adalah MySql ODBC 3.51, sangat bisa dan ini sudah saya aplikasikan sendiri)

Untuk VB 6, Library yang dapat anda gunakan adalah ODBC Driver & Data Source Name Functions yang ada pada file ODBCTOOL.dll, file ini biasanya tidak ada didirektori system windows tapi ada didirektori Program files\Microsoft Visual Studio\Common\Tools\APE, anda dapat meload langsung dari VB ataupun memindahkan dahulu ke windows system baru kemudian diload ke program.

Berikut adalah fungsi untuk mengecek driver :

Function cekDriverExists(driverName As String) As Boolean
    Dim ODBCTool As New ODBCTool.Dsn
    Dim Dsn() As String, i As Long
    If ODBCTool.GetOdbcDriverList(Dsn()) Then
        For i = 0 To UBound(Dsn)
            If LCase(Dsn(i)) = LCase(driverName) Then
                cekDriverExists = True
                Exit Function
            End If
        Next
    End If
End Function

berikut adalah sintak yang memanggil fungsi cekDriverExists untuk mengetahui apakah driver tersedia atau tidak :
Sub main()
    Dim driverName As String
    driverName = “MySql ODBC 3.51 Driver”
    If cekDriverExists(driverName) = True Then
        MsgBox “Driver ‘” & driverName & “‘ tersedia”, vbInformation
    Else
        MsgBox “Driver ‘” & driverName & “‘ tidak tersedia”, vbExclamation
    End If
End Sub

Filed under: VB 6

Coming soon… “VB 6 : Tutorial Membuat Package Program”

Salah satu aspek yang cukup penting dalam membuat program setelah fase coding dan testing adalah packaging, yaitu proses pengepakan aplikasi dan komponen-komponen atau library-library yang dibutuhkan oleh aplikasi tersebut, sehingga aplikasi dapat berjalan lancar disetiap komputer yang tidak terinstall Ms. Visual Basic.

Dulu sewaktu masih bekerja di Jogja, saya tidak pernah membuat package, karena saya sendiri dan team programmer yang langsung installasi program jika ada pemasangan baru, jagi nggak butuh package. Tetapi ditempat kerja sekarang berbeda, saya hanya cukup analisa program, coding dan sedikit testing, yang install orang lain sehingga package harus saya buat agar installer tidak kesulitan dalam instalasi program di customer.

Package akan dibuat menggunakan Packaging and Developmen Wizard yang biasanya sudah include saat kita intall Visual Basic 6.

Tutorial masih dalam proses pembuatan…

Filed under: VB 6

Kesempurnaan Juara Real Madrid

Pekan ke-36 menghadirkan salah satu partai paling panas di Spanyol yaitu Real Madrid bertemu Barcelona di Santiago Bernabeu. Partai yang berjuluk El Clasicco itu diawali dengan penghormatan oleh pemain-pemain Barcelona kepada para pemain El Real, karena pada pekan sebelumnya El Real telah memastikan gelar juara dapat mereka pertahankan setelah mengalahkan Osasuna. Pada akhir pertandingan ini pula akan diserahkan trofi La Liga kepada Real Madrid.

Pertandingan berakhir dengan skor 4-1 untuk tuan rumah.

Kesempurnaan Juara : Juara La Liga ke-31 + Mengalahkan Musuh Bebuyutan 4-1 + Perayaan didepan Musuh bebuyutan yang telah dihancurkan

Congratulation El Real …

Filed under: Uncategorized

VB6: Get Windows and System Directories

Untuk mengetahui nama Windows Direktori dan Windows System Direktori dari OS windows yang kita pakai dapat menggunakan funsi api yang telah tersedia.

Jika kita membuat project yang mungkin akan menggunakan kedua direktori tersebut, secara umum sebenarnya kita bisa saja langsung mengatakan atau memperkirakan direktori windows adalah C:\Windows akan tetapi bagaimana kalau ternyata diinstall didirektori d (D:\Windows) atau malah nama direktorinya bukan menggunakan nama Windows akan tetapi Windows00. Kemudian untuk direktori Windows System biasanya adalah C:\Windows\System32, tapi bagaimana kalau ternyata versi windowsnya bukan generasi NT (NT, 2000, XP, 2003, dst..) akan tetapi Windows 98, yang direktori systemnya adalah Windows System. Nah agar flexible kita dapat memanfaatkan funsi API seperti dibawah ini :

Buat module, kemudian copy code debawah ini :

Private Declare Function GetWindowsDirectory _
    Lib "kernel32" Alias "GetWindowsDirectoryA" ( _
        ByVal lpBuffer As String, _
        ByVal nSize As Long) _
    As Long

Private Declare Function GetSystemDirectory _
    Lib "kernel32" Alias "GetSystemDirectoryA" ( _
        ByVal lpBuffer As String, _
        ByVal nSize As Long) _
    As Long
Private Function GetSysDir() As String
    Dim Temp As String * 256
    Dim x As Integer
    x = GetSystemDirectory(Temp, Len(Temp))
    GetSysDir = Left$(Temp, x)
End Function

Private Function GetWinDir() As String
    Dim Temp As String * 256
    Dim x As Integer
    x = GetWindowsDirectory(Temp, Len(Temp))
    GetWinDir = Left$(Temp, x)
End Function

Cara menggunakan:
Dim WinDir As String
WinDir = GetWinDir

Dim WinSysDir as String
WinSysDir = GetSysDir

Pustaka :
http://www.vbexplorer.com/VBExplorer/tips/src29.asp

Filed under: VB 6

VB6 : Mengetahui Jumlah Hari Dalam Bulan

Untuk mengetahui berapa jumlah hari dalam sebulan adalah sebagai berikut :

Contoh :
Dim tanggal As Date
Dim jumHari as Integer
tanggal = #23/05/2008#
‘// cari tanggal akhir dalam bulan
jumHari = Day(DateSerial(Year(
tanggal), Month(tanggal) + 1, 0)) ‘// return 31

Filed under: VB 6

VB6: Mengetahui Tanggal Akhir Dalam Bulan

Berikut adalah cara praktis untuk mencari tanggal akhir dalam sebuah bulan.

Contoh :
Dim tanggal As Date
tanggal = #23/05/2008#
‘// cari tanggal akhir dalam bulan
tanggal = DateSerial(Year(tglX1), Month(tglX1) + 1, 0)
‘// return 31/05/2008

jika kita ingin tau tanggal terakhir bulan Januari 2008 adalah :
Dim result as Date
‘ Januari = 1 maka
result = DateSerial(2008, 1 + 1, 0) ‘ result = 31/01/2008

Filed under: VB 6