Strekkode

**Strekkode** (engelsk *barcode*) er et maskinlesbart sett av vertikale streker på et ark. Strekene kan variere i tykkelse og avstand. Hvert enkelt tall eller bokstav har et unikt sett av streker og mellomrom. Når disse settes ved siden av hverandre dannes komplekse tall og bokstavkombinasjoner som kan leses og tolkes av en scanner. Strekkoder er i dag svært utbredt til å identifisere varer, forsendelser, billetter, dokumenter og andre objekter som trenger identifikasjon. 

Det finnes enkle strekkode-skrivere som skriver strekkoder på selvklebende etiketter, og det er laget strekkodefonter for utskrift på en vanlig PC.

## Historie

I 1948 lyttet to amerikanske studenter til en representant for et salgsfirma som ønsket automatisk identifikasjon av varene sine. 20. oktober 1949 tok de ut patent på det første strekkodesystemet, *(Pat.no 2612994)*. De første strekkodeleserne var imidlertid praktisk ubrukelige, og inkluderte blant annet en 500 W lyspære. Først etter at laserteknologien kom i 1960 kunne oppfinnelsen komme i praktisk bruk. Det tok imidlertid enda mange år før den ble kommersielt utnyttet, og først den 26. juni 1974 ble det første produktet solgt med strekkode (en 10-pakning Wrigley’s Juicy Fruit på et supermarked).

Varehandelen ble således de første som tok i bruk strekkoder, men senere kom andre brukere sterkt inn, og strekkoding har fått innpass på stadig flere bruksområder.

Det opprinnelige strekkodesystemet fra 1974 består av 11 siffer + et kontrollsiffer *(tilsammen 12 siffer)*, og ble kalt **U**niversal **P**roduct **C**ode (**[[Universal Product Code|UPC]]**).

## Prinsipp UPC-koding
Når en scanner leser en strekkode, leser den kodene 0 eller 1 (på/av). **Svart** er **1** og **hvit** er **0**. Hele strekkoden består av en **startkode** (som er 101), en **midtkode** (som er 0101) og en **sluttkode** (som er 010). Mellom startkoden og midtkoden leser scanneren tallene «venstrekodet». Mellom midtkoden og sluttkoden blir tallene lest «høyrekodet». 

Et eksempel: (**EAN/UCC 12**) *(Se figur)*. 
Hele koden leses som følger: S**LLLLLL**M**RRRRRR**E – I denne serien står S for startkoden, **LLLLLL** står for de tallene som leses med «venstrekoding», M står for midtkoden, **RRRRRR** står for de tallene som leses med «høyrekoding» og E står for sluttkoden.

Tallkodene er: 

## Beregning av kontrollsiffer
Kontrollsifferet er sifferet som befinner seg lengst til høyre i tallkoden, og er implementert som en kontrollrutine for å bekrefte at strekkodeleseren har lest koden korrekt. Kontrollsifferet blir kalkulert ved å bruke MOD10-metoden på en vektet sum av sifrene i strekkoden. UPC A-koden 5449288**2** har kontrollsifferet **2**, og blir kalkulert på følgende måte:

Først finner vi den vektede summen av de 7 første sifrene, der annenhvert siffer har forskjellig polaritet – odde og par. Sifrene som har oddepolaritet multipliseres med 3 og sifrene i parpolaritet multipliseres med 1. Det første sifferet i en UPC A-kode har alltid oddepolaritet. Når vektsummen er funnet, brukes MOD10-metoden, og kontrollsifferet får vi når dette resultatet trekkes fra 10.

vektet_sum = 5*3 + 4*1 + 4*3 + 9*1 + 2*3 + 8*1 + 8*3 = 78

mod = mod10(vektet_sum) = 8

kontrollsiffer = 10 - mod = 2

## Ulike strekkoderegistere
Det finnes mange ulike strekkodesystemer og registre, de mest brukte er:
***[[Code 128]]** – Er et eget strekkodesystem som inkluderer sifrene 0-9, bokstavene A-Z og ulike punkter og tegn *(hele [[ASCII]]-'s tegnsett, tilsammen 128 tegn)*.
***[[EAN]]** *(European Article Numbering)* - Verdens mest benyttede strekkodesystem til vareidentifikasjon. Flere enn hundre land er registrert i en felles base. I Norge er EAN representert ved GS1 Norway, tidligere EAN Norge. Dette systemet benytter kun siffer til identifikasjon. De 2 første sifrene betegner landkoden *(Norge=70)*, så kommer et nummer for firmaet, deretter kommer firmaets varenummer og det siste sifferet er alltid et kontrollsiffer, som beregnes ut fra en formel på grunnlag av foranstående siffer. For at et norsk firma skal kunne bruke EAN-strekkoder, må de registrere firmaet i EAN-Norge og få tildelt et firmanummer. Norge er også med i det såkalte GEPIR-systemet, som innebærer at dersom man har et EAN-nummer, kan man søke på Internett og finne produsenten av varen. I Norge har EAN følgende varianter: 
**EAN 8 – For merking av varer med liten plass til strekkode *(bare det nest siste sifferet er firmaets varenummer)*. 7 siffer + kontrollsiffer.
**EAN 13 – For ordinær merking av varer. 12 siffer + kontrollsiffer.
**EAN/UCC 14 – For merking av ytteremballasje. 13 siffer + kontrollsiffer.
**SENDINGSNUMMER (Consignment number) – For merking av hele sendinger. 16 siffer + kontrollsiffer. Når dette nummeret skrives i strekkode, vil det ha en «indikator» på 3 siffer foran nummeret *(fast 401)*. Det vil derfor fremkomme 20 siffer i strekkoden, men de 3 første har ingen innvirkning på kontrollsifferet.
**SSCC/KOLLINUMMER – For merking av kolli. 17 siffer + kontrollsiffer. I strekkodet form vil man i tillegg til selve kollinummeret benytte streksymbolet EAN/UCC 128 med «applikasjonsindikator» 00. Dette har ingen innvirkning på kontrollsifferet.
**EAN/UCC Global Service Relation Number (GSRN) – Brukes i Norge til identifikasjon av målepunkter i den Norske kraftleverandørbransjen. 17 siffer + kontrollsiffer.
***[[UPC]]** *(Universal Product Code)* – Nordamerikansk *([[USA]] og [[Canada]])* system tilsvarende EAN. De mest brukte:
**UPC E – Tilsvarende EAN 8. 7 siffer + kontrollsiffer.
**UPC A – Tilsvarende EAN 13. 11 siffer + kontrollsiffer.
***[[JAN]]** – Japansk system tilsvarende EAN.
***[[PostBar]]** – Amerikansk system for koding av postnummer på brev- og postsendinger.
***[[ISBN]]** *(International Standard Book Number)* – Internasjonalt system for koding av bøker. ISBN-systemet er etterhvert også innlemmet i EAN-systemet med 12 siffer + kontrollsiffer.

## Strekkodesystem
Et strekkodesystem er et nettverk av maskinvare og programvare som hovedsakelig består av mobile datamaskiner, skrivere, bærbare skannere, infrastruktur og støttende programvare. Strekkodesystemer brukes til å automatisere datainnsamling der manuell registrering verken er tidsmessig eller kostnadseffektiv. Selv om strekkodesystemer ofte tilbys av samme selskap, er de ikke systemer for radiofrekvensidentifikasjon (RFID). Mange selskaper bruker begge teknologiene som en del av større ressursstyringssystemer.

Et typisk strekkodesystem består av en infrastruktur, kablet eller trådløst, som forbinder flere mobile datamaskiner, bærbare skannere og skrivere med en eller flere databaser som lagrer og analyserer dataene samlet av systemet. På et visst nivå må det være programvare for å administrere systemet. Programvaren kan være enkel, som koden som styrer tilkoblingen mellom utstyret og databasen, eller kompleks, som ERP, MRP eller annen lagerstyringsprogramvare.

### Programvare
Noen ERP, MRP og andre lagerstyringsprogrammer har innebygd støtte for strekkodeskanning. Alternativt kan tilpassede grensesnitt opprettes ved hjelp av språk som C++, C#, Java, Visual Basic.NET og mange andre. I tillegg utgis programvareutviklingssett for å lette denne prosessen.

### Maskinvare
Et bredt spekter av utstyr for bruk i strekkodesystemer produseres av selskaper som Datalogic, Intermec, HHP (Hand Held Products), Microscan Systems, Unitech, Metrologic, PSC og PANMOBIL. Det mest kjente merket for bærbare skannere og mobile datamaskiner er Symbol, en avdeling av Motorola.

## Todimensjonal merking
Strekkodene er en form for éndimensjonal merking, men det finnes også systemer for todimensjonal merking.

Merkingen danner da et mønster av små firkanter innenfor et firkantet område. Eksempler:
*Data matrix – Beregnet for billetter og frimerker og lignende.
**STAMPIT – Elektronisk frimerke.
*QR kode

## Referanser