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

  1. Salin fungsi di atas ke modul atau form Anda.
  2. 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

  1. Tambahkan fungsi di atas ke dalam kelas atau modul Anda.
  2. 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.Floor dan 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

Postingan populer dari blog ini

Koneksi VB - My SQL tanpa ODBC

Membuat Game Pukul Bola Sederhana dengan Visual Basic

Visual Basic 6.0: Pengantar, Fitur, dan Kelebihannya