Andi Setiadi Suka ngutak-atik Spreadsheet baik itu Excel atau Google Sheet kadang-kadang LibreOffice Juga

Mengapa Excel Gak Bisa Input Angka 16 Digit atau lebih

2 min read

Masalah 16 Digit Excel

Input NIK kenapa angka terkahirnya berubah Nol ya ?

Sering terjadi di antara para pengguna Microsoft Excel, ketika menginput NIK atau Number yang lebih dari 15 digit, digit ke 16 dan seterusnya akan berubah menjadi Nol.

Kenapa ini bisa terjadi? apakah Excel saya rusak?

Tenang saja, ini tidak hanya terjadi pada Microsoft Excel, tetapi dihampir semua aplikasi spreadsheet, baik itu Google Sheet, LibreOffice ataupun WPS mengalami hal yang sama.

Kenapa kita tidak bisa menginput angka 16 digit? Sebelum menjawab itu, mari kita mundur ke belakang bagaimana sebuah Number disimpan didalam Microsoft Excel.

Dalam dunia komputer, bilangan yang dikenali adalah bilangan biner 1 dan 0. dimana angka desimal diubah menjadi 1 dan 0, misalnya nilai 89 jika diubah kedalam biner menjadi 1011001.

Untuk bilangan bulat tentu tidak akan ada masalah ketika diubah menjadi biner. Tetapi, bagaimana dengan bilangan negatif? atau bilangan pecahan? bagaimana jika diubah ke binner? Karena didalam bilangan biner tentu tidak ada koma.

Floating Point

Untuk menjawab pertanyaan diatas, maka kita akan membahas tentang Floating point.

Apa itu floating Point?

Floating-point adalah aritmetika yang merepresentasikan subset dari bilangan real menggunakan sebuah bilangan bulat dengan presisi tetap, yang disebut sebagai significand, yang diskalakan oleh eksponen dari basis tetap.

Seperti contoh bilangan diatas, 123,4567 ketika diubah ke floating point dipecah menjadi 2 bagian utama yaitu Significand atau Mantisa dan Exponent. Sedangkan Base akan selalu tetap.

Dalam konsep komputer 32 Bit (Single Precision Floating Point), Nilai Exponent menggunakan 8 Bit dan Significand menggunakan 23 Bit, jika ditotal menjadi 31Bit. sisa 1 bit digunakan sebagai Sign Bit untuk mempresentasian Minus atau Plus.

Contoh : pada bilangan 0.15625 ketika disimpan akan menjadi seperti dibawah ini

Selain Single Precision masih ada type float lain berdasarkan IEEE 754 yang beberapa diantaranya bisa dilihat ditable dibawah ini

TypeSign BitExponentSignificandTotalExponent
bias
Bit PrecisionNumber of
decimal digits
Half151016 Bit1511~3.3
Single182332 Bit12724~7.2
Double1115264 Bit102353~15.9

Masalah Akurasi

Fakta bahwa angka floating-point tidak dapat secara akurat merepresentasikan semua angka riil, dan bahwa operasi floating-point tidak dapat secara akurat merepresentasikan operasi aritmetika yang sebenarnya.

Berdasarkan ini lah pada nilai-nilai tertentu, number ini tidak bisa dikembalikan secara presisi, misalnya nilai 0.1 ketika diubah menjadi biner dengan 24Bit Precision menjadi 110011001100110011001101 dimana ketika ini kembalikan ke bilangan desimal menjadi 0.100000001490116119384765625.

Microsoft Excel untuk menyimpan Number menggunakan Double Precision Floating Point (64Bit) dimana 8 Bit digunakan untuk Exponent dan 52 Bit digunakan untuk Mantisa atau Siginificand ditambah 1 bit untuk Sign Bit.

Sehingga Bit Precisionnya sebesar 53 Bit dimana ini didapat dari 52 Bit Mantisan ditambah 1 Bit Implisit. Jika dihitung

53 Log10(2) menghasilkan nilai 15.9

Berdasarkan hitung diatas maka maksimal digit yang bisa digunakan hanya 15.9 digit saja, Karena itulah Digit ke 16 dan seterusnya akan diubah menjadi 0.

Solusi 16 Digit di Microsoft Excel

Jika memang membutuhkan Number dengan panjang lebih dari 15 digit, Misalnya untuk menginput NIK, atau Nomor KK, maka solusinya adalah dengan tidak menggunakan data Number, melainkan sebagai TEXT

Tentunya Number dan Text memiliki perbedaan walaupun jika terlihat sepintas akan terlihat sama. Perbedaannya adalah kita tidak bisa melakukan operasi matematika pada jenis data TEXT.

Tapi jika pada kasus input NIK, Nomor KK atau Nomor HP maka dibuat menjadi Text tidak akan menjadi masalah, karena nomor-nomor ini tidak akan dilakukan operasi matematika seperti kali, tambah dan kurang.

Untuk menginput Number yang bentuk TEXT bisa dilakukan dengan 2 cara.

  1. Dengan memformat Cell yang akan diinput menjadi TEXT
  2. Dengan menggunakan Escape karakter text (tick : ‘)

Cara yang pertama adalah cara yang paling di rekomendasikan karena pada cell hanya terisi dengan angka tanpa ada nya karakter lain seperti escape character petik.

Cara menginputkan angka yang lebih dari 15 digit dengan format Text kedalam Worksheet.

  1. Blok Area yang akan di inputkan dengan angka
  2. Masih dalam Cell terblock, buka Format Cell melalui menu atau melalui Shortcut CTRL + 1
  3. Ubah Format Cell menjadi type Text
Format-Cell-Excel-text

atau cara yang lebih mudah, FormatCell bisa langsung dipilih melalui Menu Ribbon.

Kesimpulan

Untuk menyimpan number yang lebih dari 15 digit maka harus disimpan sebagai TEXT karena jika disimpan dalam bentuk number digit ke 16 dan seterusnya akan diubah menjadi Nol.

Hal ini juga berlaku pada penggunaan rumus dan fitur yang ada pada Microsoft excel seperti conditional Formating. Untuk contohnya akan saya bahas pada postingan selanjutnya.

Andi Setiadi Suka ngutak-atik Spreadsheet baik itu Excel atau Google Sheet kadang-kadang LibreOffice Juga

Leave a Reply

Your email address will not be published. Required fields are marked *