Saya mencoba menerjemahkan logika bung
aksan dalam VB :
Private Function
Angka2Huruf(ByVal angka)
Dim IntDiv
As Double, intMod As Integer
If angka
< 1 Then Exit Function
IntDiv =
angka
While IntDiv
> 26
intMod =
IntDiv Mod 26
If
intMod = 0 Then
intMod = 26
IntDiv = IntDiv - 1
End If
Angka2Huruf = Chr(64 + intMod) & Angka2Huruf
IntDiv =
IntDiv \ 26
Wend
Angka2Huruf
= Chr(64 + IntDiv) & Angka2Huruf
End Function
From: Programmer-VB@yahoogroups.com [mailto:Programmer-VB@yahoogroups.com] On Behalf Of Aksan Kurdin
Sent: 20 December 2005 19:10
To: Programmer-VB@yahoogroups.com
Subject: Re: [Programmer-VB]
Konversi Angka ke Huruf ? Ada
yang bisa bantu?
sori ada salah informasi,
> jadi ABC = 1 X (26 pangkat 2)
+ 2 X (26 pangkat 1) + 3 X (26 pangkat 0)
> sama dengan ... 791
harusnya 731
lalu semua operator "\" diganti menjadi
operator mod.
aksan kurdin
Pada tanggal 12/20/05, Aksan Kurdin
<[EMAIL PROTECTED]> menulis:
> Logikanya dulu,
> ini kayaknya main kombinasi
> XXX
>
> untuk tiga angka di atas,
> tempat pertama (paling kanan) bisa di isi
dari A sampai Z, jadi ada 26
> kemungkinan
> tempat kedua (tengah) bisa di isi dari A
sampai Z, jadi ada 26 kemungkinan juga
> tempat ketiga (paling kiri) bisa di isi dari
A sampai Z, jadi ada 26
> kemungkinan juga
>
> total jumlah kemungkinan (AAA,BGH,ZAA, ....
sampai ZZZ) ada 26 X 26 X
> 26 kemungkinan, dan bisa dibuat konversi urut
berdasarkan abjad.
>
> kesimpulannya total kemungkinan dari n posisi
(dalam hal ini 3 posisi)
> bisa dihitung sebanyak 26 pangkat n.
>
> Contoh huruf ABC, itu kalau dikonversikan
angka menjadi berapa ?
> A=1
> B=2
> C=3
> jadi ABC = 1 X (26 pangkat 2)
+ 2 X (26 pangkat 1) + 3 X (26 pangkat 0)
> sama dengan ... 791
>
> Untuk membalikkannya berarti dilakukan pohon
faktor terhadap 26 .
> 731 sama dengan berapa abc-nya ?
>
> 731/ 26 = 28
> 731\ 26 = 3-> 3 di simpan, lalu 28
diproses lagi
>
> 28 / 26 = 1
> 28 \ 26 = 2
>
> kalau di sederhanakan pembagiannya:
>
> 731
> 26 -------- 3
> 28
> 26 -------- 2
> 1
>
> bacanya: 731bagi 26 dapet 28 sisa 3
>
28 bagi 26 dapet 1 sisa 2
>
> lalu sisa semua di baca dari bawah menjadi :
123
> lalu kita konversikan:
> 1=A
> 2=B
> 3=C
>
> maka 731 = ABC
>
> contoh lain?
>
> 1500=abc?
>
> 1500
> 26 --------18 = R
> 57
> 26 -------- 5 = E
> 2 = B
>
>
> jadi 1500 = BER
>
>
>
> nah, logikanya sudah ketemu, tinggal
menerjemahkan ke vb-nya silakan
> ...... saya belum punya waktu luang untuk
ini....
>
>
> aksan kurdin
>
>
>
>
> 2005/12/20, Purwedi Kurniawan
<[EMAIL PROTECTED]>:
> > ' mas jenar, fungsi berikut cuman saya
test u angka 1 sampai 702, buat angka
> > ' diatas itu kayaknya masih belum bisa,
mgk yg lain bisa nambahin
> >
> > Option Explicit
> > '
> > Public Function NumToCase(iNum As
Integer) As String
> > Dim iMod As Integer,
iDiv As Integer, sResult As String
> >
> > iDiv = iNum \ 27
> > iMod = iNum Mod 27
> > If iNum <= 26 Then
>
> sResult = Chr(iDiv + iMod + 64)
> > Else
>
> sResult = Chr(iDiv + 64) &
Chr(iDiv + iMod + 64)
> > End If
> >
> > NumToCase = sResult
> > End Function
> > '
> > Public Sub Test()
> > Debug.Print
NumToCase(702)
> > End Sub
> > '
> >
> > best regards
> > [wwn]
> >
> > On 12/20/05, Jenar Suseno
<[EMAIL PROTECTED]> wrote:
> > > Minta petujuk .....
> > >
> > > Aku mau buat konversi angka ke
huruf, misalnya 1 jadi
> > > A, 2 jadi B,..26 jadi Z, 27 jadi
AA..., trus 702 jadi
> > > ZZ, nah...bgmn ya logika programnya
supaya berapapun
> > > angkanya akan dibuat konversinya ke
huruf?
> > >
> > > makasih
> > >
> > > jenar
> > >
> > >
> >
> >
> >
> > Untuk keluar dari millis ini, kirim
email kosong ke:
> >
[EMAIL PROTECTED]
> >
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
> >
> >
> >
> >
>
Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]
YAHOO! GROUPS LINKS