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/
