The following functions are one of the most commonly used functions for creating a project such as Sales and Inventory programs, as they usually need to generate transaction receipts.
Open a new project (Standard.Exe), in Form1 put 2 pieces of textbox for Name property leave with its default name.
Go to editor mode, click View -> Code, and enter the following code :
Public Function TerbilangDesimal(InputCurrency As String, Optional MataUang As String = "rupiah") As String Dim strInput As String Dim strBilangan As String Dim strPecahan As String On Error GoTo Pesan Dim strValid As String, huruf As String * 1 Dim i As Integer 'Periksa setiap karakter yg diketikkan ke kotak 'UserID strValid = "1234567890," For i% = 1 To Len(InputCurrency) huruf = Chr(Asc(Mid(InputCurrency, i%, 1))) If InStr(strValid, huruf) = 0 Then Set AngkaTerbilang = Nothing MsgBox "Harus karakter angka!", _ vbCritical, "Karakter Tidak Valid" Exit Function End If Next i% If InputCurrency = "" Then Exit Function If Len(Trim(InputCurrency)) > 15 Then GoTo Pesan strInput = CStr(InputCurrency) 'Konversi ke string 'Periksa apakah ada tanda "," jika ya berarti pecahan If InStr(1, strInput, ",", vbBinaryCompare) Then strBilangan = Left(strInput, InStr(1, strInput, _ ",", vbBinaryCompare) - 1) 'strBilangan = Right(strInput, InStr(1, strInput, _ ' ".", vbBinaryCompare) - 2) strPecahan = Trim(Right(strInput, Len(strInput) - Len(strBilangan) - 1)) If MataUang <> "" Then If CLng(Trim(strPecahan)) > 99 Then strInput = Format(Round(CDbl(strInput), 2), "#0.00") strPecahan = Format((Right(strInput, Len(strInput) - Len(strBilangan) - 1)), "00") End If If Len(Trim(strPecahan)) = 1 Then strInput = Format(Round(CDbl(strInput), 2), _ "#0.00") strPecahan = Format((Right(strInput, _ Len(strInput) - Len(strBilangan) - 1)), "00") End If If CLng(Trim(strPecahan)) = 0 Then TerbilangDesimal = (KonversiBilangan(strBilangan) & MataUang & " " & KonversiBilangan(strPecahan)) Else TerbilangDesimal = (KonversiBilangan(strBilangan) & MataUang & " " & KonversiBilangan(strPecahan) & "sen") End If Else TerbilangDesimal = (KonversiBilangan(strBilangan) & "koma " & KonversiPecahan(strPecahan)) End If Else TerbilangDesimal = (KonversiBilangan(strInput)) End If Exit Function Pesan: TerbilangDesimal = "(maksimal 15 digit)" End Function
'Fungsi ini untuk mengkonversi nilai pecahan (setelah 'angka 0) Private Function KonversiPecahan(strAngka As String) As String Dim i%, strJmlHuruf$, Urai$, Kar$ If strAngka = "" Then Exit Function strJmlHuruf = Trim(strAngka) Urai = "" Kar = "" For i = 1 To Len(strJmlHuruf) 'Tampung setiap satu karakter ke Kar Kar = Mid(strAngka, i, 1) Urai = Urai & Kata(CInt(Kar)) Next i KonversiPecahan = Urai End Function
'Fungsi ini untuk menterjemahkan setiap satu angka ke 'kata Private Function Kata(angka As Byte) As String Select Case angka Case 1: Kata = "satu " Case 2: Kata = "dua " Case 3: Kata = "tiga " Case 4: Kata = "empat " Case 5: Kata = "lima " Case 6: Kata = "enam " Case 7: Kata = "tujuh " Case 8: Kata = "delapan " Case 9: Kata = "sembilan " Case 0: Kata = "nol " End Select End Function
'Ini untuk mengkonversi nilai bilangan sebelum pecahan Private Function KonversiBilangan(strAngka As String) As String Dim strJmlHuruf$, intPecahan As Integer, strPecahan$, Urai$, Bil1$, strTot$, Bil2$ Dim X, Y, z As Integer If strAngka = "" Then Exit Function strJmlHuruf = Trim(strAngka) X = 0 Y = 0 Urai = "" While (X < Len(strJmlHuruf)) X = X + 1 strTot = Mid(strJmlHuruf, X, 1) Y = Y + Val(strTot) z = Len(strJmlHuruf) - X + 1 Select Case Val(strTot) 'Case 0 ' Bil1 = "NOL " Case 1 If (z = 1 Or z = 7 Or z = 10 Or z = 13) Then Bil1 = "satu " ElseIf (z = 4) Then If (X = 1) Then Bil1 = "se" Else Bil1 = "satu " End If ElseIf (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then X = X + 1 strTot = Mid(strJmlHuruf, X, 1) z = Len(strJmlHuruf) - X + 1 Bil2 = "" Select Case Val(strTot) Case 0 Bil1 = "sepuluh " Case 1 Bil1 = "sebelas " Case 2 Bil1 = "dua belas " Case 3 Bil1 = "tiga belas " Case 4 Bil1 = "empat belas " Case 5 Bil1 = "lima belas " Case 6 Bil1 = "enam belas " Case 7 Bil1 = "tujuh belas " Case 8 Bil1 = "delapan belas " Case 9 Bil1 = "sembilan belas " End Select Else Bil1 = "se" End If Case 2 Bil1 = "dua " Case 3 Bil1 = "tiga " Case 4 Bil1 = "empat " Case 5 Bil1 = "lima " Case 6 Bil1 = "enam " Case 7 Bil1 = "tujuh " Case 8 Bil1 = "delapan " Case 9 Bil1 = "sembilan " Case Else Bil1 = "" End Select If (Val(strTot) > 0) Then If (z = 2 Or z = 5 Or z = 8 Or z = 11 Or z = 14) Then Bil2 = "puluh " ElseIf (z = 3 Or z = 6 Or z = 9 Or z = 12 Or z = 15) Then Bil2 = "ratus " Else Bil2 = "" End If Else Bil2 = "" End If If (Y > 0) Then Select Case z Case 4 Bil2 = Bil2 + "ribu " Y = 0 Case 7 Bil2 = Bil2 + "juta " Y = 0 Case 10 Bil2 = Bil2 + "milyar " Y = 0 Case 13 Bil2 = Bil2 + "trilyun " Y = 0 End Select End If Urai = Urai + Bil1 + Bil2 Wend KonversiBilangan = Urai End Function
Private Sub Text1_Change() 'Isi besar nilai angka diulangi 'dengan terbilang huruf... Text2.Text = TerbilangDesimal(Text1.Text) End Sub
Run the project (press F5) and try to enter some number of values into the first textbox, then the second textbox will generate a sentence counted from the number of numbers you enter.
Good luck.
Be My Friend On Facebook
7 comments
commentsnambah pelajaran baru nih...txs sob...
Replyoke sob, sama2, thank's atas comment nya
ReplyTERIMA KASIH BANYAK
Replymakasih, insya Allah berkah buat lho
ReplyTeman - teman kesulitan untuk Belajar Komputer karena kesibukan? kini kami memfasilitasi kursus komputer jarak jauh via online, silahkan kunjungi website kami di asianbrilliant.com, Kursus Online
ReplyAyah, Bunda..butuh guru untuk mengajar anak-anak dirumah ? kami memfasilitasi 1000 guru untuk anak-anak ayah dan bunda datang kerumah, silahkan kunjungi website kami di smartsuksesprivate.com,Bimbingan Belajar,Les Private
terimakasih banyak mas admin, ini sangat membantu sekali. akhirnya pekerjaan sy terselasaikan.
ReplyAda sedikit yang tidak saya fahami bang, bila angkanya bulat tanpa ada angka dibelakang koma, rupiahnya ga mau muncul. Misal: 123000 maka cuma tertulis "seratus dua puluh tiga ribu", tanpa rupiah. mohon pencerahan nya.
Reply