Fungsi Terbilang di VB6 dan VB.NET
Fungsi "terbilang" digunakan untuk mengonversi angka menjadi teks yang merepresentasikan nilai angka tersebut dalam kata-kata. Misalnya, angka 123 menjadi "Seratus Dua Puluh Tiga". Berikut adalah panduan untuk membuat fungsi terbilang baik di VB6 maupun VB.NET.
Fungsi Terbilang di VB6
VB6 (Visual Basic 6) tidak memiliki fungsi bawaan untuk konversi angka ke teks. Anda perlu membuat fungsi khusus. Berikut adalah contoh implementasi sederhana:
Kode Fungsi Terbilang di VB6
Function Terbilang(ByVal Angka As Double) As String
Dim Bilangan As Variant
Dim Satuan() As String
Dim Hasil As String
Dim i As Integer
' Definisi angka dalam kata
Satuan = Split("Nol Satu Dua Tiga Empat Lima Enam Tujuh Delapan Sembilan", " ")
Bilangan = Array("", "Ribu", "Juta", "Miliar", "Triliun")
If Angka = 0 Then
Terbilang = "Nol"
Exit Function
End If
Hasil = ""
For i = 0 To UBound(Bilangan)
Dim Bagian As Integer
Bagian = Int(Angka / (10 ^ (3 * i))) Mod 1000
If Bagian > 0 Then
Dim Ratusan As Integer, Puluhan As Integer, SatuanAngka As Integer
Ratusan = Int(Bagian / 100)
Puluhan = Int((Bagian Mod 100) / 10)
SatuanAngka = Bagian Mod 10
If Ratusan > 0 Then
If Ratusan = 1 Then
Hasil = Hasil & " Seratus"
Else
Hasil = Hasil & " " & Satuan(Ratusan) & " Ratus"
End If
End If
If Puluhan > 1 Then
Hasil = Hasil & " " & Satuan(Puluhan) & " Puluh"
If SatuanAngka > 0 Then
Hasil = Hasil & " " & Satuan(SatuanAngka)
End If
ElseIf Puluhan = 1 Then
If SatuanAngka = 0 Then
Hasil = Hasil & " Sepuluh"
ElseIf SatuanAngka = 1 Then
Hasil = Hasil & " Sebelas"
Else
Hasil = Hasil & " " & Satuan(SatuanAngka) & " Belas"
End If
Else
If SatuanAngka > 0 Then
Hasil = Hasil & " " & Satuan(SatuanAngka)
End If
End If
Hasil = Hasil & " " & Bilangan(i)
End If
Next i
Terbilang = Trim(Hasil)
End Function
Cara Menggunakan Fungsi di VB6
- Salin fungsi di atas ke modul atau form Anda.
- Gunakan fungsi dengan memanggilnya seperti berikut:
Dim Hasil As String Hasil = Terbilang(123) MsgBox Hasil ' Output: Seratus Dua Puluh Tiga
Fungsi Terbilang di VB.NET
Di VB.NET, logika yang serupa dapat digunakan dengan beberapa penyesuaian karena fitur-fitur modern dalam bahasa ini.
Kode Fungsi Terbilang di VB.NET
Public Function Terbilang(ByVal angka As Double) As String
Dim satuan As String() = {"Nol", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan"}
Dim bilangan As String() = {"", "Ribu", "Juta", "Miliar", "Triliun"}
If angka = 0 Then Return "Nol"
Dim hasil As String = ""
Dim i As Integer = 0
While angka > 0
Dim bagian As Integer = CInt(Math.Floor(angka / (10 ^ (3 * i))) Mod 1000)
If bagian > 0 Then
Dim ratusan As Integer = Math.Floor(bagian / 100)
Dim puluhan As Integer = Math.Floor((bagian Mod 100) / 10)
Dim satuanAngka As Integer = bagian Mod 10
If ratusan > 0 Then
If ratusan = 1 Then
hasil = "Seratus " & hasil
Else
hasil = satuan(ratusan) & " Ratus " & hasil
End If
End If
If puluhan > 1 Then
hasil = satuan(puluhan) & " Puluh " & If(satuanAngka > 0, satuan(satuanAngka), "") & " " & hasil
ElseIf puluhan = 1 Then
If satuanAngka = 0 Then
hasil = "Sepuluh " & hasil
ElseIf satuanAngka = 1 Then
hasil = "Sebelas " & hasil
Else
hasil = satuan(satuanAngka) & " Belas " & hasil
End If
ElseIf satuanAngka > 0 Then
hasil = satuan(satuanAngka) & " " & hasil
End If
hasil = hasil & bilangan(i) & " "
End If
i += 1
angka = Math.Floor(angka / 1000)
End While
Return hasil.Trim()
End Function
Cara Menggunakan Fungsi di VB.NET
- Tambahkan fungsi di atas ke dalam kelas atau modul Anda.
- Panggil fungsi seperti berikut:
Dim hasil As String hasil = Terbilang(123) MessageBox.Show(hasil) ' Output: Seratus Dua Puluh Tiga
Perbandingan VB6 vs VB.NET untuk Fungsi Terbilang
| Fitur | VB6 | VB.NET |
|---|---|---|
| Bahasa | Lebih sederhana | Lebih modern |
| Pengelolaan String | Menggunakan Trim manual |
Memanfaatkan String.Trim modern |
| Kemampuan | Terbatas, cocok untuk aplikasi lama | Lebih fleksibel untuk aplikasi modern |
| Performance | Cukup baik | Lebih cepat dengan fitur modern |
Kesimpulan
- Fungsi Terbilang dapat membantu mengonversi angka ke teks di VB6 dan VB.NET dengan pendekatan yang serupa.
- VB.NET lebih modern dan mendukung fitur-fitur seperti
Math.Floordan array dinamis. - Gunakan VB.NET jika Anda membangun aplikasi baru, tetapi jika masih menggunakan aplikasi lama berbasis VB6, fungsi tersebut tetap relevan.
Jika Anda membutuhkan penyesuaian atau fitur tambahan pada fungsi ini, jangan ragu untuk bertanya! 😊
Komentar
Posting Komentar