Rabu, 07 April 2010

Modul 3 Date dan File_Aplikasi Olah Data Basis File

 1.   Date dan Time
     Informasi mengenai tanggal (date) dan waktu (time) acapkali diperlukan ketika membangun aplikasi web. Bagaimanapun, terkadang kita perlu melakukan perhitungan tanggal maupun waktu. Sehubungan dengan hal ini, PHP telah menyediakan ekstensi built-in yang dapat dimanfaatkan tanpa perlu melakukan konfigurasi tambahan.

2.   File System
     Aplikasi-aplikasi PHP yang bekerja dengan data permanen akan menggunakan salah satu dari dua pendekatan yang tersedia: file system dan basis data relasional. Dalam konteks penyimpanan data, file dapat dikatakan sebagai tempat penyimpanan alternatif (selain database). Meskipun demikian, operasi-operasi terhadap file mutlak diperlukan dalam pembuatan aplikasi web. Urgensi pembahasan ini semakin terasa karena PHP memungkinkan URL dan sumber daya jaringan lainnya diperlakukan layaknya file lokal.


a.   Operasi Dasar Date dan Time
    Pada saat bekerja dengan date dan time, kita tidak akan lepas dari operasi- operasi dasar terkait. Salah satunya yang utama adalah mendapatkan tanggal dan waktu sekarang (current date dan time). Operasi ini sebenarnya bisa dilakukan melalui beberapa pendekatan, namun yang paling umum adalah dengan menggunakan fungsi date(). Selain fungsi date(), juga tersedia fungsi-fungsi lain untuk mendapatkan current date dan time, seperti strftime(), idate(), getdate(), dan localtime(). Di samping menyediakan informasi-informasi standar, fungsi date() juga menyediakan karakter-karakter spesifik untuk mendapatkan gabungan elemen sekaligus. Sejak versi  5, PHP menambahkan karakter c yang juga berfungsi untuk merepresentasikan date dan time lengkap.

b.  Kalkulasi Date dan Time
     Operasi-operasi date dan time umumnya tidak hanya mengacu pada current date atau time. Dengan kata lain, kita mungkin ingin melakukan operasi untuk date dan time yang telah atau belum lewat. Selain itu, tak jarang juga diperlukan kalkulasi date dan time. Setidaknya ada dua pendekatan yang bisa digunakan untuk melakukan pembentukan datetime, yaitu fungsi time() dan mktime(). Meskipun sama-sama mengembalikan timestamp Unix, namun mktime() menyediakan argumen-argumen opsional untuk memudahkan penetapan date dan time. Selain fungsi time() dan mktime(), PHP juga memiliki fungsi strtotime() yang dapat digunakan untuk melakukan kalkulasi secara mudah.

c.  Operasi File Dasar
     Sehubungan dengan penggunaan file di dalam program, ada beberapa operasi dasar yang perlu sekali diperhatikan. Ekstensi  Filesystem menyediakan  fungsi  file_exsists()  yang  akan mengembalikan nilai  true  jika  file ditemukan; sebaliknya, fungsi   ini mengembalikan nilai false. Meskipun ekstensi  Filesystem  tidak  menyediakan  fungsi  khusus untuk mendapatkan nama atau ekstensi file, namun terdapat sejumlah fungsi  yang mencakup informasi tersebut, diantaranya adalah pathinfo().

d. Operasi File Lanjut
    Sehubungan dengan fungsionalitas utamanya, ada beberapa operasi file yang disediakan   oleh   ekstensi   File system. Operasi-operasi   yang   lazim   dilakukan meliputi pembuatan, penghapusan, penulisan, dan pembacaan. Secara    garis  besar,  ada  tiga   langkah  yang  diperlukan  sehubungan  dengan operasi penulisan: membuka file, melakukan penulisan, dan menutup file. Operasi   pembukaan   file   di   atas   menggunakan   mode   a+,  yang  berarti   bahwa baris file akan disisipkan dibelakang dan operasi akan sekaligus menciptakan file baru jika belum eksis. Mode lain yang bisa digunakan antara lain adalah r (read-only) dan w (write-only). Di PHP versi 5 ke atas, operasi penulisan file dapat dilakukan lebih praktis, yakni   dengan    memanfaatkan fungsi   file_put_contents(). Fungsi   ini  akan melakukan tiga pekerjaan sekaligus: membuka, menulis, dan menutup file. Sama seperti penulisan, operasi ini juga dapat dilakukan   melalui   beragam pendekatan. Apabila Anda ingin  membaca seluruh isi file secara  praktis gunakan fungsi file_get_contents(). Tidak seperti file_put_contents() fungsi ini sudah tersedia sejak PHP 4. Pembacaan   praktis   seluruh   file   juga dapat   dilakukan   dengan   memanfaatkan fungsi  file().   Fungsi   ini   identik   dengan  file_get_contents(),   kecuali nilai kembaliannya adalah suatu array.

e. Operasi Direktori
   Seperti  halnya operasi  file, ada  beragam operasi direktori yang lazim dilakukan. Berbekal fungsi-fungsi    yang telah tersedia, kita tidak akan kesulitan melakukan operasi ini. Bagi pengguna PHP 5 ke atas, telah   tersedia fungsi scandir() untuk memindai file-file di suatu direktori.

f. Include/Require File
   Mengacu pada struktur aplikasi web, yang lazimnya terdiri dari beberapa file, tidak mungkin kita dapat menghasilkan aplikasi tanpa meng-include file lain.Adapun dalam implementasinya,  include bisa dilakukan   melalui fungsi include() atau require(). Sebagai contoh, kita bisa membuat file PHP yang meng-include   program scan_file.php dan menggunakan fungsi scanFile() yang telah terdefinisi. Untuk mencegah   include/require ulang, gunakan fungsi include_once() atau require_once(). Kedua fungsi ini memastikan   bahwa file yang sama hanya akan di-include sekali.

g.  Upload File
    Seperti halnya  memproses field  form,  gunakan   superglobal  ketika  ingin memproses file yang  di-upload oleh user. Khusus untuk  menangani  file-file yang di-upload melalui  method POST, PHP menyediakan    superglobal $_FILES.

Kita dapat membuat aplikasi pengolahan data berbasis file dengan spesifikasinya: aplikasi mampu mengambil masukan data dan menyimpan ke file, serta menampilkan hasilnya ke browser, misalnya seperti di bawah ini:


















 Tugas Praktikum 1 Fungsi Countdown Tanggal

<!DOCTYPE  html
PUBLIC  "-//W3C//DTD  XHTML  1.0  Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml"  xml:lang="en"  lang="en">
<head> <title>Aplikasi Berbasis File</title>

</head>

<body background="romantic.jpg">
<form name="tanggal" method="post" action="<?php  $_SERVER['PHP_SELF'];?>" onsubmit="(this)">
  <p align="center"><? echo $status;?></p>

<table width="600"  border="6" align="center" bgcolor="#D3D3D3" rules="groups" cellpadding="5" cellspacing="5">
<tr>
<td width="50">&nbsp;</td>
<td align="left"><font size="6" face="Comic Sans ms" >Argumen Tanggal Countdown</font></td>
</tr>
<tbody >
<tr><td width="50">&nbsp;</td><td><font size="4" face="verdana">Tanggal</font></td></tr>
<tr><td width="50">&nbsp;</td><td><input type="text" name="tggl" size="50" id="tggl" /></td></tr>
<tr><td width="50">&nbsp;</td><td><font size="4" face="verdana">Bulan</font></td></tr>
<tr><td width="50">&nbsp;</td><td><input type="text" name="bulan" size="50" id="bulan" /></td></tr>
<tr><td width="50">&nbsp;</td><td><font size="4" face="verdana">Tahun</font></td></tr>
<tr><td width="50">&nbsp;</td><td><input type="text" name="tahun" size="50" id="tahun" /></td></tr>
<tr><td colspan="2"align="center"><font size="2" face="verdana" >Masukkan Tanggal sebelum tanggal hari ini</font></td></tr>
<tr><td width="50">&nbsp;</td><td><input name="submit" type="submit" value="OK" /></td></tr>
<tr><td width="50">&nbsp;</td><td><input name="reset" type="reset" value="CANCEL" /></td></tr>

</table>
</form>
<?php $tgl = (int) $_POST["tggl"]; ?>
<?php $bln = (int) $_POST["bulan"]; ?>
<?php $thn = (int) $_POST["tahun"]; ?>
<?php
countdown($thn, $bln, $tgl);
function countdown($year, $month, $day)
{
  // make a unix timestamp for the given date
  $the_countdown_date = mktime($hour, $minute, 0, $month, $day, $year, -1);

  // get current unix timestamp
  $today = time();

  $difference = $today - $the_countdown_date  ;
  if ($difference < 0) $difference = 0;

  $days_left = floor($difference/60/60/24);
  $hours_left = floor(($difference - $days_left*60*60*24)/60/60);
  $minutes_left = floor(($difference - $days_left*60*60*24 - $hours_left*60*60)/60);
 
  // OUTPUT
  echo "Tanggal hari ini ".date("F j, Y, g:i a")."<br/>";
  echo "Tanggal countdown ".date("F j, Y, g:i a",$the_countdown_date)."<br/>";
  echo "Selisih".$days_left." hari ".$hours_left." jam ".$minutes_left." menit";
}
?>
</body>
</html>

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


Tugas Praktikum 2 Aplikasi Pengolahan Data Berbasis File

<!DOCTYPE  html
PUBLIC  "-//W3C//DTD  XHTML  1.0  Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml"  xml:lang="en"  lang="en">
<head> <title>Aplikasi Berbasis File</title>

</head>

<body background="romantic.jpg">

<form name="data" bgcolor="purple" action="<?php  $_SERVER['PHP_SELF'];?>"  method="post" onsubmit="(this)">

  <p align="left"><? echo $status;?></p>

<table width="500"  border="0" align="left" bgcolor="blue" rules="groups" cellpadding="8" cellspacing="5">
<tr><td width="50">&nbsp;</td><td><font size="4" face="comic sans">No</font></td>
<td width="50">&nbsp;</td><td><input type="text" name="nomer" size="50" id="nomer" /></td></tr>
<tr><td width="50">&nbsp;</td><td><font size="4" face="comic sans">Nama</font></td>
<td width="50">&nbsp;</td><td><input type="text" name="nama" size="50" id="nama" /></td></tr>
<tr><td width="50">&nbsp;</td><td><font size="4" face="comic sans">Alamat</font></td>
<td width="50">&nbsp;</td><td><input type="text" name="alamat" size="50" id="alamat" /></td></tr>
<tr><td width="50">&nbsp;</td><td><input name="submit" type="submit"  value="OK" /></td></tr>
<tr><td width="50">&nbsp;</td><td><input name="reset" type="reset"  value="CANCEL" /></td></tr>

</table>
</form>
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
<div align="center">
<table width="700" border="1" bgcolor="pink" cellpadding="8" cellspacing="5">
<tr>
    <td width="50" align="center"><font size="4" face="comic sans">No</font></td>
    <td width="200" align="center"><font size="4" face="comic sans">Nama</font></td>
    <td width="500" align="center"><font size="4" face="comic sans">Alamat</font></td>
</tr>
<?php $no = 1; $nme = 1; $add = 1; ?>
<?php $no = (int) $_POST["nomer"]; ?>
<?php $nme = (int) $_POST["nama"]; ?>
<?php $add = (int) $_POST["alamat"]; ?>

    <tr>
        <td align="center"><? echo $no=$no+1; ?></td>
        <td align="center"><? echo $nme;?></td>
        <td align="center"><? echo $add;?></td>
    </tr>
</table>
 </div>
 </body>
</html>


 Setelah sintaks di eksekusi, maka akan tampil layout seperti gambar berikut:
Tampilan Sintaks 1





















Tampilan Sintaks 2

0 komentar:

Posting Komentar