Cara membuat barcode scanner di php

Barcode merupakan gambar berbentuk kotak atau persegi panjang yang disusun atas rangkaian garis hitam paralel dan spasi putih dengan tingkat kerapatan tertentu sehingga dapat dibaca oleh mesin pembaca barcode (barcode scanner). Gambar barcode menyimpan informasi berbentuk teks ataupun angka yang dapat digunakan untuk proses identifikasi suatu barang. Jika suatu mesin pembaca barcode (barcode scanner) membaca gambar barcode, maka mesin tersebut akan menghasilkan ouput berupa angka ataupun teks tertentu.

Penggunaan barcode banyak diterapkan pada supermarket ataupun minimarket. Saat mengantre didepan kasir, konsumen akan dilayani dengan jauh lebih cepat. Hanya dengan cukup melakukan scanning barcode scanner pada item barang, maka nama barang akan muncul beserta harganya tanpa harus mengetikkan secara manual.

Jenis -Jenis Barcode

Barcode type EAN Code (European Articles Numbering)
Barcode jenis ini pertama kali diciptakan oleh Europe Article Number (EAN). EAN Code banyak digunakan oleh negara-negara di Eropa. Namun penggunaanya juga meluas ke banyak negara termasuk Indonesia. Barcode ini terdiri atas 13 digit yang terdiri dari 2-3 digit kode negara, 5 digit kode perusahaan, 5 digit kode produksi dan 1 digit untuk kode check. Barcode jenis EAN Code banyak digunakan pada industri ritail.

Barcode type UPC Code (Universal Product Code)
Barcode jenis ini diciptakan oleh IBM pada 1971. UPC terdiri atas 12 digit yang terdiri dari 1 digit pertama adalah digit produk, 5 digit informasi perusahaan, 5 digit kode produksi dan 1 digit untuk kode check. Barcode jenis UPC Code banyak digunakan pada industri ritail dan juga pergudangan.

Barcode type Code 39
Barcode jenis ini banyak digunakan pada bidang pergudangan, logistik, pabrik dan kesehatan. Barcode jenis ini memiliki susunan bar yang panjang sehingga akan memuat banyak informasi teks yang terkandung di dalam barcode tersebut.

Cara membuat barcode scanner di php

Membuat Barcode Generator Dengan PHP

Pembuatan barcode generator dengan PHP memerlukan library yang dapat diperoleh pada php-barcode. Setelah anda mendownload dan mengekstrak file zip, akan didapatkan file PHP dengan nama barcode.php. File inilah yang nantinya digunakan untuk keperluan men-generate input teks ataupun numerik ke dalam bentuk gambar barcode.

Pada tutorial kali ini, saya menggunakan dua buah file PHP yang satu (index.php) digunakan untuk memasukkan input teks dan menyimpannya ke dalam bentuk gambar barcode. Sedangkan file yang kedua (cetak_gambar.php) digunakan untuk mencetak gambar barcode pada printer.

Berikut ini file index.php :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html>
<head>
<title>Membuat Barcode Generator Dengan PHP</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
   <h3>Membuat Barcode Generator Dengan PHP</h3>
   <p>
   <form method="post" action="">
   <fieldset>
   <p>
   <label for="kode">Masukkan Kode Barcode</label>
   <input type="text" name="kode" id="kode" minlength="4" maxlength="20" required value="<?php $val=isset($_POST['generate']) ? $_POST['kode'] : ""; echo $val; ?>">
   </p>
   <p>
   <input type="submit" name="generate" id="btn_submit" value="Generate Code">
   </p>
   </fieldset>
   </form>
   </p>
   <p>
<?php
if (isset($_POST['generate'])){
   /*create folder*/
   $tempdir="barcode_img/";
   if (!file_exists($tempdir))   mkdir($tempdir, 0755);
   $target_path=$tempdir . $_POST['kode'] . ".png";
   /*using server online
   $protocol=stripos($_SERVER['SERVER_PROTOCOL'], 'https') === 0 ? 'https://' : 'http://';
   $fileImage=$protocol . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/php-barcode/barcode.php?text=" . $_POST['kode_barang'] . "&codetype=code128&print=true&size=55";
   */
   /*using server localhost*/
   $fileImage="http://localhost".dirname($_SERVER['PHP_SELF']) . "/barcode.php?text=" . $_POST['kode'] . "&codetype=code128&print=true&size=55";
   /*get content from url*/
   $content=file_get_contents($fileImage);
   /*save file */
   file_put_contents($target_path, $content);
   echo "
     <p class='result'>Result :</p>
     <p><img src='barcode.php?text=" . $_POST['kode'] . "&codetype=code128&print=true&size=55' /></p>
     <p><a href='cetak_gambar.php?file=$target_path'>Print Image (10 pcs) </a></p>
   ";
}
?>
</body>
</html>

Penataan element HTML dengan menggunakan CSS (style.css) :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
fieldset label {
   display: block;
   margin: 5px 0px;
}
fieldset input #kode{
   width: 220px;
   height: 33px;
   border: 1px solid #ddd;
   margin: 5px 0px;
   padding: 0px 5px;

   }
a{
   margin-left:10px;
   text-decoration:none;
}
#btn_submit,a{
   display: inline;
   margin-right: 10px;
   background-color: #91091e;
   color: white;
   border-radius:3px;
   opacity: 0.8;
   padding: 10px 40px;
   border: none;
   outline: none;
   cursor: pointer;
}
#btn_submit:hover,a:hover{
   opacity: 1;
}
.result{
   margin-left:10px;
}

Untuk mencetak gambar barcode terdapat pada file cetak_gambar.php :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
<head>
<title>Print document</title>
<style>
img{
   margin: 10px;
}
</style>
</head>
<body onload="window.print();">
<?php
   for($x=1; $x<=10; $x++){
   echo "<img src='" .$_GET['file'] ."'>";
}
?>
</body>
</html>

Penjelasan :
Pada file index.php, inti dari barcode generator terdapat pada baris ke-34 dan ke-43. Kode barcode.php?text=" . $_POST['kode'] . "&codetype=code128&print=true&size=55 adalah baris berisi parameter yang dikirim pada library barcode. Codetype hanya bisa mengeksekusi 2 buah type kode yaitu code128 dan code39. Parameter size dipakai untuk menentukan tinggi barcode dalam satuan CM (default = 20).

Output library barcode belum dalam bentuk file PNG murni, namun masih berupa PNG preview yang digerakkan oleh script PHP. Pembuatan file PNG murni dilakukan dengan mendapatkan gambar preview yang digenerate via library barcode (baris ke-36). Kemudian menyimpannya ke dalam bentuk file png (baris ke-48).

Pada file cetak_gambar.php, Halaman ini ditampilkan saat pengguna menekan tombol hyperlink Print Images. Halaman ini akan mengeksekusi script javascript onload="window.print();", sehingga menu pop up print untuk mencetak via printer akan ditampilkan. Image barcode ditampilkan sebanyak 10 buah dengan perintah for loop dari PHP script.

Berikut gambar saat pertama kali halaman dimuat :

Cara membuat barcode scanner di php

Saat pengguna mengetikkan karakter angka (numeric) pada inputan :

Cara membuat barcode scanner di php

Saat pengguna mengetikkan kombinasi angka dan huruf (alpha numeric) pada inputan :

Cara membuat barcode scanner di php

Saat pengguna menekan tombol Print Image:

Cara membuat barcode scanner di php

Cara membuat barcode scanner di php

Hindari Menggunakan Barcode Dari Font Barcode

Gambar barcode yang dihasilkan pada tutorial di atas sudah diuji dan di scan secara langsung pada barcode scanner. Dan dapat terbaca oleh barcode scanner. Jadi anda tidak perlu khawatir untuk menggunakannya pada suatu project. Pembuatan barcode melalui PHP merupakan salah satu dari sekian cara melakukan generate barcode. Namun jika anda menemui cara membuat barcode melalui penggunaan dan modifikasi font tertentu, sebaiknya segera dihindari.

Misalnya menggunakan font jenis code39, barcode font yang bisa menghasilkan karakter mirip susunan barcode. Jika angka 1 ditekan akan menghasilkan gambar barcode tertentu, jika angka 2 ditekan juga akan menghasilkan gambar barcode tertentu begitu juga angka dan huruf lainnya. Namun, setelah dilakukan uji scan melalui barcode scanner ternyata hasil barcodenya tidak dapat terbaca. Dan tentu saja project anda hanya akan sia-sia.

Source Code

Silahkan download source code beserta file pendukung pada tutorial ini.

Demikian tutorial bagaimana cara membuat barcode generator dengan PHP, semoga bermanfaat.

Cara membuat barcode scanner di php
11 Sept 2022   
Cara membuat barcode scanner di php
1   
Cara membuat barcode scanner di php
6.776

Kategori :

Cara membuat barcode scanner di php
html -
Cara membuat barcode scanner di php
css -
Cara membuat barcode scanner di php
php -
Cara membuat barcode scanner di php
tech -
Cara membuat barcode scanner di php
barcode -
Cara membuat barcode scanner di php
qrcode