Mungkin para teman-teman developer VB .Net diminta oleh perusahaannya untuk membuat fungsi terbilang yang akan tercetak apabila di Print.
Berikut ini kode fungsi terbilang menggunakan VB .Net
- - Buatlah sebuah module
- - Ketikkan kode dibawah
Fungsi Ambil Koma
1: Public Function AmbilSblmKoma(ByVal NilaiNya As Decimal) As Decimal
2: Dim hSl As Decimal
3:
4: hSl = Left(NilaiNya, InStr(NilaiNya, ",") - 1)
5: Return hSl
6: End Function
Fungsi Konversi
1: Option Explicit On
2: Module module_terbilang
3:
4: Public Function TERBILANG(ByVal x As Double) As String
5: Dim tampung As Double
6: Dim teks As String
7: Dim bagian As String
8: Dim i As Integer
9: Dim tanda As Boolean
10:
11: Dim letak(5)
12: letak(1) = "RIBU "
13: letak(2) = "JUTA "
14: letak(3) = "MILYAR "
15: letak(4) = "TRILYUN "
16:
17: If (x < 0) Then
18: TERBILANG = ""
19: Exit Function
20: End If
21:
22: If (x = 0) Then
23: TERBILANG = "NOL"
24: Exit Function
25: End If
26:
27: If (x < 2000) Then
28: tanda = True
29: End If
30: teks = ""
31:
32: If (x >= 1.0E+15) Then
33: TERBILANG = "NILAI TERLALU BESAR"
34: Exit Function
35: End If
36:
37: For i = 4 To 1 Step -1
38: tampung = Int(x / (10 ^ (3 * i)))
39: If (tampung > 0) Then
40: bagian = ratusan(tampung, tanda)
41: teks = teks & bagian & letak(i)
42: End If
43: x = x - tampung * (10 ^ (3 * i))
44: Next
45:
46: teks = teks & ratusan(x, False)
47: TERBILANG = teks & "RUPIAH"
48: End Function
49:
50: Function ratusan(ByVal y As Double, ByVal flag As Boolean) As String
51: Dim tmp As Double
52: Dim bilang As String
53: Dim bag As String
54: Dim j As Integer
55:
56: Dim angka(9)
57: angka(1) = "SE"
58: angka(2) = "DUA "
59: angka(3) = "TIGA "
60: angka(4) = "EMPAT "
61: angka(5) = "LIMA "
62: angka(6) = "ENAM "
63: angka(7) = "TUJUH "
64: angka(8) = "DELAPAN "
65: angka(9) = "SEMBILAN "
66:
67: Dim posisi(2)
68: posisi(1) = "PULUH "
69: posisi(2) = "RATUS "
70: bilang = ""
71: For j = 2 To 1 Step -1
72: tmp = Int(y / (10 ^ j))
73: If (tmp > 0) Then
74: bag = angka(tmp)
75: If (j = 1 And tmp = 1) Then
76: y = y - tmp * 10 ^ j
77: If (y >= 1) Then
78: posisi(j) = "BELAS "
79: Else
80: angka(y) = "SE"
81: End If
82: bilang = bilang & angka(y) & posisi(j)
83: ratusan = bilang
84: Exit Function
85: Else
86: bilang = bilang & bag & posisi(j)
87: End If
88: End If
89: y = y - tmp * 10 ^ j
90: Next
91:
92: If (flag = False) Then
93: angka(1) = "SATU "
94: End If
95: bilang = bilang & angka(y)
96: ratusan = bilang
97: End Function
98:
99: End Module
0 Komentar
Post a Comment