Perhitungan digit pemeriksaan dari Modulo 43

Penjelasan tentang perhitungan digit pemeriksaan



InfoActiveBarcode menghitung digit pemeriksaan untuk sebagian besar kode secara otomatis.
Dokumentasi ini hanya untuk tujuan kelengkapan.

Modulo 43

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