Mohon maaf tanggapan sebelum ini terasa asal-asalan, saya kurang lengkap membaca problem-nya
Konversi dari Angka BINER (bilangan basis 2) ke Angka Decimal (bilangan basis 10) dengan Fungsi Bawaan dari Excel = Bin2Dec ternyata hanya dibatasi menghasilkan keluaran 4 digit. Jadi kalau data Pak Abdul sampai 100 digit... (wow?!)
Secara toritis dengan rumuspun kita dapat mengkonversi Biner ke Desimal; Salah satu Rumusnya sbb:
=SUMPRODUCT(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),2^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1)))))
Kalkulasi untuk mengkonversi Biner ke Decimal adalah sbb:
Ktia contohkan suatu Angka biner mempunyai N digit. Kemudian tiap digit pada angka Biner dianggap 1 unit
unit ke N (terkanan) dikalikan (2 pangkat 0)
unit ke N-1 dikallikan (2 pangkat 1)
unit ke N-1 dikallikan (2 pangkat 2)
unit ke N-1 dikallikan (2 pangkat 3)
begitu seterusnya hingga semua unit terolah.
Tahap terakhir: Semua hasil pengolahan unit dijumlahkan. Menjmlahkan dua array yg elemennya saling diperkalikan, dengan apalagi kalau bukan dengan fungsi SUMRPDUCT aliran sopan.
Masalahnya adalah cell excel itu hanya menerima bilangan max 15 digit. Jika lebih dari 15 digit, digit ke 16 dst dibulatkan menjadi 0.
Jadi untuk bilangan besar tentu ini dapat kita katakan SALAH, tidak presisi.
Di VBA-Ecxel kita kenal ada type data bilangan yg kapasitasnya lebih "BESAR" daripada sekedar 15 digit, dengan hasil yg
tetap presisi, yaitu type data Decimal
Jika dibuat bilangan utuh; data type decimal terbesar bisa mencapai: 79228162514264337593543950335 (lebar 29 digit)
Konversi Biner to Decimal, Jika ditulis dengan VBA sederhana (dlm prosedur fungsi) kira-kira seperti ini
Function BinToDeci(S As String) As String
Dim N As Long, V As Variant
For N = Len(S) To 1 Step -1
V = V + CDec((2 ^ (Len(S) - N)) * CDec(Mid(S, N, 1)))
Next N
BinToDeci = Trim(CStr(V))
End Function
Tetapi dengan UDF fungsi-buatan-sendiri inipun data biner yg besar tidak dapat ditampilkan hasilnya.
Sekarang giliran Pak Abdul (atau member lain yg tertarik kasus ini) dipersilakan MEMBAYANGKAN:
Jika ada data biner selebar 1000 digit maka digit terkiri akan dikalikan (2 pangkat 999)
(2 pangkat 999) sendiri sudah mencapai bilangan sebesar 5.35754303593134E+300 (angka scientific format) yg bahasa awamnya
berarti = 535754303593134 dengan masih ada angka selebar 286 digit di belakangnya
Itu baru digit pertama, digit kedua harus dikaikan (2 pangka 998), digit ke 3 dikalikan (2 pangkat 997), dst; kemudian semuanya dijumlahkan.
Apakah data selebar itu tertampung jika ditulis di cell Excel?? Mohon dicoba
(Saya baru saja mencoba cell excel (yg diformat TEXT) tidak dapat menampilkan data selebar 1024 digit)
Mungkin masih ada cara lain (kita tetap menunggu slusi dari members lain) dengan menggunakan trik lain
~Rara
2012/7/1 Rara Wilis <ra2wilis@gmail.com>:
> 'Alaikum salam,
> Dengan fungsi bawaan excel DEC2BIN, kapasitasnya sangat terbatas
> Bilangan desimal tertinggi yg dapat dikonversi menjadi bilangan Binary hanya
> sampai 511
> 512 sudah menghasilkan #NUM
>
> Solusinya dibuatkan Fungsi Sendiri
>
> Lihat WorkBook Lampiran
> Untuk memperbesar kapasitas anda dapat mengedit VBA Code nya
>
> ~Rara
>
>
> 2012/6/30 Abdul <moslem_hd@yahoo.co.id>
>> Assalamu`alaikum
>> Saya masih pemula, banyak yang posting masalah convert Biner ke Decimal,
>> cuma ketemu kasus. ada 1000 digit / karakter
>> bilangan biner. contoh ( 110111111110100100....(nol nya sampe 996).0011),
>> jika dg rumus =DEC itu hasilnya #Value,
>> ada solusi ga agar 100o digit bilangan biner itu dapat di cari ke Desimal
>> mohon bantuannya
>> makasih
| Woooowwww... member XL-mania tembus 20,000!!! |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message, melecehkan, tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan winzip jika perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/ |
+-------------------------------------------------------------------+
| Berikan testimoni di : |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html |
+-------------------------------------------------------------------+
| Message lama ada di : |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id] |
| http://www.mail-archive.com/xl-mania@yahoogroups.com |
+-------------------------------------------------------------------+
Nenhum comentário:
Postar um comentário