Tải bản đầy đủ (.pdf) (137 trang)

quản lý phòng máy thư viện bằng mã vạch

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.03 MB, 137 trang )

QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 1
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN - TIN HỌC
CHUYÊN NGÀNH : TOÁN – TIN ỨNG DỤNG
WUX


LUẬN VĂN TỐT NGHIỆP





ĐỀ TÀI :










Giáo Viên Hướng Dẫn : ThS. PHẠM THẾ BẢO
ThS. NGUYỄN MINH HIỆP

Giáo Viên Phản Biện : ThS. NGUYỄN GIANG SƠN


Sinh Viên Thực Hiện :
ÂU DƯƠNG ĐẠT
LÊ THÀNH NGUYÊN





QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 2
NIÊN KHOÁ 2000 - 2004

N
N
H
H


N
N


X
X
É
É
T
T



C
C


A
A


G
G
I
I
Á
Á
O
O


V
V
I
I
Ê
Ê
N
N


H

H
Ư
Ư


N
N
G
G


D
D


N
N

































QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 3

L
L


I
I



C
C


M
M


Ơ
Ơ
N
N



Chúng em xin bày tỏ chân thành lòng biết ơn đến thầy Phạm Thế Bảo, người đã
cung cấp tài liệu, tận tình hướng dẫn, chỉ bảo chúng em trong suốt quá trình làm và
hoàn thành luận văn.
Chúng em xin cảm ơn các thầy, cô trong khoa Toán – Tin học đã tạo mọi điều
kiện thuận lợi giúp đỡ chúng em trong suốt bốn năm học đại học.
Đồng thời, chúng em xin cảm ơn các anh, chị khóa trước đã giúp đỡ chúng em
nhiệt tình và cho chúng em nhiều lời khuyên bổ ích.
Cảm ơn các bạn sinh viên lớp Toán – Tin học 2000 đã chia sẻ và động viên chúng
tôi trong suốt quá trình thực hiện luận văn.
Cuối cùng, chúng con xin gửi lời cảm ơn chân thành nhất đến bố mẹ và mọi
người trong gia đình đã động viên, giúp đỡ chúng con cả về vật chất lẫn tinh thần để
chúng con có được kết quả ngày hôm nay.
TP. Hồ Chí Minh, tháng 7 năm 2004


ÂU DƯƠNG ĐẠT

LÊ THÀNH NGUYÊN

QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 4
M
M


C
C


L
L


C
C
LỜI MỞ ĐẦU Error! Bookmark not defined.
CHƯƠNG 1 – KHÁI NIỆM MÃ VẠCH Error! Bookmark not defined.
I. Mã vạch 1 chiều: Error! Bookmark not defined.
I.1. Thông tin về mã vạch 1 chiều: Error! Bookmark not defined.
I.1.1. Mã vạch 1 chiều là gì? Error! Bookmark not defined.
I.1.2. Mã vạch chứa đựng thông tin gì? Error! Bookmark not defined.
I.1.3. Cấu trúc của mã vạch 1 chiều: Error! Bookmark not defined.
I.1.4. Tập kí tự: Error! Bookmark not defined.
I.1.5. Gián đoạn, liên tục: Error! Bookmark not defined.

I.1.6. Mã vạch có độ dài cố định, thay đổi: Error! Bookmark not defined.
I.1.7. Mã vạch tự kiểm tra: Error! Bookmark not defined.
I.2. Ứng dụng: Error! Bookmark not defined.
I.3. Ưu khuyết điểm: Error! Bookmark not defined.
I.3.1. Ưu điểm: Error! Bookmark not defined.
I.3.2. Khuyết điểm: Error! Bookmark not defined.
I.4. Giới thiệu một số loại mã vạch: Error! Bookmark not defined.
I.4.1. EAN-13: Error! Bookmark not defined.
I.4.2. Code 128: Error! Bookmark not defined.
I.4.3. Code 39: Error! Bookmark not defined.
I.5. So sánh giữa các loại mã vạch: Error! Bookmark not defined.
II. Mã vạch 2 chiều: Error! Bookmark not defined.
II.1. Thông tin về mã vạch 2 chiều: Error! Bookmark not defined.
II.1.1. Mã vạch 2 chiều là gì? Error! Bookmark not defined.
II.1.2. Mã vạch 2 chiều chứa đựng thông tin gì? Error! Bookmark not
defined.

II.1.3. Cấu trúc của mã vạch 2 chiều: Error! Bookmark not defined.
II.2. Ứng dụng trong thực tế: Error! Bookmark not defined.
II.3. Ưu khuyết điểm: Error! Bookmark not defined.
II.3.1. Ưu điểm: Error! Bookmark not defined.
II.3.2. Khuyết điểm: Error! Bookmark not defined.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 5
II.4. Giới thiệu một số loại mã vạch: Error! Bookmark not defined.
II.4.1. PDF417: Error! Bookmark not defined.
II.4.2. Data Matrix: Error! Bookmark not defined.
II.4.3. Maxi Code: Error! Bookmark not defined.
II.5. So sánh giữa các loại mã vạch: Error! Bookmark not defined.

II.6. Mã vạch PDF417: Error! Bookmark not defined.
II.6.1. Mã hóa mã vạch PDF417: Error! Bookmark not defined.
II.6.1.1. Mã hóa mức cao: Error! Bookmark not defined.
II.6.1.2. Mã hóa mức thấp Error! Bookmark not defined.
II.6.2. Cơ chế phát hiện và sửa lỗi của mã vạch PDF417: Error! Bookmark
not defined.

II.6.2.1. Cấp độ sửa lỗi được đề nghị : Error! Bookmark not defined.
II.6.2.2. Những vấn đề khác cần biết đến khi sử dụng cấp độ sửa lỗi: . Error!
Bookmark not defined.

II.6.2.3. Bảng hệ số đa thức khai triển tương ứng các cấp độ bảo mật: Error!
Bookmark not defined.

III. Ứng dụng thực tế của mã vạch: Error! Bookmark not defined.
III.1. Ứng dụng trong xét nghiệm Error! Bookmark not defined.
III.2. Ứng dụng trong việc trồng và bán rau sạch Error! Bookmark not defined.
III.3. Ứng dụng trong việc tránh sử dụng nhầm thuốc Error! Bookmark not
defined.

III.4. Ứng dụng trong việc làm CMND Error! Bookmark not defined.
III.5. Ứng dụng trong làm thẻ học sinh Error! Bookmark not defined.
III.6. Ứng dụng trong việc ghi hạn sử dụng của sữa Vinamilk Error! Bookmark
not defined.

III.7. Ứng dụng trong việc chống giả mạo hiện nay Error! Bookmark not
defined.

IV. Một số thông tin về RFID: Error! Bookmark not defined.
IV.1. Khi ông lớn làm thử nghiệm : Error! Bookmark not defined.

IV.2. RFID là gì ? Error! Bookmark not defined.
CHƯƠNG 2 – QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH Error!
Bookmark not defined.

QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 6
I. Đặt vấn đề: Error! Bookmark not defined.
II. Phân tích yêu cầu: Error! Bookmark not defined.
II.1. Về mặt ứng dụng: Error! Bookmark not defined.
II.1.1. Module 1: Error! Bookmark not defined.
II.1.2. Module 2: Error! Bookmark not defined.
II.1.3. Module 3: Error! Bookmark not defined.
II.1.4. Module 4: Error! Bookmark not defined.
II.2. Về mặt kĩ thuật: Error! Bookmark not defined.
II.3. Các yêu cầu khác: Error! Bookmark not defined.
III. Thiết kế: Error! Bookmark not defined.
III.1. Kiến trúc hệ thống: Error! Bookmark not defined.
III.2. Thiết kế tổng quát: Error! Bookmark not defined.
III.2.1. Thủ thư: Error! Bookmark not defined.
III.2.1.1. Ứng dụng web: Error! Bookmark not defined.
III.2.1.2. Ứng dụng trên máy đơn: Error! Bookmark not defined.
III.2.2. Sinh viên: Error! Bookmark not defined.
III.3. Thiết kế Cơ sở dữ liệu: Error! Bookmark not defined.
III.3.1. Bảng Sinh viên: Error! Bookmark not defined.
III.3.2. Bảng Hẹn: Error! Bookmark not defined.
III.3.3. Bảng Hẹn sinh viên: Error! Bookmark not defined.
III.3.4. Bảng Lớp: Error! Bookmark not defined.
III.3.5. Bảng Phòng máy: Error! Bookmark not defined.
III.3.6. Bảng Thủ thư : Error! Bookmark not defined.

III.4. Thiết kế xử lý: Error! Bookmark not defined.
III.4.1. Xử lý: đăng kí làm thẻ của sinh viên Error! Bookmark not defined.
III.4.2. Xử lý: đăng nhập của sinh viên Error! Bookmark not defined.
III.4.3. Xử lý: đăng nhập của thủ thư Error! Bookmark not defined.
III.4.4. Xử lý: hẹn ngày chụp hình của thủ thư .Error! Bookmark not defined.
III.4.5. Xử lý: thêm lớp của thủ thư Error! Bookmark not defined.
III.4.6. Xử lý: tìm kiếm sinh viên của thủ thư Error! Bookmark not defined.
III.4.7. Xử lý: quy định thời gian của thủ thư Error! Bookmark not defined.
III.4.8. Xử lý: cấp thời gian của thủ thư Error! Bookmark not defined.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 7
III.4.9. Xử lý: in phiếu chụp hình cho sinh viên của thủ thư .Error! Bookmark
not defined.

III.4.10. Xử lý: tạo thẻ thư viện cho sinh viên của thủ thư Error! Bookmark
not defined.

III.4.11. Xử lý: quản lí phòng máy của thủ thư.Error! Bookmark not defined.
III.5. Cơ chế hoạt động: Error! Bookmark not defined.
CHƯƠNG 3 – CÔNG NGHỆ SỬ DỤNG Error! Bookmark not defined.
I. JSP / Servlet: Error! Bookmark not defined.
I.1. Java Server Page (JSP): Error! Bookmark not defined.
I.1.1. Khái niệm: Error! Bookmark not defined.
I.1.2. Cấu trúc thẻ: Error! Bookmark not defined.
I.1.2.1. Thẻ chỉ dẫn: Error! Bookmark not defined.
I.1.2.2. Thẻ kịch bản: Error! Bookmark not defined.
I.1.2.3. Các hành động chuẩn: Error! Bookmark not defined.
I.1.3. Các đối tượng ẩn (implicit object): Error! Bookmark not defined.
I.1.3.1. Đối tượng Request: Error! Bookmark not defined.

I.1.3.2. Đối tượng Response: Error! Bookmark not defined.
I.1.3.3. Đối tượng session: Error! Bookmark not defined.
I.1.3.4. Đối tượng Application: Error! Bookmark not defined.
I.1.3.5. Đối tượng Out: Error! Bookmark not defined.
I.1.3.6. Đối tượng Config: Error! Bookmark not defined.
I.1.3.7. Đối tượng Exception: Error! Bookmark not defined.
I.1.4. Chu trình sống của JSP Error! Bookmark not defined.
I.1.4.1. Biên dịch trang JSP: Error! Bookmark not defined.
I.1.4.2. Nạp trang: Error! Bookmark not defined.
I.1.4.3. Khởi tạo: Error! Bookmark not defined.
I.1.4.4. Thực thi: Error! Bookmark not defined.
I.1.4.5. Dọn dẹp: Error! Bookmark not defined.
I.2. Servlet: Error! Bookmark not defined.
I.2.1. Khái niệm: Error! Bookmark not defined.
I.2.2. Các phương thức xử lý cơ bản: Error! Bookmark not defined.
I.2.2.1. Phương thức khởi tạo init(): Error! Bookmark not defined.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 8
I.2.2.2. Phương thức phục vụ service(): Error! Bookmark not defined.
I.2.2.3. Phương thức huỷ destroy(): Error! Bookmark not defined.
I.2.2.4. Phương thức getServletConfig() và getServletInfo(): Error!
Bookmark not defined.

I.2.3. Chu trình sống của servlet: Error! Bookmark not defined.
I.2.3.1. Nạp servlet: Error! Bookmark not defined.
I.2.3.2. Khởi tạo servlet: Error! Bookmark not defined.
I.2.3.3. Thực thi servlet: Error! Bookmark not defined.
I.2.3.4. Dọn dẹp servlet: Error! Bookmark not defined.
I.3. So sánh giữa JSP và Servlet: Error! Bookmark not defined.

II. JDBC: Error! Bookmark not defined.
II.1. Giới thiệu: Error! Bookmark not defined.
II.2. Khái quát: Error! Bookmark not defined.
II.2.1. java.sql.DriverManager Error! Bookmark not defined.
II.2.2. java.sql.Connection Error! Bookmark not defined.
II.2.3. java.sql.Statement Error! Bookmark not defined.
II.2.4. java.sql.ResultSet Error! Bookmark not defined.
II.3. Các kiểu JDBC: Error! Bookmark not defined.
II.3.1. Kiểu 1:JDBC sử dụng cầu nối ODBC (JDBC-ODBC Bridge) Error!
Bookmark not defined.

II.3.2. Kiểu 2:JDBC kết nối trực tiếp với các trình điều khiển cơ sở dữ liệu
Error! Bookmark not defined.

II.3.3. Kiểu 3:JDBC kết nối thông qua các ứng dụng mạng trung gian Error!
Bookmark not defined.

II.3.4. Kiểu 4:JDBC kết nối thông qua các trình điều khiển đặc thù ở xa Error!
Bookmark not defined.

II.4. Truy xuất cơ sở dữ liệu: Error! Bookmark not defined.
II.4.1. Kết nối với cơ sở dữ liệu: Error! Bookmark not defined.
II.4.2. Truy vấn dữ liệu: Error! Bookmark not defined.
II.4.3. Trích xuất dữ liệu: Error! Bookmark not defined.
II.4.4. Đóng kết nối: Error! Bookmark not defined.
III. Java Media Framework (JMF): Error! Bookmark not defined.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 9
III.1. Tổng quan: Error! Bookmark not defined.

III.2. Kiến trúc JMF: Error! Bookmark not defined.
III.2.1. Dữ liệu nguồn: Error! Bookmark not defined.
III.2.1.1. Dữ liệu nguồn kéo: Error! Bookmark not defined.
III.2.1.2. Dữ liệu nguồn đẩy: Error! Bookmark not defined.
III.2.2. Thiết bị thu: Error! Bookmark not defined.
III.2.3. Player: Error! Bookmark not defined.
III.2.3.1. Không nhận biết: Error! Bookmark not defined.
III.2.3.2. Nhận biết: Error! Bookmark not defined.
III.2.3.3. Đã nhận biết: Error! Bookmark not defined.
III.2.3.4. Tìm kiếm: Error! Bookmark not defined.
III.2.3.5. Đã tìm kiếm: Error! Bookmark not defined.
III.2.3.6. Bắt đầu: Error! Bookmark not defined.
III.2.4. Processor: Error! Bookmark not defined.
III.2.4.1. Định hình: Error! Bookmark not defined.
III.2.4.2. Đã định hình: Error! Bookmark not defined.
III.2.5. DataSink: Error! Bookmark not defined.
III.2.6. Format: Error! Bookmark not defined.
III.2.7. Manager: Error! Bookmark not defined.
III.2.7.1. Manager: Error! Bookmark not defined.
III.2.7.2. CaptureDeviceManager: Error! Bookmark not defined.
III.2.7.3. PlugInManager: Error! Bookmark not defined.
III.3. Các phương thức thực hiện: Error! Bookmark not defined.
III.3.1. Tạo ra Player: Error! Bookmark not defined.
III.3.2. Thu dữ liệu media Error! Bookmark not defined.
III.4. Lấy hình ảnh từ webcam sử dụng JMF: Error! Bookmark not defined.
III.4.1. Giới thiệu: Error! Bookmark not defined.
III.4.2. Tên thiết bị : Error! Bookmark not defined.
III.4.3. Lấy định dạng đúng: Error! Bookmark not defined.
III.4.4. Lấy DataSource: Error! Bookmark not defined.
III.4.5. Lấy Processor Error! Bookmark not defined.

III.4.6. PushBufferStream: Error! Bookmark not defined.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH

SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 10
III.4.7. Lấy Image: Error! Bookmark not defined.
III.5. Chương trình đầy đủ minh họa việc lấy ảnh từ camera: Error! Bookmark
not defined.

CHƯƠNG 4 – CÀI ĐẶT, ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN Error!
Bookmark not defined.

I. Cài đặt: Error! Bookmark not defined.
I.1. Tại sao cần cài đặt cơ chế chia sẻ kết nối (Connnection Pool): Error!
Bookmark not defined.

I.2. Tại sao lại sử dụng JMF: Error! Bookmark not defined.
I.3. Hình ảnh các module của hệ thống Error! Bookmark not defined.
II. Đánh giá: Error! Bookmark not defined.
II.1. Tự đánh giá: Error! Bookmark not defined.
II.2. Thư viện đánh giá: Error! Bookmark not defined.
III. Hướng phát triển: Error! Bookmark not defined.
PHỤ LỤC Error! Bookmark not defined.
I. Cài đặt hệ quản trị CSDL: MS SQL Server 2000 Error! Bookmark not defined.
II. Cài đặt Webserver : Apache Tomcat 5.0.25 Error! Bookmark not defined.
III. Cài đặt JMF : Java Media Framework Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO Error! Bookmark not defined.



L

L


I
I


M
M




Đ
Đ


U
U


Trong những năm gần đây với sự phát triển vượt bậc của công nghệ thông tin,
những ứng dụng của công nghệ thông tin vào các lãnh vực đã đóng vai trò to lớn cho
sự phát triển của nhân loại. Áp dụng quản lý bằng máy tính thay cho quản lý bằng tay
ở các tổ chức, công ty, cơ quan, đơn vị… là vô cùng cần thiết khi ở đó, sự nhanh
chóng, chính xác và tính hiệu quả được đặt lên hàng đầu.
Ở Thư viện trườ
ng Đại học Khoa Học Tự Nhiên, việc quản lý sinh viên sử dụng
phòng máy của thư viện từ trước đến nay đều chủ yếu thực hiện bằng tay, từ việc làm
thẻ, dán ảnh, đến nhập thông tin của sinh viên vào máy tính. Vì vậy, sẽ mất nhiều thời

gian cho việc quản lý và hiệu quả không cao. Do đó, mục tiêu của đề tài là xây dựng
chương trình quản lý sinh viên sử dụng phòng máy và tạo thẻ dựa trên mã v
ạch, qua
đó tăng độ chính xác và giảm thiểu sai sót.
Chương trình quản lý sinh viên sử dụng phòng máy là một bộ công cụ hỗ trợ
quản lý phòng máy thư viện bao gồm: hệ thống Web cho phép sinh viên đăng kí trực
tuyến, hẹn ngày chụp hình trực tuyến, thủ thư quản lý sinh viên; công cụ tạo và in thẻ
phòng máy; công cụ quản lý sử dụng máy tính. Chương trình sử dụng Java là ngôn
ngữ mạnh theo hướng thuần đối tượng, mã nguồn m
ở để xây dựng các ứng dụng.
Chương trình chạy trên môi trường Window có giao diện thân thiện với người sử
dụng.
Do khả năng có hạn và thời gian không cho phép nên không tránh khỏi những sai
sót, rất mong sự góp ý của quý thầy cô và các bạn.
Một lần nữa xin chân thành cảm ơn tất cả quý Thầy, Cô và các bạn !
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 2












C

C
H
H
Ư
Ư
Ơ
Ơ
N
N
G
G


1
1






K
K
H
H
Á
Á
I
I



N
N
I
I


M
M


M
M
Ã
Ã


V
V


C
C
H
H


QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 3
I. Mã vạch 1 chiều:

I.1. Thông tin về mã vạch 1 chiều:
I.1.1. Mã vạch 1 chiều là gì?
Mã vạch một chiều là một loại mã có dạng một hàng bao gồm những thanh và
khoảng trắng nằm xen kẽ nhau.
Bề dày của những thanh và khoảng trắng xác định nội dung thông tin mà người
sử dụng cần mã hoá.
Những thanh và khoảng trắng có thể theo phương ngang hoặc phương thẳng
đứng tùy vào từng nhu cầu sử dụng cụ thể.
Thông tin được mã hoá có thể là chữ, số, hay toàn bộ các kí t
ự trong bảng mã
ASCII.


Hình 1.1

I.1.2. Mã vạch chứa đựng thông tin gì?
Nội dung được chứa đựng trong mã vạch tuỳ thuộc vào người dùng muốn mã hoá
cái gì, nội dung đó có thể là mã số một mặt hàng, tên nhân viên, tên hàng hoá,
Đa số các mã vạch có một hàng gồm chữ và số ngay bên dưới mã vạch. Chúng ta
có thể dễ dàng đọc nội dung trong hàng này. Nó được sử dụng khi mã vạch vì một lý
do nào đó bị hư hại, không đọc được. Khi đó, hàng này sẽ đóng vai trò cung cấp lạ
i nội
dung đã được mã hoá trong mã vạch.
Bản thân mã vạch một chiều không chứa đựng cơ sở dữ liệu. Khi mã được nhận
thông qua một máy quét, người sử dụng lấy thông tin bằng cách tương ứng mã nhận
được này vào một CSDL có sẵn, từ đó có được những nội dung cần biết.

QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 4



Hình 1.2

I.1.3. Cấu trúc của mã vạch 1 chiều:
Mỗi mã vạch bắt đầu bằng kí tự bắt đầu và kết thúc bằng kí tự kết thúc. Những kí
tự đặc biệt này giúp cho máy đọc có thể xác định được vị trí của mã vạch và quét từ
đầu đến cuối.
Mỗi mã vạch có thể có một kí tự kiểm tra ngay trước kí tự kết thúc. Kí tự kiểm tra
này được tính toán khi mã vạch được in ra dựa trên nhữ
ng kí tự trên mã vạch. Máy đọc
thực hiện tính toán kí tự kiểm tra và so sánh kết quả tính được với kí tự kiểm tra đọc
được ở cuối mã vạch. Nếu hai kết quả này không giống nhau, máy đọc sẽ cho rằng có
cái gì đó sai sót, nó sẽ thoát ra và thử thực hiện lại một lần nữa.
Nhằm nâng cao sự chính xác trong việc đọc mã vạch, có một vùng trống tại nơi
bắt đầu và kết thúc của mã vạch g
ọi là Quiet Zone. Vùng trống này giúp cho máy đọc
mã vạch có thể xác định chính xác vị trí của kí tự bắt đầu và kết thúc của mã vạch.
Thông thường, độ rộng của vùng Quiet Zone phải gấp 10 lần chiều rộng của thanh
hẹp nhất.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 5


Hình 1.3

I.1.4. Tập kí tự:
Tập kí tự tuỳ thuộc vào loại dữ liệu mà mã vạch có thể mã hóa. Thông thường, có
3 loại tập kí tự: số, chữ cái và số, và tất cả các kí tự trong bảng mã ASCII.
Một mã vạch có tập kí tự số có nghĩa là mã vạch đó chỉ có thể mã hóa dữ liệu số
từ 0 đến 9. Một số kí tự bổ sung có thể được mã hóa bình thường là những kí tự đ

iều
khiển của mã vạch, ví dụ như là kí tự bắt đầu, kết thúc.
Một mã vạch có tập kí tự gồm chữ cái và số có nghĩa là mã vạch đó có thể mã hóa
các số từ 0 đến 9 và chữ cái từ A đến Z. Thêm vào đó, một số kí tự bổ sung có thể
được mã hóa, ví dụ như là kí tự bắt đầu, kết thúc.
Một mã vạch có tập kí tự bao gồm tất cả những kí t
ự trong bảng mã ASCII cho
phép mã hóa tất cả các kí tự trong bảng mã ASCII. Nó bao gồm tất cả các kí tự trong
bảng mã ASCII, có giá trị từ 0 đến 127 và có thể được mã hóa bởi mã vạch.
Trên lý thuyết, để mã hoá cùng một dữ liệu như nhau, mã vạch dùng tập kí tự số
sẽ sử dụng nhiều không gian vật lý hơn so với mã vạch dùng tập kí tự bao gồm tất cả
các kí tự trong bảng mã ASCII. Tuy nhiên, mã vạch có tập kí tự bao gồm tất c
ả các kí
tự trong bảng mã ASCII cho phép bạn linh động trong việc mã hóa nhiều dạng thông
tin hơn so với mã vạch dùng tập kí tự số.
I.1.5. Gián đoạn, liên tục:
Thông thường có hai loại mã vạch: gián đoạn và liên tục.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 6
Mã vạch gián đoạn là dạng mã vạch mà mỗi kí tự được mã hóa trong mã vạch có
thể được biểu diển riêng lẻ mà không có mối liên hệ nào đến phần còn lại trong mã
vạch. Những mã vạch như vậy có những kí tự ở cả đầu và cuối của mã vạch. Những kí
tự riêng lẻ được tách biệt bởi một số khoảng trắng giữa các kí tự. Khoảng trắng giữa
những kí t
ự không chứa đựng thông tin gì cả, chức năng duy nhất của nó là tách biệt
những kí tự ra.


Hình 1.4


Mã vạch liên tục là một dạng mã vạch mà mỗi kí tự riêng lẻ của mã vạch không
thể được tách biệt. Thực tế là do những kí tự bắt đầu bằng một thanh và kết thúc bằng
một khoảng trắng. Khoảng trắng cuối cùng được kết thúc bởi thanh bắt đầu của kí tự
tiếp theo. Do đó, không có cách nào để có thể biết được khoảng trắng cuối cùng rộng
bao nhiêu và cũng không thể
biết được kí tự tiếp theo bắt đầu ở đâu. Những mã vạch
liên tục thông thường sử dụng một vài loại thanh kết thúc đặc biệt hay chuỗi kết thúc,
do đó khoảng trắng cuối cùng của kí tự dữ liệu cuối cùng được kết thúc bởi thanh kết
thúc.


Hình 1.5

Trong ví dụ trên, mỗi kí tự bao gồm 4 thanh và 4 khoảng trắng. Khoảng trắng
cuối cùng của kí tự 1 được kết thúc bởi thanh đầu tiên của kí tự 2. Khoảng trắng cuối
cùng của kí tự 2 được kết thúc bởi thanh đầu tiên của kí tự 3. Khoảng trắng cuối cùng
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 7
của kí tự 3 được kết thúc bởi thanh đầu tiên của kí tự 4. Khoảng trắng cuối cùng của kí
tự 4 được kết thúc bởi thanh kết thúc.
Với cùng một dữ liệu cần mã hoá như nhau, mã vạch gián đoạn cần sử dụng
nhiều không gian hơn so với mã vạch liên tục do mã vạch gián đoạn tốn không gian
cho khoảng trắng giữa các kí tự. Tuy nhiên, mã vạch gián đoạn thông thường có thể
được in ra v
ới chất lượng kém- điều này đồng nghĩa với việc có thể sử dụng máy in rẻ.
Ngoài số lượng khoảng trắng mà hai loại mã vạch yêu cầu, cũng như loại và chất
lượng của phần cứng được sử dụng để in nó, không có sự khác biệt tự nhiên nào trong
vấn đề an toàn. Điều này có nghĩa là, không thể nói rằng mã vạch liên tục thì an toàn
hơn so với mã vạch gián đoạ
n hay ngược lại.

I.1.6. Mã vạch có độ dài cố định, thay đổi:
Mã vạch có thể có chiều dài cố định hay thay đổi.
Theo định nghĩa, mã vạch có chiều dài cố định mã hóa một số lượng kí tự xác
định. Ví dụ, mã vạch UPC-A thường mã hóa 12 kí tự. Một ứng dụng không thể mã hoá
ít hơn hay nhiều hơn chiều dài được quy định trước là 12 kí tự. Bản thân mã vạch xác
định chiều dài dữ liệu.
Mã vạ
ch có chiều dài thay đổi có thể mã hoá một số lượng kí tự bất kì. Ví dụ,
Code128 có thể mã hóa một số lượng kí tự bất kì. Bản thân mã vạch không xác định cụ
thể bao nhiêu kí tự dữ liệu có thể được mã hoá.
Chú ý rằng, tuỳ thuộc vào hiệu quả sử dụng, mã vạch có chiều dài thay đổi cũng
có thể được sử dụng như mã vạch có chiều dài cố định. Ví dụ, nếu chúng ta sử d
ụng
Code 128 để mã hoá một số nhận dạng có chiều dài luôn là 10 thì có nghĩa là chúng ta
đã sử dụng Code 128 như thể nó là mã vạch có chiều dài cố định.
I.1.7. Mã vạch tự kiểm tra:
Mã vạch được xem như “tự kiểm tra” nếu có một lỗi in hay quét thì mã vạch sẽ
không cho phép đọc một kí tự trong mã vạch thành một kí tự hợp lệ khác.
Chú ý rằng “tự kiểm tra” không có nghĩa là tự sửa lỗi.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 8
I.2. Ứng dụng:
Trong thực tế, chúng ta bắt gặp việc sử dụng mã vạch tại một số siêu thị trên cả
nước giúp tăng hiệu quả bán hàng, giúp cho việc phục vụ khách hàng một cách nhanh
chóng và hiệu quả. Trên mỗi mặt hàng đều có một mã vạch tương ứng, khi khách hàng
đem đến quầy tính tiền, nhân viên chỉ cần quét qua máy đọc mã vạch tất cả các mặt
hàng, từ đó máy tính sẽ cho biết tổng số tiền khách hàng phả
i trả. Điều này giúp giảm
thiểu sự sai sót trong tính toán và nâng cao khả năng phục vụ cho khách hàng.
Ứng dụng trong những quy trình kinh doanh, những quy trình cần được tự động

tăng năng suất và giảm thiểu sự sai lầm của con người.
Ứng dụng trong những sản phẩm xuất khẩu. Hiện nay, hầu hết những quốc gia
trên thế giới (hơn 80 quốc gia) đã đưa vào sử dụng mã vạch trên s
ản phẩm của họ. Nền
công nghiệp Việt Nam sẽ phải sử dụng mã vạch nếu muốn xuất khẩu sản phẩm của
mình ra nước ngoài.
Nói chung, mã vạch được ứng dụng khi có yêu cầu về sự nhận diện chính xác và
tốc độ nhận diện.
Tuỳ từng yêu cầu cụ thể của người sử dụng mà có các loại mã vạch tương ứng.

Lĩnh vực ứng dụng Mã vạch
Những mặt hàng ở USA và Canada UPC/EAN
Những mặt hàng trên toàn thế giới UPC/EAN
Sách và tạp chí EAN-13 với UPC/EAN
Những thùng carton được vận chuyển bằng
tàu
Code 128
Những thùng carton được vận chuyển bằng
tàu
Interleaved 2 of 5 hay Code 128
Những thùng carton được vận chuyển bằng
tàu
Interleaved 2 of 5 hay Code 128
Những thùng carton được vận chuyển bằng
tàu
Code 128
Số sêri trong việc xuất bản hàng loạt Code 128
Số sêri trong việc xuất bản hàng loạt Code 128
Địa chỉ thư trong các bưu điện ở Mỹ POSTNET
Kiểm tra trong ngân hàng MICR E-13B hay CMC-7


QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 9
I.3. Ưu khuyết điểm:
I.3.1. Ưu điểm:
 Cải thiện hiệu quả thao tác.
 Tiết kiệm thời gian
 Giảm bớt việc mắc lỗi
 Giúp cho việc quản lý dễ dàng
I.3.2. Khuyết điểm:
Khuyết điểm chính của mã vạch một chiều đó là bản thân nó không thể chứa
đựng thông tin của cơ sở dữ liệu. Đây chính là điểm yếu của nó so với mã vạch hai
chiều.
I.4. Giới thiệu một số loại mã vạch:
I.4.1. EAN-13:
+ Cấu trúc mã EAN-13:
Trong hệ thống mã số EAN cho sản phẩm bán lẻ có hai loại, một loại sử
dụng 13 con số (EAN-13) và loại kia sử dụng 8 con số (EAN-8).


Hình 1.6
Mã số EAN-13 gồm 13 con số có cấu tạo như sau :
Từ trái sang phải
Mã quốc gia: hai hoặc ba con số đầu.
Mã doanh nghiệp: có thể là bốn, năm hoặc sáu con số
Mã mặt hàng: có thể là năm, bốn hoặc ba con số tùy thuộc vào mã doanh
nghiệp.
Số cuối cùng là số kiểm tra.
Để đảm bảo tính thống nhất và tính đơn nhất của mã số, mã quốc gia phải do tổ
chức mã số vật phẩm qu

ốc tế (EAN lnternational) cấp cho các qưốc gia là thành viên
của tổ chức này. Mã số quốc gia của Việt Nam là 893. Mã số EAN-8 gồm 8 con số có
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 10
cấu tạo như sau : ba số đầu là mã số quốc gia giống như EAN-13, bốn số sau là mã
mặt hàng, số cuối cùng là số kiểm tra.
00-13: USA & Canada 20-29: In-Store Functions 30-37: France
40-44: Germany 45: Japan (also 49) 46: Russian Federation
471: Taiwan 474: Estonia 475: Latvia
477: Lithuania 479: Sri Lanka 480: Philippines
482: Ukraine 484: Moldova 485: Armenia
486: Georgia 487: Kazakhstan 489: Hong Kong
49: Japan (JAN-13) 50: United Kingdom 520: Greece
528: Lebanon 529: Cyprus 531: Macedonia
535: Malta 539: Ireland 54: Belgium & Luxembourg
560: Portugal 569: Iceland 57: Denmark
590: Poland 594: Romania 599: Hungary
600 & 601: South Africa 609: Mauritius 611: Morocco
613: Algeria 619: Tunisia 622: Egypt
625: Jordan 626: Iran 64: Finland
690-692: China 70: Norway 729: Israel
73: Sweden 740: Guatemala 741: El Salvador
742: Honduras 743: Nicaragua 744: Costa Rica
746: Dominican Republic 750: Mexico 759: Venezuela
76: Switzerland 770: Colombia 773: Uruguay
775: Peru 777: Bolivia 779: Argentina
780: Chile 784: Paraguay 785: Peru
786: Ecuador 789: Brazil 80 - 83: Italy
84: Spain 850: Cuba 858: Slovakia
859: Czech Republic 860: Yugloslavia 869: Turkey

87: Netherlands 880: South Korea 885: Thailand
888: Singapore 890: India 893: Vietnam
899: Indonesia 90 & 91: Austria 93: Australia
94: New Zealand 955: Malaysia
977: International Standard Serial
Number for Periodicals (ISSN)
978: International Standard
Book Numbering (ISBN)
979: International Standard
Music Number (ISMN)
980: Refund receipts
981 & 982: Common
Currency Coupons
99: Coupons

Mã EAN-8 chỉ sử dụng trên những sản phẩm có kích thước nhỏ, không đủ chỗ ghi mã
EAN-13 (ví dụ như thỏi son, bút bi)
+ Cách tính số kíểm tra cho mã EAN-13 và mã EAN-8
Bước 1 : Từ phải sang trái, cộng tất các con số ở vị trí lẻ (trừ số kiểm tra C);
Bước 2: Nhân kết quả bước 1 với 3;
Bước 3 : Cộng giá tri của các con số còn lại
Bước 4 : Cộng kết quả bước 2 với bước 3;
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 11
Bước 5 : Lấy bội số của 10 lớn hơn và gần kết quả bước 4 nhất trừ đi kết quả
bước 4, kết quả là số kiểm tra C.

Ví dụ : Tính số kiểm tra cho mã 893456501001 C
Bước 1 : 1 + 0 + + 0+ 6 + 4+ 9 - 20
Bước 2 : 20 x 3 = 60 .

Bước 3 : 8 + 3 + 5 + 5 + 1 + 0 : 22
Bước 4 : 60 + 22 = 82
Bước 5 : 90 - 82 - 8
Mã EAN-13 hoàn chỉnh sẽ là : 893456501001 8

+ Các điểm cần chú ý khi in mã EAN :
Không in chữ hay bất kỳ hình vẽ gì vào vùng diện tích xung quanh mã (đánh dấu
bằng khung đen trên film master): Màu lý t
ưởng để in mã vạch là màu đen trên nền
trắng. Có thể in một số màu nền và màu vạch khác để bao bì đẹp hơn ; khi đó phải
tuân thủ theo bảng các màu nền và màu vạch tiêu chuẩn do tổ chức EAN quốc gia
cung cấp; Mã vạch nên đặt ngang, các vạch vuông góc với mặt phẳng đáy sản phẩm,
mã số ở dưới .
I.4.2. Code 128:
+ Thông tin về Code 128:
Code 128 là một loại mã vạch mã hoá dữ liệu chữ và số có hiệu qu
ả sử dụng và
độ dày cao. Mã vạch này được ứng dụng rộng rãi, đặc biệt trong những trường hợp cần
mã hoá một lượng dữ liệu tương đối lớn trong một khoảng không gian tương đối hẹp.


Hình 1.7

+ Tính toán số kiểm tra:
Trước khi Code 128 được mã hóa, phần mềm phải tính toán xem số kiểm tra trên mã
vạch có đúng không. Những bước để tính toán số kiểm tra như sau:
1. Lấy giá trị của kí tự bắt đầu (103, 104, hay 105) và tạo giá trị bắt đầu
của số kiểm tra.
2. Bắt đầu từ kí tự theo sau kí tự đầu tiên, lấy giá trị của kí tự (giữa 0 và
102), nhân nó với vị trí của kí t

ự (1) và thêm nó vào số kiểm tra đang
sử dụng.
3. Xét từng kí tự trên dữ liệu, lấy giá trị của nó nhân với vị trí của nó và
cộng vào giá trị số kiểm tra.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 12
4. Chia kết quả số kiểm tra cho 103. Số dư trở thành số kiểm tra, được
thêm vào cuối của thông điệp.
5. Kí tự kết thúc được thêm vào sau kí tự kiểm tra.
Để dễ hiểu ta xem xét ví dụ sau. Tính giá trị của số kiểm tra cho mã vạch sau:
“HI345678”. Số kiểm tra có trong tất cả các mã vạch Code 128, nhưng nó không được
in như là một phần của phần văn bản phía dưới mã vạch (giống như UPC và EAN).
Mã vạch START-A H I CODE-C 34 56 78
Giá trị kí tự 103 40 41 99 34 56 78
Vị trí kí tự - 1 2 3 4 5 6
Tính 103 40 * 1 41 * 2 99 * 3 34 * 4 56 * 5 78 * 6
Tổng khối lượng 103 40 82 297 136 280 468

Tính tổng số kiểm tra cho từng kí số, ta thu được:
103+40+82+297+136+280+468=1406.
Giá trị này được chia cho 103 (1406/ 103 = 13), phần dư là 67. Do vậy kí tự kiểm
tra là kí tự có giá trị 67.
+ Mã hoá mã vạch:
Tiếp tục với ví dụ trên, chúng ta sẽ mã hoá mã vạch Code 128 với dữ liệu
HI345678 và số kiểm tra 67 đã tính ở trên.
Chúng ta sẽ xem xét cách mã hoá mã vạch bằng cách xem số “1” đại diện cho
thanh và “0” đại diện cho khoảng trắng. Theo cách trên thì 1101 sẽ có 2 vạch (11), tiếp
theo là 1 khoảng trắng (0), cuố
i cùng là một thanh (1). Mã vạch sau cùng được biểu
diễn như sau:


Hình 1.8

+ Cấu trúc mã vạch Code 128:
Code 128 gồm một vùng trống đầu, một trong ba kí tự bắt đầu, dữ liệu,
số kiểm tra, kí tự kết thúc, và vùng trống.
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 13
Để mã hoá giá trị trong mã vạch Code 128, đầu tiên chúng ta phải tính kí
tự kiểm tra và phần dữ liệu của mã vạch, bao gồm cả số kiểm tra, sau đó chúng ta mới
có thể mã hóa chúng thành một dãy gồm những thanh và khoảng trắng.
Một mã vạch Code 128 có cấu trúc vật lý như sau:
1. Mã đầu tiên, là mã 103, 104, hay 105 lấy từ bảng mã hóa bên dưới.
2. Mỗi kí tự dữ liệu được mã hóa dựa theo bảng mã hóa bên dưới.
3. Kí tự kiểm tra
được tính như được đề cập ở trên và được mã hóa sử
dụng bảng bên dưới.
4. Kí tự kết thúc 11000111010
5. Vạch chấm dứt 11
+ Bảng mã hóa Code 128
THỂ HIỆN
TRONG TẬP
KÍ TỰ
THỂ HIỆN
TRONG TẬP
KÍ TỰ
GIÁ
TRỊ
A B C
MÃ HÓA

GIÁ
TRỊ
A B C
MÃ HÓA
00 SP SP 00 11011001100 53 U U 53 11011101110
01 ! ! 01 11001101100 54 V V 54 11101011000
02 " " 02 11001100110 55 W W 55 11101000110
03 # # 03 10010011000 56 X X 56 11100010110
04 $ $ 04 10010001100 57 Y Y 57 11101101000
05 % % 05 10001001100 58 Z Z 58 11101100010
06 & & 06 10011001000 59 [ [ 59 11100011010
07 ' ' 07 10011000100 60 \ \ 60 11101111010
08 ( ( 08 10001100100 61 ] ] 61 11001000010
09 ) ) 09 11001001000 62 ^ ^ 62 11110001010
10 * * 10 11001000100 63 _ _ 63 10100110000
11 + + 11 11000100100 64 NUL ` 64 10100001100
12 , , 12 10110011100 65 SOH a 65 10010110000
13 - - 13 10011011100 66 STX b 66 10010000110
14 . . 14 10011001110 67 ETX c 67 10000101100
15 / / 15 10111001100 68 EOT d 68 10000100110
16 0 0 16 10011101100 69 ENQ e 69 10110010000
17 1 1 17 10011100110 70 ACK f 70 10110000100
18 2 2 18 11001110010 71 BEL g 71 10011010000
19 3 3 19 11001011100 72 BS h 72 10011000010
20 4 4 20 11001001110 73 HT I 73 10000110100
21 5 5 21 11011100100 74 LF j 74 10000110010
QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 14
22 6 6 22 11001110100 75 VT k 75 11000010010
23 7 7 23 11101101110 76 FF l 76 11001010000

24 8 8 24 11101001100 77 CR m 77 11110111010
25 9 9 25 11100101100 78 SO n 78 11000010100
26 : : 26 11100100110 79 SI o 79 10001111010
27 ; ; 27 11101100100 80 DLE p 80 10100111100
28 < < 28 11100110100 81 DC1 q 81 10010111100
29 = = 29 11100110010 82 DC2 r 82 10010011110
30 > > 30 11011011000 83 DC3 s 83 10111100100
31 ? ? 31 11011000110 84 DC4 t 84 10011110100
32 @ @ 32 11000110110 85
NA
K
u 85 10011110010
33 A A 33 10100011000 86 SYN v 86 11110100100
34 B B 34 10001011000 87 ETB w 87 11110010100
35 C C 35 10001000110 88 CAN x 88 11110010010
36 D D 36 10110001000 89 EM y 89 11011011110
37 E E 37 10001101000 90 SUB z 90 11011110110
38 F F 38 10001100010 91 ESC { 91 11110110110
39 G G 39 11010001000 92 FS | 92 10101111000
40 H H 40 11000101000 93 GS } 93 10100011110
41 I I 41 11000100010 94 RS ~ 94 10001011110
42 J J 42 10110111000 95 US DEL 95 10111101000
43 K K 43 10110001110 96
FNC3 FNC3 96
10111100010
44 L L 44 10001101110 97
FNC2 FNC2 97
11110101000
45 M M 45 10111011000 98
SHIFT SHIFT 98

11110100010
46 N N 46 10111000110 99
Code C Code C 99
10111011110
47 O O 47 10001110110 100
Code B FNC4 Code B
10111101110
48 P P 48 11101110110 101
FNC4 Code A Code A
11101011110
49 Q Q 49 11010001110 102
FNC1 FNC1 FNC1
11110101110
50 R R 50 11000101110 103
Start A Start A Start A
11010000100
51 S S 51 11011101000 104
Start B Start B Start B
11010010000
52 T T 52 11011100010 105
Start C Start C Start C
11010011100

STOP STOP STOP
11000111010

+ Ví dụ mã hóa:
Xét ví dụ sau, mã hoá HI345678 trên mã vạch Code 128. Theo cách tính
số kiểm tra như phần trên, chúng ta thu được số kiểm tra đối với trường hợp này là 67.
Chúng ta mã hóa từng kí tự sử dụng bảng mã hóa trên:

QUẢN LÝ PHÒNG MÁY THƯ VIỆN BẰNG MÃ VẠCH
SVTH : Âu Dương Đạt – Lê Thành Nguyên Trang 15
1. Kí tự START-A: 11010000100.
2. Kí tự “H”: 11000101000.
3. Kí tự “I”: 11000100010.
4. Kí tự “CODE-C”: 10111011110.
5. Kí tự “34”: 10001011000.
6. Kí tự “56”: 11100010110.
7. Kí tự “78”: 11000010100.
8. Số kiểm tra 67: 10000101100.
9. Kí tự STOP: 11000111010.
10. Thanh chấm dứt: 11.


Hình 1.9

I.4.3. Code 39:
+ Thông tin về Code 39:
Code 39 là loại mã vạch chữ và số đầu tiên được phát triển, hiện nay vẫn
còn được sử dụng rộng rãi, đặc biệt là trong việc bán sỉ hàng hoá. Nó là một chuẩn mã
vạch được sử dụng bởi Bộ Quốc Phòng Mỹ. Code 39 cũng được biết với tên “3 of 9
Code” hay “USD-3”.
Một mã vạch Code 39 có dạng như sau:


Hình 1.10

Code 39 thuộc dạng mã vạch gián đoạn, có chiều dài thay đổi. Nó có thể
tự kiểm tra vì vậy một kí tự in sai không thể được đọc và chuyển thành một kí tự đúng
được.

+ Tính số kiểm tra:
Vì Code 39 có khả năng tự kiểm tra nên thông thường số kiểm tra không
còn cần thiết nữa. Tuy nhiên, trong những trường hợp cần đòi hỏi độ chính xác cao thì
có thể thêm số kiểm tra vào.
Để tính số kiểm tra tự ch
ọn, ta theo những bước sau:
1. Lấy giá trị (0 đến 42) của từng kí tự trong mã vạch. Những kí tự bắt
đầu và kết thúc không được tính trong quá trình tính số kiểm tra.
2. Tính tổng những giá trị trong bước 1.
3. Chia giá trị trong bước 2 cho 43

×