# Barkod
Barkod, çubuk kod ya da çizgi im, verilerin görsel özellikli makinelerin okuyabilmesi için çeşitli kodlama yöntemleriyle sunulmasıdır.
Orijinal olarak barkod, veriyi paralel çizgilerin genişlikleri ve boşlukları arasında saklardı, ama günümüzde noktasal şekiller, iç içe daireler ve görüntü içinde gizli şekiller gibi farklı türlerde de görülebiliyorlar.
Barkod, barkod okuyucu olarak da adlandırılan optik okuyucular ile okunabilir veya özel yazılımlarla görüntü içinden taranabilir. Barkod bilgisayara veri girişinin doğruluğunu ve hızını artıran Otomatik Tanıma Veri Toplama (OT/VT) uygulamalarında geniş bir kullanım alanı bulmaktadır.
Geleneksel olarak barkod kodlaması sadece rakamları sembolize ederken, yeni sembolojiler tüm ASCII karakter setine büyük harf ve daha fazlasını eklemiştir. Basit barkodların ihtiyaç duyduğu alana daha fazla bilgi sığdırma gereksinimi çizgiler yerine kare hücreleri içeren (bir tür "İki boyutlu barkod") matrix kodların geliştirilmesine sebebiyet vermiştir. "İç içe kodlar" iki boyutlu ve tek boyutlu kodların karışımıdır ve geleneksel tek boyutlu sebirden fazla satır içerecek şekilde bir çerçeve içinde yeniden boyutlandırma işlemidir.


## Tarihçe.
1940'ların sonunda bir lisansüstü öğrencisi olan Amerikalı Bernard Silver, öğrenim gördüğü Drexel Teknoloji Enstitüsü'ne gelen bir market zinciri sahibinin kasada tüm ürün bilgilerini otomatik kaydedecek bir sistem geliştirilmesini istediğini, ama enstitünün konuyla ilgilenmediğini gördü. Bu fikir Silver'in ilgisini çekti ve doktora öğrencisi olan arkadaşı Amerikalı Norman Woodland'a bundan söz etti. Konu üzerinde birlikte çalışmaya başladılar.
Akıllarına ilk olarak,kızılötesi ışığın altında parlayacak floresan mürekkeple oluşturulacak desenleri kullanmak geldi ama bunun çok kullanışsız ve yüksek maliyetli olduğu ortaya çıktı. Ardından Norman Woodland, Morse kodu ilkesiyle çalışan ve tarayıcıya okutulabilecek bir etiket düşündü. Mors kodundan tek farkı, noktalar yerine inceli kalınlı çizgiler kullanılması olacaktı.
Barkodun henüz oluşum aşamasında ortaya atılan bu görüş modern barkod fikrine çok yakındı ama Woodland ve Silver bu durumda çizgileri tarayıcıya okutmanın çok güç olacağı düşüncesiyle fikri daha da geliştirdiler; 1949'da hedef tahtasındakine benzer iç içe geçmiş halkalar şeklinde bir veri kodu için patent başvurusu yaptılar. Böylece tarayıcının barkoda paralel tutulması zorunluluğu ortadan kalkacaktı. Günümüzün lazerli okuyucuları bu sorunu, etiketi aynı anda birkaç yönden birden tarayarak aşar.
Bunun ardından, tarayıcılarının prototipini yaptılar; prototip, okumakta olduğu kodları yakıp kül etmeden önce fikrin işe yaradığını gösterecekti. Woodland o dönemde IBM firmasında çalışıyordu ve firma iki kez patent haklarını satın alma önerisi yaptı. Sonunda patent hakkını 1962'de Philco firması aldı ve sonra RCA firmasına sattı. 1970'lerde hâla IBM firmasında çalışmakta olan Woodland, Amerikalı George Laurer ile birlikte Evrensel Ürün Kodu olarak bilinen ve 1973'te onaylanan 12 basamaklı karmaşık kodu geliştirdi. Ertesi yıl, 26 Haziran 1974 günü sabah 08.01'de, ABD'nin Ohio eyaletinde bulunan Troy şehrindeki Marsh Süpermarket'in kasasında işlenen bir paket sakız, dünyada barkodla satılan ilk ürün oldu.


## Teknolojisi.
Tek boyutlu barkod ikili bir koddur (1'ler ve 0'lar). Çizgi ve boşluklar değişen kalınlıklarda olurlar ve farklı kombinasyonlarda basılırlar. Okunabilme için, iyi bir baskı ve çizgi ve boşluklar arasında yeterli kontrast olmalıdır. Tarayıcılar kodları okumak için farklı teknolojiler kullanır. En genel iki teknoloji lazer ve kameradır. Tarayıcılar, birçok süpermarket kasasında olduğu gibi sabit veya envanter takibinde kullanıldığı şekilde el tipi cihazlar olabilir.
Uğursuz başlangıcına rağmen, barkod birçok ve farklı uygulamada fark edilir bir başarı kazanmıştır. İlk başarılı barkodlardan olan ve Dr. David Allais tarafından geliştirilen Code 39, lojistik ve savunma sanayi uygulamalarında geniş bir uygulama alanı bulmuştur. Code 39 daha yeni barkodlara göre daha az karmaşık olması sayesinde bugün hala kullanımdadır. Code 128 ve Interleaved 2 bazı geniş pazarlarda başarı kazanmış diğer kodlardır.


## Evrensel ürün kodu.
Barkodların en iyi bilinen ve en yaygın kullanımı tüketici ürünlerindedir. Evrensel Ürün Kodu veya U. P.C., bir tanedir çünkü kullanıcıları tarafından geliştirilmiştir. Birçok teknolojik yenilik önce bulunur sonradan bu yeniliğe uygun bir ihtiyaç belirlenir. U. P.C. 1970'lerin başında Amerikan meyve-sebze sektörünün belirlediği bir ihtiyaca cevap vermiştir.
Sebze-meyve reyonlarındaki işlemleri otomatik hale getirmenin işçilik maliyetlerini azaltacağı, stok kontrolünü geliştireceği, işleri hızlandıracağı ve müşteri hizmetlerini geliştireceğine inanan, hem üreticileri hem de süpermarketleri temsil eden altı tane endüstri birliği endüstri liderlerinden oluşan bir komite kurdu. İki yıl süren çalışmalar 1 Nisan 1973 tarihinde Evrensel Ürün Kodunun ve U. P.C. barkod sembolojisinin anons edilmesi ile sonuçlandı. U. P.C. ticari olarak kendini ilk defa Haziran 1974'te Troy, Ohio'daki Marsh'ın Süpermarketinde bir Wrigley's sakız paketi üzerinde gösterdi.
Sebze - meyve endüstrisi komitesinin yürüttüğü ekonomik çalışmalar 1970'lerin ortalarında okuma yöntemiyle sektörde 40 milyon dolardan fazla bir tasarruf yapılacağını öngörmüştü. Bu rakamlara o zaman diliminde ulaşılamadı, barkod okuma yönteminin öldüğünü söyleyenler bile oldu. Üreticilerin barkodlu etiketleri hemen kullanmaya başlamalarına rağmen barkodun faydası pahalı tarayıcıların çok sayıda perakendeci tarafından kullanılmasını gerektiriyordu. Hiçbiri ilk olmayı istemiyordu ve Business Week'in yayınladığı "Başarısız Süpermarket Tarayıcısı" makalesinde olduğu gibi sonuçlar ilk birkaç yıl umut verici görünmüyordu.


## Sembolojiler.
Mesajlar ve barkodlar arasındaki ilişki "semboloji" olarak adlandırılır. Bir sembolojinin özelliği mesajdaki rakam/karakterlerin ve başlangıç bitiş işaretlerinin çizgi ve boşluklar halinde tek tek kodlanması, barkoddan önceki ve sonraki gerekli boş alanın boyutu ve bir kontrol karakterinin hesaplanmasını içerir.
Tek boyutlu sembolojiler genel olarak iki özelliğe göre sınıflandırılır:
  - Sürekli veya ayrık: Sürekli sembolojilerde karakterler arka arkaya yer alır, bir tanesi boşlukla biterse diğeri çizgi ile başlar veya tersi. Ayrık sembolojilerde ise karakterler çizgi ile başlar ve biter  Kod bitimi gibi algılanmadığı sürece aradaki boşluk ihmal edilir.
  - İki genişlikli veya çoklu genişlikli: İki genişlikli sembolojilerde çizgi ve boşluklar geniş ve dardır  geniş bir çizginin ne kadar geniş olduğu o sembolojinin geniş çizgiler ile ilgili tanımına uyduğu sürece önemli değildir (genelde dar çizginin iki veya üç katı kadar daha geniş). Birçok çoklu genişlikli sembolojilerdeki çizgi ve boşluklar "modül" denen temel bir genişliğin katlarıdır  böyle kodlar genellikle 1, 2, 3 ve 4 modül genişliği kullanırlar.
İç içe kodlar tek boyutlu bir sembolojinin yatayda birkaç defa tekrarlanması ile oluşur.
İki boyutlu sembolojiler çok çeşitlidir. En genel olanı kare veya nokta şekilli modülleri bir tablo şeklinde gösteren matriks kodlardır. İki boyutlu sembolojiler başka görsel şekillerde de olabilirler. Dairesel şekillerin yanında, farklı boyut veya şekillerdeki modül dizilerini kullanıcının belirlediği bir görüntünün içine gizleyerek (örneğin DataGlyph) steganografiyi kullanan birçok iki boyutlu semboloji de vardır.


### Tarayıcı/semboloji etkileşimi.
Tek boyutlu sembolojiler, barkod boyunca doğrusal bir ışın demetini hareket ettirerek barkodun açık-koyu alanlarını algılayan bir lazer okuyucu tarafından okunacak şekilde optimize edilmiştir.
İç içe sembolojiler de barkod boyunca birden fazla geçiş yapabilen lazer tarayıcılar için optimize edilmişlerdir.
İki boyutlu sembolojiler tüm sembolojisi kapsayan bir tarama şekli olmadığı için lazer tarafından okunamazlar. Bu tür sembolojiler resim yakalayan kameralı cihazlar tarafından taranmalıdır.


### Tarayıcılar (barkod okuyucular).
En eski ve hala en ucuz barkod tarayıcıları sabit bir ışık kaynağı ve barkod boyunca hareket ettirilen bir adet fotosensör ile yapılır.
Daha sonra yapılan bir tasarım, "lazer tarayıcı", barkod boyunca lazeri tarayan poligonal ayna veya galvanometreye monte edilen ayna kullanır—aslında sadece bir adet düz çizgi içerir, ama barkodları her açıdan okuyabilmek için karmaşık şekillerde görülür.
1990'ların sonlarında bazı barkod okuyucu üreticileri hem tek boyutlu hem de iki boyutlu barkodları okumak için sayısal kameralarla çalışmaya başladı. Bu teknoloji günümüzde mükemmel hale geldi ve şimdilerde çoğu uygulamada lazer tarayıcıları performans ve güvenilirlik açısından geride bırakıyor.
Yakın zamanda, mağaza raflarından alabileceğiniz sayısal kameralar hem tek hem de iki boyutlu barkodları okuyacak yeterli çözünürlüğe ulaştı. Artan şekilde firmalar barkod tarama yazılımlarını kameralı telefonlara adapte etmenin yollarını arıyor. Ancak, kameralı telefonların optikleri endüstriyel tarayıcılar için optimize edilmiş standart kodlara yeterince uygun değil. Sonuç olarak mobil kullanım için renk kodu ve mCode gibi yeni kodlar tasarlanmakta.


### Kod doğrulayıcı (barkod kontrolü).
Bar kod doğrulayıcı birincil olarak barkod basılan ama tedarik zincirindeki tüm firmaların bar kod kalitesini test edeceği iş sahalarında kullanılmaktadır. Barkodun tedarik zincirindeki herhangi bir tarayıcı tarafından okunabilmesini garantilemek çok önemlidir. Perakendeciler uyumlu olmayan barkodlar için yüksek meblağlı cezalar vermektedir. 13 haneli ve diğer tür barkodlarda son rakam kontrol rakamıdır. Örneğin numaralar; 8693043021044 olsun, (1.Sayı=8,2.Sayı=6,3.Sayı=9 şeklinde) burada tek ve çift sıralı rakamlar kendi içinde toplanır, çift rakamlar grubunun son hanesi 3 ile çarpılır ve çift hanelilerin toplamının son rakamı eklenir. Elde edilen sonucun son hanesi 10 da çıkartılır ve elde edilen sonuçla barkoddaki son rakam aynı olmalıdır. Yani; tek sıralar toplamı 8+9+0+3+2+0=22, 6+3+4+0+1+4=18 18x3=54, 54+22=76, birler hanesi 6 yı 10 dan çıkarttığımızda 10-6=4. En sondaki rakamın 4 olduğu görülmektedir.
Bar kod doğrulayıcılar bir tarayıcı gibi çalışmaktadır ama sadece bar kodu çözümlemek yerine, bir doğrulayıcı 8 çeşit test uygulamaktadır. Her test sonucuna 0.0-4.0 (F-A) arasında bir değer verilmektedir ve bu testlerin en düşüğü tarama değeri olarak alınmaktadır. Birçok uygulama için 2.5 (C) değeri kabul edilebilir en alt değerdir.
Bar kod doğrulayıcı standartları
  - Orijinal Amerikan barkod kalite özellikleri ANSI X3.182'dir
  - Şu anki uluslararası barkod kalite özellikleri (tek boyutlu kodlar için) ISO15426-1 ve (iki boyutlu kodlar için) ISO15426-2 'dir.
  - Barkod doğrulayıcıları (tek boyutlu bar kod doğrulayıcı uyumluluk standardı) ISO 15426-1 veya (iki boyutlu bar kod doğrulayıcı uyumluluk standardı) ISO 15426-2 ile uyumlu olmalıdır.
Bar kod doğrulayıcı üreticileri:
  - RJS/Printronix (tek boyutlu)
  - Hand Held Products (tek boyutlu)
  - Webscan (tek ve iki boyutlu)
  - Auto ID Solutions (iki boyutlu)
  - Stratix (tek boyutlu)
  - Axicon (tek boyutlu)


## Barkod kullanmanın faydaları.
Satış noktası (POS) yönetiminde, barkod kullanımı önemli konular ile ilgili çok detaylı güncel bilgi sağlayarak kararların daha hızlı ve güvenilir şekilde alınmasına imkân vermektedir.


### Kullanılan sektörler.
 - Perakende Sektörü
 - Marketler
 - Hediyelik eşya
 - Nalbur
 - A.V.M'ler
 - Büfeler


### Örneğin.
  - Hızlı satılan ürünler çabucak belirlenir ve müşteri talebini karşılamak üzere yeniden sipariş edilir,
  - Yavaş satılan ürünler belirlenir ve istenmeyen stok oluşumu engellenir,
  - Bir ürünün mağaza içinde yer değişimi takip edilebilir ve hızlı satılan ve daha karlı ürünler en iyi yerlere yerleştirilir,
  - Geçmiş bilgiler dönemsel değişimleri kesin bir doğrulukla tahmin etmek için kullanılabilir.
Barkod tarayıcıları ayrıca düşük maliyetlidir ve çok doğru okuma yapar - sadece 1/100000 giriş yanlış olur.