Tampilkan postingan dengan label Mata Kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label Mata Kuliah. Tampilkan semua postingan

Website | PHP | Membuat Fungsi Laporan Download dari PHP ke Excel dan PDF

Membuat Laporan dengan PHP
Pada umumnya klien meminta ada laporan yang dapat didownload dalam berbagai format antara lain spreadsheet (.xls) dan portable data format (.pdf). Untuk membuat laporan sederhana dalam bentuk tabel, mulailah dengan memulai dari hal yang sederhana yaitu membuat tampilannya di html.

Download Laporan sebagai File XLS
Dari tampilan html berikan header yang menyatakan file tersebut adalah file excel dan tambah juga header untuk download, bukan buka di browser.

<?php
ob_start();

$s='';
if($_GET['xls'])
{
  header('Content-type: application/vnd.ms-excel');
}
else
{
  $s.="<a href='?xls=down'>klik untuk buka dalam bentuk excel</a>";
}

$s.="<table>";
for($i=0;$i<5;$i++)
{
   $s.="\n<tr>";
  for($j=0;$j<3;$j++)
  {
     $p=$i*120+$j+5;
      $s.="\n\t<td>".$p."</td>";
  }
   $s.="\n</tr>";
}
$s.="</table>";
 
print $s;
ob_end_flush();
?>
header('Content-type: application/vnd.ms-excel');

perintah inilah yang memerintahkan halaman yang kamu buka menjadi excel atau didownload sebagai excel.
Namun ada satu kekurangan dari script ini. Yaitu kamu akan mendapatkan bahwa ekstensi file yang didownload adalah .php. Untuk mengatasi hal ini tambahkan code berikut.

header('Content-Disposition: attachment; filename="'.$filename.'"');

Download Laporan dengan Filter
Untuk fitur membuat laporan, tidak selalu klik langsung file laporan bisa download. Tetapi seringkali ada tambahan-tambahan seperti:
  1. laporan yang ingin ditarik, apakah laporan pembelian, penjualan dll
  2. rentang laporan akan ditarik, dalam hal ini tanggalnya
Oleh karena itu mulailah dengan membuat form. Berikut contoh komponen form untuk membuat laporan.
  1. Tipe Laporan (radio button atau dropdown)
  2. Tanggal {tanggal} hingga {tanggal} (biasanya menggunakan datepicker yang ada di jquery)
  3. Cetak (checkbox)
  4. Buat Laporan (button)
Gunakan code berikut untuk memeriksa variabel yang akan digunakan sebagai filter pencarian dalam fungsi laporan.

<?php
if($_POST)
{
  echo '<pre>';print_r($_POST);die('</pre>');
}
?> 

Format Tanggal
Format tanggal tidak boleh sembarangan ditampilkan di excel. Perlu digaris bawahi bahwa format excel yang digunakan klien mungkin tidak sama dengan format tanggal yang digunakan developer! Untuk format tanggal, saya menyarankan menggunakan format YYYY-MM-DD seperti contoh: 2012-05-12, karena dengan menggunakan format tersebut, excel tidak akan mengubah menjadi format yang berbeda.
Jika menggunakan format DD-MM-YYYY, ada kemungkinan excel akan menampilkannya dalam format MM-DD-YYYY. Misalnya, untuk tanggal 12 Mei 2013, 12-05-2013, mungkin dibaca sebagai 5 Desember 2013.

Download Laporan sebagai File PDF
Untuk menggenerate laporan sebagai file .pdf yang bisa didownload, HTML2FPDF bisa digunakan. Kita hanya harus sedikit waspada dengan isi tulisannya. Kekurangan dari HTML2FPDF adalah tidak bisa mengkonversi file .gif. Apabila anda memakai .gif untuk memanfaatkan alpha di gambarnya, ganti saja dengan .png. HTML2FPDF bisa didownload disini

Konsep dasar HTML2FPDF adalah anda menuliskan isi file dengan format html ke file pdf. Isi file yang akan dituliskan ke file pdf, dapat diperoleh dengan dua cara yaitu: 1. membaca output file yang digenerate, misalnya dengan ob_get_contents() 2. meng-generate isi file, misalnya dengan cara seperti membuat file .xls di atas

<?php 
require_once('html2fpdf.php');          // agar dapat menggunakan fungsi-fungsi html2pdf
ob_start();                             // memulai buffer
error_reporting(1);                     // turn off warning for deprecated functions
$pdf= new HTML2FPDF();                  // membuat objek HTML2PDF
$pdf->DisplayPreferences('Fullscreen'); // set preferensi tampilan pdf
?>

Setelah script di atas, tulis data yang akan ditampilkan di pdf dengan format html. Kemudian kita tulis ke file pdf.

<?php
$html=ob_get_contents();                // mengambil data dengan format html, dan disimpan di variabel
ob_end_clean();                         // mengakhiri buffer dan tidak menampilkan data dalam format html
$pdf->addPage();                        // menambah halaman di file pdf
$pdf->WriteHTML($html);                 // menuliskan data dengan format html ke file pdf
$pdf->Output('tes001.pdf','D');         // mengeluarkan file pdf dengan nama tes001.pdf dalam bentuk file yang bisa di download
?>

================================================================

PENGENALAN PHP

1. Apa Itu PHP?

  • PHP adalah singkatan dari PHP : Hypertext Preprocessor
  • PHP adalah bahasa scripting server-side, artinya di jalankan di server, kemudian outputnya dikirim ke client (browser)
  • PHP digunakan untuk membuat aplikasi web
  • PHP mendukung banyak database (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, dll.)

2. Instalasi PHP

Untuk menjalankan PHP anda perlu Web Server seperti Apache, PHP Interpreter, MySQL sebagai database. Saat ini ada banyak paket PHP+Apache+MySQL yang memudahkan anda untuk instal PHP dengan mudah. Silahkan Download di salah satu situs-situs berikut, kemudian ikuti petunjuk instalasi masing-masing paket.
Kode PHP di jalankan di browser, terlebih dahulu harus dijalankan Apache Web Server, kemudian di browser dijalankan di localhost.
Misal kita buat file php, yaitu : tes.php, yang disimpan di document root  atau folder www maka di browser kita ketik url di alamatnya adalah : http://localhost/tes.php

3. Sintaks PHP

Kode PHP di tulis di teks editor, sama halnya seperti HTML. Kode PHP bisa digabung atau disisipkan dengan kode HTML, Javascript, CSS dan script lainnya untuk membuat halaman web.
  • Penulisan kode PHP harus di awali dengan <?php dan diakhiri dengan ?>
  • Untuk mengakhiri baris kode PHP harus diberi tanda titik koma (;) di akhir baris kode PHP
  • Untuk penulisan komentar di awali tanda // atau antara /* dan */
Contoh :
<html>
<body>
<?php 
echo "Hello World";
//ini komentar, tidak akan dieksekusi
?>
</body>
</html>
Pada contoh di atas, di browser akan tercetak tulisan Hello World

4. Variabel di PHP

Variabel di PHP diawali dengan tanda dollar ($) diikuti dengan nama variabel. Nama variabel adalah case-sensitive, artinya huruf besar dan huruf kecil adalah berbeda. Contoh :
<html>
<body>
<?php
$teks="Hello World";
echo $teks;                   //Hasilnya Hello World
?>
</body>
</html>
Untuk menggabungkan dua variabel atau lebih gunakan operator titik (.) atau langsung ditulis diantara tanda kutip, contoh :
<?php
$txt1 = "Hello World";
$txt2 = "1234";
$nama = "Desrizal";
echo $txt1."-".$txt2 ;         //Hasilnya Hello World-1234
echo "Nama saya : $nama";      //hasilnya Nama saya : Desrizal
?>

5. Operator di PHP

Operator Aritmatika

Operator Deskripsi Contoh Hasil
+ Penambahan 3 + 4 7
- Pengurangan 12 - 6 6
* Pengalian 3 * 3 9
/ Pembagian 4 / 2 2
% Modulus (sisa hasil pembagian) 5 % 2
10 % 8
10 % 2
1
2
0
++ Penambahan satu satu x = 6
x++
x = 7
-- Pengurangan satu satu x = 9
x--
x = 8
Contoh :
<?php
$x = 10;
$y = 4;

$a = $x + $y;
echo $a."<br>";        //hasilnya 14

$b = $x - $y;
echo $b."<br>";        //hasilnya 6

$c = $x * $y;
echo $c."<br>";        //hasilnya 40

$d = $x / $y;
echo $d."<br>";        //hasilnya 2.5

$e = $x % $y;
echo $e."<br>";        //hasilnya 2
?>

Operator Pembanding

Operator Deskripsi
== Sama dengan
!= Tidak sama dengan
> Lebih besar dari
< Lebih kecil dari
>= Lebih besar sama dengan
<= Lebih kecil sama dengan
Contoh :
<?php
$x = 10;

if($x > 10){
    echo "X lebih besar dari 10";
}else if($x == 10){
    echo "X sama dengan 10";
}else if($x < 10){
    echo "X kecil dari 10";
}
//Hasil X sama dengan 10
?>

Operator Logikal

Operator Deskripsi
&& Dan
|| Atau
! Bukan
Contoh :
<?php
$x = 10;
$y = 5;
if($x > 8 && $y < 6){
    echo "TRUE";
}else{
    echo "FALSE";
}
//Hasilnya TRUE
?>

6. Kondisional di PHP

Kondisional berguna untuk mengecek suatu kondisi dan melakukan suatu kode jika kondisi tersebut benar atau salah.

if

Sintaks :
if(kondisi){
    kode yang dijalankan jika benar
}

Contoh :
<?php
$x = 10;
if($x == 10){
    echo "Hai Apa kabar";
}
?>

if - else

Sintaks :
if(kondisi){
    kode yang dijalankan jika benar
}else{
    kode yang dijalankan jika salah
}
Contoh :
<?php
$x = 5;
if($x == 10){
    echo "Hai Apa kabar";
}else{
    echo "X tidak sama dengan 10";
}
?>

if - else if - else

Jika anda membutuhkan kondisi yang banyak
Sintaks :
if(kondisi 1){
    kode yang dijalankan jika kondisi 1 benar
}else if(kondisi 2){
    kode yang dijalankan jika kondisi 2 benar
}else if(kondisi 3){
    kode yang dijalankan jika kondisi 3 benar
}else{
    kode jika salah satu kondisi di atas tidak ada yang benar
}
Contoh :
<?php
$nilai = 80;

if($nilai >= 85){
    echo "A";
}else if($nilai >= 70 && $nilai < 85){
    echo "B";
}else if($nilai >= 60 && $nilai < 70){
    echo "C";
}else{
    echo "D";
}
?>

switch

Sama seperti if - else if - else, berguna jika membutuhkan kondisi yang banyak
Sintaks :
switch(ekspresi){
    case kondisi1 :
        kode yang dijalankan jika kondisi1 benar;
        break;
    case kondisi2 :
        kode yang dijalankan jika kondisi2 benar;
        break;
    case kondisi3 :
        kode yang dijalankan jika kondisi3 benar;
        break;
}
Contoh :
<?php
$buah = "mangga";
switch ($buah) {
    case "apple":
        echo "buahnya adalah apple";
        break;
    case "mangga":
        echo "buahnya adalah mangga";
        break;
    case "jambu":
        echo "buahnya adalah jambu";
        break;
}
?>

7. Looping (Pengulangan) di PHP

for

Berguna untuk pengulangan yang sudah ditentukan terlebih dahulu awalnya berapa, dijalankan sampai kondisi bagaimana.
Sintaks :
for(awal; kondisi; penambahan){
    kode untuk dijalankan
}
Contoh :
<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i."<br>";
}
?>
while
Berguna untuk menjalankan suatu kode terus menerus selama kondisi bernilai TRUE
Sintaks :
while(kondisi){
    kode untuk dijalankan;
}
Contoh :
<?php
$i=1;
while($i<=5)
{
    echo "Nomor : " . $i . "<br />";
    $i++;
}
?>

foreach

Perulangan untuk array yang mempunyai nilai
Sintaks :
foreach (array as $value){
    statement
}
atau

foreach (array as $key => $value){
    statement
}
Contoh :
<?php
$arr = array("satu", "dua", "tiga");

foreach($arr as $key => $value) {
    echo "Key: $key; Value: $value<br />\n";
}
?>

November Rain

Hari ini adalah hari peluncuran Rumah Pintar Indonesia, kelak konten dan artikel yang akan kami post kan merupakan artikel dari pengalaman, dan saduran atau copy paste dari internet, baik dari web, blog, fb, dll. Jadi mohon maaf dan keihlasannya sebelumnya, kepada smua webber dan netter yang akan kami cuplik artikel dan ilmunya demi terwujudnya Manusia Indonesia Pintar, ....