Mudahnya Membuat Barcode dengan PHP
February 7th, 2009 | by rosihanari |
Cetak Artikel
Pada artikel kali ini saya akan mencoba membahas bagaimana membuat barcode dengan script PHP. Mudah-mudahan hal ini bisa membantu rekan-rekan dan juga khususnya para member yang kesulitan membuatnya.
Eh… sebelum kita bahas bagaimana cara membuat script untuk mengenerate barcode ini pada studi kasus, ada baiknya kita tinjau terlebih dahulu tentang barcode.
Apa sih barcode itu? Barcode adalah suatu simbol berbentuk garis-garis yang menyatakan suatu kode atau string karakter. Simbol ini dapat dibaca oleh suatu barcode scanner. Salah satu contoh barcode adalah simbol yang ada di produk di toko atau supermarket yang sering kita lihat.
Ternyata… di dunia ini ada banyak sekali tipe barcode. Diantara sekian banyak tipe barcode, terdapat 6 kategori barcode berdasarkan kegunaannya, yaitu: barcode untuk keperluan retail, barcode untuk keperluan packaging, barcode untuk penerbitan, barcode untuk keperluan farmasi, barcode untuk keperluan non retail, serta barcode untuk keperluan lain.
Barcode untuk keperluan retail, salah satu contohnya adalah UPC (Universal Price Codes), biasanya digunakan untuk keperluan produk yang dijual di supermarket. Barcode untuk packaging biasanya digunakan untuk pengiriman barang, dan salah satunya adalah barcode tipe ITF. Barcode untuk keperluan penerbitan, sering digunakan pada penerbitan suatu produk, misalkan barcode yang menunjukkan ISSN suatu buku. Sedangkan barcode untuk keperluan farmasi biasanya digunakan untuk identifikasi suatu produk obat-obatan. Salah satu barcode farmasi adalah barcode jenis HIBC. Sedangkan barcode untuk kepentingan non retail, misalkan barcode untuk pelabelan buku-buku yang ada di perpustakaan. Salah satu tipe barcode untuk keperluan non retail ini adalah Code 39.
Referensi :
http://www.agamik.co.uk
http://www.makebarcode.com/specs/code_39.html
Nah… pada pada artikel ini, saya hanya akan memfokuskan saja pada barcode Code 39. Barcode ini diperkenalkan oleh ANSI (American National Standards Institute). Karakter yang bisa dinyatakan ke dalam Code 39 meliputi digit angka 0-9, huruf kapital A-Z, karakter spasi, karakter ‘-’, ‘+’, ‘.’, ‘$’ dan ‘/’. Berikut ini adalah salah satu contoh tampilah barcode Code 39 untuk mensimbolkan suatu string ‘ROSIHAN ARI 1979′.
Untuk menyatakan suatu karakter atau string ke dalam bentuk barcode Code 39, caranya adalah mengapit string tersebut dengan tanda asterisk (*). Sehingga pada contoh di atas, string ‘ROSIHAN ARI 1979′ ini harus diapit dengan tanda asterisk menjadi ‘*ROSIHAN ARI 1979*’. Apa akibatnya jika tidak diapit dengan asterisk? Simbol yang muncul nantinya tidak akan bisa dibaca oleh barcode scanner.
OK… saya kira cukup pembahasan mengenai barcode, khususnya jenis Code 39 ini. Nah… kembali pada cara pembuatan barcode. Pembuatan barcode yang akan dibahas hanya akan difokuskan pada Code 39 yang diterapkan pada studi kasus pelabelan buku di perpustakaan.
Pertanyaan pertama yang mungkin ada dalam benak Anda adalah bagaimana menciptakan simbol barcode, khususnya untuk Code 39. Ya… good question.
Untuk membuat barcode Code 39, Anda bisa membeli suatu software untuk mengeneratenya. Beli??? Wah… gak ada uang tuh…
So… gimana donk?? He..3x, jangan khawatir karena meskipun Anda tidak punya uang, Anda tetap bisa membuatnya yaitu dengan mendownload True Type Font (TTF) khusus untuk barcode Code 39 ini. Free kah font ini? Ya… 100% free buat Anda. Dimanakah downloadnya? OK.. akan saya bocorkan kepada Anda link untuk downloadnya yaitu di bawah ini
Setelah Anda download, selanjutnya installah ke direktori font pada sistem operasi Anda. Jika Anda menggunakan Windows, installah ke direktori C:\WINDOWS\FONTS. OK… hanya itu caranya. Trus… bagaimana cara menggunakannya?
OK… sekarang kita terapkan ke studi kasus untuk membuat label barcode yang menyatakan kode-kode buku yang ada di perpustakaan. Diharapkan nantinya kode barcode ini akan ditempelkan pada setiap buku dan dimanfaatkan untuk mempermudah transaksi di perpustakaan. Ketika proses peminjaman atau pengembalian buku, petugas perpustakaan tidak perlu mengetikkan kode buku secara manual di komputer namun hanya
melakukan scanning pada label barcode ini.
Nah… kita mulai membuatnya. Pertama-tama kita siapkan database dan tabel untuk keperluan penyimpanan data buku perpustakaan. Ini salah satu contoh query untuk membuat tabel dan datanya:
CREATE TABLE buku ( kodeBuku varchar(5), judulBuku text, author varchar(20), jenis varchar(10), PRIMARY KEY (kodeBuku) );
INSERT INTO `buku` VALUES ('A0001', 'Pemrograman Pascal', 'Rosihan Ari Yuana', 'Referensi');
INSERT INTO `buku` VALUES ('A0002', 'Pemrograman PHP', 'Dwi Amalia Fitriani', 'Referensi');
INSERT INTO `buku` VALUES ('A0003', 'Pengantar Jaringan Komputer', 'Faza Fauzan Kh.', 'Referensi');
INSERT INTO `buku` VALUES ('A0004', 'Teknologi Digital', 'Nada Hasanah', 'Referensi');
INSERT INTO `buku` VALUES ('A0005', 'Pemrograman ASP .NET', 'Muh. Ahsani Taqwim', 'Referensi');
OK… dari SQL di atas dapat Anda lihat terdapat sampel buku sejumlah 5 buah. He.. 3x semua anggota keluarga saya ternyata para pengarang buku
Nah… bagaimana cara membuat script PHP untuk mengenerate label barcode dari kode semua buku di atas? Bentar… sabar… sebelum kita mulai buat, kita hendaknya pikirkan desain tampilan outputnya.
Misalkan kita ingin nantinya muncul label barcode kode buku yang disusun seperti halnya tabel yang memiliki 2 kolom. Trus… untuk setiap barcode, bagian bawahnya akan terdapat kode buku yang dapat dibaca oleh kita. Mengapa kode buku ini ikut tercantum di bawah barcodenya? Ya… siapa tahu suatu saat barcode scannernya rusak. Bila label barcode ini tidak ada kode buku yang bisa kita baca, bisa-bisa kesulitan untuk mendatanya ketika transaksi di perpustakaan berlangsung.
OK… itu desain tampilannya. Now… let’s start to create the script!
<?php
// koneksi ke database
mysql_connect("dbhost", "dbuser", "dbpass");
mysql_select_db("dbname");
$query = "SELECT * FROM buku";
$hasil = mysql_query($query);
// setting banyaknya kolom
$kolom = 2;
// membuat tabel berisi label barcode
echo "<table border='1'>";
$counter = 1;
while ($data = mysql_fetch_array($hasil))
{
if (($counter-1) % $kolom == 0) echo "<tr>";
echo "<td align='center' style='padding: 5px'><font face='Free 3 of 9' size='20'>*".$data['kodeBuku']."*</font><br />".$data['kodeBuku']."</td>";
if ($counter % $kolom == 0) echo "</tr>";
$counter++;
}
echo "</table>";
?>
Konsep membuat label berisi barcode ke dalam bentuk tabel 2 kolom ini adalah sebagai berikut
Secara umum, apabila kita membuat tabel dengan n buah kolom maka struktur htmlnya adalah seperti di bawah ini:
<table> <tr><td>...</td><td>...</td><td>...</td>... (akan diulang n kali)</tr> <tr><td>...</td><td>...</td><td>...</td>... (akan diulang n kali)</tr> . . . </table>
Nah… dari struktur di atas tampak bahwa untuk setiap baris tabel terdapat n kali tag <td>…</td> yang diulang. Begitu sudah terdapat n kali, maka akan membentuk baris baru dan langkah yang sama akan diulangi lagi.
Dalam pemrograman, untuk mengimplementasikan ide di atas, kita bisa menggunakan bantuan suatu counter. Counter ini akan berjalan mulai dari 1, 2, 3, … hingga sejumlah data yang diinginkan. Bila counter telah mencapai bilangan yang merupakan kelipatan n, maka baris tabel akan diakhiri (cetak </tr>) dan selanjutnya membuat baris tabel baru (cetak <tr>), lihat baris 19 dan 21 pada script PHP di atas.
Oya… untuk mengenerate suatu string menjadi kode barcode Code 39 menggunakan TTF yang telah kita download di atas caranya adalah gunakan tag
<font face="Free 3 of 9" size="...">...</font>
dengan atribut ‘size’ nantinya akan diisi dengan value yang menyatakan ukuran simbol barcode. Pada contoh script di atas menggunakan size=”20″.
Oya… jangan lupa mengaapit string yang akan dibuat barcodenya dengan tanda asterisk (*).
Hasil output dari script di atas adalah seperti di bawah ini:
So… tinggal print saja output di atas, bisa juga langsung diprint di atas stiker label, namun terlebih dahulu Anda atur posisinya dan sesuaikan panjang lebarnya dengan stiker label.
Fiuh… jadi juga akhirnya script dan artikel ini. Panjang sekali yah artikelnya…. but anyway… mudah-mudahan ada manfaatnya buat Anda semuanya.
Terima kasih atas para memberku semuanya yang telah memberikan inspirasi dan requestnya mengenai artikel ini.
| Baca Juga Artikel Terkait |
Kata kunci: barcode - code39 - PHP - script -






salam kenal sebelumnya… duh websitenya bagus kk, inspirator bgt tuk belajar nih…
kk jadi tampilan keluarannya hanya menggunakan font yg udh kita donlot yah untuk generate barcode 39-nya…
kalo tuk barcode 2D menggunakan PHP ada tutorial nya kk ?? aq udh muter2 di google ga nemu2 ada mesti byr kk… mohon sharenya kalo ada yah kk…
@madkixt: kalo yang 2D belum pernah nemu tuh mas. emang ada?
mohon maaf sebelumnya dan skiranya ada salah…
saya pernah baca artikel ada generate barcode 2D menggunakan dengan QRCode, PDF417..
hanya untuk mengeneratenya menggunakan PHP saya belum mendapatkan…
tp kalo saya googling ada tools online generate barcode 2D itu… kalopun mungkin ada class PHP tuk mengenerate barcode 2D itu…
thanks…
wah bagus bgt pak scriptnya. tp saya mau tanya jika dari barcode tersebut dikasih header nya bgm. jadi ada masing2x barcode ada header nya kemudian baris berikutnya ada barcode nya. jadi seperti ini.
*******
barcode
*******
*******
A0001
*******
caranya bagaimana pak untuk membuat table spt diatas tersebut, terima kasih sekali lagi.
Mas, saya mau tanya, script ini printnya di printer biasa ya?
Aku ada problem nih, aku punya printer barcode sendiri namanya argox. tipe file yang dihasilkan dari software argobar berextensi .agx (argobar lite file) dan .axp(argobar pro file)
Saat aku tampilkan hasil output ke browser dan memilih print dengan printer barcode, tetapi tidak bisa. Barcode tersebut akan berhasil di print di printer barcode apabila aku memakai software argobar. Bisa bantu saya Pak? Terima kasih
@en: iya… cetaknya via printer biasa.
pak saya mau pesan program barcode bisa tidak pak
saya bisa minta Mudahnya Membuat Barcode dengan PHP yang lengkapnya g……
tu kan phpnya klau kta bikin pake foxpro untuk data basenya
@azad: pada prinsipnya sama saja mas. Karena barcode itu digenerate dari font nya saja. Jadi pakai bahasa apapun bisa.
pak ari. . .
bagaimana caranya untuk membuat transaksi pembelian/ penjualan . . . apa yang harus dipersiapkan terlebih dahulu. . . trima kasih,
Mas, mohong tanya nich…
kl menggunakan delphi 6, misalnya punya data file NIK, Nama dan bagian. gmn agar report yang dibuat se ukuran kartu nama dapat di cetak pada kertas A4, tp langsung per 10 Nama? kl di word pada mail merge digunakan Next record pada record selanjutnya. kl di delphi bagaimana? mohon bantuannya…. please send to suriadi.didiek at gmail dot com… trims
thanks pak artikelnya
pak trus cara baca barcode dengan scan barcodenya gmn???thanks
@kebo: ya tinggal sorotkan saja scannernya ke barcodenya, nanti otomatis kebaca sendiri.