Membuat laporan pdf di php

Abstrak Penggunaan teknologi saat ini sudah berkembang maju, yang berhubungan dengan pengambilan, pengumpulan, pengolahan, penyebaran, dan penyajian informasi. Sistem Aplikasi hingga saat ini telah mampu memberikan layanan yang menarik dan meringankan pekerjaan kepada khalayak publik, baik dalam layanan informasi maupun dalam layanan dokumentasi. Suku Dinas Pekerjaan Umum Tata Air Kota Administrasi Jakarta Selatan merupakan Unit Kerja Dinas Pekerjaan Umum pada Kota Administrasi Jakarta Selatan,yang mempunyai tugas melaksanakan pengaturan, pembinaan, pembangunan, peningkatan, pemeliharaan, pengendalian dan pengamanan prasarana dan sara sumber daya air berdasarkan kebijakan teknik dari Kepala Dinas dan kebijakan operasional dari Walikota. Dalam pelaksaan tugasnya banyak sekali pekerjaan atau proyek-proyek yang sedang dilaksanakan dan tidak hanya pada satu tempat saja, hal ini membutuhkan pengawasan yang ekstra agar pekerjaan tersebut selesai susuai dengan waktu yang ditentukan. Pengawasan tidak dapat dilakukan oleh satu atau dua orang saja. Masalah yang terjadi saat ini adalah sulitnya memonitoring pekerjaan yang sedang dilaksanakan terkait dengan perkembangan pekerjaan, ini disebabkan beberapa faktor salah satunya proses pencatatan atau pelaporan perkembangan proyek yang dilakukan secara manual, artinya setiap pengawas proyek setiap hari harus datang ke lokasi proyek untuk mencatat proses kemajuan pekerjaan kedalam form perkembangan pekerjaan dan wajib melaporkan setiap saat. Banyaknya data yang harus dicatat setiap hari sehingga sulit untuk menyelesaikan pekerjaan pelaporan tersebut tepat waktu sehingga menimbulkan keterlambatan dan ketidakakuratan dalam memberikan informasi. Dengan adanya permasalahan yang terjadi di Suku Dinas Pekerjaan Umum Tata Air Kota Administrasi Jakarta Selatan, maka timbullah kesadaran untuk membangun sebuah sistem yang dapat mempermudah dalam pengolahan data, mempercepat proses penyajian informasi yang akurat, mengurangi penumpukan arsip dan memudahkan pengelola dalam pencarian data, yaitu sebuah Sistem Informasi Monitoring Pelaksanaan Pekerjaan Pada Suku Dinas Pekerjaan Umum Tata Air Kota Administrasi Jakarta Selatan, metode pengembangan sistem dengan metodologi berorientasi obyek, apilikasi dibangun berbasis web dengan databases Mysql Server.

PHP

Membuat laporan pdf di php

  • By
  • 3 September 2022
  • PHP

Membuat laporan dalam bentuk PDF merupakan merupakah salah satu materi yang harus kita kuasai dalam proses pembuatan aplikasi. Kenapa demikian ? Hal ini karena hampir dari keseluruhan aplikasi membutuhkan print laporan pdf.

Untuk membuat laporan PDF dengan menggunakan php dan mysqli disini Kita akan menggunakan library FPDF yang sudah disediakan secara gratis. Dan juga sudah disediakan dekumentasi yang lengkap sehingga sangat memudahkan bagi Kita.

Membuat Laporan PDF Dengan PHP dan MySQLi

Menlengkapi pembahasan sebelumnya print data dari database menggunakan php yang menggunakan tidak menggunakan library, dengan hanya menggunakan script window.print();

Pada materi kali ini, Kita akan membuat print laporan pdf menggunakan FPDF. FPDF adalah salah satu library yang meungkinkan kita untuk mengenerate file PDF secara langsung dari php tanpa harus memanggil modul-modul tertentu.

Ada banyak library yang bisa digunakan untuk membuat laporan pdf di php. Library tersebut antara lain dompdf, tcpdf, mpdf dan lain masih banyak lainnya. Hanya saja menurut saya penggunaan fdf ini sangat simple dan sangat mudah.

Langsung saja kita ke materi bagaimana cara membuat laporan pdf pada php dan mysqli. Adapun yang perlu dipersialkan adalah library fpdf itu sendiri yang bisa Kamu download di link di bawah ini :

http://fpdf.org/en/download.php

Untuk versinya sendiri disini saya download fpdf versi 1.84 (2021-08-28). Saran saya untuk disesuaikan untuk mencegah terjadi error nantinya.

Persiapan Membuat Laporan PDF pada PHP

Library yang kita butuhkan sudah di download. Hal lain yang perlu dipersiapkan yaitu database berserta tablenya. Disini saya menggunakan tabel karyawan, untuk struktur tabelnya bisa dilihat di gambar berikut:

Membuat laporan pdf di php
Struktur Database Karyawan

Untuk database dengan tbl_karyawan bisa kamu lihat/ambil langsung di code berikut :

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

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

--phpMyAdmin SQL Dump

--version5.1.1

--https://www.phpmyadmin.net/

--

--Host:127.0.0.1

--Waktu pembuatan:03Sep2022 pada11.00

--Versi server:10.4.21-MariaDB

--Versi PHP:7.3.31

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

START TRANSACTION;

SET time_zone= "+00:00";

/*!40101 SET NAMES utf8mb4 */;

--

--Database:`tutorial_malasngoding`

--

----------------------------------------------------------

--

--Struktur dari tabel`tbl_karyawan`

--

CREATE TABLE`tbl_karyawan` (

  `karyawan_id`int(11)NOT NULL,

  `karyawan_nama`varchar(100)DEFAULT NULL,

  `karyawan_alamat`varchar(100)DEFAULT NULL,

  `karyawan_email` varchar(100)DEFAULT NULL

)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--

--Dumping data untuk tabel`tbl_karyawan`

--

INSERT INTO`tbl_karyawan` (`karyawan_id`,`karyawan_nama`,`karyawan_alamat`,`karyawan_email`)VALUES

(8,'Ramadhona Utama','Komp. Sentaraland Jln. Palem Putri No. 7', '[email protected]'),

(9,'Ahmad Alqayyum SA','Jln. Komering Blok P No. 3 Palembang','[email protected]'),

(10,'Muhammad Ilham Ismail','Komp. Alam Raya Residence Blok E.','[email protected]'),

(11,'Zafran Arif Satriadi','Komp. Sangkuriang Indah SMP 53 Palembang', '[email protected]'),

--

--Indexes for dumped tables

--

--

--Indeks untuk tabel`tbl_karyawan`

--

ALTER TABLE `tbl_karyawan`

  ADD PRIMARY KEY(`karyawan_id`);

--

--AUTO_INCREMENT untuk tabel yang dibuang

--

--

--AUTO_INCREMENT untuk tabel`tbl_karyawan`

--

ALTER TABLE`tbl_karyawan`

  MODIFY`karyawan_id`int(11)NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=13;

COMMIT;

Langkah selanjutnya kita akan buat file koneksi.php. FIle ini digunakan untuk menghubungkan php dengan database yang digunakan. Disini saya tidak menjelaskan lebih rinci bagaimana proses pembuatan file konksi.php Anda bisa membacanya sendiri di materi sebelumnya disini.

<?php

//$koneksi = mysqli_connect("hostname","username","password","nama_database");

$koneksi=mysqli_connect("localhost","root","","tutorial_malasngoding");

?>

Menampilkan data dengan PHP

Selanjutnya Kita akan menampilkan data terlebih dahulu. Untuk meteri menampilkan data dengan php dan mysqli juga sudah pernah di bahas sebelumnya dan silahkan Anda baca di link berikut :

<ahref="https://www.malasngoding.com/membuat-crud-dengan-php-dan-mysqli-menampilkan-data/"target="_blank"rel="noreferrer noopener">https://www.malasngoding.com/membuat-crud-dengan-php-dan-mysqli-menampilkan-data/</a>

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

48

49

50

51

52

<?php include'koneksi.php'?>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport"content="width=device-width, initial-scale=1">

<title>Membuat Laporan PDF Dengan PHP dan MySQLi</title>

<link rel="stylesheet"href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

</head>

<body>

<div class="container">

<center><h2>Membuat Laporan PDF Dengan PHP dan MySQLi</h2></center>

<br>

<div class="float-right">

<a href="karyawan_pdf.php"target="_blank"class="btn btn-success"><iclass="fa fa-file-pdf-o"></i>&nbsp PRINT</a>

<br>

<br>

</div>

<table class="table table-bordered">

<thead>

<tr>

<th style="text-align:center;">Nomor</th>

<th style="text-align:center;">Nama</th>

<th style="text-align:center;">Alamat</th>

<th style="text-align:center;">Email</th>

</tr>

</thead>

<tbody>

<?php

$no=1;

$data = mysqli_query($koneksi,"SELECT  *FROM tbl_karyawan");

while($d =mysqli_fetch_array($data)){

?>

<tr>

<td><?php echo$no++;?></td>

<td><?php echo$d['karyawan_nama']?></td>

<td><?php echo$d['karyawan_alamat']?></td>

<td><?php echo$d['karyawan_email']?></td>

</tr>

<?php

}

?>

</tbody>

</table>

</div>

</body>

</html>

Potongan kode diatas menghasilkan seperti gambar di bawah ini :

Membuat laporan pdf di php
Menampikan data php mysqli

Yang terakhir yang menjadi induk permasalahan dalam materi tutorial ini yaitu membuat laporan file pdf menggunakan php. Perhatikan potongan kode berikut :

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

<?php

// memanggil library FPDF

require('library/fpdf.php');

include'koneksi.php';

// intance object dan memberikan pengaturan halaman PDF

$pdf=new FPDF('P','mm','A4');

$pdf->AddPage();

$pdf->SetFont('Times','B',13);

$pdf->Cell(200,10,'DATA KARYAWAN',0,0,'C');

$pdf->Cell(10,15,'',0,1);

$pdf->SetFont('Times','B',9);

$pdf->Cell(10,7,'NO',1,0,'C');

$pdf->Cell(50,7,'NAMA',1,0,'C');

$pdf->Cell(75,7,'ALAMAT',1,0,'C');

$pdf->Cell(55,7,'EMAIL',1,0,'C');

$pdf->Cell(10,7,'',0,1);

$pdf->SetFont('Times','',10);

$no=1;

$data=mysqli_query($koneksi,"SELECT  * FROM tbl_karyawan");

while($d=mysqli_fetch_array($data)){

  $pdf->Cell(10,6, $no++,1,0,'C');

  $pdf->Cell(50,6,$d['karyawan_nama'],1,0);

  $pdf->Cell(75,6,$d['karyawan_alamat'],1,0);  

  $pdf->Cell(55,6,$d['karyawan_email'],1,1);

}

$pdf->Output();

?>

Baik, Saya akan menjelaskan detail dari potingan kode mencetak file pdf.

// memanggil library FPDF

require('library/fpdf.php');

include'koneksi.php';

kode ini memanggil library dari fpdf.php yang berfungsi sebagai library yang Saya gunakan untuk menggenerate file pdf. Sedangkan file koneksi.php berfungsi sebagai penghubung antara php dan database mysqli.

// intance object dan memberikan pengaturan halaman PDF

$pdf=new FPDF('P','mm','A4');

$pdf->AddPage();

Kedua baris kode ini berfungsi sebagai pengaturan halaman file PDF. String dengan nama pdf menyimpan objek FPDF dengan pengaturan P sebagai jenis layout (potrait). mm adalah ukuran dengan A4 adalah ukuran kertas yang digunakan.

$pdf->SetFont('Times','B',13);

Potongan kode selanjutnya yaitu Kita set jenis dan ukuran font yang digunakan SetFont('Times','B',13) . Disini saya menggunakan font Time New Roman ‘Times’, jenis font bold ‘B’ dan ukuran font 13.

$pdf->Cell(200,10,'DATA KARYAWAN',0,0,'C');

$pdf->Cell(10,7,'NO',1,0,'C');

$pdf->Cell(50,7,'NAMA' ,1,0,'C');

$pdf->Cell(75,7,'ALAMAT',1,0,'C');

$pdf->Cell(55,7,'EMAIL',1,0,'C');

Baris pertama dari potongan kode ini kita akan membuat judul file PDF nantinya. Baris kedua digunakan untuk membuat judul dari kolum (nomor, nama, alamat dan email.

$data=mysqli_query($koneksi,"SELECT  * FROM tbl_karyawan");

while($d=mysqli_fetch_array($data)){

  $pdf->Cell(10,6,$no++,1,0,'C');

  $pdf->Cell(50,6, $d['karyawan_nama'],1,0);

  $pdf->Cell(75,6,$d['karyawan_alamat'],1,0);  

  $pdf->Cell(55,6, $d['karyawan_email'],1,1);

}

Ini adalah potongan kode yang digunakan untuk memanggil dan menampilkan data dalam database. Baris pertama panggil semua data yang ada dalam tbl_karyawan. Selanjutnya buat perulangan sebanyak jumlah data yang ada dan tampilkan kedalam tabel.

Hasil dari laporan pdf yang dihasilkan dari kode diatas adalah :

Membuat laporan pdf di php
FIle laporan PDF dengan PHP

Baik sekian dulu materi menampilkan file pdf dengan php dan mysqli. Dimateri yang terkait dengan materi ini kita akan mencoba set margin dan marge cell dimana ketika misalnya alamat terlalu panjang maka dia akan otomatis menampilkan ke bawah.



TUTORIAL MENARIK LAINNYA

Membuat laporan pdf di php

PHP

Export Data ke Excel Dengan PHP dan MySQLi

23 August 2022

Export data ke excel dengan PHP dalah salah satu model yang biasanya digunakan dalam membuat laporan berdasarkan referensi data dari MySQL. Export data ke excel ...

Membuat laporan pdf di php

PHP

Membuat QR Code Dengan PHP

3 August 2022

Membuat QR Code Dengan PHP – Halo teman-teman, Selamat datang kembali di malasngoding.com. Pada materi tutorial ini kita akan belajar tentang Membuat QR Code Dengan ...

Membuat laporan pdf di php

PHP

Menghitung Jumlah Baris dalam File Pada PHP

18 June 2022

Menghitung jumlah baris adalah salah satu teknik yang penting dalam berbagai bidang terutama dalam bidang pemrograman. Dalam pemrograman web, disini saya menggunakan pemrograman PHP untuk ...

Membuat laporan pdf di php

PHP

Regular Expression Pada PHP

18 September 2021

Regular Expression  atau yang sering dikenal dengan sebutan regex merupakan suatu model yang digunakan untuk mengenali suatu pola pada type data string (di PHP). Regex ...