Showing posts with label Pemrograman PHP dan MySQL. Show all posts
Showing posts with label Pemrograman PHP dan MySQL. Show all posts

4 Karakteristik dari Data Warehouse

1. Subject oriented

Sebuah data warehouse disusun dalam subjek utama, seperti pelanggan, suplier, produk, dan sales. Meskipun data warehouse terkonsentrasi pada operasi harian dan proses transaksi dalam perusahaan,  data warehouse fokus pada pemodelan dan analisis data untuk pembuat keputusan. Oleh karena itu  data warehouse  mempunyai karakter menyediakan secara singkat dan sederhana gambaran seputar subjek lebih detail yang dibuat dari data luar yang tidak berguna dalam proses pendukung keputusan.

WareHouse

2. Integrated

Data warehouse biasanya dibangun dari bermacam-macam sumbe yang berbeda, seperti  database  relasional,  flat files, dan  on-line transaction records. Pembersihan dan penyatuan data diterapkan untuk menjamin konsistensi dalam penamaan, struktur kode, ukuran atribut, dan yang lainnya.

3. Time Variant

Data disimpan untuk menyajikan informasi dari sudut pandang masa lampau (misal 5 – 10 tahun yang lalu). Setiap struktur kunci dalam data warehouse mempunyai elemen waktu baik secara implisit maupun eksplisit.

4. Nonvolatile

Sebuah data warehouse secara fisik selalu disimpan terpisah dari data aplikasi operasional.  Penyimpanan yang terpisah ini, data warehouse tidak memerlukan proses transaksi,  recovery  dan mekanisme pengendalian konkurensi. Biasanya hanya membutuhkan dua operasi dalam akses data yaitu initial load of data dan access of data.

HTTP POST Menggunakan PHP CURL

Ada suatu kasus dimana : "pengguna" ingin data formulir permintaan informasi yang dikumpulkan dalam database. [kelihatan nya sih simpel]

Nah, rintangannya disini.
- informasi tidak akan disimpan pada database localhost
- perlu diingat, kan tidak mungkin kalau saya menyarankan sesuatu yang manual [kan repot buat sananya], masak saya mau nge-remote :D.


Kemungkinan solusi untuk memecahkan rintangan ini adalah bahwa:

1. "Pengguna" akan menyerahkan coding nya :).

2. Dalam pengolahan bentuk PHP, saya menggunakan cURL untuk melaksanakan transmisi POST ke script PHP pada server "pengguna".

3. Script nya akan melakukan query "MySQL INSERT" ke dalam database pribadi "pengguna".

Solusi ini lumayan, Berikut cara menjalankan POST menggunakan PHP CURL Library.

/ / variabel POST
 $ Url = 'http://contohdomain.com/get-post.php';
 $ Fields = array (
       'Lname' => urlencode ($ last_name),
       'Fname' => urlencode ($ first_name),
       'Title' => urlencode ($ title),
       'Perusahaan' => urlencode (lembaga $),
       'Usia' => urlencode ($ umur),
       'Email' => urlencode ($ email),
       'Telepon' => urlencode ($ telepon)
     );

 / /  data lokal untuk POST CURL
 foreach ($ bidang sebagai $ key => $ value) {.... $ fields_string = $ key '=' $ value '&';}
 rtrim ($ fields_string, '&');

 / / buka koneksi
 $ Ch = curl_init ();

 / / Set url, jumlah POST vars, POST Data
 curl_setopt ($ ch, CURLOPT_URL, $ url);
 curl_setopt ($ ch, CURLOPT_POST, count ($ field));
 curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ fields_string);

 / / eksekusi post
 $ Result = curl_exec ($ ch);

 / / Tutup koneksi
 curl_close ($ ch);
.
Lumayan ribet kalau pakai script diatas, coba pakai ini.
contoh coding pemblokiran suatu kata dari database lokal yang di POST ke URL yang sedang online.

$alamat=$_POST['cari'];

function bacaHTML($url){
     // inisialisasi CURL
     $data = curl_init();
     // setting CURL
     curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($data, CURLOPT_URL, $url);
     // menjalankan CURL untuk membaca isi file
     $hasil = curl_exec($data);
     curl_close($data);
     return $hasil;
}

// misal url "text post"
$text = bacaHTML("http://www.goguides.org/search?q=$alamat");

$text = str_replace("href=","href=tampil.php?cari=",$text);
echo $text;

untuk tampil.php

$text = bacaHTML($alamat);
include "koneksi.php";
$sql=mysql_query("select * from kata_terlarang");
while($data=mysql_fetch_array($sql))
{
$pattern = $data['kata'];
 
//echo "Pattern = $pattern <br/><br/>";
$hasil = KMP($pattern,$text);
//echo "Jumlah string yang cocok = ".count($hasil)."<br/>";
$text = str_replace("$pattern","<font color='red'>$pattern</font>",$text);
$text = str_replace("href=","href=tampil.php?cari=",$text);

if (count($hasil)>0)
{
 $sql1=mysql_query("select * from kata_mirip where id_kata_terlarang='$data[id]'");
 while($data1=mysql_fetch_array($sql1))
 {
mysql_query("INSERT INTO `daniel_search_db`.`url_blocked` (
    `id` ,
    `url` ,
    `kontent`
    )
    VALUES (
    NULL , '\"$alamat\"', '-')");
 }  
echo "
 <script>
 window.alert('Maaf Situs ini Kami Block Karena mengandung kata = $pattern dan mengandung kata mirip $data1[kata_mirip]');
 window.location=('index.php');
 </script>
  ";
 
}
}
//echo "Text = ".$text."<br/>";
echo $text;

1. Untuk database nya cobalah buat sendiri dan dikira kira :)

2. Koneksinya ? buat sendiri juga, kan gampang.

3. untuk index.php nya cuma isikan "text field" biasa, POST action nya ke coding pertama dengan "nama" untuk variabel "cari".

PHP.ini : File Konfigurasi PHP pada XAMPP

File Konfigurasi PHP pada XAMPP

Pertama, yang perlu diketahui yaitu letak file php.ini, file inilah yang akan dibahas kali ini.
Kamu bisa menemukan di : xampp/php/php.ini


Biasanya programmer newbie atau pemula seperti saya menganggap setiap script yang sudah dia buat kemuadian error dan tidak berjalan sebagaimana mestinya akan mengira bahwa scriptnya salah, padahal belum tentu.

1. Sebagai contoh: secara default file konfigurasi php :

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = Off

upload_max_filesize=2M

Line diatas gunanya meng-hidup matikan fungsi file upload.
Ketika kamu membuat file php upload, file bakal gagal di upload, percuma anda pelototi script yang kamu buat, nggak bakal selesai masalah, kamu kudu ganti settingan file php.ini agar file_uploads nya On.

Line kedua, menentukan maksimal file upload, kalau ingin max file uploadnya 20 M, maka kudu diganti jadi : upload_max_filesize=20M

Misal, dibawah adalah contoh file upload video dengan PHP :

<?php
if (isset($_REQUEST['upload']))
{
 $name=$_FILES['file_video']['name'];
 $type=$_FILES['file_video']['type'];
 $size=$_FILES['file_video']['size'];
 $nama_file=str_replace(" ","_",$name);
 $tmp_name=$_FILES['file_video']['tmp_name'];
 $nama_folder="video/";
 $nama_file_baru=$nama_folder.basename($nama_file);
 if ((($type == "video/mp4") || ($type == "video/3gp") || ($type == "video/x-flv")) && ($size < $_POST['MAX_FILE_SIZE']))
 {
  if (file_exists($nama_file_baru))
  {
   $msg="Nama file $nama_file sudah ada!\n";
  } 
  else
  { 
   if(move_uploaded_file($tmp_name,$nama_file_baru))
   {
    $msg="File video $nama_file berhasil diupload";
   }
  }
 } 
 else
 {
  $msg="Jenis file tidak sesuai atau ukuran file terlalu besar!";
 }
 echo "<p align=\"center\">$msg</p>";
}
else
{
?>
<fieldset>
<legend>Upload Video</legend>
<form name="fvideo" enctype="multipart/form-data" method="post" action="" style="padding:10px;">
<input name="MAX_FILE_SIZE" value="50000000" type="hidden"/>
<input type="file" name="file_video" />
<input type="submit" name="upload" value="Kirim" />
</form>
</fieldset>
<?php
}
?>

Script diatas mempunyai parameter diantaranya adalah :
-Max file size diatas adalah 50 MB
-File type yang bisa diupload : mp4, 3gp, dan flv
-File yang terupload akan masuk ke folder Video

Nah, akan percuma jika sett file php.ini nya Off.
Mas Bro, kalau mau diunggah ke webserver gimana?, biasanya semua hosting file uploads nya On, sedangkan upload_max_filesize nya tergantung type pendaftaran kamu, kalau yang gratisan tentu saja quota tak lebih dari 10 Gb.

2. URL Open & URL Include

allow_url_fopen=On
allow_url_include=On

Yang pertama On : artinya kamu bisa membuka file script php untuk editing.
yang kedua url_include=On maksudnya kamu bisa menginclude file php lain, biasanya kamu pasti sering lihat code berikut : 
include('koneksi.php'); atau 
include('config.php'); atau 
require_once('setting.php');

Nah, kalo baris yang di Off, berabe. biasanya gak akan bekerja jika dikomputer klient.

3. Open Tag

short_open_tag=On
asp_tags=On 

Ada 3 macam Tag pada script PHP, pertama <?php …..?>, yang ke-2 <?…..?> dan yang ke-3 <%…..%>. Tag pertama adalah yang paling direkomendasikan dan paling umum dipakai, ada juga programmer memilih cara ke-2 (short_open_tag) atau cara ketiga (asp_tag).
Pastikan dua baris berikut ini "On" pada file php.ini.
Jika kamu memakai short_open_tag, tapi di server, baris konfigurasi ini dibuat Off, scriptmu bakal mati.

4. Display Error

Disarankan dua line ini On, jika dalam posisi Off, bakal susah mencari letak error, karena dihalaman browser tidak akan keluar keterangan apapun, meskipun ada script error dan otomatis PHP tidak jalan, jangan lupa baris error reporting mesti E_ALL|E_STRICT.

error_reporting=E_ALL | E_STRICT

display_error=On

display_startup_error=On

Tips : Jika ada script error, cobalah block baris error nya dan cari di Google. atau coba dirujuk ke stackoverflow.

5. Langkah terakhir, jangan lupa untuk me-restart webserver agar setting-an nya di load ulang.
Jika kurang yakin, re-start komputernya.

Membuat Kotak Langganan Web/Blog dengan PHP

Membuat kotak langganan dengan HTML sudah biasa, dengan PHP ini juga rada aneh, tapi tetep dibuat aja, cuma posting, di WEB lain juga banyak.


Membuatnya cukup simple, nggak banyak coding, namanya juga cuma kotak.
1. PHP
2. CSS
3. JS
4. Database (untukdatabase cuma pakai LOG file :langganan.txt)

1. index.php

<html>
<head>
<title>Subscription</title>
<!-- POP UP -->
<script type='text/javascript' charset='utf-8' src='jquery.js'></script>
  <script type='text/javascript' charset='utf-8' src='popbox.js'></script>
    <script type='text/javascript' charset='utf-8'>
    $(document).ready(function(){
      $('.popbox').popbox();
    });
  </script>
<link href="style.css" type="text/css" rel="stylesheet">
<!-- Validasi Email dengan JS -->
 <script type="text/javascript">
        function validasi()
            {
            var x=document.getElementById('textbox').value;
             var atpos=x.indexOf("@");
            var dotpos=x.lastIndexOf(".");
            if (x==null || x=="")
              {
              alert("Isi Email dulu");
              return false;
              }
          
            else if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
              {
              alert("Alamat Email tidak valid");
              return false;
              }
              else{
                  alert("Sukses Berlangganan");
              }
           }
    </script>
</head>
<body>
<div class='popbox'>
   <a class='open' href='#'>Langganan!</a>
 <!-- kotak POP UP langganan -->   
    <div class='box'>
     <form name="form" method="post" onSubmit="return validasi();">
  <div id="outerbox">
       <div id="inner">
          <div id="text1">Langganan Web ini</div><br>
             <input name="email" type="text" id="textbox" size="30" value=""/><br/>
          <p>Kirim ke Email ku</p>
              <input type="submit" value="Kirim" id="submitbutton">   
      </div>
  </div>
 </form>
<!-- kotak POP UP langganan -->
</div>
</div>
<!-- script log file ke langganantxt -->
<?php
    if(isset($_POST['email'])) {
        $a =$_POST['email']."\n";
        $myFile = "langganan.txt";
        $fh = fopen($myFile, 'a') or die("file tidak terbuka");
        fwrite($fh, $a);
        fclose($fh);
        header("location:./index.php");
    }
?>
</body>
</html>

2. style.css

#outerbox{
width:270px;
border: 4px #386CAB dotted;
height:170px;
}
#inner{
width: 260px;
background:#FBFBFA;
height:100px;
float:left;
border-radius: 9px 0 0 9px;
font-family: Verdana;
}
#inner #text1 {
text-align: center;
margin-top: 5px;
font-weight: 600;
} 
#textbox{
float:center;
border-color:#F4E148;
border-radius: 10px;
}
#submitbutton
{
width:90px;
height:30px;
border-radius: 5px;
background: #E8E3DD;
float:center;
}
#submitbutton:hover{background:  #F5F4F1; }
.text {
font-family: sans-serif;
text-align: center;
font-weight: 300; color:#000;
margin:5px 0 0 0px;
} 
a{text-decoration: none;}   
.popbox {
  margin:10px auto;
  text-align:center;
  position:relative;
}
.box {margin:20px auto;display:none;}
.open{ border-radius:10px;
       background:#386CAB;
       padding:5px;
       color:#ffffff;}

Code lengkapnya, dapat di download disini.
Preview nya bisa dilihat disini : http://testcode.freeiz.com/email/

Instruksi:
1. File name "langganan.txt". kalau mau di ubah, ubah juga di file index.php line 84. -= $myFile = "langganan.txt"; //ubah terserah anda. =-

2. Ubah ukuran kotak POP UP, ubah di file style.css.
#outerbox,#inner width : ukuran sesuai halaman.
#outerbox width : total lebar.

Bagaimana penerapan pada halaman lain :.
1. Copy semua code pada tag <head></head> paste juga di halamanmu pada tag <head></head>
Note: jika sudah pakai "jquery.js" gunakan salah satu, ubah sesuaikan nama file css "style.css".

2. Copy semua code pada tag <body></body> dan paste kode, letakkan terserah "Langganan!".
Note: file wajib .php, jika pakai HTML, rename ke PHP.

Simpan, Edit dan Hapus Data MySQL dengan PHP secara Simple

Tutorial seperti ini sebenarnya gak penting banget, berhubung gak punya ide buat posting, ya diposting aja. :D

1. Siapkan database MySQL terlebih dahulu, disini akan digunakan sebagai contoh nama database adalah : test


-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jan 21, 2014 at 02:32 PM
-- Server version: 5.5.16
-- PHP Version: 5.3.8

 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

 --
-- Database: `test`
--

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

 --
-- Table structure for table `mhsasia`
--

 CREATE TABLE IF NOT EXISTS `mhsasia` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `nama` text NOT NULL,
  `alamat` char(30) NOT NULL,
  `nim` char(8) NOT NULL,
  `email` char(28) NOT NULL,
  `no_telpon` char(18) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT AUTO_INCREMENT=17 ;

 --
-- Dumping data for table `mhsasia`
--

 INSERT INTO `mhsasia` (`id`, `nama`, `alamat`, `nim`, `email`, `no_telpon`) VALUES
(1, 'Samari Sulfin', 'Jln. Panguripan 36A Gg. IIIB', '08201167', 'sam_caem@yahoo.co.id', '089121474836'),
(2, 'Daniel Noor', 'Jln. Kedangagung 12', '07201127', 'daniel_nur88@gmail.com', '08916600663'),
(3, 'Cah Pucanglaban', 'Jln. Asia Selatan No. 10C', '08201144', 'huda_caem12@yahoo.com', '08992213660'),
(4, 'Moor Gand UL', 'Jln. Panarukan 11B Wedangan', '08201078', 'gandaasiaselatan@yahoo.com', '0899333767'),
(5, 'Hehen Pengend di Manja', '', '127', '', '0'),
(6, 'Noor Manny', '', '127', '', '0'),
(7, 'Dloow Jail', '', '127', '', '0'),
(8, 'Paijo Romeo', '', '127', '', '0'),
(9, 'Moammar Khaniv', '', '127', '', '0');

 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Copy aja Query diatas ke Notepad dan jadikan mhsasia.sql

2. Buat file koneksi.php, yang simple aja.


<?php
$host="localhost";

$user="root";

$pass="";

$db="test";

$koneksi=mysql_connect($host,$user,$pass);
mysql_select_db($db,$koneksi);
?>

3. Buat file tambah data. dengan nama index.php

<center><h1>Tambah Data</h1></center>
<form method="post" action="simpan.php">
<table align="center" frame="box" bgcolor="#CCCCCC">
<tr><td>ID</td>
<td><input type="text" name="id" size="8" /></td>
</tr>
<tr><td>Nama</td>
<td><input type="text" name="nama" size="20" /></td>
</tr>
<tr><td>Alamat </td>
<td><input type="text" name="alamat" size="30" /></td>
</tr>
<tr>
<td>NIM</td>
<td><input type="text" name="nim" size="10" /></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" size="28" /></td>
</tr>
<tr><td>No Telp</td>
<td><input type="text" name="no_telpon" size="18" /></td>
</tr>
<tr> 
<td><input type="submit" name="simpan" value="Simpan"></td>
<td><input type="reset" name="reset" value="Reset"></td>
</tr>
</table>
</form>
<?php
echo ("<center>Lihat Data <a href=\"view.php\">OK</a></center>");
?>


4. Buat file simpan.php

<?php
include("koneksi.php");
$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$nim = $_POST['nim'];
$email = $_POST['email'];
$no_telpon = $_POST['no_telpon'];
$query = mysql_query("insert into mhsasia values  ('$id','$nama','$alamat','$nim','$email','$no_telpon')");
echo ("<center>Data Telah di Simpan<br><a href=\"index.php\">Kembali</a></center><br>");
echo ("<center>Lihat Data !!! <a href=\"view.php\">OK</a></center>");
?>

5. Buat file view.php

<?php
include "koneksi.php";
$perintah="select*from mhsasia order by id asc";
 $hasil=mysql_query($perintah);
 echo("<table border='1' align='center'>");
 echo("<tr><center><h3>Data Mahasiswa</h3></center></tr>
  <tr><th>No.</th><th>ID</th><th>Nama</th><th>Alamat</th><th>NIM</th><th>Email</th><th>No Telpon</th></tr>");
$no=1;
while($row=mysql_fetch_array($hasil))
{
echo("<tr>");
echo("<td>$no</td>");
 list($id,$nama,$alamat,$nim,$email,$no_telpon)=$row;
      echo("<td>$id</td><td>$nama</td><td>$alamat</td><td>$nim</td><td>$email</td><td>$no_telpon</td>");
 echo("<td><font size='1'><a href=\"edit.php?id=$id\">Edit</a></font></td>");
 echo("<td><font size='1'><a href=\"hapus.php?id=$id\">Hapus</a></font></td></tr>");
echo("</tr>");
$no++;
$end;
}
echo("</table>");
echo ("<br><center>Tambah Data <a href=\"index.php\">OK</a></center>");
?>


6. Buat file edit.php

<?php
include "koneksi.php";
$id = $_GET['id'];
$perintah = "select * from mhsasia where id='$id'";
$hasil =  mysql_query($perintah, $koneksi) or die("gagal melakukan query");
     $row = mysql_fetch_array($hasil);
                 mysql_close($koneksi);
?>
<form method="post" action="update.php">
<table align="center" bordercolor="#999999" bgcolor="#CCCCCC">
<tr><td>ID</td><td><input type="text" name="id" value="<?php echo $row['id']; ?>"></td></tr>
<tr><td>Nama</td><td><input type="text" name="nama" value="<?php echo $row['nama']; ?>"></td></tr>
<tr><td>Alamat</td><td><input type="text" name="alamat" value="<?php echo $row['alamat']; ?>" size="30"></td></tr>
<tr><td>NIM</td><td><input type="text" name="nim" value="<?php echo $row['nim']; ?>"></td></tr>
<tr><td>Email</td><td><input type="text" name="email" value="<?php echo $row['email']; ?>"></td></tr>
<tr><td>No. telpon</td><td><input type="text" name="no_telpon" value="<?php echo $row['no_telpon']; ?>"></td></tr>
<tr><td><input value="Simpan" type="submit" name="submit"/></td>
<td><input type="button" value="Kembali" onClick="self.history.back()"></td></tr>
</table>
</form>


7. Buat file update.php

<?php
include("koneksi.php");
$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$nim = $_POST['nim'];
$email = $_POST['email'];
$no_telpon = $_POST['no_telpon'];
$query = mysql_query("update mhsasia set nama='$nama', alamat='$alamat', nim='$nim', email='$email',no_telpon='$no_telpon' where id='$id'");
echo "<center><h2><strong>Data Telah di Update</strong></h2><br><hr><a href=\"view.php\">OK</a></center>";
?>

8. Buat file hapus.php

<?php
include("koneksi.php");
mysql_query("DELETE from mhsasia WHERE id='$_GET[id]'");
echo"<center><h2><strong>Data Telah di Hapus</strong></h2><br><hr><a href=\"view.php\">OK</a></center>";
?>

Simpan dalam satu folder, panggil seperti biasa, tampilan sederhana dan simple.
Selesai.

Cara Manual Install Apache, MySQL, PHP dan PHPMyAdmin di Ubuntu

Cara ini sudah banyak di Google, tapi ini cukup untuk catatan saja, bagi yang sudah tahu dan melihat ada kesalahan, monggo diperbaiki. :D

1. Install Apache
Buka terminal dan jalankan perintah berikut :
sudo apt-get install apache2
Tunggu proses instalasi sampai selesai. Setelah itu buka browser anda dan ketikan http://localhost di address bar. Jika muncul gambar seperti dibawah, maka instalasi apache berhasil.


2. Install MySQL
Buka terminal dan jalankan perintah berikut :
sudo apt-get install mysql-server
Beberapa saat instalasi MySQL berjalan, akan tampil permintaan password untuk user root. Silahkan masukan password yang anda inginkan. Lebih jelasnya lihat gambar berikut :


Berikutnya akan tampil jendela untuk konfirmasi password. Silahkan masukkan password yang anda masukkan pertama kali.


 tunggu proses instalasi sampai selesai.

3. Install PHP5
Buka terminal dan jalankan perintah berikut :
sudo apt-get install php5 libapache2-mod-php5
Silahkan tunggu proses instalasi sampai selesai. Setelah itu silahkan restart apache-nya dengan perintah berikut :
sudo /etc/init.d/apache2 restart
setelah itu silahkan buat file phpinfo.php untuk mengetahui instalasi PHP5 berhasil atau tidak dan simpan di directory /var/www/. Untuk lebih cepatnya silahkan jalankan perintah berikut :
sudo gedit /var/www/phpinfo.php
pada jendela gedit yang tampil silahkan isikan script berikut :
<?php phpinfo (); ?> 
setelah itu disave. Kemudian ketikan http://localhost/phpinfo.php di browser Jika tampil gambar seperti berikut, maka instalasi PHP5 berhasil


4. Install PHPMyAdmin
Buka terminal dan jalankan perintah berikut :
sudo apt-get install phpmyadmin
Setelah beberapa saat proses instalasi berjalan, nanti akan tampil jendela Configuring Phpmyadmin. Silahkan pilih OK.


Silahkan pilih NO.


Tunggu proses instalasi sampai selesai.
Setelah proses instalasi selesai,  jalankan perintah berikut di terminal :
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf.d 
dan restart apachenya
sudo /etc/init.d/apache2 restart
setelah selesai, ketikan http://localhost/phpmyadmin di browser anda untuk mengakses PHPMyAdmin. Berikut gambar jendela login dari phpmyadmin :


masukan Username (root) dan password anda. Jika sukses akan tampil seperti gambar berikut :


Done !!!

Coba Web Mining "ala Google" dengan PHP

Pernah ngetik sesuatu di Google ?, nah kalian selalu disuguhi yang namanya "web mining plus text mining", "" yaa, semacam auto text pada Blackberry, jadi ketika mengetikkan sesuatu seperti langsung keluar hasilnya, ajaib...

Nah, kesempatan kali ini terletak pada point Web Mining nya.
Preview nya bisa dilihat disini : http://wolypop.tk/google/
Oke, yang dibutuhkan cuma sederhana, PHP, MySQL, dan WebHost.

1. WebHost
Untuk WebHost nya kalau nggak mau onlen bisa kok coba offline alias pake Local Host (pakai Xampp)

2. MySQL
Namanya terserah saja, tapi disini coba pakai nama "cari". bisa buat sendiri ya berikut screenshot nya :D


Yang penting ada judul, thumbnail dan sinopsis aja. bikin sendiri dong :D

3. PHP
Pertama buat "koneksi.php" nya, codingnya terserah yang penting konek saja ke database MySQL yang sudah kamu buat taddi.

selanjutnya yaitu koding pencariannya, beri nama "cari.php"
<?php
$connection = mysql_connect('localhost', 'root', '');
$db = mysql_select_db('cari', $connection);
$term = strip_tags(substr($_GET['judul'],0, 100));
$term = mysql_escape_string($term);
if($term=="")
echo "<div> <h3 style='color:#ff0000'>Masukan judul Film yang bakal kamu cari!</h3></div>";
else{
 
$query = mysql_query("select judul,thumbnail,sinopsis from filmbarat where judul like '%$term%'") or die(mysql_error());
$hasil = '';

if (mysql_num_rows($query)){
while($rows = mysql_fetch_array($query)){

$hasil=$hasil." <div>
 <div>
  <div>
   <div>
    <h3>$rows[judul]</h3>
   </div>
  </div>
  <div>
  <table>
  <tr>
   <td>
   <div>
     <img src=\"image/$rows[thumbnail]\" >
   </div>
   </td>
   <td>
   <div>
    <p align='center' style='color:red'>
     $rows[sinopsis]
    </p>    
   </div>
   </td>
  </tr>
  </table> 
  </div>
</div>
<hr>
</div>";

}
}

else{
$hasil = " <h4 style='color:red'>Film tak ditemukan!</h4><img src='image/404.jpg'>";
}

echo $hasil;
}
?>

selanjutnya, bikin form untuk menampung koding pencariannya. namai saja "form.php"

<script type="text/javascript "src="jquery.js"></script>
<script type='text/javascript'>$(document).ready(function() {
  //$("#search_results").slideUp();
  $("#button_find").click(function(event) {
   event.preventDefault();
   //search_ajax_way();
   ajax_search();
  });
  $("#search_query").keyup(function(event) {
   event.preventDefault();
   //search_ajax_way();
   ajax_search();
  });
 });
 function ajax_search() {

  var judul = $("#search_query").val();
  $.ajax({
   url : "cari.php",
   data : "judul=" + judul,
   success : function(data) {
    // jika data sukses diambil dari MySQL, akan ditampilhan di index sebagai HTML :D
    $("#display_results").html(data);
   }
  });

 }</script>
<div>
 <form >
  <div >
   <input type="text"  name="search_query" id="search_query" class="in" placeholder=" Judul film yang dicari? Misal 'Spiderman'">
   <button type="submit" id="button_find">
    <i>Cari</i>
   </button>
  </div>
 </form>
</div>

<div id="display_results"  ></div>
</body>
</html>

yang terakhir buat file "index.php" nya, untuk menampilkan bunkusan Search Engine nya, tampilan terserah.

<html>
<head>
 <title>Live Film Search Demo </title>

<style type="text/css">  
body {
padding-top: 20px;
padding-bottom: 40px; 
}
/* kotak */
.box {
margin: 0 auto;
max-width: 800px;
}
.box > hr {
margin: 30px 0;
}
.bg{min-height:20px;padding:19px;margin-bottom:20px;background-color:#99CCFF;border:1px solid #e3e3e3;
-webkit-border-radius:4px;
-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);
-moz-border-radius:4px;border-radius:4px;
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}
.in {
width:400px;}
</style>

</head>

<body>
 <div class="box">
  <div>
   <ul> 
   </ul>
    <h2>Ala Google - Search Engine :D</h2>
  </div>
<hr>

<div class="bg">
<?php
$pg = '';

include('koneksi.php');
if(!isset($_GET['pg'])) {
 include ('form.php');
 }else {
 $pg = $_GET['pg'];
 $mod = $_GET['mod'];
 include $mod . '/' . $pg . ".php";
}?>
</div>

<div class="footer">
 <p style="text-align: center">
     &copy; Wolypop 2013 :D
 </p>
</div>

 </div>
  
</body>
</html>

4. JQuery
bisa disownload disini : http://adf.ly/RcQSV

terakhir, untuk file gambarnya cari sendiri di Google.
Selesai.

Membuat Custom Color Picker pada Form

Custom Color Picker disini dimaksudkan sebagai Form Input pemilihan warna, entah itu sebagai background chooser untuk Form Pendaftaran ataupun sebagai Background Theme biasa.

Widget seperti ini memang populer, selain mempermudah bagi pengguna dan pengunjung, pun semakin menambah Style tertentu pada suatu Website, sehingga lebh atractive.. :D

Sebenarnya ini adalah pengaplikasian dari JS Color Dot Com :) .
Proses bikinnya cukup mudah dan Simple, cuma butuh file javascript "jscolor.js" dan sedikit ketrampilan membuat Form, untuk file jscolor.js nya bisa didownload sendiri di "JSCOLOR.COM"

Berikut Screen Shoot nya


Lihat Contoh yang sudah di Upload : http://wolypop.tk/colorpick/

Berikut Source Code :

<script type="text/javascript" src="jscolor.js"></script>
<h1> Color Pick</h1>
<form action='index.php' method='POST'>

Nama Anda: <input name='nama' ><br />
Warna Text&nbsp;: <input class="color" name='ctext' value="ffffff"><br />
Background: <input class="color" name='btext' value="000000"><br />
<input type='submit' name='simpan' value='Terapkan'>
  </form>
  <?php
  if(isset($_POST['nama'])){
  $nama=$_POST['nama'];
  $ctext=$_POST['ctext']; //warna text
  $btext=$_POST['btext']; //warna background
  ?>
  <h1>
  Selamat Datang
  <span style='background-color:#<?=$btext?>;
    color:#<?=$ctext;?>'>
  <?=$nama;?>
  </span></h1>
<?php
  }
  ?>

Enjoy :)

Free Tools For PHP Programmer

Maaf, Judulnya sok Enggres...

Ada beberapa tool/perangkat Software yang biasanya menemani para programmer PHP, diantaranya ya Macromedia Dreamweaver 8, trus kudu pake XAMPP, lebih jadul lagi ya cuma pake Notepad.. :)

Sebenarnya sih banyak sekali Tools siap pakai yang ada dan tersedia serta memudahkan, dan pula gratis tanpa perlu crack sana sini.

Disini sebertar lagi akan saya jelaskan daftar para Tools gratis siap pakai buat mengembangkan WEB berbasis PHP, tapi di Windows aja.


AMP Stack
Apache, MySQL dan PHP adalah tool yang yang saling berkaitan, Apache sebagai webserver,MySQL sebagai database server dan PHP sebagai bahasa pemrogramanya. Jika anda ingin membuat program dengan PHP, 3 sofware diatas harus diinstal.  Mengingat instalasi dan konfigurasi masing masing tool agak rumit, lbih baik kita memakai  bundle siap pakai dengan sekali install pilihan AMP stack diantaranya:

WAMP
WAMP adalah Program/Software kumpulan atau paket - paket: Apache, MySQL, dan salah satu dari PHP, Perl atau Python. Apache adalah server web. MySQL merupakan database open-source. PHP, Perl dan Python adlah bahasa scripting yang dapat memanipulasi informasi yang diadakan di database dan menghasilkan halaman web dinamis pada browser. Program lain juga dapat dimasukkan dalam paket, seperti phpMyAdmin yang menyediakan UI/Usr Interface grafis untuk manajer database MySQL.

XAMPP
XAMPP bukan hanya mencakup Apache, MySQL, PHP saja namun juga dilengkapi dngan   Perl, mod_perl, mod_ssl, OpenSSL,  Webalizer, Mercury Mail Transport System for Win32 and NetWare Systems v3.32, Ming, FileZilla FTP Server, mcrypt, eAccelerator, SQLite, and WEB-DAV + mod_auth_mysql dan Lain-lain.

Macromedia Dreamweaver 8
Adobe Dreamweaver merupakan program penyunting halaman web keluaran Adobe Systems yang dulu dikenal sebagai Macromedia Dreamweaver keluaran Macromedia. Program ini banyak digunakan oleh pengembang web karena fitur-fiturnya yang menarik dan kemudahan penggunaannya. Versi terakhir Macromedia Dreamweaver sebelum Macromedia dibeli oleh Adobe Systems yaitu versi 8. Versi terakhir Dreamweaver keluaran Adobe Systems adalah versi 12 yang ada dalam Adobe Creative Suite 6 (sering disingkat Adobe CS6).

Appserv
App serv adalah AMP stack yang paling saya suka, hal ini karena ringan dan sederhana, File installernya pun kecil. Hal yang paling menarik dari Appserv adalah struktur direktori setelah insalasi sangat mudah dipahami, hanya ada empat  folder utama yaitu apache untuk konfigurasi dan file binary apache, MySQL , PHP berisi file binary php beserta konfigurasinya dan yang terakhir adalah folder www.  Di Folder WWW inilah kita meletakan file cod  PHP yang kita buat. Appserv juga sudah menyertakan phpmyAdmin untuk kemudahan pengelolaan mySQL.

WappStack
WappStack adalah bundle dari perusahaan Bitnami. Perbedaannya dengan XAMPP atau Appserv adalah database yang digunakan. Wappstack menggunakan PostgreSQL dengan manajemen databasenya phpPgadmin, sangat cocok bagi anda yang ingin menggunakan database postgresSQL.

EDITOR/IDE
Setelah AMP stack, tool berikut nya adalah editor.  Sebenarnya anda bisa saja menggunakan notepad, namun sangat tidak disarankan. Untuk membuat program PHP disarankan anda menggunakan Program editor yang mendukung fitur penomoran baris, lipat kode (code folding), dan pewarnaan sintak (syntax highlighting) serta autocomplete.
Berberapa editor yang free adalah Aptana studio, Notepad++ dan intype. Aptana lebih tepat disebut sebagai IDE karena fiturnya sangat lengkap dan mendukung mode project.  Notepad++ terkenal karena sangat ringan dan mendukung plugin sedangkan intype adalah editor super ringan yang mendukung ataucomplete berbagai macam bahasa.

Ok, BrEE... Sekian dulu ngoceh buat artikel nggak penting diatas. :)
Kalo yang baca para Master PHP, (malu saya).

Kredits : 
Google Images Dot Com
Wikipedia Dot Com

Print Preview Data dengan PHP MySQL

Di dalam sebuah transaksi atau bisnis, atau masalah yang menyangkut publikasi seberkas data sangat penting dibutuhkan nya Print Preview secara langsung dan cepat.

Web juga membutuhkan laporan untuk di cetak atau di download dengan format lain seperti PDF atau XLS. Pertama adalah membuat laporan dengan format cetak, karena cara ini sering dipakai saat user ingin membuat laporan penjualan, laporan transaksi, laporan harian dll.


File yg dibutuhkan :
1. CSS framework bernama Twitter Bootstrap.

2. XAMPP 1.7.7 VC9 di Windows 7.

3. Untuk Twitter bootstrap ini hanya untuk mengatur tampilan saja, kalau punya tampilan sendiri yang lebih baik ya nggak usah dipakai.

4. Databasenya adalah mhsasia dengan nama tabel mhsasia.




Contoh sebagian Source Code

tabel mahasiswa

<h2 id="headings"> MAHASISWA ASIA </h2>
<hr>
<p class='pull-right'>
 <a href='export/mhs_xls.php'
 target='_blank'
 class="btn" ><i class='icon-download-alt'></i> Excel</a>
 <a href='export/mhs_pdf.php '
 target='_blank'
 class="btn" ><i class='icon-download-alt'></i> PDF</a>
 <a href='export/mhs_cetak.php'
 target='_blank'
 class="btn" ><i class='icon-print'></i>cetak</a>
</p>
<table  class="table  table-condensed table-hover">
 <thead>
  <th><td><b>NAMA </b></td><td class='pull-right'><b>NIM </b></td></th>
 </thead>
 <tbody>
  <?php
$query="select * from mhsasia";
$result=mysql_query($query) or die(mysql_error());
$no=1;
//proses menampilkan data
while($rows=mysql_fetch_object($result)){
  ?>
  <tr>
   </td><td><?  echo $rows -> id;?></td>
   <td><?  echo $rows -> nama;?></td>
   <td ><p class='pull-right'><? echo $rows -> nim;?></td>
  </tr>
  <?
}?>
 </tbody>
</table>

Untuk lebih lengkapnya, donlot Source Code nya disini, DB nya disini
pass : topaninfodotcom

CU

Cek Bilangan Prima pada PHP ???

Buka Flashdisk... tugas kuliah semester 5, eehhh ternyata banyak juga tugas "" jadul pemberian Bu Dosen.

Go Wesss...

Cara mengecek apa suatu bilangan/angka disebut angka Prima atau bukan ???, dibawah ini contoh coding yang bisa dipakai/diperbarui.

SceenShooooot



<?php
    // fungsi Q bil prima
function primagaksih($bil)
{
    // 1 bkan bil prima
    if ( $bil == 1 ) {
        return false;
    }
    // 2 bilangan prima
    if ( $bil == 2 ) {
        return true;
    }
    // algoritma pencarian bil. prima terbesar
    $x = sqrt($bil);
    $x = floor($x);
    for ( $i = 2 ; $i <= $x ; ++$i ) {
        if ( $bil % $i == 0 ) {
            break;
        }
    }
   
    if( $x == $i-1 ) {
        return true;
    } else {
        return false;
    }
}
// FUNCTION pengubah  true jdi uyee, false jadi gk uyee

function cekstatus($status){
if($status==true) {
return 'UYE';
} else {
return 'GAK';
}
}

for ($i=1; $i<=20; $i++)
  {
  echo  $i. " Bilangan prima?  " . cekstatus(primagaksih($i)) . "<br />";
  }
?>

CU <3

PHP yang jarang diketahui



Ini sih nggak rahasia-rahasia banget ya, cuma belum banyak yang tahu makanya terlihat rahasia.. hahah, ini bisa jadi nilai tambah ketika melakukan koding, atau ketika interview masalah PHP.
Berikut aturan-aturan dalam PHP yang jarang diketahui oleh kebanyakan programmer,,
  1. Fungsi dalam PHP incase-sensitif.
    Termasuk built-in fungsi dari PHP, fungsi echo bisa dipanggil dengan Echo, ECHO atau yang lainnya.
  2. constant case-sensitif.
    const VAR = "variabel",
    maka nilai VAR diatas hanya bisa dipanggil dengan VAR, error jika dipanggil dengan Var.
  3. keyword PHP seperti NULL incase-sensitif
    NULL, null, NUll dan yang lainnya adalah sama.
  4. Single quote (') dan Double quote(") adalah sama-sama string, tapi single quote tidak menerjemahkan nilai variabel.
    $v = 'variabel';
    
    echo 'nilai variabel = $x';  // mencetak nilai variabel = $x
    echo "nilai variabel = $x";  // mencetak nilai variabel = variabel
  5. close tag pada baris comment tetap dianggap sebagai penutup tag PHP.
    <?php
    echo "test";
    
    // close tag pada comment ini akan dianggap sebagai close tag dari kode php yang dibuat ?>
  6. Nilai false pada PHP
    1. keyword false.
    2. Keyword NULL
    3. integer 0
    4. floating point 0.0
    5. empty string ("")
    6. string "0"
    7. array dengan jumlah element nol.
    8. object tanpa nilai atau tanpa fungsi.
  7. Variabel yang tidak diinisialisasikan bernilai NULL.
  8. Nilai sebuah variabel bisa dijadikan variabel dengan double dollar ($$).
    $v = "satu";
    $$v = 1;
    Pada kode diatas baris kedua akan menciptakan sebuah variabel baru yaitu $satu yang bernilai 1.
  9. Variabel alias bisa dengan menggunakan ampersand(&).
    $x = "satu";
    $y =& $x ;
    Jika kita merubah nilai $y otomatis akan merubah nilai $x juga.
  10. Jika sebuah variabel alias diberikan perintah unset maka variabel aslinya tidak berubah.
    $x = "satu";
    $y =& $x ;
    echo "Nilai x = $x\n";
    echo "Nilai y = $y\n";
    
    $y = "dua";
    echo "Nilai x setelah y diruba $x\n";
    echo "Nilai y setelah dirubah $y\n";
    unset($y);
    
    echo "Nilai x setelah y diunset $x\n";
    echo "Nilai y setelah diunset $y\n";
    Pada baris terakhir akan menghasilkan error karena y telah dirubah.
  11. Selain menggunakan != untuk pertidaksamaan bisa juga dengan <>
  12. Persamaan dengan 3 samadengan (===) bernilai TRUE jika kedua variabel yang dijadikan perbandingan mempunyai nilai dan type data yang sama
  13. Int + Float, maka Int akan dirubah menjadi Float terlebih dahulu.
  14. String + Float, maka String dirubah menjadi Float.
  15. String + Int, String dirubah menjadi Number, jika Number adalah Float maka Int dirubah menjadi Float.
  16. String bisa di Increment.
  17. Operasi pada String dilakukan pada semua huruf sesuai posisinya.
    "satu" | "dua" sama dengan "s"|"d", "a"|"u", "t"|"a"
  18. Fungsi bisa bersarang(nested)
    function induk() {
    
       echo "ini dari fungsi induk\n";
       function anak() {
          echo "ini dari fungsi anak\n";
    
       }
    }
    Untuk memanggil fungsi anak() maka fungsi induk harus dipanggil terlebih dahulu.
  19. Memanggil fungsi bisa dengan nilai pada variabel.
    function test(){
      echo "ini fungsi test\n";
    
    }
    $var = "test";
    $var();
    Perintah terakhir diatas adalah memanggil fungsi test().
  20. Selain dengan function, untuk membuat fungsi bisa dengan create_function().
  21. Didalam double-quote nilai variabel yang ingin diambil bisa dipisahkan dengan {}.
  22. Jika escape karakter tidak diketahui, maka akan diignore atau diabaikan.
  23. echo bukanlah fungsi, karena itu echo lebih cepat dari print.
  24. Karakter yang akan dihapus oleh trim, ltrim, rtrim
    " "0x20Space
    "\t"0x09Tab
    "\n"0x0ANewline(linefeed)
    "\r"0x0DCarriage Return
    "\0"0x00Null Byte
    "\x0B0x0BVertical Tab
  25. Fungsi trim() bisa juga untuk menghapus karakter lain, dengan mengisi variabel kedua pada fungsi tersebut.
    $var = "XsatuX";
    echo ltrim($var, "X");
    Kode diatas akan mencetak "satuX";
  26. substr_replace() bisa digunakan untuk insert atau delete karakter.
  27. join() adalah alias dari implode(), sizeof() juga alias dari count().
  28. preg_match() bisa untuk mengcapture teks, tapi tak lebih dari 99 karakter.
  29. $variabel[3] sama dengan $variabel['3'] tapi tidak dengan $variabel['03']
  30. $variabel[index] sama dengan $variabel['index'], tapi yang pertama lebih lambat karena PHP akan melakukan cek terhadap nilai constant terlebih dahulu.
  31. Jika perintah pada opsi diatas dilakukan pada string atau diapit double-quote maka cara yang benar adalah cara pertama ($variabel[index]).
  32. array_push($array, 1) sama dengan $array[] = 1
  33. Kecuali natsort() dan natcasesort(), fungsi sort yang lainnya melakukan sorting berdasarkan ascii value.
    Normal SortAscii Sort
    1.txt1.txt
    5.txt10.txt
    10.txt5.txt
Referensi : PHP Manual

Kumpulan Ebook Teknik Informatika

Ebook " dibawah ini disebarkan secara gratis/free download.
Kumpulan Ebook mengenai Teknik Informatika, meski hanya sebagian saja.



Berikut adalah daftarnya :

Teknik Riset Operasional Download
Struktur Data Download
Sistem DataBase Download
Rekayasa Perangkat Lunak Download
Perancangan Sistem Informasi Download
Perancangan Sistem Informasi Perpustakaan Download
Pemrograman PHP Download
Microsoft Visual Basic 6.0 Download
Ms Office Word & Excel Download
Internet Web & Desain Download
Ilmu Website PHP Download
Desain Grafis Download
Borland Delphi 7.0 Download
Bahasa Pemrograman Turbo Download
Bahasa Automata Download
Bahasa Assembly Download
Analisa Sistem Informasi Download
Algoritma & Pemrograman Download

thanks for visiting

Ebook PHP MySQL HTML CSS Tutorial

Mencari Ebook tentang PHP atau My SQL atau HTML atau CSS?
Disini sebagian dari tutorial yang ada.




Download disini :  Jika susah Mencari satu-persatu tekan tombol CTRL+F 

1. Tutor MySQL : Kasus Perpustakaan download
2. Tutor MySQL : Judul Artikel download
3. Membuat Halaman Kamus Istilah Sederhana Menggunakan PHP dan MySql download
4. Tutor PHP : Batching download
5. Tutor CSS : Belajar CSS download
6. Belajar menjadi developer WEB download
7. Tutor PHP : Learning PHP Basic download
8. Tutor PHP MySQL : Membuat CMS Sederhana (template) download
9. Dasar Website PHP – MySQL dengan Editor Dreamweaver download
10. Web Content Management System dengan PHP dan MySQL download
11. Desain WEB dengan 2 Kolom download
12. Tutor PHP dan MySQL : Pengenalan Pemrograman E-Commerce download
13. Tutor PHP : Membuat Gambar dengan PHP download
14. Tutor PHP : HTML dan PHP ? download
15. Tutor HTML : HTML dasar download
16. Membuat File Instalasi untuk Aplikasi Database Menggunakan Instalshield Express download
17. Tutor MySQL PHP : Manipulasi database MySQL dengan PHP download
18. Tutor PHP : Membuat Buku Tamu dengan PHP dan MySQL download
19. Tutor MySQL : Pengantar MySQL download
20. Pemanfaatan XAMPP Sebagai Web, Database, dan FTP Server download
21. Tutor PHP : Belajar PHP dengan Framework Code Igniter download
22. Tutor PHP : Form Register & Login untuk Member download
23. Tutor PHP : GTK download
24. Tutor PHP : memuat CMS sendiri download
25. Tutor PHP : Latihan Query dengan PHP download
26. Tutor MySQL : MySQL singkat download
27. Tutorial Zend Bag 1 - 3 download
28. Tutorial Zend Bag 4 download
29. Tutorial Zend Bag 5 download

Wah sedikit sekali ya. !!
Lho, sombong amat, belum baca aja bilang sedikit.

Ya, untuk POST selanjutnya mungkin agak"".

Membuat Paging PHP

-->
Membuat Fungsi Advanced Paging dengan berbasis Block pada PHP


Teknik Paging adalah teknik yang digunakan pada segala bahasa pemrograman dalam strategi penyajian data banyak. Jika dalam satu halaman tidak mampu menangani banyaknya data, maka akan dibuat halaman-halaman untuk mempermudah navigasi dan tidak memberatkan halaman pertama. Jika data hanya satu data atau dibawah 100 mungkin tidak masalah dengan penggunaan satu halaman. Namun diluar itu akan menjadi masalah besar. Sangat berat kemungkinan menyakinan puluhan ribu data dalam satu halaman depan. Tentu data tersebut akan dibagi dalam beberapa halaman.

Teknik Paging sederhana pun ternyata tidak cukup untuk memenuhi kebutuhan penyajian data. Misal, diketahui terdapat 10.000 data, dan satu halaman akan menampilkan 10 data. Dengan keadaan seperti itu maka pada navigasi halaman harus ditampilkan 100000/10 = 1000 nomer halaman. tentu hal ini juga tidak menguntungkan baik bagi tampilan maupun kinerja server. Berikut dibawah akan saya tampilkan lagi teknik paging yang sederhana namun dapat mengampu data banyak. Kira-kira hasilnya akan menjadi seperti ini:



Logika-logika dasar yang harus dipenuhi adalah:
  1. Server Web mendapatkan informasi tentang permintaan halaman oleh client adalah dari HTTP Request jenis GET
    Contoh : http://server.ini/index.php?page=1 => permintaan halaman satu, dengan GET[page]
  2. Jika tidak terdapat GET permintaan halaman, maka dianggap client meminta halaman 1
  3. Satu block halaman akan menangani 10 nomer halaman. Block pertama adalah 1-10. Informasi mengenai block didapat dari PENDEKATAN KE ATAS (ceil) dari nomer halaman yang sedang diakses, dibagi dengan jumlah halaman dalam satu block.
    Misal client melakukan akses halaman 11. Berarti client sedang memasuki block ke ? ceil(11/10)=2
    client melakukan akses halaman 9? berarti jelas block ke 1.
  4. LINK PREVIOUS/SEBELUMNYA didapat dengan cara membandingkan, apakah halaman aktif itu masih lebih besar daripada halaman terakhir block 1. Jika lebih besar, maka halaman PREVIOUS aktif. Jika tidak, tidak akan diaktifkan. Jika aktif, maka, halaman previous akan berisi link halaman terakhir dari block sebelumnya.
    Jika diakses halaman 44 maka block aktif adalah block 5, previous adalah 40
  5. LINK Next/Lanjut didapat dengan cara membandingkan, apakah halaman terakhir block aktif masih kurang dari jumlah halaman? Jika masih kurang, maka tombol next dimnculkan dengan link halaman pertama dari block setelahnya.
  6. Jumlah halaman ditentukan dengan menentukan pembulatan keatas dari pembagian jumlah data seluruhnya dibagi dengan jumlah data dalam satu halaman. Misal, terdapat jumlah data 44, dengan satu halaman adalah 5 data per halaman, maka akan didapat 9 jumlah halaman / ceil(44/5)
Berikut Source Code nya


<?php
function paging ( $sql , $item_per_page , $page_per_block , $url , $page , $block ) {


$q        = mysql_query($sql);
   $n        = mysql_num_rows($q);
   $jumdata  = $n;
   $jumhal   = ceil ( $n / $item_per_page );
   $jumblock = ceil ( $jumhal / $page_per_block );

if( $_GET[page] > $jumhal ) {
      $page    = $jumhal;
      $block   = ceil($page/$page_per_block);
   }elseif($_GET[page] < 1){
      $page    = 1;
      $block   = 1;
   }

if ( $jumhal>1 )  {
      ?>
      <span style="float:left; margin-right:10px; font-size:13px; color:#333;">Halaman : </span>
      <?php
 
      if (  $block <= 1  )
      {
         $prev = "no";
         $next = "yes";
      }
      elseif (  $block >= $jumblock  )
      {
         $prev = "yes";
         $next = "no";
      }
      else
      {
         $prev = "yes";
         $next = "yes";
      }
 
 
      if (  $prev == "yes"  )  {
         $prev_page  = ( ($block - 1) * $page_per_block );
         $prev_block = $block - 1;
         ?>
         <span class="block_nav_page"><a href="<?php echo $url;?>&page=1">&laquo;&laquo;First</a></span>
         <span class="block_nav_page" style="margin-right:8px;"><a href="<?php echo $url;?>&page=<?php echo $prev_page; ?>">&laquo;Prev</a></span>
         <?php
      }  elseif ( ($prev == "no") && ($jumblock>1) )  {
      ?>
         <span class="block_nav_page" style="color:#ccc;">&laquo;&laquo;First</span>
         <span class="block_nav_page" style="margin-right:8px; color:#ccc;">&laquo;Prev</span>
         <?php
      }
 
      $startblock = ((($block - 1) * $page_per_block) + 1);
      $endblock   = ($block * $page_per_block);
 
      while ( (  $startblock <= $endblock  ) && (  $startblock <= $jumhal  ) )  {
         if (  $startblock == $page  ){
            ?>
            <span class="item_paging_current"><?php echo $startblock; ?></span>
            <?php
         } else {
            ?>
            <span class="item_paging_active"><a href="<?php echo $url;?>&page=<?php echo $startblock; ?>"><?php echo $startblock; ?></a></span>
            <?php
         }
         $startblock++;
      }
 
 
      if (  $next == "yes" )  {
         $next_page = ($block * $page_per_block) + 1;
         $next_block= $block + 1;
         if ( $next_page <= $jumhal )  {
            ?>
            <span class="block_nav_page" style="margin-left:8px;"><a href="<?php echo $url;?>&page=<?php echo $next_page; ?>">Next&raquo;</a></span>
            <span class="block_nav_page"><a href="<?php echo $url;?>&page=<?php echo $jumhal; ?>">End &raquo; &raquo;</a></span>
            <?php
         }
      }  else  {
         ?>
         <span class="block_nav_page" style="margin-left:8px; color:#ccc;">Next&raquo;</span>
         <span class="block_nav_page" style="color:#ccc;">End&raquo;&raquo;</span>
         <?php
      }
   }
}

?>



Cara menggunakan…

Simpanlah script paging diatas menjadi paging.php. Pastikan bahwa halaman yang akan anda paging meload Script seperti berikut:


$item_per_page = 10;
$page_per_block= 10;

$item_per_page adalah jumlah item tiap halaman, dan $page_per_block adalah jumlah halaman tiap Block. Selanjutnya, include kan paging php tersebut ke dalam halaman yang meload paging
include “paging.php”;
dan selanjutnya anda tinggal menmanggil fungsi dengan

paging ( $sql , $item_per_page , $page_per_block , $url , $page , $block )

Contoh:

paging('SELECT * FROM `table`',10,5,'?mod=namamodul&amp;submod=namasubmodul',$page,$block);

Cemoga Bergunhaaa..