Laporan adalah salah satu fitur yang selalu ada dalam sebuah aplikasi berbasis web, jadi skill untuk bisa menyajikan laporan adalah hal wajib yang dikuasai oleh developer, biasanya format laporan yang sering digunakan adalah dalam format PDF, Excel atau Ms Word. dalam tutorial ini anda akan belajar membuat laporan PDF Dengan bahasa pemograman PHP Dan Database MySQL.
1. Library FPDF Untuk Membuat Laporan PDF
Salah satu library yang paling banyak digunakan oleh web developer adalah FPDF, library ini punya banyak fitur seperti bisa membuat posisi text dan gambar berdasarkan koordinat, mengganti font yang akan digunakan, menambahkan garis dan masih banyak lagi.
sekarang kita akan belajar cara membuat laporan PDF dengan PHP menggunakan library FPDF ini, silahkan download library nya pada situs resmi FPDF (http://www.fpdf.org). kemudian silahkan buat sebuah folder baru dengan nama phpfpdf pada C:\xampp\htdocs\phpfpdf dan extract file fpdf181.zip ke folder tersebut.
Membuat Script Laporan PDF Dengan PHP Dan MySQL
sekarang kita akan membuat sebuah file baru dengan nama index.php, file ini nanti yang bertugas menampilkan laporan pdf pada browser, setelah membuat file index.php lalu tulislah script berikut :
<?php
// memanggil library FPDF
require('fpdf.php');
// intance object dan memberikan pengaturan halaman PDF
$pdf = new FPDF('P','mm','A4');
// membuat halaman baru
$pdf->AddPage();
// setting jenis font yang akan digunakan
$pdf->SetFont('Arial','B',16);
// mencetak string
$pdf->Cell(40,10,'Belajar Membuat Laporan PDF Dengan FPDF');
$pdf->Output();
?>
kemudian silahkan save file index.php tadi dan sekarang silahkan akses http://localhost/phpfpdf/ menggunakan web browser anda,
Membuat Laporan PDF Aplikasi Berita Dengan PHP MySQL
Sekarang kita akan membuat laporan PDF Dengan PHP Dan Data nya dari database MySQL, pertama silahkan buat sebuah database baru dengan nama tutorial dan buatlah sebuah tabel dengan struktur sebagai berikut :
Langkah selanjutnya silahkan insert beberapa data yang akan ditampilkan nantinya, kemudian silahkan buat sebuah file baru dengan nama koneksi.php untuk menyimpan konfigurasi koneksi ke database MySQL, silahkan tulis script berikut :
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "profnews";
$connect = mysqli_connect($host, $user, $password, $database);
?>
lalu silahkan save untuk menyimpan perubahan, kemudian silahkan modifikasi script Laporan_PDF.php menjadi seperti dibawah ini :
<?php
// memanggil library FPDF
require('fpdf16/fpdf.php');
// intance object dan memberikan pengaturan halaman PDF
$pdf = new FPDF('l','mm','legal');
// membuat halaman baru
$pdf->AddPage();
// setting jenis font yang akan digunakan
$pdf->SetFont('Arial','B',16);
// mencetak string
$pdf->Cell(190,7,'STMIK Profesional Makassar',0,1,'C');
$pdf->SetFont('Arial','B',12);
$pdf->Cell(190,7,'DAFTAR BERITA TERBARU',0,1,'C');
// Memberikan space kebawah agar tidak terlalu rapat
$pdf->Cell(10,7,'',0,1);
$pdf->SetFont('Arial','B',10);
$pdf->Cell(50,6,'JUDUL',1,0);
$pdf->Cell(120,6,'HEADLINE',1,0);
$pdf->Cell(90,6,'ISI',1,0);
$pdf->Cell(80,6,'PENGIRIM',1,1);
$pdf->SetFont('Arial','',10);
include 'koneksi.php';
$berita = mysqli_query($koneksi, "select * from berita");
while ($row = mysqli_fetch_array($berita)){
$pdf->Cell(50,6,$row['judul'],1,0);
$pdf->Cell(120,6,$row['headline'],1,0);
$pdf->Cell(90,6,$row['isi'],1,0);
$pdf->Cell(80,6,$row['pengirim'],1,1);
}
$pdf->Output();
?>
Jangan lupa melakukan save untuk menyimpan perubahan, kemudian silahkan akses lagi http://localhost/aplikasi_berita/laporan_pdf.php.
Begitulah cara membuat laporan dalam bentuk PDF dengan bahasa pemograman PHP, sebenarnya masih banyak fitur lain yang bisa anda coba seperti menampilkan gambar, garis dan lainya yang bisa anda pelajari melalui halaman dokumentasi library FPDF.
2. Library DOMPDF Untuk Membuat Laporan PDF
Dompdf
adalah salah satu library yang digunakan untuk membuat report berupa PDF dengan
menggunakan PHP, sebenarnya banyak sekali library lain yang dapat digunakan
untuk membuat report PDF, tetapi menurut kita library DOMPDF ini lebih mudah
digunakan, serta lebih flexible dalam pembuatan reportnya.
Cara kerja DOMPDF ini adalah mengkonversi dari skrip HTML, menjadi bentuk PDF. Nah dalam tutorial ini kita akan membuat sebuah database dengan nama db_siswa, dimana didalamnya terdapat tabel tb_siswa yang didalamnya terdapat beberapa data siswa, berikutnya data tersebut akan kita export menjadi bentuk PDF menggunakan library DOMPDF.
Persiapan
Untuk persiapan tools yang kita gunakan antara lain :
Xampp / Wampp sebagai aplikasi yang menyediakan web server dan database server didalamnya, atau teman – teman bisa menggunakan tools lain, dalam contoh ini kita gunakan xamp.
Text editor bisa menggunakan notepad++, visual studio code, sublime atau text editor yang lain.
Library dompdf, bisa didownload di sini :
https://github.com/dompdf/dompdf/releases/download/v0.8.3/dompdf_0-8-3.zip
saat tutorial ini dibuat, dompdf berada di versi 0.8.3, versi ini sudah mensupport PHP 7.3
Membuat Project Laporan_Berita
Langkah berikutnya kita akan mulai untuk membuat file PHPnya, dalam contoh ini kita menggunakan xampp, sehingga folder projectnya kita letakkan di C:/xampp/htdocs, contohnya didalam folder htdocs kita buat folder dengan nama aplikasi_berita dan silahkan buat beberapa file sebagai berikut :
Ø koneksi.php (kalau belum ada)
Ø Laporan_berita.php
serta extract file dompdf_0-8-3.zip hasil download library dompdf sebelumnya
sehingga tampilannya kurang lebih seperti ini :
Membuat File koneksi.php
Silahkan buka file koneksi.php menggunakan text editor, lalu isikan code seperti berikut ini :
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "profnews";
$koneksi = mysqli_connect($host, $user, $password, $database);
?>
Keterangan :
Ø Perintah diatas digunakan untuk koneksi ke database profnews yang sebelumnya telah kita buat.
Ø $host dengan nilai “localhost” yang merupakan alamat server databasenya
Ø $user dengan nilai “root” yang merupakan user dari databasenya
Ø $password dengan nilai “” yang merupakan password untuk mengakses database, nilainya kosong karena default dari xampp untuk password user root adalah kosong
Ø $database dengan nilai “profnews” yang merupakan nama dari database yang sebelumnya telah kita buat
Ø Baris 6 adalah perintah untuk melakukan koneksi ke database, dan hasilnya disimpan di variabel $koneksi.
Membuat File Laporan_berita.php
Silahkan buka file report.php menggunakan text edit, lalu isikan code seperti berikut ini :
<?php
include('koneksi.php');
require_once("dompdf/autoload.inc.php");
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$query = mysqli_query($koneksi,"select * from berita");
$html = '<center><h3>Daftar berita terbaru</h3></center><hr/><br/>';
$html .= '<table border="1" width="100%">
<tr>
<th>No</th>
<th>judul</th>
<th>headline</th>
<th>Isi</th>
<th>Pengirim</th>
<th>Tanggal</th>
</tr>';
$no = 1;
while($row = mysqli_fetch_array($query))
{
$html .= "<tr>
<td>".$no."</td>
<td>".$row['judul']."</td>
<td>".$row['headline']."</td>
<td>".$row['isi']."</td>
<td>".$row['pengirim']."</td>
<td>".$row['tanggal']."</td>
</tr>";
$no++;
}
$html .= "</html>";
$dompdf->loadHtml($html);
// Setting ukuran dan orientasi kertas
$dompdf->setPaper('A4', 'landscape');
// Rendering dari HTML Ke PDF
$dompdf->render();
// Melakukan output file Pdf
$dompdf->stream('laporan_berita.pdf');
?>
Penjelasan Skrip :
include('koneksi.php');
Baris 2 kita menginclude file koneksi.php untuk dapat terkoneksi dengan database profnews
require_once("dompdf/autoload.inc.php");
Baris 3 kita menginclude file autoload.inc.php yang berada di folder dompdf, perbedaan fungsi include dan include_once sudah dibahas di tutorial kita sebelumnya : mengenal fungsi include dan required di PHP
use Dompdf\Dompdf;
Baris 4 kita menggunakan namespace Dompdf
$dompdf = new Dompdf();
Baris 5 kita membuat object dompdf dengan class Dompdf
$query = mysqli_query($koneksi,"select * from berita");
Baris 6 kita menuliskan perintah query untuk mendapatkan data di tabel tb_siswa dan hasilnya disimpan kedalam variabel $query
$html = '<center><h3>Daftar berita terbaru</h3></center><hr/><br/>';
$html .= '<table border="1" width="100%">
<tr>
<th>No</th>
<th>Nama</th>
<th>Kelas</th>
<th>Alamat</th>
</tr>';
Baris 7 – 14 kita membuat variabel dengan nama $html, didalam di variabel ini berisi kode HTML yang digunakan untuk membuat judul tabel serta header tabel, jadi sederhananya kita harus membuat sebuah variabel yang berisi code HTML, dan code ini akan diconvert menjadi bentuk PDF
Jika anda bingung itu di variabel $html di baris 8 kok ada titik sebelumnya tanda sama dengan, itu adalah concatination di PHP, untuk memperlajari lebih lanjut bisa membaca tutorial kita sebelumnya : Mengenal Jenis Operator di PHP
$no = 1;
Baris 15 kita membuat variabel $no untuk memberi nomor urut disetiap data di tabel tb_siswa yang akan ditampilkan
while($row = mysqli_fetch_array($query))
{
$html .= "<tr>
<td>".$no."</td>
<td>".$row['judul']."</td>
<td>".$row['headline']."</td>
<td>".$row['isi']."</td>
<td>".$row['pengirim']."</td>
<td>".$row['tanggal']."</td>
</tr>";
$no++;
}
Baris 16 – 25 kita extract data di variabel $query menggunakan perintah while, setiap datanya akan disimpan di variabel $row, karena kita menggunakan perintah mysqli_fetch_array, dan data tersebut akan digabung dengan string yang ada di variabel $html
$html .= "</html>";
Baris 26 kita memberikan tutup html, dengan menambahkan string di variabel $html
$dompdf->loadHtml($html);
Baris 27 kita melakukan konversi dari code html yang ada di variabel $html, menjadi bentuk PDF
$dompdf->setPaper('A4', 'potrait');\
Baris 29 kita melakukan setting ukuran kertas, dan orientasi kertas (potrait, landscape) tersebut hasil report PDF nantinya
$dompdf->render();
Baris 31 melakukan rendering dari report PDF
$dompdf->stream('laporan_berita.pdf');
Baris 33 melakukan output file PDF dengan nama laporan_siswa.pdf, anda dapat mencustom dari nama reportnya.
Mencoba Mengakses Report
Untuk mencoba skrip tersebut, anda bisa mengakses melalui alamat :
http://localhost/aplikasi_berita/laporan_berita.php
Maka browser secara otomatis akan meminta untuk mendownload file laporan_berita.pdf,
Pilih Open with Firefox dan klik tombol OK, maka browser akan menampilkan hasilnya.
Selamat Belajar dan Semangat Mencoba !
No comments:
Post a Comment