Selasa, 02 Agustus 2011

Cara Memformat Angka Menjadi Style Indonesia VB6

Berikut ini adalah cara memformat angka menjadi style Indonesia, yaitu antara  kelipatan ribuan dipisahkan dengan karakter titik, dan menambahkan dua digit bilangan nol di belakang koma. Jika Regional Setting di PC menggunakan setting US atau English atau default Internasional, maka jika menggunakan fungsi Format(50000, "#,#") atau jika menggunakan fungsi FormatNumber(50000, 2) hasilnya bisa menjadi:
50,000.00 atau jika setting PC Indonesia maka menjadi 50.000,00.
Fungsi buatan di bawah ini mengubahnya secara fix menjadi setting Indonesia, yaitu: 50.000,00 dan tidak terpengaruh dengan Regional Settings, apakah Internasional atau setting Indonesia di visual basic 6, untuk mempraktekannya siapkan :
1. Buat 1 Project baru dengan 1 Form, 1 Commandbutton, dan 1 TextBox
2. Copy-kan coding berikut ke dalam editor form yang bertalian.

          'Masukkan bilangan di Text1, lalu tekan Enter untuk

          'menampilkan angka dalam format Indonesia
          Private Sub Command1_Click()
            MsgBox FormatAngka(Text1.Text)
            Text1.SetFocus

            SendKeys "{Home}+{End}"
          End Sub

          Private Sub Text1_KeyPress(KeyAscii As Integer)

            Command1.Default = True
          End Sub

          'Parameter Angka bertipe Variant, untuk mengatasi
          'apakah input dalam tipe data apapun

          Public Function FormatAngka(Angka) As String

          'Variabel yang digunakan di fungsi
          Dim Jumlah As Integer, Jumlah1 As Integer

          Dim i As Integer, j As Integer, k As Integer
          Dim strAngka As String, strAngka1 As String
          Dim strAngkaFull As String
          Dim strTemp As String, strTemp1 As String

            
             'Tampung nilai angka ke dalam variabel string
             strAngka = CStr(Trim(Angka))
            
             'Karena parameternya bertipe angka bulat, maka tidak boleh

             'ada karakter lainnya (termasuk titik dan koma)
             'selain karakter angka saja...
             If InStr(1, strAngka, ".") > 0 Or _
                InStr(1, strAngka, ",") > 0 Or _

                Not IsNumeric(Angka) Then
                MsgBox "Harus bilangan bulat dan tidak" & vbCrLf & _
                       "boleh mengandung karakter" & vbCrLf & _
                       "titik atau koma.", _

                       vbCritical, "Bukan Bilangan Bulat"
                Exit Function
             End If
            
             'Tambahkan dua angka nol di belakang string strAngka

             strAngkaFull = strAngka & "00"
               
             'Tampung jumlah digit
             Jumlah = Len(Trim(strAngkaFull))

             'Inisialisasi untuk counter menghitung per karakter

             j = 0
             strTemp = ""
            
             'Ulangi setiap karakter mulai dari kanan ke kiri
             For i = Jumlah To 1 Step -1  'Step -1 = berkurang 1            
                j = j + 1   'Counter untuk semua karakter
                k = k + 1   'Counter untuk letak tanda titik
               
                'Tampung setiap satu karakter ke strTemp
                strTemp = strTemp & Mid(strAngkaFull, i, 1)
               
                'Jika counter = 2 (untuk letak tanda koma desimal)

                If j = 2 Then
                  
                   'Tambahkan karakter koma
                   strTemp = strTemp & ","
                  
                   'Inisialisasi kembali counter untuk titik
                   k = 0
                End If
               
                'Jika counter utk titik = 3 dan
                'belum mencapai digit akhir paling kiri (awal).
                'Hal ini untuk menghindari karakter titik di akhir...
                If k = 3 And i <> 1 Then

                   'Tambahkan karakter titik
                   strTemp = strTemp & "."
                  
                   'Inisialisasi kembali counter untuk

                   'menentukan posisi titik
                   k = 0
                  
                End If

             Next i  'Maju ke karakter berikutnya
            
             'Tampung jumlah karakter strTemp yang berasal
             'dari iterasi di atas ini

             Jumlah1 = Len(Trim(strTemp))
            
             'Iterasi berikut untuk membalikkan posisi bilangan
             For i = Jumlah1 To 1 Step -1
                strTemp1 = strTemp1 & Mid(strTemp, i, 1)
             Next i
            
             'Kembalikan nilai string yg fix ke fungsi FormatAngka
             FormatAngka = strTemp1
          End Function

Tags:
contoh program vb6, contoh fungsi di vb6, cara penggunaan fungsi vb, tutorial vb6, download tutorial vb6, vb6 tutorial download, dasar dasar vb6, belajar vb6, cara mudah belajar vb6, vb6 artikel download, vb6 blog, contoh program vb6, artikel vb6, semua tentang vb6, vb6 api, cara menggunakan module, cara menggunakan class module

Ditulis Oleh : Wahyu Aji // 06.20
Kategori:

0 komentar:

Posting Komentar