Ini sebenarnya sama aja, kalau kita hitung bilangan biner, octa, dsb.

Perhitungan ini kita bisa bilang basis 26.

A=1, B=2, ..Z=26

Jadi hitungnya begini.

ZZ =
Z = 26 * 26^0 = 26
Z = 26 * 26^1 = 676
ZZ = 676+26 = 702


ABC =
C = 3 * 26^0 = 3
B = 2 * 26^1 = 52
A = 1 * 26^2 = 676

ABC = 676+52+3 = 731

Setiawan


-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED]
On Behalf Of Jenar Suseno
Sent: Wednesday, December 21, 2005 11:59 AM
To: [email protected]
Subject: Re: [Programmer-VB] Konversi Angka ke Huruf ? Ada yang bisa bantu?

' aku udah coba bikin seperti ini
' ini bisa sampai ribuan, tapi hasilnya rusak pada
angka 
' kelipatan 26 , 702 harusnya ZZ jadinya AAZZ 
' dan untuk puluhan ribu juga belum bisa
' Ada perbaikan dari temen-temen?

Private Sub Command1_Click()
     Text2.Text = rubah(Text1.Text)
End Sub

Public Function rubah(x As Integer) As String
    Dim y As Integer, z As Integer, h As String, i As
String

    h = ""
    If x < 27 Then
        h = Chr(x + 64)
    Else
       Do
          y = x Mod 26
          z = x \ 26
          If y <> 0 Then
             h = Chr(y + 64) & h
             If z < 27 Then
                h = Chr(z + 64) & h
                Exit Do
             Else
                x = z
             End If
          Else
             h = h & Chr(26 + 64)
             h = Chr((z - 1) + 64) & h
             x = z
          End If
          
       Loop Until x < 27
    End If
    rubah = UCase(h)
End Function


--- Aksan Kurdin <[EMAIL PROTECTED]> wrote:

> 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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> 
> 
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 





Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]

 
Yahoo! Groups Links



 




------------------------ Yahoo! Groups Sponsor --------------------~--> 
AIDS in India: A "lurking bomb." Click and help stop AIDS now.
http://us.click.yahoo.com/VpTY2A/lzNLAA/yQLSAA/k7folB/TM
--------------------------------------------------------------------~-> 

Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/Programmer-VB/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Kirim email ke