Kali ini saya akan menjelaskan tutorial membuat barcode dengan php 7 yang biasa untuk barang – barang maupun produk lainnya.
Disini saya anggap kalian udah bisa melakukan CRUD PHP ya jadi langsung ke penjelasan barcode nya saja, tutorial pembuatan barcode ini bisa digunakan untuk PHP biasa, PHP OOP, Framework Laravel, CodeIgniter, Yii, dll Tinggal kalian sesuaikan saja sob. Ohya versi youtube juga ada, silahkan di klik : https://youtu.be/SehOo6S-lKc
Yang perlu disiapkan :
- Minimal PHP 7
- Project CRUD kalian harus sudah ada ya, kalau belum bisa bikin CRUD silahkan ke tutorial berikut ini dulu :crud php 7 sederhana
- File barcode.php download disini : barcode.php (copy dan paste simpan dengan nama barcode.php ke dalam project)
#database
- Pada project kalian, tambahkan dua kolom dengan nama :
kode_barcode
dangambar_barcode
Note :
- kode_barcode untuk menampung kode unik dari barang
- gambar_barcode untuk menampung nama file dari barcode untuk barang
- bebas mau namain kolomnya apa aja, disini saya hanya nyontohin yaa
Setelah membuat dua kolom tersebut, kita membuat folder baru dengan nama folder images untuk menampung gambar barcode
#generate-barcode
Kita lanjut ke bagian tambah barang nya dulu agar otomatis membuat barcode saat kita menambahkan barang, berikut beberapa coding yang saya tambahkan untuk membuat barcode otomatis:
- Download file barcode.php yang sudah saya sediakan linknya diatas, lalu simpan difolder project kalian
- Pastikan coding tambah barangnya sudah berfungsi, kalau sudah silahkan tambahkan beberapa coding berikut ini pada proses tambah barang (lihat video youtube jika kurang paham)
//function untuk melakukan random kode unik
function randomKodeBarcode($qtd) {
$Caracteres = 'ABCDEFGHIJKLMOPQRSTUVXWYZ0123456789';
$QuantidadeCaracteres = strlen($Caracteres);
$QuantidadeCaracteres--;
$Hash=NULL;
for($x=1;$x<=$qtd;$x++){
$Posicao = rand(0,$QuantidadeCaracteres);
$Hash .= substr($Caracteres,$Posicao,1);
}
return $Hash;
}
//proses barcode
$kode_barcode = 'BARANG-'.str_replace(' ', '_', $_POST['nama']).'-'.randomKodeBarcode(6);
//proses generate gambar barcode dan simpan ke folder yg ditentukan
$tempdir = "images/"; //nama folder nya
$target_path = $tempdir . $kode_barcode . ".png";
//cek apakah server menggunakan http atau https
$protocol = stripos($_SERVER['SERVER_PROTOCOL'], 'https') === 0 ? 'https://' : 'http://';
//url file image barcode
$file_gambar = $protocol . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/barcode.php?text=" . $kode_barcode . "&print=true&size=65"; //size untuk atur ukuran gambar barcode nya
//ambil gambar barcode dari url yg ditentukan lalu namanya ditampung ke $gambar_barcode
$content = file_get_contents($file_gambar);
file_put_contents($target_path, $content);
$gambar_barcode = $kode_barcode.'.png';
- berikut keseluruhan coding untuk menambahkan barang dan otomatis membuat barcode
<!DOCTYPE html>
<html>
<head>
<title>GILACODING</title>
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
</head>
<body>
<div class="container col-md-6">
<h1>Tabel Gilacoding</h1>
<div class="card">
<div class="card-header bg-success text-white">
TAMBAH BARANG
</div>
<div class="card-body">
<form method="post" action="" role="form">
<div class="form-group">
<label>Nama Barang</label>
<input type="text" name="nama" class="form-control" required="">
</div>
<div class="form-group">
<label>Harga Barang</label>
<input type="text" name="harga" class="form-control" required="">
</div>
<div class="form-group">
<label>Deskripsi</label>
<textarea class="form-control" name="deskripsi"></textarea>
</div>
<button type="submit" class="btn btn-primary" name="submit">Simpan data</button>
</form>
<?php
include('koneksi.php');
if(isset($_POST['submit'])){
$nama = $_POST['nama'];
$harga = $_POST['harga'];
$deskripsi = $_POST['deskripsi'];
//function untuk melakukan random kode unik
function randomKodeBarcode($qtd) {
$Caracteres = 'ABCDEFGHIJKLMOPQRSTUVXWYZ0123456789';
$QuantidadeCaracteres = strlen($Caracteres);
$QuantidadeCaracteres--;
$Hash=NULL;
for($x=1;$x<=$qtd;$x++){
$Posicao = rand(0,$QuantidadeCaracteres);
$Hash .= substr($Caracteres,$Posicao,1);
}
return $Hash;
}
//proses barcode
$kode_barcode = 'BARANG-'.str_replace(' ', '_', $_POST['nama']).'-'.randomKodeBarcode(6);
//proses generate gambar barcode dan simpan ke folder yg ditentukan
$tempdir = "images/"; //nama folder nya
$target_path = $tempdir . $kode_barcode . ".png";
//cek apakah server menggunakan http atau https
$protocol = stripos($_SERVER['SERVER_PROTOCOL'], 'https') === 0 ? 'https://' : 'http://';
//url file image barcode
$file_gambar = $protocol . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/barcode.php?text=" . $kode_barcode . "&print=true&size=65"; //size untuk atur ukuran gambar barcode nya
//ambil gambar barcode dari url yg ditentukan lalu namanya ditampung ke $gambar_barcode
$content = file_get_contents($file_gambar);
file_put_contents($target_path, $content);
$gambar_barcode = $kode_barcode.'.png';
mysqli_query($koneksi, "insert into barang (nama, harga, deskripsi, kode_barcode, gambar_barcode) VALUES ('$nama', '$harga', '$deskripsi', '$kode_barcode', '$gambar_barcode')") or die(mysqli_error($koneksi));
echo"<script>alert('data berhasil disimpan!');window.location='index.php';</script>";
}
?>
</div>
</div>
</div>
<script type="text/javascript" src="assets/js/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
</body>
</html>
Note :
- Tutorial ini hanya untuk melakukan generate barcode saat tambah barang, jadi untuk edit dan hapus tidak ada, karena difokuskan untuk membuat barcodenya saja, kecuali banyak yang request hehe
- Penjelasan ada didalam coding ya
#index
Lanjut ke index / halaman utama, kalian cukup tampilkan gambar barcode seperti biasa saja, berikut coding untuk index barcode :
<!DOCTYPE html>
<html>
<head>
<title>GILACODING</title>
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
</head>
<body>
<div class="container col-md-6">
<h1>Tabel Gilacoding</h1>
<div class="card">
<div class="card-header bg-success text-white">
DATA BARANG <a href="tambah.php" class="btn btn-sm btn-primary float-right">+ Tambah</a>
</div>
<div class="card-body">
<table class="table table-bordered">
<thead>
<tr>
<th>No</th>
<th>Nama Barang</th>
<th>Harga</th>
<th>Deskripsi</th>
<th>Kode Barcode</th>
<th>Gambar Barcode</th>
</tr>
</thead>
<tbody>
<?php
include('koneksi.php');
$datas = mysqli_query($koneksi, "select * from barang") or die(mysqli_error($koneksi));
$no = 1;
while($row = mysqli_fetch_assoc($datas))
{
?>
<tr>
<td><?= $no; ?></td>
<td><?= $row['nama']; ?></td>
<td>Rp.<?= $row['harga']; ?></td>
<td><?= $row['deskripsi']; ?></td>
<td><?= $row['kode_barcode']; ?></td>
<td><img src="images/<?= $row['gambar_barcode']; ?>" style="width: 220px;"/> <a href="images/<?= $row['gambar_barcode']; ?>" target="_blank">[lihat]</a> </td>
</tr>
<?php $no++; } ?>
</tbody>
</table>
</div>
</div>
</div>
<script type="text/javascript" src="assets/js/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="assets/js/bootstrap.min.js"></script>
</body>
</html>
Selesai deh sob! tapi ingat ini hanya proses menambahkan / generate barcode nya saja ya, silahkan kalian pelajari dulu lalu kalian implementasikan ke dalam project kalian.
Untuk video dan link github bisa kalian lihat dibawah ini :
Link github project-barcode : https://github.com/herziwp/php7-barcode
Jika terdapat kesalahan kata/penyebutan harap dimaafkan ya sob karena saya masih belajar juga, ditunggu tutorial selanjutnya! Terima kasih. Sehat selalu ya!