Cara Generate Barcode Menggunakan PHP

Barcode/kode batang adalah suatu kumpulan data optik yang dibaca mesin. Sebenarnya, Barcode ini mengumpulkan data dalam lebar dan spasi garis paralel

Cara Generate Barcode Menggunakan PHP

Tutorial PHP Lanjutan Part 41 : Cara Generate Barcode Menggunakan PHP

Tutorial PHP Lanjutan Part 41 : Cara Generate Barcode Menggunakan PHP -  Hello everyone selamat datang kembali diwebsite saya belajarwithib.my.id, pada seri kali ini kita akan masih mempelajari mengenai PHP dan kita sudah masuk ketahap lanjutan sekarang saya akan membuat materi baru dengan judul Cara Generate Barcode Menggunakan PHP.

Sebelumnya saya sudah membahas mengenai QR Code sekarang saya akan member tahu bagaimana cara membuat Barcode. Barcode/kode batang adalah suatu kumpulan data optik yang dibaca mesin. Sebenarnya, Barcode ini mengumpulkan data dalam lebar dan spasi garis paralel dan dapat disebut sebagai kode batang atau simbologi linear atau 1D.

Penasaran bagaimana cara buatnya? Yuk simak terus ya!

Cara Generate Barcode Menggunakan PHP

Untuk membuat sebuah barcode menggunakan PHP kita memerlukan sebuah library yang membantu kita dalam membuat barcode yaitu library php-barcode. Jadi silahkan download librarynya dulu ya.

Cara Membuat Barcode Yang Simple

Untuk membuat barcode menggunakan library ini terbilang sangat mudah karena dengan cuman membuat parameter seperti dibawah akan sudah mencetak barcode.

  • Text: "TESTING"
  • Size: "40"
  • Code Type: "Code39"
  • Orientation: "Horizontal" (Default)
  • Print: "true"


<img alt="TESTING" src="barcode.php?codetype=Code39&size=40&text=TESTING&print=true" class="img-fluid" />

Hasilnya akan seperti dibawah ini:

Cara Generate Barcode Menggunakan PHP


Membuat Halaman Utama

Saya masih menggunakan Jquery untuk membuat AJAX agar resquest user dapat ditampilkan tanpa refresh sama sekali.

Langsung buat saja file index.php lalu ketikkan kode seperti dibawah ini:

Index.php


<!doctype html>
  <html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">

    <title>Cara Generate Barcode Menggunakan PHP</title>
  </head>
  <body>
    <div class="container">
      <div class="card mt-5">
        <div class="card-header">
          Cara Generate Barcode Menggunakan PHP
        </div>
        <div class="card-body">
          <div class="row">
            <div class="col-md-6">
              <form id="form_barcode" method="post">
                <div class="mb-3">
                  <label><b>Isi Barcode</b></label>
                  <input type="text" class="form-control" id="konten" name="konten" placeholder="Masukkan disini...">
                </div>
                <button type="submit" class="btn btn-primary">Generate</button>
              </form>
            </div>
            <div class="col-md-6">
              <div class="mb-3">
                <label><b>Hasil Barcode</b></label>
                <div id="hasil"></div>
              </div>
            </div>
          </div>
          <p class="text-center mt-2"><a href="https://www.belajarwithib.my.id/" target="_blank" style="text-decoration:none;">www.belajarwithib.my.id</a></p>
        </div>
      </div>
    </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script type="text/javascript">
    $(document).ready(function(){

      $(document).on('submit', '#form_barcode', function(event){
        event.preventDefault();
        var konten = $('#konten').val();
        $.ajax({
          url:"cetak_barcode.php",
          method:'POST',
          data:{
            konten:konten
          },
          success:function(data){
            $('#form_barcode')[0].reset();
            $('#hasil').html(data);  
          }
        });
      });
    });
  </script>
</body>
</html>

Pada code dibawah ini saya masih menggunakan AJAX agar generate barcodenya tanpa Refresh dan saya menggunakan fungsi preventDefault() untuk mencegah terjadinya perubahan terhadap DOM apabila AJAX mengeluarkan respon gagal.


  <script type="text/javascript">
    $(document).ready(function(){

      $(document).on('submit', '#form_barcode', function(event){
        event.preventDefault();
        var konten = $('#konten').val();
        $.ajax({
          url:"cetak_barcode.php",
          method:'POST',
          data:{
            konten:konten
          },
          success:function(data){
            $('#form_barcode')[0].reset();
            $('#hasil').html(data);  
          }
        });
      });
    });
  </script>

Generate Barcode Menggunakan PHP

Pastikan kamu sudah mendownload library php-barcode agar kamu paham bagaimana cara membuat barcode menggunakan library tersebut.

Buatlah file dengan nama cetak_barcode.php lalu ketikkanlah code seperti dibawah ini:

Cetak_barcode.php


<?php
$konten = $_POST['konten'];

//Membuat folder untuk menyimpan barcode
$tempdir  ="tempdir/";
if (!file_exists($tempdir)){
    mkdir($tempdir);
}

$target_path = $tempdir.$konten.".png";

//Mengecek apakah server yang digunakan HTTP atau HTTPS
$server = stripos($_SERVER['SERVER_PROTOCOL'], 'https') === 0 ? 'https://' : 'http://';

//Mengubah menjadi barcode
$barcode = $server . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/barcode.php?text=" . $konten . "&codetype=code128&print=true&size=55";

//Mengambil barcode yang sudah jadi
$result_barcode = file_get_contents($barcode);

//Menyimpan barcode ke folder yang sudah ditentukan
file_put_contents($target_path, $result_barcode);
?>
<img src="<?php echo $target_path; ?>">

Langkah pertama atau dibaris pertama kita harus mengambil data yang sudah kirimkan oleh AJAX lalu ditampung kedalam variable konten.


$konten = $_POST['konten'];

Setelah itu kita mengambil nama folder "tempdir/" untuk menyimpan barcode nya nanti apabila foldernya belum kamu buat otomatis akan dibuat oleh PHP menggunakan fungsi mkdir().


//Membuat folder untuk menyimpan barcode
$tempdir  ="tempdir/";

if (!file_exists($tempdir)){
    mkdir($tempdir);
}

$target_path = $tempdir.$konten.".png";

Lalu kita mengecek apakah usernya menggunakan server HTTP atau HTTPS, jika sudah ketahuan menggunakan server apa maka langsung saja kita buat barcodenya sesuai dengan parameter yang ditentukan.


//Mengecek apakah server yang digunakan HTTP atau HTTPS
$server = stripos($_SERVER['SERVER_PROTOCOL'], 'https') === 0 ? 'https://' : 'http://';

//Mengubah menjadi barcode
$barcode = $server . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/barcode.php?text=" . $konten . "&codetype=code128&print=true&size=55";

Jika barcode sudah selesai dibuat maka PHP akan mengambil hasilnya lalu akan dipindahkan kedalam folder yang sudah kita tentukan tadi.


//Mengambil barcode yang sudah jadi
$result_barcode = file_get_contents($barcode);

//Menyimpan barcode ke folder yang sudah ditentukan
file_put_contents($target_path, $result_barcode);

Hasil dari program kita ini kira-kira akan seperti dibawah:

Cara Generate Barcode Menggunakan PHP
Halaman Utama


Cara Generate Barcode Menggunakan PHP
Hasil barcode dari konten yang di isi
Cara Generate Barcode Menggunakan PHP
Hasil barcode juga akan tersimpan difolder


Nah seperti itulah kira-kira cara membuat barcode menggunakan PHP dengan bantuan library php-barcode. Untuk selebihnya silahkan kembangkan sendiri atau kamu sesuaikan sendiri dengan kebutuhan kamu masing-masing ya.

File Untuk Kebutuhan Belajar

Source CodeCara Generate Barcode Menggunakan PHP

Semoga bermanfaat ya!