যকোনো মুদি দোকান বা ডিপার্টমেন্টাল স্টোর থেকে কোনো জিনিস কিনলেই তার সাথে একটি বারকোড দেখা যায়৷ এ লেখায় আমরা এই বারকোড সম্পর্কে আলোচনা করবো যাতে আমাদের হাতে আসা যেকোনো বারকোডকে ডিকোড করতে পারি৷
ইউপিসির পূর্ণরূপ- ইউনিভার্সাল প্রোডাক্ট কোড৷ মূলত মুদি দোকানের চেকআউট পদ্ধতি দ্রুত সম্পন্ন করার জন্য এবং মালামালের সঠিক হিসেব রাখার জন্য ইউপিসি তৈরি হয়৷ কিন্তু বর্তমানে এটি শুধু মুদি দোকানের মধ্যেই সীমাবদ্ধ নেই৷ এর সফলতার কারণে এটি এখন সব ধরনের পণ্য বিক্রিতেই ব্যবহার হয়৷
যেকোনো পণ্যের গায়ে প্রিন্ট করা ইউপিসি সংকেতের দুটি অংশ রয়েছে৷ যথা- ০১. মেশিন রিডেবল বারকোড, ০২. হিউম্যান রিডেবল ১২-ডিজিট ইউপিসি নাম্বার৷
চিত্র-১-এর ইউপিসি নাম্বারের প্রথম ৬টি অংক (৬৩৯৩৮২) হচ্ছে ম্যানুফ্যাকচারার আইডেন্টিফকেশন নাম্বার (এমআইএন)৷ পণ্য উত্পাদনকারী প্রতিষ্ঠানের নিয়োগ দেয়া কোনো ব্যক্তি (যাকে ইউপিসি সমন্বয়কারী বলা হয়) পণ্যের গায়ে এই নাম্বারটি দেয় এবং এটা নিশ্চিত করে যে, এই কোড অন্য কোনো পণ্যের গায়ে ব্যবহার করা হয়নি৷ সাধারণত প্রতিটি আইটেম বিক্রির সময় কিংবা প্যাকেট করার সময় ওই আইটেমটির একটি ভিন্ন কোড দরকার হয়৷ এটা মূলত ইউপিসি সমন্বয়কারীর কাজ যে সে কিভাবে নাম্বারগুলো রাখবে৷
ইউপিসি কোডের সবশেষ অংকটি হলো চেক ডিজিট৷ কোনো ইউপিসি কোড সঠিকভাবে স্ক্যান করা হয়েছে কি-না স্ক্যানার এই অংকটির মাধ্যমে তা বের করে৷ উদাহরণস্বরূপ ৬৩৯৩৮২০০০৩৯ কোড থেকে এখানে দেখানো হচ্ছে যে কিভাবে চেক ডিজিটটি নির্ণয় করা হয়৷
০১. বিজোড় অবস্থানের (১, ৩, ৫, ৭, ৯ ও ১১) অংকগুলো যোগ করতে হবে৷ অর্থাৎ ৬+৯+৮+০+০+৯=৩২৷ ০২. অতঃপর যোগফলটিকে ৩ দিয়ে গুণ করতে হবে৷ অর্থাৎ ৩২ x ৩ = ৯৬৷ ০৩. এবার জোড় অবস্থানের (২, ৪, ৬, ৮ ও ১০) অংকগুলো যোগ করতে হবে৷ অর্থাৎ ৩+৩+২+০+৩= ১১৷ ০৪. ২নং ধাপে পাওয়া সংখ্যার সাথে এই যোগফলটি যোগ করতে হবে৷ অর্থাৎ ৯৬+১১=১০৭৷ চেক ডিজিটটি পাওয়ার জন্য ৪নং ধাপে পাওয়া সংখ্যাটির সাথে এমন একটি অংক যোগ করতে হবে যাতে যোগফলটি ১০-এর গুণিতক হয়৷ অর্থাৎ ১০৭+৩=১১০৷ আর যোগ করা এ অংকটি হচ্ছে চেক ডিজিট৷ অতএব আলোচ্য কোডের চেক ডিজিট হচ্ছে ৩৷ যতবার স্ক্যানার একটি আইটেম স্ক্যান করবে ততবার এই গণনা প্রক্রিয়াটি চালাবে৷ যদি গণনায় পাওয়া চেক ডিজিটটি বারকোডের শেষ অংকটির সাথে না মিলে তাহলে স্ক্যানার বুঝবে যে কিছু ভুল আছে এবং আইটেমটি পুনরায় স্ক্যান করা দরকার৷
লক্ষ করে দেখবেন বারকোডে কোনো মূল্য লেখা থাকে না৷ যখন চেকআউট লাইনে স্ক্যানার কোনো পণ্য স্ক্যান করে, তখন ক্যাশ রেজিস্টার ইউপিসি নাম্বারটি স্টোরের কেন্দ্রীয় POS (পয়েন্ট অব সেল) কমপিউটারের কাছে পাঠায়৷ কেন্দ্রীয় কমপিউটার ওই মুহূর্তে পণ্যটির আসল মূল্য ফেরত পাঠায়৷
একটা বিষয় হয়তো লক্ষ করে থাকবেন, কোনো বড় প্রতিষ্ঠানের ইউপিসি বারকোডে অনেক সংখ্যক ০ সমন্বিত ম্যানুফ্যাকচারার আইডি থাকে৷
চিত্র-২-এ একটি ৩ লিটার বোতল ডায়েট কোকের বারকোড দেখানো হয়েছে৷ দেখতে পাচ্ছেন, কোকটির ম্যানু-ফ্যাকচারার আইডি ০৪৯০০০৷ আবার আপনি যদি কোনো কোকের ক্যানের বা বেশিরভাগ ২ লিটার বোতলের দিকে তাকান তাহলে দেখতে পাবেন সেখানে ইউপিসি বারকোডটি খুবই ছোট (মাত্র ৮ অংক বিশিষ্ট)৷ চিত্র-৩-এ একটি ২ লিটার বোতলের স্প্রাইটের বারকোড দেখানো হলো৷
এ ধরনের সংক্ষিপ্ত বারকোডকে বলা হয় জিরো সাপ্রেসড নাম্বারস৷ যেকোনো পূর্ণ সংখ্যা থেকে এ ধরনের সংক্ষিপ্ত সংখ্যা গঠনের অনেক নিয়ম আছে৷ কিন্তু এ সম্পর্কে সাধারণ ধারণা হচ্ছে, বারকোডটির পুরো সংখ্যাটি থেকে ৪ অংকের একটি সেট বাদ দেয়া, যার প্রতিটি অংক ০৷ স্প্রাইটের ইউপিসি কোডের উদাহরণটিতে শুরুর ০৪৯ হচ্ছে কোকের ম্যানুফ্যাকচারার আইডি যা ০৪৯০০০-এর প্রথম তিনটি অংক৷ ৫৫১ হলো স্প্রাইটের এই বোতলের আইটেম নাম্বার যাকে ০০৫৫১ থেকে সংক্ষেপ করা হয়েছে৷ শেষের দিক থেকে দ্বিতীয় শূন্যটি হচ্ছে কোকের ম্যানুফ্যাকচারার আইডি ০৪৯০০০-এর চতুর্থ অংকটি৷ সবশেষ অংকটি হচ্ছে চেক ডিজিট৷ শূন্য বিবর্জিত বারকোড তৈরির প্রধান উদ্দেশ্য হলো ছোট আকারের পণ্যের জন্য ছোট বারকোড তৈরি করা৷ ম্যানুফ্যাকচারার আইডির প্রথম অংকটি একটি বিশেষ অংক৷ একে বলা হয় নাম্বার সিস্টেম ক্যারেক্টার৷ এটি দিয়ে পণ্যের ক্যাটাগরি প্রকাশ করা হয়৷ যেমন- কোনো ম্যানুফ্যাকচারার আইডির শুরুতে ৩ থাকলে বুঝতে হবে এটি ফার্মাসিউটিক্যালস পণ্যের বারকোড৷
এবার আমরা দেখব কিভাবে বারকোডকে ডিকোড করে আসল সংখ্যায় পরিণত করা যায়৷ প্রথমে ১২ সংখ্যার যেকোনো বারকোডের দিকে লক্ষ করুন (চিত্র-৪)৷ এটা কিছু কালো বার এবং কালো বারগুলোর মধ্যে কিছু সাদা স্পেস দিয়ে তৈরি৷ ধরে নিন সবচেয়ে সরু বারটি বা স্পেসটি (চিত্র-৪-এর সবচেয়ে বাম পাশের বারটি) হলো বারের প্রশস্ত — তার একটি ইউনিট বা একক৷ সুতরাং সবগুলো বার বা স্পেস এই ইউনিটের সমানুপাতিক হবে৷ অর্থাৎ এক একক প্রশস্ত, দুই একক প্রশস্ত ইত্যাদি৷
যেকোনো বারকোডের শুরুর কোড হলো ১-১-১৷ অর্থাৎ যেকোনো বারের বাম দিক থেকে নির্ণয় শুরু করলে দেখতে পাবেন এক একক প্রশস্ত কালো বারের পেছনে এক একক প্রশস্ত সাদা স্পেস এবং তারও পেছনে একটি এক একক প্রশস্ত কালো বার রয়েছে৷ স্টার্টকোডকে অনুসরণ করে অংকগুলোকে এভাবে এনকোড করা হয় :
০=৩-২-১-১ ১=২-২-২-১ ২=২-১-২-২
৩=১-৪-১-১ ৪=১-১-৩-২ ৫=১-২-৩-১
৬=১-১-১-৪ ৭=১-৩-১-২ ৮=১-২-১-৩
৯=৩-১-১-২
এবার আমরা চিত্র-৪-এর বারকোডটির দিকে লক্ষ করি৷ এই বারকোডটির সংখ্যা হলো ০৪৩০০০১৮১৭০৬, এখানে- বারকোডটি স্ট্যান্ডার্ড স্টার্টকোড ১-১-১ (বার-স্পেস-বার ) দ্বারা শুরু হয়েছে, ০-এর কোড ৩-২-১-১ (স্পেস-বার-স্পেস-বার), ৪-এর কোড ১-১-৩-২ (স্পেস-বার-স্পেস-বার), ৩-এর কোড ১-৪-১-১ (স্পেস-বার-স্পেস-বার), পরবর্তী তিনটি ০-এর কোড ৩-২-১-১ (স্পেস-বার-স্পেস-বার)৷
এর পরে অর্থাৎ বারকোডটির ঠিক মাঝের কোডটি একটি স্ট্যান্ডার্ড কোড৷ ১-১-১-১-১ (স্পেস-বার-স্পেস-বার-স্পেস), যা খুবই উল্লেখযোগ্য৷ কারণ এটা দিয়ে বুঝায় যে, ডান পাশের অংকগুলোর বিপরীত (আয়নার সামনে রাখলে যা পাওয়া যায়)৷ পরবর্তী ১-এর কোড ২-২-২-১ (বার-স্পেস-বার-স্পেস), ৮-এর কোড ১-২-১-৩ (বার-স্পেস-বার-স্পেস), ১-এর কোড ২-২-২-১ (বার-স্পেস-বার-স্পেস), ৭-এর কোড ১-৩-১-২ (বার-স্পেস-বার-স্পেস), ০-এর কোড ৩-২-১-১ (বার-স্পেস-বার-স্পেস), ৬-এর কোড ১-১-১-৪ (বার-স্পেস-বার-স্পেস), স্টপ ক্যারেক্টটি হলো ১-১-১ (বার-স্পেস-বার)৷
পাঠকদের সুবিধার্থে এই এনকোডিং/ডিকোডিং পদ্ধতিতে আরেকটু বিশেষণ করে বলা হলো৷ ধরুন, ০-এর এনকোডেড রূপ ৩-২-১-১ (স্পেস-বার-স্পেস-বার)৷ এবার ৪নং চিত্রে লক্ষ করুন৷ এখানে বারকোডে ০-এর স্থলে একটি স্পেস, এরপর একটি বার, এরপর আবার একটি স্পেস এবং সবশেষে আরেকটি বার রয়েছে৷ কোডের শুরুর স্পেসটা আমাদের ইউনিটের ৩ গুণ৷ তাই এখানে ৩ লেখা হয়েছে৷ পরবর্তী বারটি ইউনিটের ২ গুণ৷ তাই এখানে ২ লেখা হয়েছে৷ পরবর্তী ২টি ১ আমাদের ইউনিটের সমান৷ তাই এখানে ১ লেখা হয়েছে৷ অতএব এবার নিশ্চই বুঝতে পেরেছেন যে এই এনকোডিং/ডিকোডিং কিভাবে করা হয়৷
আশা করি, এ লেখা থেকে বারকোড পদ্ধতিটি আপনাদের কাছে আরো মজাদার মনে হবে৷
ফিডব্যাক : rabbi1982@yahoo.com