Barkod Okuma Programlarının Çalışma Prensipleri
Ekleme Tarihi: 01.04.2023 | Güncelleme Tarihi: 15.10.2026 | Yazar Ekibi: Barkod Programı Editör Ekibi
Barkod okuma programı çalışma prensipleri; optik tarayıcıların siyah-beyaz çizgilerden yansıyan ışığı elektriksel sinyallere dönüştürmesi, kod çözücü yazılımın bu sinyalleri sayı dizisi olarak yakalaması ve ilişkisel veri tabanındaki ürün kartıyla eşleştirerek satış, stok ve mali işlemleri milisaniyeler içinde tamamlaması adımlarını kapsar.
Barkod Okuma Programı Çalışma Prensipleri: Işıktan Sayısal Veriye Dönüşüm
Ticari bir ürünün kasadan geçirilmesi esnasında duyulan kısa bir “bip” sesi, arka planda son derece karmaşık fiziksel ve yazılımsal süreçlerin başarıyla tamamlandığını haber verir. Tüketici için yalnızca bir saniyelik bir işlem gibi görünen bu olay, aslında optik fiziğin, mikroişlemci mimarisinin, veri iletişim protokollerinin ve ilişkisel veri tabanlarının eşzamanlı uyumuyla gerçekleşir. İşletmelerin operasyonel verimliliğini kavramak ve olası aksaklıkları hızlıca teşhis edebilmek için barkod okuma programı çalışma prensipleri konusunu ayrıntılarıyla bilmek gerekir.
Sistemin kalbinde yer alan barkod, ürünün üzerine basılmış optik bir dildir. Bu dilde siyah çizgiler ışığı soğururken (emerken), aralarındaki beyaz boşluklar ışığı geri yansıtır. Okuyucu cihazın yaydığı kırmızı lazer veya LED ışığı etiket yüzeyine çarptığında, sensör geri dönen ışık yoğunluğundaki dalgalanmaları milisaniyenin binde biri hassasiyetinde ölçer. Yansıyan ışık bir fotodiyot veya CMOS kamera sensörü tarafından analog voltaj sinyaline dönüştürülür. Cihazın içindeki analog-dijital dönüştürücü (ADC), bu voltaj seviyelerini ikili mantığa (0 ve 1) çevirir.
Elde edilen ikili sayı dizisi, okuyucunun firmware yazılımında bulunan karakter çözümleme tablosuyla eşleştirilir ve örneğin 13 haneli bir EAN-13 sayı bloğu (örn. 8690123456789) haline getirilir. Okuyucu bu veriyi USB veya kablosuz bağlantı üzerinden bağlı olduğu bilgisayara bir klavye vuruşu (HID Keyboard) gibi aktarır. İşte tam bu aşamada donanım tarafı görevini tamamlar ve sahneye işletim sistemi üzerinde çalışan perakende yazılımı çıkar.
Yazılım Katmanında Gerçekleşen İşlem Adımları
Okuyucunun gönderdiği kodun ürün kartıyla eşleşmesi, barkod programının temel işleyişidir. Bu kaydın satış, stok ve cari hesapta nasıl kullanıldığını barkod programı ile yapılabilecek işlemler üzerinden takip edebilirsiniz.
Ürün kodu ile tekil cihaz kimliği aynı kayıt değildir; elektronik mağazasında seri numarası takibi bu ayrımı gösterir. Barkod okuma programı seçerken kendi okuyucunuz ve örnek etiketlerinizle eşleştirme testi yapın.
Barkod okuyucudan bilgisayara ulaşan sayı dizisi, ekranda açık olan kasa yazılımı tarafından anlık olarak dinlenir. Yazılım katmanındaki çalışma prensibi şu sıralı adımlarla işler:
1. Giriş Verisinin Yakalanması ve Doğrulanması (Input Interception)
Kasa programı, klavye dinleme (hooking) veya sanal seri port (COM) üzerinden gelen veri akışını yakalar. Gelen verinin uzunluğu ve formatı kontrol edilir. Örneğin standart bir perakende barkodu 13 hane olmalıdır. Eğer okunan veri 13 haneden eksikse veya beklenmeyen özel karakterler içeriyorsa program veriyi hatalı okuma olarak işaretler ve kullanıcıyı sesli bir uyarı tonuyla bilgilendirir.
2. Barkod Türünün Ayrıştırılması ve Prefix Analizi
Gelen kodun ilk basamakları (prefix) analiz edilir. Türkiye standartlarında kod 869 veya 868 ile başlıyorsa bunun standart ambalajlı bir ticari ürün olduğu anlaşılır. Eğer kod 27, 28 veya 29 ile başlıyorsa program bunun şarküteri veya manav reyonundaki elektronik barkodlu teraziden basılmış tartılı bir etiket olduğunu anlar. Bu durumda program kodu ikiye böler: ilk kısım ürün kodunu (örn. Kaşar Peyniri), ikinci kısım ise tartılan gramajı veya tutarı ifade eder.
3. Veri Tabanı İndeksi ve SQL Sorgusu
Doğrulanan ürün kodu, ilişkisel veri tabanında (MySQL, SQLite veya MS SQL) indekslenmiş “Urunler” tablosunda aranır. İndeksli arama sayesinde yüz binlerce ürün kartı arasından ilgili kayıt 1-2 milisaniye içinde bulunur. Ürün kartından ürün adı (“Tam Yağlı Beyaz Peynir 1 Kg”), perakende satış fiyatı (“185,00 TL”), KDV oranı (“%1”), birimi (“Adet” veya “Kg”) ve mevcut stok miktarı (“34”) çekilir.
4. Sepet Hesaplaması ve Kasa Ekranının Güncellenmesi
Çekilen ürün bilgileri satış sepetinin yeni satırına eklenir. Eğer aynı ürün daha önce sepete eklenmişse program yeni bir satır açmak yerine mevcut satırın miktarını bir artırır ve satır toplamını yeniden çarpar. Sepetin genel toplamı, iskonto tutarları ve KDV dağılımı otomatik olarak hesaplanarak hem kasiyer ekranına hem de müşteriye dönük müşteri ekranına (VFD display) yansıtılır.
5. Stoktan Otomatik Düşüm ve Mali Entegrasyon
Kasiyer nakit, kredi kartı veya parçalı ödeme butonuna bastığı anda satış işlemi onaylanır. Program veri tabanındaki ürün stok sayacını anında bir birim azaltır. Ardından Gelir İdaresi Başkanlığı onaylı mali POS cihazına ethernet veya seri protokol üzerinden ödeme tutarını iletir; mali fiş basılır ve çekmece açılarak işlem sonlanır.
| Aşama | Sorumlu Katman | Gerçekleşen İşlem | Ortalama Süre |
|---|---|---|---|
| 1. Işık Tarama | Optik Okuyucu Donanımı | Lazer veya LED ışığı siyah/beyaz çizgilerden yansır | 10 – 30 Milisaniye |
| 2. Sinyal Çözümleme | Okuyucu Mikroişlemcisi | Analog sinyal dijital sayı dizisine (EAN-13) dönüştürülür | 5 – 15 Milisaniye |
| 3. Veri İletimi | USB / Bluetooth Arayüzü | Klavye emülasyonu ile sayı dizisi bilgisayara aktarılır | 2 – 5 Milisaniye |
| 4. SQL Sorgusu | Kasa Programı Veri Tabanı | Ürün adı, fiyat, KDV ve stok bilgisi çekilir | 5 – 20 Milisaniye |
| 5. Sepet ve Stok Kaydı | Satış Motoru ve Ekran | Ekrana ürün yazılır, stok bir eksiltilir ve fişe hazırlanır | 10 – 25 Milisaniye |
EAN-13 Barkod Kontrol Basamağının Matematiksel Doğrulama İlkesi
Barkod okuma programı çalışma prensipleri incelenirken en temel güvenlik mekanizmalarından biri Modulo-10 kontrol basamağı algoritmasıdır. Standart bir EAN-13 barkodunda yer alan ilk 12 hane ürün ve üretici bilgilerini içerirken, son 13. hane tamamen matematiksel bir denetim rakamıdır (check digit). Tarayıcı çizgileri okuduğunda şu matematiksel adımları anlık olarak hesaplar:
- Barkodun sağdan sola veya soldan sağa tek sıralı basamakları (1, 3, 5, 7, 9, 11) toplanır.
- Çift sıralı basamaklardaki rakamlar (2, 4, 6, 8, 10, 12) toplanır ve bu toplam 3 katsayısı ile çarpılır.
- Her iki değer birbirine eklenerek genel bir toplam elde edilir.
- Elde edilen toplamın 10 ile bölümünden kalan sayı belirlenir. Eğer kalan 0 ise kontrol basamağı 0 olur; kalan 0 değilse 10 sayısından bu kalan çıkarılarak kontrol rakamı bulunur.
Okuyucunun optik sensörü çizgileri tarayıp 13 haneyi çıkardığında, kendi işlemcisinde bu Modulo-10 hesabını saniyenin binde birinde yapar. Hesaplanan değer ile etikette basılı olan 13. hane birebir uyuşuyorsa okuma geçerli sayılır ve ‘bip’ sesi çıkarılarak veri bilgisayara aktarılır. Bu kontrol, yıpranmış çizgilerden dolayı yanlış bir ürün numarasının kasaya iletilmesini donanım seviyesinde engeller.
Çoklu Kasa ve Veri Tabanı ACID İşlem Güvenliği
Yoğun süpermarketlerde aynı anda onlarca kasa çalışırken aynı ürün farklı kasalardan saniyeler içinde okutulabilir. Barkod okuma programı çalışma prensipleri, veri tabanı seviyesinde ACID (Atomiklik, Tutarlılık, İzolasyon, Dayanıklılık) standartlarına dayanır. Kasada barkod tarandığında ve ödeme onaylandığında stok düşümü atomik bir transaction olarak çalıştırılır. İki kasa aynı anda son kalan bir ürünü okutmaya çalıştığında veritabanı kilit mekanizmaları devreye girerek stok sayısının eksiye düşmesini veya tutarsız kalmasını engeller. Bu sağlam mimari sayesinde mağaza genelinde envanter doğruluğu korunur.
1D Çizgisel ve 2D Karekod Barkodların Çalışma Prensibi Farkları
Perakende pazarında kullanılan optik kodlar yapılarına göre iki temel grupta toplanır. Bu iki formatın çalışma prensipleri ve donanımsal okuma süreçleri belirgin farklılıklar gösterir:
1 Boyutlu (1D) Çizgisel Barkodlar
EAN-13, EAN-8, UPC ve Code 128 gibi standart 1D barkodlar yalnızca yatay düzlemde veri barındırır. Çizgilerin yüksekliği okuma açısını kolaylaştırmak içindir; asıl bilgi çizgilerin ve boşlukların genişlik oranlarındadır. Lazer okuyucu çizgiyi yatay olarak kestiğinde çizgilerin zaman aralıklarını ölçer. Bu yapı basit ve son derece hızlıdır; ancak veri kapasitesi kısıtlıdır (genellikle 8 ila 20 hane).
2 Boyutlu (2D) Matris ve Karekodlar
QR Kod ve Data Matrix gibi 2D sistemler ise hem yatay hem de dikey eksende küçük siyah ve beyaz karelerden (modül) oluşur. Bu kodlar lazer çizgisiyle okunamaz; minyatür bir dijital kamera sensörü (2D Area Imager) tarafından anlık fotoğrafı çekilir. Görüntü işleme çipi kodun üç köşesindeki kılavuz kareleri tespit ederek kodun yönünü (açısını) anlar. Ardından perspektif düzeltmesi yaparak modülleri deşifre eder. Reed-Solomon hata düzeltme algoritmaları sayesinde kodun yüzde otuza varan kısmı yırtılmış veya kirlenmiş olsa dahi veri eksiksiz kurtarılır.
| Özellik | 1 Boyutlu (1D) Çizgisel Barkod | 2 Boyutlu (2D) Karekod |
|---|---|---|
| Veri Boyutu ve Yönü | Yalnızca yatay eksende çizgisel | Hem yatay hem dikey iki boyutlu matris |
| Veri Kapasitesi | Maksimum 20-30 karakter | 7.000+ nümerik / 4.000+ alfanümerik karakter |
| Tarama Teknolojisi | Lazer çizgi veya lineer CCD şerit | CMOS kamera sensörü (Area Imager) |
| Hasar Toleransı | Düşük; çizgi kesilirse okunamaz | Yüksek; %30’a kadar fiziksel hasarda veri kurtarılır |
| Ekrandan Okuma | Lazerle cep telefonu ekranı okunamayabilir | Telefon, tablet ve monitör ekranından rahatça okunur |
Haberleşme Arayüzleri ve İletişim Protokolleri
Barkod okuyucunun bilgisayara ve kasa programına veri gönderme şekli de operasyonel çalışma prensibini etkiler. Piyasada üç farklı iletişim protokolü kullanılır:
1. USB HID Klavye Emülasyonu (Human Interface Device)
En yaygın kullanılan standarttır. Okuyucu bilgisayarın USB portuna takıldığında harici bir klavye gibi tanınır. Bir barkod tarandığında imlecin bulunduğu metin kutusuna sanki klavyeden çok hızlı bir şekilde rakamlar tuşlanmış ve arkasından “Enter” veya “Tab” tuşuna basılmış gibi veri yazılır. Kurulumu son derece basittir ancak programın arama kutusunun daima odakta (focus) kalmasını gerektirir.
2. Sanal COM Port (Virtual Serial Port / RS-232)
Profesyonel perakende yazılımlarında tercih edilen daha gelişmiş bir yöntemdir. Okuyucu bilgisayara USB ile bağlı olsa dahi özel bir sürücüyle sanal bir COM portuna (örn. COM3) atanır. Barkod okuma programı bu seri portu arka planda sürekli dinler. Kasiyer ekranda hangi menüde veya pencerede olursa olsun, okutulan barkod doğrudan ilgili arka plan servisine iletilir; imlecin arama kutusunda olma zorunluluğu ortadan kalkar.
3. OPOS ve POS for .NET Standartları
Büyük süpermarket zincirlerinde kullanılan kurumsal donanım standartlarıdır. Yazarkasa, dokunmatik ekran, barkod okuyucu ve terazi ortak bir servis nesnesi (Service Object) üzerinden standardize edilmiş API çağrılarıyla yazılıma bağlanır.
Bulut Tabanlı Çalışma Prensipleri: Posingo Mimarisi
Geleneksel mimarilerde tüm veri tabanı kasa bilgisayarının yerel sabit diskinde çalışır. Bu durum bilgisayar arızalandığında satışların durmasına ve işletme dışından verilere ulaşılamamasına neden olur. Yeni nesil bulut mimarisiyle çalışan Posingo ise çalışma prensibini modern internet altyapısına taşımıştır.
Posingo bulut tabanlı çalışır. Okuyucunun ilettiği kodun ürün kaydıyla eşleşmesi için cihaz bağlantıları ve internet erişimi birlikte değerlendirilmelidir. Kesinti yönetimi ve destek kapsamını kullanıma geçmeden önce sağlayıcıdan yazılı olarak öğrenin.
Mali Mevzuat ve Gelir İdaresi Başkanlığı (GİB) Entegrasyonu
Türkiye’de perakende satış yapan işletmelerin barkod programı çalışma prensipleri Gelir İdaresi Başkanlığı’nın (GİB) Yeni Nesil Ödeme Kaydedici Cihaz (YN ÖKC) tebliğlerine tam uyumlu olmak zorundadır. Kasada barkod okutularak tamamlanan alışverişin toplam tutarı ve ürünlerin KDV kırılımları (%1, %10, %20), mali cihaza GMP3 protokolü üzerinden aktarılır.
Ödeme onaylandığında mali fiş basılır ve mali hafızaya işlenir. Bu sayede işletmeler vergi denetimlerinde şeffaflık sağlarken yasal cezai risklerden korunur. Yasal tebliğler ve güncel cihaz gereksinimleri hakkında en doğru bilgiye Gelir İdaresi Başkanlığı resmi sitesi üzerinden ulaşılabilir.
Barkod Okuma Hataları ve Teşhis Yöntemleri
Sistem çalışırken bazen okuyucu barkodu okumayabilir veya yanlış karakterler gönderebilir. Barkod okuma programı çalışma prensipleri bilindiğinde bu sorunlar kolaylıkla teşhis edilir:
- Okuyucu Bip Sesi Veriyor Ama Ekrana Veri Düşmüyor: Sorun yazılım katmanındadır. Programın arama kutusu odak dışı kalmış olabilir veya sanal COM port bağlantısı kopmuştur.
- Okuyucu Hiç Işık Vermiyor veya Bip Sesi Çıkmıyor: Donanımsal bağlantı veya kablo arızasıdır. USB portu değiştirilmeli veya adaptör kontrol edilmelidir.
- Türkçe Karakterler Bozuk Çıkıyor (Örn: ‘ı’ yerine ‘i’): Okuyucunun klavye dili varsayılan olarak İngilizce kalmıştır. Üretici kılavuzundaki “Turkish Q Keyboard” ayar barkodu taratılarak dil ayarı düzeltilmelidir.
- Silik veya Islak Barkodlar Okunmuyor: Lazer okuyucular yıpranmış çizgileri okumakta zorlanabilir. Bu durumlarda 2D imager okuyucular tercih edilmeli veya kasiyer ürün numarasını elle tuşlamalıdır.
Sıkça Sorulan Sorular
1. Barkod okuma programı çalışma prensipleri temel olarak nasıl özetlenir?
Okuyucu etiket çizgilerini ışıkla tarayıp elektrik sinyaline ve sayısal koda dönüştürür. Program bu kodu bilgisayara aktarır, veri tabanındaki ürün adı ve fiyatıyla eşleştirip sepeti hesaplar ve stoktan düşer.
2. Barkod çizgilerinin içinde ürünün fiyatı yazılı mıdır?
Hayır. Çizgiler yalnızca ürünün benzersiz kimlik numarasını barındırır. Fiyat, isim, KDV ve stok miktarı kasa programının veri tabanında saklanır.
3. Barkod okuyucudan gelen bip sesi ne anlama gelir?
Bip sesi, okuyucu donanımının çizgileri başarıyla taradığını, kontrol basamağını matematiksel olarak doğruladığını ve kodu bilgisayara ilettiğini gösterir.
4. Tartılı manav ve şarküteri ürünleri sistemde nasıl işlenir?
Elektronik terazi tartılan ürünün ağırlığını veya tutarını içeren özel bir barkod (27 veya 29 ile başlayan) basar. Program bu kodu parçalayarak ağırlığı ve birim fiyatı otomatik sepet satırına yansıtır.
5. USB klavye modu ile sanal COM port modu arasındaki fark nedir?
Klavye modunda verinin yazılması için imlecin arama kutusunda olması gerekir. Sanal COM port modunda ise program portu arka planda dinler; imleç nerede olursa olsun okunan barkod doğrudan sisteme işlenir.
6. İnternet kesilirse bulut tabanlı barkod yazılımı çalışmaya devam eder mi?
Posingo kullanımı için internet erişimini planlayın. Bağlantı kesilirse izlenecek adımları ve destek kapsamını sağlayıcıdan öğrenin.
7. Lazer okuyucu ile 2D imager okuyucunun çalışma farkı nedir?
Lazer okuyucu tek bir kırmızı çizgiyle 1D çizgisel barkodları tarar. 2D imager ise mini bir kamera gibi çalışarak hem 1D çizgileri hem de 2D karekodları ve telefon ekranlarını rahatça okur.
8. Hasarlı bir barkod program tarafından nasıl tamamlanır?
2D karekodlarda yer alan Reed-Solomon matematiksel hata düzeltme algoritmaları kodun belirli bir kısmı yırtılmış olsa bile eksik veriyi tamamlayarak okumayı başarır.
9. Kurulum ve kullanım sırasında teknik destek nasıl verilir?
Donanım tanımları, etiket ayarları ve kasiyer eğitimleri uzaktan bağlantı ile gerçekleştirilir. Operasyonel sorular için ekiplerimiz mesai saatleri içinde uzaktan destek sağlar.
10. Barkod okutulduğunda stok düşümü ne zaman gerçekleşir?
Program satış onaylandığı (tahsilat tamamlandığı) anda veri tabanındaki stok miktarından otomatik düşüm yapar ve güncel envanter sayısını eşitler.
Barkod okuma programında temel kontrol, okunan kodun doğru ürün ve satış birimiyle eşleşmesidir. Denemeye okunaklı bir etiketle başlayın; ardından hasarlı etiket, tanımsız kod ve tartılı ürün örneklerinde sistemin verdiği uyarıları inceleyin.
