รหัส Barcode!!! ที่ใช้ในสำนักหอสมุด

ผมว่าเทคโนโลยี Barcode ทุกวันนี้ก็ยังใช้งานได้ดีอยู่นะครับ ง่ายและประหยัดดี ถึงแม้จะมีข้อเสียอยู่บ้างในเรื่องของการอ่านข้อมูลและความปลอดภัยของข้อมูล แต่ถ้าเราจัดการดี ๆ ก็ไม่น่าจะมีปัญหาอะไรมากมาย ไม่ไช่ผมไม่ชอบเทคโนโลยีใหม่ ๆ นะครับ แต่อย่าเปลี่ยนดีกว่าจนกว่าเราจะพร้อม

     กลับมาแล้วครับหลังจากหายไปซะนาน... มัวแต่ไปบ้าปลากัดอยู่พักใหญ่(เชื่อผมเหอะทุกคนต้องมีสิ่งที่บ้าเหมือนกันหมดทุกคนเพียงแต่ว่าใครจะบ้าอะไรเท่านั้น) ในที่สุดก็ต้องกลับมาสู่วงเวียนของตัวเองในด้าน IT  เมื่อวันที่ 17 มีนาคม 51 ได้เข้าประชุมคณะกรรมการดำเนินงานสำนักหอสมุด เห็นเจ๊ขวัญ(ขวัญตระกูล) มาพูดถึงเรื่องรหัส Barcode ที่บัตรประจำตัวนักศึกษา ก็เลยนึกขึ้นได้ว่ายังไม่เคยเขียนเรื่อง Barcode ที่เราใช้กันในสำนักหอสมุดเลย

    วันนี้ก็เลยจะมาเขียนเรื่องรหัส Barcode ที่ใช้ในสำนักหอสมุด เริ่มเลยดีกว่า

     รหัสที่ระบบ Innopac ใช้จะมีทั้งหมด 14 หลัก ไม่เชื่อลองไปหยิบหนังสือหรือบัตรประจำเจ้าหน้าที่มานับดูก็ได้  ตัวอย่างเช่น 3 1001 00283617 0 ซึ่งหลักแรกจะเป็นตัวบอกว่าเป็นหนังสือหรือว่าเป็นสมาชิกห้องสมุด ถ้าขึ้นต้นด้วยเลข 3 ก็จะเป็นหนังสือ แต่ถ้าขึ้นต้นด้วยเลข 2 จะเป็นสมาชิกก็พวกนิสิต บุคลากรนั่นแหละ สี่หลักต่อมาจะเป็นตัวแบ่งหน่วยงานหรือวิทยาเขต ที่สำนักหอสมุดของเราจะใช้ 1001 ส่วนที่พะเยาจะใช้ 1002 เป็นต้น อีกแปดหลักต่อมา ถ้าเป็นหนังสือจะใช้การนับเลขเพิ่มไปเรื่อย ๆ ซึ่งกลไกอันนี้ผมก็ไม่ทราบได้เพราะไปจ้างเค้าทำมา ส่วนนิสิตก็จะใช้รหัสประจำตัวนิสิตครับ ส่วนหลักสุดท้าย จะได้มาจากการคำนวณ Modulo 10(Mod-10) ซึ่งเอาไว้เช็ค digit ในระบบ Innopac ซึ่งเดี๋ยวจะอธิบายการคำนวณอีกทีครับ

     สำหรับการคำนวนหาตัวเลข Check digit ทำได้ดังนี้ครับ

     แรกสุดเราจะต้องมีตัวเลขทั้งหมด 13 หลักก่อน คือ 1 หลัก สำหรับ patron(2) หรือ item(3) 4 หลักสำหรับ รหัสมหาวิทยาลัยหรือวิทยาเขต 8 หลักสำหรับรหัสนักศึกษา ตัวอย่างเช่น 3065000870938 เมื่อได้เลข 13 หลักแล้วเราก็จะคำนวนหาผลรวมในหลักคู่ดังรูปครับ

คือดึงเอาค่าในหลักคู่ออกมาบวกกันก็จะได้ค่าจากตัวอย่างคือ 16 แล้วก็เก็บเลขนี้ไว้ก่อนครับ

     ต่อมาก็จะมาหาผลรวมในหลักคี่ซึ่งจะแตกต่างจากหลักคู่คือ เราจะดึงเลขในหลักคี่แล้วเอามาคูณด้วย 2 แล้วเก็บค่าไว้ แต่ก็มีกรณีพิเศษคือถ้าคูณกันแล้วเกิน 10 ก็ให้แยกหลักสิบ กับ หลักหน่วย แล้วนำเอามาบวกกันอีกทีแล้วเก็บค่าไว้ เมื่อหาค่าได้หมดแล้วก็เอาค่าที่เก็บไว้แต่ละตัวนำเอามารวมกัน จากตัวอย่างจะได้ค่า 30 ดังรูปครับ

เมื่อได้ค่าผลรวมของหลักคู่กับหลักคี่แล้วก็นำค่าทั้ง 2 มารวมกันอีกทีคือ 16 + 30 = 46

เสร็จแล้วก็ให้นำค่าหลักหน่วยที่ได้จากผลรวมของทั้ง 2 มาลบ 10 ค่าที่ได้จะคือตัวเลข check digit จากตัวอย่างจะได้ ดังนี้ 10 - 6  = 4  แต่มีกรณีพิเศษคือถ้าหลักหน่วยเราเป็น 0 อยู่แล้วเราก็ไม่ต้องนำไปลบ 10 ให้ใช้เลข 0 เป็นเลข check digit ไปเลย

4 คือเลข check digit ของเลข 13 หลักชุดนี้  3065000870938

เมื่อเราเอาไปใช้งานในระบบ Innopac ของห้องสมุดเราก็จะได้รหัส Barcode 14 หลักดังนี้ 30650008709384

สำหรับในการทำบัตรสมาชิกห้องสมุดผมก็ใช้วิธีนี้แหละครับในการคำนวณหาเลข check digitg เมื่อได้เลขแล้วก็นำไปใส่ใน font barcode 3of9 ซึ่งหา download ได้ทั่วไปใน google

โดยใส่รหัส barcode ดังนี้ *30650008709384* ซึ่งเครื่องหมาย * จะแทน start bit และ stop bit สำหรับเครื่องอ่าน barcode เมื่อ print ออกมาเป็นบัตรสมาชิกก็สามารถใช้การได้ดีครับ

*** สำหรับผู้ที่จะลองทำรหัส Barcode เอาไปใช้ในด้านอื่นก็ลองวิธีผมก็ได้นะครับเพี่ยงแค่ ใส่เครื่องหมาย * ปิดหน้าปิดหลังรหัส barcode ที่ต้องการก็ใช้ได้แล้วครับ

ผมว่าเทคโนโลยี Barcode ทุกวันนี้ก็ยังใช้งานได้ดีอยู่นะครับ ง่ายและประหยัดดี ถึงแม้จะมีข้อเสียอยู่บ้างในเรื่องของการอ่านข้อมูลและความปลอดภัยของข้อมูล แต่ถ้าเราจัดการดี ๆ ก็ไม่น่าจะมีปัญหาอะไรมากมาย ไม่ไช่ผมไม่ชอบเทคโนโลยีใหม่ ๆ นะครับ แต่อย่าเปลี่ยนดีกว่าจนกว่าเราจะพร้อม

 

บันทึกนี้เขียนที่ GotoKnow โดย  ใน เทคโนกับห้องสมุด



ความเห็น (5)

เขียนเมื่อ 

โอ้ หัวหน้า เรานี่เก่งจริงๆ อิอิ

เขียนเมื่อ 

ขึ้นอยู่กับว่าใช้เทคโนโลยีให้เหมาะสมครับ

เขียนเมื่อ 

เมื่อก่อนที่ทำเรื่องระบบกับเกดิษฐ เวลาเกดิษฐอธิบายทีไร พี่ไม่ค่อยเข้าใจหรอก 555 แต่แน่ใจว่าเกดิษฐทำได้ ซึ่งก็ดีมากเลยค่ะ ที่เอามาแนะนำ เพราะห้องสมุดอื่นสามารถนำวิธีการไปไช้ได้ด้วย

เขียนเมื่อ 

โห อัจฉริยะจริงๆ ตะก่อนตอนอยู่ห้องสมุดโรงพยาบาล ได้ฐานข้อมูลห้องสมุดมาแต่ว่า บาร์โค้ดใช้ไม่ได้ผลดี พอดีมีพี่นักคอมของรพ. เค้าเข้ามาช่วยบอกว่า ไอ้เจ้าfont 3of9 ก็ทำบาร์โค้ดได้

ก็เลยให้เค้าเขียนโปรแกรมที่เชื่อมกะฐานข้อมูลแล้วปริ้นออกมาเป็นบาร์โค้ดได้ ซึ่งก็ได้ผลเป็นที่น่าพอใจ ไม่งั้นอ่านบล็อก พี่เก เรื่องนี้ไม่รู้เรื่องแน่ๆ หุหุ แต่ว่าก็เพิ่งรู้ว่าตัวเลขบาร์โค้ดของหอสมุด เนี่ย มีที่มาที่ไปยังไง ......

วัชรินทร์
IP: xxx.159.57.25
เขียนเมื่อ 

แอบเข้ามาอ่านค่ะ ขอบคุณมากค่ะ ได้แบบนี้เหมือนกัน แต่ว่า ถ้าจะเอาไป gen หลาย ๆ ตัว ต้องเขียน vb เพิ่มใช่มั๊ยคะ จะเขียนยังไง ให้ได้เลข เยอะ ๆ แล้วเอามาให้ได้ ยังตันอยุ่เลยค่ะ อิอิ...