Cara kerja check digit EAN-13
Digit ke-13 dari setiap barcode EAN-13 tidak dipilih — melainkan dihitung. Berikut rumusnya, contoh lengkap yang dikerjakan, dan alasan mengapa hal ini penting.
Sebuah barcode EAN-13 mengodekan tiga belas digit. Dua belas digit pertama mengidentifikasi produk (prefiks GS1, prefiks perusahaan, dan referensi item); digit ketiga belas adalah check digit — sebuah digit tunggal yang dihitung dari dua belas digit lainnya. Satu-satunya tugasnya adalah menangkap kesalahan: jika satu digit salah ketik atau salah baca, check digit tidak lagi cocok dan pemindaian ditolak.
Rumusnya, secara sederhana
Membaca dua belas digit data dari kiri ke kanan:
- Kalikan digit pada posisi ganjil (ke-1, ke-3, ke-5 …) dengan 1.
- Kalikan digit pada posisi genap (ke-2, ke-4, ke-6 …) dengan 3.
- Jumlahkan semua hasilnya untuk mendapatkan sebuah total.
- Check digit adalah angka yang harus Anda tambahkan pada total tersebut untuk mencapai kelipatan sepuluh berikutnya. Dalam bentuk rumus: check = (10 − (sum mod 10)) mod 10.
"mod 10" terakhir itu penting untuk satu kasus khusus: jika totalnya sudah merupakan kelipatan sepuluh, check digit-nya adalah 0, bukan 10.
Contoh yang dikerjakan
Ambil dua belas digit data 400638133393. Susun beserta bobotnya:
| Digit | 4 | 0 | 0 | 6 | 3 | 8 | 1 | 3 | 3 | 3 | 9 | 3 |
| Bobot | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 | 1 | 3 |
| Hasil | 4 | 0 | 0 | 18 | 3 | 24 | 1 | 9 | 3 | 9 | 9 | 9 |
Hasil perkalian dijumlahkan menjadi 4 + 0 + 0 + 18 + 3 + 24 + 1 + 9 + 3 + 9 + 9 + 9 = 89. Kelipatan sepuluh berikutnya di atas 89 adalah 90, dan 90 − 89 = 1. Jadi check digit-nya adalah 1, dan EAN-13 lengkapnya adalah 4006381333931.
Mengapa pemindai mengandalkannya
Ketika sebuah pemindai membaca EAN-13, ia mengulangi persis perhitungan ini pada dua belas digit pertama dan membandingkan hasilnya dengan digit ketiga belas. Jika keduanya tidak sesuai, pembacaan dibuang. Satu digit tambahan ini menangkap sebagian besar salah ketik satu-digit dan banyak kesalahan transposisi — asuransi murah terhadap pemindaian produk yang salah di kasir.
Matematika yang sama menggerakkan UPC, EAN-8 dan GTIN-14
Metode EAN-13 sebenarnya adalah algoritma modulo-10 GS1, dan digunakan bersama di seluruh keluarga ini: UPC-A (11 digit data), EAN-8 (7 digit data) dan GTIN-14 / ITF-14 (13 digit data) semuanya menggunakan bobot bergantian 3 dan 1 yang sama dari kanan. Hanya panjangnya yang berubah; logikanya identik.