Senin, 02 Maret 2009

Membuat Fungsi Terbilang


terbilangMenjawab pertanyaan di artikel saya yang ini, saya langsung mencari arsip programming saya, karena dulu seingat saya pernah membuat fungsi tersebut untuk penulisan kuitansi. Setelah 2 jam cari-cari saya tidak juga menemukan fungsi yang telah saya tulis 5 tahun yang lalu, akhirnya saya mengambil jalan pintas saja, yaitu googling…

Sebetulnya pembuatan fungsi terbilang ini tidaklah susah jika kita mau menggunakan logika kita sedikit. Tapi sayang malam ini, logika saya juga baru ngga mau di ajak kompromi jadi saya akan membuat tutorial-nya saja step-by-step dan scriptnya saya mengambilnya di-sini lalu saya hanya merapikannya sedikit saja. Berikut langkah yang harus anda ambil:

  1. Buka Microsoft Excel.
  2. Tekan Alt + F11 untuk membuka VBA Editor, atau klik menu Tools -> Macro -> Visual Basic Editor.
    menu Visual Basic Editor
  3. Di Visual Basic Editor, klik menu Insert -> Module.
    Insert module menu
  4. Lalu copy-paste script ini ke bidang kerjanya:
    Public Function TERBILANG(x As Double) As String
    Dim tampung As Double
    Dim teks As String
    Dim bagian As String
    Dim i As Integer
    Dim tanda As Boolean

    Dim letak(5)
    letak(1) = "RIBU "
    letak(2) = "JUTA "
    letak(3) = "MILYAR "
    letak(4) = "TRILYUN "

    If (x < style="color: rgb(0, 0, 128);">Then
    TERBILANG = ""
    Exit Function
    End If

    If (x = 0) Then
    TERBILANG = "NOL"
    Exit Function
    End If

    If (x < style="color: rgb(0, 0, 128);">Then
    tanda = True
    End If
    teks = ""

    If (x >= 1E+15) Then
    TERBILANG = "NILAI TERLALU BESAR"
    Exit Function
    End If

    For i = 4 To 1 Step -1
    tampung = Int(x / (10 ^ (3 * i)))
    If (tampung > 0) Then
    bagian = ratusan(tampung, tanda)
    teks = teks & bagian & letak(i)
    End If
    x = x - tampung * (10 ^ (3 * i))
    Next

    teks = teks & ratusan(x, False)
    TERBILANG = teks
    End Function

    Function ratusan(ByVal y As Double, ByVal flag As Boolean) As String
    Dim tmp As Double
    Dim bilang As String
    Dim bag As String
    Dim j As Integer

    Dim angka(9)
    angka(1) = "SE"
    angka(2) = "DUA "
    angka(3) = "TIGA "
    angka(4) = "EMPAT "
    angka(5) = "LIMA "
    angka(6) = "ENAM "
    angka(7) = "TUJUH "
    angka(8) = "DELAPAN "
    angka(9) = "SEMBILAN "

    Dim posisi(2)
    posisi(1) = "PULUH "
    posisi(2) = "RATUS "

    bilang = ""
    For j = 2 To 1 Step -1
    tmp = Int(y / (10 ^ j))
    If (tmp > 0) Then
    bag = angka(tmp)
    If (j = 1 And tmp = 1) Then
    y = y - tmp * 10 ^ j
    If (y >= 1) Then
    posisi(j) = "BELAS "
    Else
    angka(y) = "SE"
    End If
    bilang = bilang & angka(y) & posisi(j)
    ratusan = bilang
    Exit Function
    Else
    bilang = bilang & bag & posisi(j)
    End If
    End If
    y = y - tmp * 10 ^ j
    Next

    If (flag = False) Then
    angka(1) = "SATU "
    End If
    bilang = bilang & angka(y)
    ratusan = bilang
    End Function

    shot vbe

  5. Setelah di paste, coba cek script ini dengan klik menu Debug -> Compile VBA Project, jika tidak keluar kotak peringatan apapun biasanya script anda sudah beres.
  6. Tutup jendela Visual Basic Editor anda.

Nah sekarang tinggal coba aja:

  1. Ketik di cell sembarang sederet angka (misal di cell A1), lalu untuk memanggil fungsi terbilang ini (misal di cell A2), tinggal ketik =TERBILANG(A1).
    contoh

Cukup mudah bukan? Anda dapat mengunduh contoh artikel ini di sini.

Just in case, jika macro ini tidak bisa di jalankan di Excel anda (karena secara default Excel menset keamanan terhadap macro ke level tinggi), cek Security macro setting di Excel anda. Untuk melihat konfigurasi Security macro, klik Tools -> Macro -> Security dan pilih opsi Low lalu klik tombol OK. Saran saya pastikan anda sudah mempunya anti virus terinstal di komputer anda untuk menjaga agar virus macro tidak dapat menyerang komputer anda.
set macro security level


he...he...he...! gmana??? tau gak??? moga2 aja berguna ya bagi pembaca???? okey!!!!!

Artikel-artikel Yang Berhubungan Dengan Artikel Ini




Hidup adalah sebuah cerita © 2008 Template by:
SkinCorner