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




Kirim email ke