Ini salah satu cara bagaimana menerjemahkan angka ke
dalam kata-kata dengan Visual Basic for Application dan nantinya akan
dikenali sebagai macro. Fungsi dalam list program yang dipakai nantinya
sebenarnya dapat digunakan pada aplikasi MS Office atau aplikasi Visual
Basic lainnya namun pada bahasan ini dibatasi pada penggunaan dalam
aplikasi MS Excel karena keterbatasan pengetahuan saya. Bagi yang sudah
terbiasa pada penggunaan Visual Basic Editor pada MS Excel dapat
langsung ke bagian list program.
Fungsi tersebut akan berguna:
Fungsi tersebut akan berguna:
- Menerjemahkan angka ke dalam kata-kata sampai dengan 15 digit termasuk nilai desimal (ratusan trilian apabila tanpa nilai desimal). Angka 15 digit ini merupakan nilai yang dapat ditampung MS Excel sebelum dirubah ke nilai exponen.
- Desimal yang diterjemahkan sampai dengan dua angka dibelakang koma.
- Mengenal 4 Style, yaitu cara penulisan huruf besar/kecil-nya.
- Bebas menggunakan satuan yang diinginkan.
-
Buka aplikasi MS Excel, apabila secara otomatis tidak muncul workbook baru (atau Book 1) maka bukalah Workbook baru dari File > New… (Ctrl+N);
-
Pada workbook baru pada sheet mana saja pilihlah Tools > Macro > Visual Basic Editor atau dengan shortcut Alt+F11.
-
Setelah itu akan muncul window baru bertitle Microsoft Visual Basic. Setelah itu, pilih Insert > Module. Pada Module 1 yang baru dibuat, letakkan kursor pada bagian Code. Apabila belum muncul atau beralih ke bagian tersebut pilih View > Code (F7).
-
'Fungsi Terbilang dengan VBA untuk MS Office
'Ditulis oleh maseko
'Fungsi penterjemahan masing-masing angka
Private
Function
KeKata(Nomor)
TrjKata = Array(
""
,
"satu"
,
"dua"
,
"tiga"
,
"empat"
,
"lima"
,
"enam"
,
"tujuh"
,
"delapan"
,
"sembilan"
)
KeKata = TrjKata(Nomor)
End
Function
'Mulai penulisan Fungsi Terbilang
Public
Function
terbilang(Nilai_Angka,
Optional
Style = 4,
Optional
Satuan =
""
)
Angka = Fix(Abs(Nilai_Angka))
'Desimal dibelakang koma
des1 = Mid(Abs(Nilai_Angka), Len(Angka) + 2, 1)
des2 = Mid(Abs(Nilai_Angka), Len(Angka) + 3, 1)
If
des2 =
""
Then
If
des1 =
""
Or
des1 =
"0"
Then
Koma =
""
Else
Koma =
" koma "
& KeKata(des1)
End
If
ElseIf
des2 =
"0"
Then
If
des1 =
"0"
Then
Koma =
""
ElseIf
des1 =
"1"
Then
Koma =
" koma sepuluh"
Else
Koma =
" koma "
& KeKata(des1) &
" puluh"
End
If
Else
If
des1 =
"0"
Then
Koma =
" koma nol "
& KeKata(des2)
ElseIf
des1 =
"1"
Then
If
des2 =
"1"
Then
Koma =
" koma sebelas"
Else
Koma =
" koma "
& KeKata(des2) &
" belas"
End
If
Else
Koma =
" koma "
& KeKata(des1) &
" puluh "
& KeKata(des2)
End
If
End
If
'Misahin Angka
No1 = Left(Right(Angka, 1), 1)
No2 = Left(Right(Angka, 2), 1)
No3 = Left(Right(Angka, 3), 1)
No4 = Left(Right(Angka, 4), 1)
No5 = Left(Right(Angka, 5), 1)
No6 = Left(Right(Angka, 6), 1)
No7 = Left(Right(Angka, 7), 1)
No8 = Left(Right(Angka, 8), 1)
No9 = Left(Right(Angka, 9), 1)
No10 = Left(Right(Angka, 10), 1)
No11 = Left(Right(Angka, 11), 1)
No12 = Left(Right(Angka, 12), 1)
No13 = Left(Right(Angka, 13), 1)
No14 = Left(Right(Angka, 14), 1)
No15 = Left(Right(Angka, 15), 1)
'Satuan
If
Len(Angka) >= 1
Then
If
Len(Angka) = 1
And
No1 = 1
Then
Nomor1 =
"satu"
ElseIf
Len(Angka) = 1
And
No1 = 0
Then
Nomor1 =
"Nol"
ElseIf
No2 =
"1"
Then
If
No1 =
"1"
Then
Nomor1 =
"sebelas"
ElseIf
No1 =
"0"
Then
Nomor1 =
"sepuluh"
Else
Nomor1 = KeKata(No1) &
" belas"
End
If
Else
Nomor1 = KeKata(No1)
End
If
Else
Nomor1 =
""
End
If
'Puluhan
If
Len(Angka) >= 2
Then
If
No2 = 1
Or
No2 =
"0"
Then
Nomor2 =
""
Else
Nomor2 = KeKata(No2) &
" puluh "
End
If
Else
Nomor2 =
""
End
If
'Ratusan
If
Len(Angka) >= 3
Then
If
No3 =
"1"
Then
Nomor3 =
"seratus "
ElseIf
No3 =
"0"
Then
Nomor3 =
""
Else
Nomor3 = KeKata(No3) &
" ratus "
End
If
Else
Nomor3 =
""
End
If
'Ribuan
If
Len(Angka) >= 4
Then
If
No6 =
"0"
And
No5 =
"0"
And
No4 =
"0"
Then
Nomor4 =
""
ElseIf
(No4 =
"1"
And
Len(Angka) = 4)
Or
(No6 =
"0"
And
No5 =
"0"
And
No4 =
"1"
)
Then
Nomor4 =
"seribu "
ElseIf
No5 =
"1"
Then
If
No4 =
"1"
Then
Nomor4 =
"sebelas ribu "
ElseIf
No4 =
"0"
Then
Nomor4 =
"sepuluh ribu "
Else
Nomor4 = KeKata(No4) &
" belas ribu "
End
If
Else
Nomor4 = KeKata(No4) &
" ribu "
End
If
Else
Nomor4 =
""
End
If
'Puluhan ribu
If
Len(Angka) >= 5
Then
If
No5 =
"1"
Or
No5 =
"0"
Then
Nomor5 =
""
Else
Nomor5 = KeKata(No5) &
" puluh "
End
If
Else
Nomor5 =
""
End
If
'Ratusan Ribu
If
Len(Angka) >= 6
Then
If
No6 =
"1"
Then
Nomor6 =
"seratus "
ElseIf
No6 =
"0"
Then
Nomor6 =
""
Else
Nomor6 = KeKata(No6) &
" ratus "
End
If
Else
Nomor6 =
""
End
If
'Jutaan
If
Len(Angka) >= 7
Then
If
No9 =
"0"
And
No8 =
"0"
And
No7 =
"0"
Then
Nomor7 =
""
ElseIf
No7 =
"1"
And
Len(Angka) = 7
Then
Nomor7 =
"satu juta "
ElseIf
No8 =
"1"
Then
If
No7 =
"1"
Then
Nomor7 =
"sebelas juta "
ElseIf
No7 =
"0"
Then
Nomor7 =
"sepuluh juta "
Else
Nomor7 = KeKata(No7) &
" belas juta "
End
If
Else
Nomor7 = KeKata(No7) &
" juta "
End
If
Else
Nomor7 =
""
End
If
'Puluhan juta
If
Len(Angka) >= 8
Then
If
No8 =
"1"
Or
No8 =
"0"
Then
Nomor8 =
""
Else
Nomor8 = KeKata(No8) &
" puluh "
End
If
Else
Nomor8 =
""
End
If
'Ratusan juta
If
Len(Angka) >= 9
Then
If
No9 =
"1"
Then
Nomor9 =
"seratus "
ElseIf
No9 =
"0"
Then
Nomor9 =
""
Else
Nomor9 = KeKata(No9) &
" ratus "
End
If
Else
Nomor9 =
""
End
If
'Milyar
If
Len(Angka) >= 10
Then
If
No12 =
"0"
And
No11 =
"0"
And
No10 =
"0"
Then
Nomor10 =
""
ElseIf
No10 =
"1"
And
Len(Angka) = 10
Then
Nomor10 =
"satu milyar "
ElseIf
No11 =
"1"
Then
If
No10 =
"1"
Then
Nomor10 =
"sebelas milyar "
ElseIf
No10 =
"0"
Then
Nomor10 =
"sepuluh milyar "
Else
Nomor10 = KeKata(No10) &
" belas milyar "
End
If
Else
Nomor10 = KeKata(No10) &
" milyar "
End
If
Else
Nomor10 =
""
End
If
'Puluhan Milyar
If
Len(Angka) >= 11
Then
If
No11 =
"1"
Or
No11 =
"0"
Then
Nomor11 =
""
Else
Nomor11 = KeKata(No11) &
" puluh "
End
If
Else
Nomor11 =
""
End
If
'Ratusan Milyar
If
Len(Angka) >= 12
Then
If
No12 =
"1"
Then
Nomor12 =
"seratus "
ElseIf
No12 =
"0"
Then
Nomor12 =
""
Else
Nomor12 = KeKata(No12) &
" ratus "
End
If
Else
Nomor12 =
""
End
If
'Triliun
If
Len(Angka) >= 13
Then
If
No15 =
"0"
And
No14 =
"0"
And
No13 =
"0"
Then
Nomor13 =
""
ElseIf
No13 =
"1"
And
Len(Angka) = 13
Then
Nomor13 =
"satu triliun "
ElseIf
No14 =
"1"
Then
If
No13 =
"1"
Then
Nomor13 =
"sebelas triliun "
ElseIf
No13 =
"0"
Then
Nomor13 =
"sepuluh triliun "
Else
Nomor13 = KeKata(No13) &
" belas triliun "
End
If
Else
Nomor13 = KeKata(No13) &
" triliun "
End
If
Else
Nomor13 =
""
End
If
'Puluhan triliun
If
Len(Angka) >= 14
Then
If
No14 =
"1"
Or
No14 =
"0"
Then
Nomor14 =
""
Else
Nomor14 = KeKata(No14) &
" puluh "
End
If
Else
Nomor14 =
""
End
If
'Ratusan triliun
If
Len(Angka) >= 15
Then
If
No15 =
"1"
Then
Nomor15 =
"seratus "
ElseIf
No15 =
"0"
Then
Nomor15 =
""
Else
Nomor15 = KeKata(No15) &
" ratus "
End
If
Else
Nomor15 =
""
End
If
If
Len(Angka) > 15
Then
bilang =
"Digit Angka Terlalu Banyak"
Else
If
IsNull(Nilai_Angka)
Then
bilang =
""
ElseIf
Nilai_Angka < 0
Then
bilang =
"minus "
& Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
& Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma &
" "
& Satuan)
Else
bilang = Trim(Nomor15 & Nomor14 & Nomor13 & Nomor12 & Nomor11 & Nomor10 & Nomor9 & Nomor8 & Nomor7 _
& Nomor6 & Nomor5 & Nomor4 & Nomor3 & Nomor2 & Nomor1 & Koma &
" "
& Satuan)
End
If
End
If
If
Style = 4
Then
terbilang = StrConv(Left(bilang, 1), 1) & StrConv(Mid(bilang, 2, 1000), 2)
Else
terbilang = StrConv(bilang, Style)
End
If
terbilang = Replace(terbilang,
" "
,
" "
, 1, 1000, vbTextCompare)
End
Function
-
Setelah Anda selesai mengcopy pilih File > Close and Return to Microsoft Excel untuk kembali ke workbook MS Excel.
-
Simpan workbook tersebut, namai misalnya terbilang.xls.
-
Sekarang Anda dapat mencoba fungsi tersebut dalam sheet mana saja dalam workbook tersebut. Misalnya Anda ketikan pada cell A1 angka berapa saja. Pilih cell yang akan menampung terjemahan kata-katanya, misalnya di A2.
-
Pilih Insert > Function…, maka akan muncul dialog box daftar fungsi di MS Excel.
-
Dari daftar dalam Function category, pilihlah User Defined, sehingga dalam daftar di Function name muncul nama fungsi terbilang, pilih fungsi tersebut kemudian klik OK, sehingga muncul dialog box
-
Isilah dialog box di atas dengan ketentuan sebagai berikut:
Nilai_Angka
Isilah dengan angka yang akan diterjemahkan, atau isi dengan nama cell yang berisi angka yang akan diterjemahkan, misalnya A1.
Style
Isi dengan kode 1 sampai dengan 4 untuk menentukan cara penulisannya.
1: Teks terbilang ditulis dengan huruf besar (kapital) semua (uppercase);
2: Teks terbilang ditulis dengan huruf kecil semua (lowercase);
3: Teks terbilang ditulis dengan huruf besar pada awal kata saja (title case);
4: Teks terbilang ditulis dengan huruf besar pada huruf pertama saja (sentence case).
Isian style sifatnya optional, apabila tidak diisi maka defaultnya 4 (sentence case).
Satuan
Isi dengan satuan untuk teks terbilang, misalnya rupiah, unit atau buah. Isian satuan sifatnya optional, apabila dikosongkan maka teks terbilang ditulis tanpa satuan tertentu. -
Anda juga dapat langsung menggunakan fungsi terbilang secara langsung pada cell dengan formula:
=terbilang(Nilai_Angka;Style;”Satuan”)
Penjelasan lihat di atas. Perlu diperhatikan bahwa penulisan satuan ditulis dengan cara diapit tanda petik(”). -
Sekarang Anda tutup workbook tersebut. Coba buka kembali workbook tersebut, maka akan muncul peringatan seperti. Untuk dapat menggunakan fungsi terbilang diatas Anda harus memilih Enable Macros setiap kali Anda menggunakan
Ada cara lain agar setiap kali membuat file/workbook baru, Anda langsung dapat menggunakan fungsi terbilang. Langkah-langkahnya:
-
Buka file yang Anda simpan di atas yang berekstensi xls. Kemudian pilih File > Save As.. Kemudian pada isian File name isi dengan nama file, misalnya terbilang. Pada isian Save as type pilih Microsoft Excel Add-In (*.xla).Secara default folder yang terbuka untuk menyimpan file type Add-In ini berada pada C:WINDOWS\Aplication Data\Microsoft\AddIns, sebaiknya Anda menyimpannya pada folder ini, meskipun Anda dapat menentukan lokasi lain. Nantinya file yang disimpan berekstensi xla.
-
Setelah Anda menyimpannya, tutup MS Excel. Buka kembali dengan workbook baru.
-
Pada workbook baru tersebut pilih Tools > Add-Ins… Muncul dialog box, Klik Browse… maka secara default Anda dihadapkan pada isi folder AddIns seperti disebut pada point 1, kemudian pilih file Add-In terbilang tersebut. Maka fungsi terbilang akan masuk list pada Add-Ins available seperti pada Gambar 7. Pastikan Anda beri tanda check. Kemudian klik OK.
-
Pada workbook baru ini, Anda sudah dapat menggunakan fungsi terbilang, begitu pula saat Anda nanti membuat file/workbook baru.
-
Anda dapat menonaktifkan Add-In ini dengan menghilangkan tanda check seperti tersbut di atas.source : http://bahroell.wordpress.com/
-
0 komentar:
Posting Komentar