Perhitungan digit pemeriksaan

Menghitung digit pemeriksaan untuk kode batang

Modulo 10

ActiveBarcode: Info ActiveBarcode secara otomatis menghitung digit pemeriksaan untuk kode batang.
Tidak perlu menghitung atau menambahkan digit pemeriksaan ini secara manual. Dokumen ini disertakan hanya untuk kelengkapan saja.
Perhitungan checksum berdasarkan Modulo 10:
Digit pemeriksaan menurut Modulo 10 digunakan dalam kode EAN, misalnya EAN-13.

Dengan kode EAN, digit pemeriksaan dihitung menggunakan metode perhitungan modulo 10 dengan bobot 3. Penimbangan 3 dimulai dari digit pertama dari kanan. Kemudian, setiap digit dikalikan dengan bobotnya. Hasil-hasil ini ditambahkan ke dalam jumlah. Modulo 10 dihitung dari jumlah ini. Pertama, jumlah tersebut dibagi dengan 10. Sisa pembagian dikurangkan dari 10. Hasil pengurangan ini adalah checksum/digit pemeriksaan.

Berikut ini adalah contoh perhitungan Modulo 10 menggunakan kode EAN-13:

Angka: 4 0 0 7 6 3 0 0 0 0 1 1
Berat: 1 3 1 3 1 3 1 3 1 3 1 3
Hasil: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Hitung checksum: Penambahan ke kelipatan 10 berikutnya. (50)
Digit pemeriksaan 6


Dengan Kode 25, digit pemeriksaan juga dihitung dengan bobot 3 sesuai dengan metode perhitungan Modulo 10. Namun, penimbangan 3 dimulai dari digit berguna pertama dari kiri. Kemudian, digit-digit berguna tersebut dikalikan dengan bobotnya. Hasil-hasil yang dihasilkan ini ditambahkan ke dalam jumlah. Modulo 10 dihitung dari jumlah ini. Pertama, jumlah tersebut dibagi dengan 10. Sisa pembagian dikurangkan dari 10 (hitung selisihnya hingga 10). Hasil pengurangan ini adalah checksum/digit pemeriksaan.

Di bawah ini Anda dapat melihat contoh perhitungan untuk Modulo 10 menggunakan Kode 25:

Angka: 1 2 3 4 5
Berat: 3 1 3 1 3
Hasil: 3+2+9+4+15 = 33
Hitung checksum: Penambahan ke kelipatan 10 berikutnya. (40)
Digit pemeriksaan 7


Dengan Leitcode dan Identcode, digit pemeriksaan juga dihitung menggunakan metode perhitungan modulo 10. Namun, pembobotan di sini berbeda: Bobot 4 untuk posisi ganjil dan 9 untuk posisi lurus. Berikut ini adalah contoh:

Angka: 2 3 6 6 9 0 1 2 0 1 2 3 0
Berat: 4 9 4 9 4 9 4 9 4 9 4 9 4
Hasil: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Hitung checksum: Penambahan ke kelipatan 10 berikutnya. (220)
Digit pemeriksaan 5


Contoh perhitungan Modulo 10 menggunakan kode EAN-14 / ITF-14 / SCC-14 / DUN-14:

Angka: 0 4 0 0 7 6 3 0 0 0 0 1 1
Berat: 3 1 3 1 3 1 3 1 3 1 3 1 3
Hasil: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Hitung checksum: Penambahan ke kelipatan 10 berikutnya. (50)
Digit pemeriksaan 6

Modulo 11

ActiveBarcode: Info ActiveBarcode secara otomatis menghitung digit pemeriksaan untuk kode batang.
Tidak perlu menghitung atau menambahkan digit pemeriksaan ini secara manual. Dokumen ini disertakan hanya untuk kelengkapan saja.
Perhitungan checksum berdasarkan Modulo 11:
Digit pemeriksaan menurut Modulo 11 digunakan, misalnya, oleh PZN. Modulo 11 juga digunakan untuk ISBN.

PZN
Pertama, semua digit dikalikan secara terpisah dengan sebuah pengali. Pengali sesuai dengan posisi digit 1. Semua produk yang dihasilkan ditambahkan. Hasilnya kemudian dibagi dengan 11. Sisa yang dihasilkan adalah digit pemeriksaan. Jika digit pemeriksaan adalah 10, nomor ini tidak boleh digunakan sebagai PZN. Kode tersebut oleh karena itu akan tidak valid.

Contoh perhitungan:

Angka: 6 3 1 9 4 2
Berat: 2 3 4 5 6 7
Hasil: 12+9+4+45+24+14 = 108
Hitung checksum: 108 / 11 = 9 Sisa 9
Digit pemeriksaan 9


ISBN-10 dan ISSN checksum
Pertama, semua digit dikalikan secara terpisah dengan sebuah pengali. Pengali sesuai dengan posisi digit 1 dari kanan. Semua produk yang dihasilkan ditambahkan. Hasilnya kemudian dibagi dengan 11. Sisa yang dihasilkan dikurangkan dari 11 dan menghasilkan digit pemeriksaan.
Jika hasil 11 dihitung untuk prosedur checksum ini, checksum-nya adalah 0. Sebagai hasilnya, angka 0 tidak dapat dihitung, karena pada langkah sebelumnya (sisa pembagian dengan 11) angka 11 tidak mungkin menjadi hasilnya.
Mungkin juga terjadi bahwa angka 10 diperlukan. 10 diwakili oleh huruf X: "3-928444-00-X".

Contoh perhitungan:

Angka: 3 9 2 8 4 4 4 0 4
Berat: 10 9 8 7 6 5 4 3 2
Hasil: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Hitung checksum: 251 / 11 = 22 Sisa 9 -> 11 - 9 = 2
Digit pemeriksaan 2

Modulo 16

ActiveBarcode: Info ActiveBarcode secara otomatis menghitung digit pemeriksaan untuk kode batang.
Tidak perlu menghitung atau menambahkan digit pemeriksaan ini secara manual. Dokumen ini disertakan hanya untuk kelengkapan saja.
Perhitungan checksum berdasarkan Modulo 16:
Modulo 16 digunakan oleh simbol barcode Codabar. Berikut adalah contoh cara menghitung digit pemeriksaan menurut Modulo 16:

Angka: A 7 8 9 A
Nomor referensi: 16 7 8 9 16
Jumlah nomor referensi: 56
Hitung checksum: 56 / 16 = 3 Sisa 8
difference: 16 - 8 = 8
Digit pemeriksaan Nomor referensi 8 = 8

Nomor referensi:
00 = 0
01 = 1
02 = 2
03 = 3
04 = 4
05 = 5
06 = 6
07 = 7
08 = 8
09 = 9
10 = -
11 = $
12 = :
13 = /
14 = .
15 = +
16 = A
17 = B
18 = C
19 = D

Modulo 43

ActiveBarcode: Info ActiveBarcode secara otomatis menghitung digit pemeriksaan untuk kode batang.
Tidak perlu menghitung atau menambahkan digit pemeriksaan ini secara manual. Dokumen ini disertakan hanya untuk kelengkapan saja.
Perhitungan checksum berdasarkan Modulo 43:
Digit pemeriksaan menurut Modulo 43 digunakan, misalnya, oleh Kode 39.

Pertama, nomor referensi diberikan kepada semua karakter dalam kode. Nomor referensi ini ditambahkan ke total. Jumlah ini dibagi dengan 43. Sisa bagian ini sesuai dengan checksum, yang kemudian digantikan oleh karakter yang sesuai dengan nomor referensi yang dimaksud.

Contoh perhitungan:

Angka: 1 5 9 A Z
Nomor referensi: 1 +5 +9 +10 +35
Jumlah nomor referensi: 60
Hitung checksum: 60 / 43 = 1 Sisa 17
Digit pemeriksaan "H" (Nomor referensi 17)

Nomor referensi:
00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %


Contoh kode untuk menghitung checksum berdasarkan Modulo 43

Kode VBA Excel untuk menghitung checksum berdasarkan Modulo 43, misalnya untuk kode HIBC:
' calc modulo 43
‘ returns the input string plus the check character
' demo for www.activebarcode.com
Public Function MOD43CheckChar(sValue As String) As String
    Const charSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
    Dim i As Integer
    Dim T As Long
    For i = 1 To Len(Trim(UCase(sValue)))
        T = InStr(charSet, Mid(sValue, i, 1)) - 1 + T
    Next i
    MOD43CheckChar = sValue & Mid$(charSet, (T Mod 43 + 1), 1)
End Function

Modulo 47

ActiveBarcode: Info ActiveBarcode secara otomatis menghitung digit pemeriksaan untuk kode batang.
Tidak perlu menghitung atau menambahkan digit pemeriksaan ini secara manual. Dokumen ini disertakan hanya untuk kelengkapan saja.
Perhitungan checksum berdasarkan Modulo 47:
Karakter pemeriksaan menurut Modulo 47 digunakan, misalnya, oleh Kode 93.

Kode 93 menggunakan 2 checksum, yang disebut checksum C dan checksum K. Keduanya dihitung berdasarkan prinsip yang sama. Namun, checksum K juga mengandung checksum C.

Selama perhitungan, nomor referensi terlebih dahulu diberikan kepada semua karakter dalam kode. Setiap digit dalam kode diberi bobot dan ditambahkan secara berurutan dari belakang. Dengan demikian, posisi terakhir memiliki bobot 1, posisi sebelum terakhir memiliki bobot 2, dan seterusnya. Nomor referensi dikalikan dengan bobot dalam setiap kasus. Hasil individu yang dihasilkan dijumlahkan.

Jumlah ini sekarang dibagi dengan 47. Sisa dari pembagian ini sesuai dengan checksum, yang dikodekan sebagai karakter menggunakan nomor referensi.

K checksum ditentukan dengan cara yang sama. Namun, kali ini, rangkaian karakter kode - sama seperti pada checksum pertama - ditambah dengan checksum C digunakan sebagai dasar. Checksum pertama yang ditentukan dimasukkan dalam perhitungan checksum kedua.

Contoh perhitungan:

Checksum with Modulo47

Nomor referensi Code 93:

00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %
43 ($)
44 (%)
45 (/)
46 (+)
- * Start/Stop