Minggu, 16 November 2014

Menyimpan Data ke database dengan Ajax


Sebelum mengikuti langkah-langkah berikut, sebaiknya anda pelajari dulu materi tentang database dan ajax. Di sini saya hanya memaparkan langkah-langkahnya saja. Sebelum masuk ke coding, sebaiknya anda pastikan bahwa anda memiliki tabel database seperti berikut :




Setelah tabel database di atas dibuat, berikut nya membuat form  kontak dengan membuka halaman kerja .php baru lalu ketik script sperti di bawah ini :
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Telepon Kami</title>
</head>

<body>
<form id="form1" name="form1" action="simpan.php" method="post">
<fieldset>
<legend><strong> Hubungi Kami</strong></legend>
<div id="content" style="width:300px" align="center">
<label> Nama        : <input name="nama" type="text" id="nama" maxlength="50"/> </label>
<p> <label> Alamat  : <input name="alamat" type="text" id="alamat" maxlength="50"/></label></p>
<p> <label> E-mail  : <input name="email" type="text" id="email" maxlength="50"/></label></p>
<p> <label> Telepon : <input name="telepon" type="text" id="telepon" maxlength="50"/></label></p>
<p> <label> Pesan   : <textarea name="pesan" id="pesan"></textarea> </label> </p>
<p><script type="text/javascript" src="ajax.js"></script>
<input type="button" name="button" value="save" onclick="sendData('simpan.php','content'); return false;"/>
<input type="reset" name="reset" value="Cancel"/></p>
</div>
</fieldset>
</form>
</body>
</html>


Script diatas saya simpan dengan nama 1.php, apabila sudah di simpan dan dijalankan di web browser akan tampil seperti gambar berikut :


Langkah selanjutnya adalah membuat javascript dan membuat function untuk menyimpan data ke database. Buat dokumen baru dan letik script berikut :
function getXMLHttpRequest(){
if(window.ActiveXObject){
      return new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
      return new XMLHttpRequest();
}else alert("Status : Can not create XMLHttpRequest Object");
}

var xmlhttp=getXMLHttpRequest();
function sendData(handlePage,ElementID){
var nama=document.getElementById('nama').value;
var alamat=document.getElementById('alamat').value;
var email=document.getElementById('email').value;
var telepon=document.getElementById('telepon').value;
var pesan=document.getElementById('pesan').value;
var filterEmail=/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
var filterPhone=/^[0-9]+$/;
//validate user input
if(nama==""){
      alert("Masukkan Nama terlebih dahulu!");
}else if(alamat==""){
      alert("Masukkan Alamat Anda!");
}else if(email==""){
     alert("Masukkan E-mail Anda!");
}else if(!filterEmail.test(email)){
      alert("E-mail Tidak Valid");
}else if(telepon==""){
      alert("Masukkan Nomor Telepon Anda!");
}else if(!filterPhone.test(phone)){
      alert("Kesalahan Nomor Telepon!");
}else if(pesan==""){
      alert("Mohon masukkan Pesan Anda!");
}else{
//data valid
if(xmlhttp.readyState==4 || xmlhttp.readyState==0){
      var obj=document.getElementById(ElementID);
      var form=obj.innerHTML;
      obj.innerHTML='Saving data, please wait..';
      xmlhttp.open('POST',handlePage,true);
      xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
      xmlhttp.onreadystatechange=function(){
      if(xmlhttp.readyState==4){
      if(xmlhttp.status==200){
      obj.innerHTML=xmlhttp.responseText+'<br>'+form;
      }else{
      alert('Error : '+xmlhttp.statusText);
      }
      }
}
var param='nama='+nama;
param+='&alamat='+alamat;
param+='&email='+email;
param+='&telepon='+telepon;
param+='&pesan='+pesan;
param+='&action=save';
xmlhttp.send(param);
}

}

}

Kemudian simpan text script di atas dengan nama ajax.js (contoh) file ini harus dijadikan satu atau 1 folder dengan file 1.php.

Setelah selsai dengan langkah-langkah di atas, silahkan buat dokumen baru lagi. Sekarang kita akan buat dokumen yang digunakan untuk menyimpan data yang diinputkan ke dalam database. Berikut script yang dapat diketik :
<?php
$conn=mysql_connect("localhost","root","");
mysql_select_db('data');
if($_POST['action']=='save'){
//validasi data
 $nama=$_POST['nama'];
 $alamat=$_POST['alamat'];
 $email=$_POST['email'];
 $telepon=$_POST['telepon'];
 $pesan=$_POST['pesan'];
 settype($nama,'string');
 settype($alamat,'string');
 settype($pesan,'string');
//validasi email;
 if(!preg_match('/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/',$email)){
 echo 'E-mail Adress tidak Valid'; exit();
 }
 //validasi phone
 if(!preg_match('/^[0-9]+$/',$telepon)){
 echo 'Telepon tidak Valid'; exit();
 }
 //saving data
 $query="INSERT INTO kontak (nama,alamat,email,telepon,pesan) VALUES ('$nama','$alamat','$email','$telepon','$pesan')";
 $hasil=@mysql_query($query);
 if($hasil){
 echo '<font color="green">DATA Tersimpan</font>';
 }else {
 echo '<font color="red">Error</font>';
 }
}
?>
</body>
</html>

Setelah selsai, anda dapat menyimpan dokumen dengan nama simpan.php di direktori yang sama dengan file 1.php dan ajax.js

Biodata Sederhana

Membuat Biodata Sederhana dengan PHP

Pertama buat dulu dokumen PHP baru, lalu bisa diganti titlenya pada Untitled Document.




Di dalam body pada bagian atas silahkan diberi pengaturan tentang ukuran serta bentuk font yang digunakan.


<h1 align="center">   = digunakan agar tulisan dapat ditempatkan di tengah layar.
<font face="Georgia, Times New Roman, Times, serif">     = untuk mengatur bentuk font yang digunakan
<marquee direction="left">SELAMAT DATANG</marquee>    = untuk memberi animasi atau agar huruf bergerak sesuai dengan syarat yang diinginkan ( “left”) brarti huruf bergerak dari kiri.
<img src="fitri.jpg" border="4" height="210" width="140">  = menampilkan foto/gambar yang bernama fitri.jpg dengan border “4” ukuran 210 & 140.





<h3><font face="Georgia, Times New Roman, Times, serif">Dataku</font></h3>     = Tulisan “Dataku” menggunakan bentuk font sesuai dengan yang di panggil pada font face.





<table width="280" border="0" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF"> = tabel dengan ukuran 280, tidak ada border space setiap cellnya 10 dengan warna background putih.
  <tr>              = Membuka row/baris di php.
    <td>Nama</td>  = Kolom pertama pada baris pertama.
    <td>:</td>      = Kolom kedua pada baris pertama.
    <td>Fitriana</td>= Kolom ketiga pada baris pertama.
  </tr>            = Menutup row/baris pertama.
</table>           = Menutup Tabel di php.



Coding Keseluruhan   :
<html>
<head>
<title id="clock" ><?php print date('H:i:s'); ?></title>
</head>
<body bgcolor="#006600" onLoad="waktu()" >
<h1 align="center"><font face="Georgia, Times New Roman, Times, serif"><marquee direction="left">SELAMAT DATANG</marquee></font></h1>
<img src="fitri.jpg" border="4" height="210" width="140">
<p>
<h3><font face="Georgia, Times New Roman, Times, serif">Dataku</font></h3>
</p>
<table width="280" border="0" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF">
  <tr>
    <td>Nama</td>
    <td>:</td>
    <td>Fitriana</td>
  </tr>
  <tr>
    <td>Nim</td>
    <td>:</td>
    <td>13010032</td>
  </tr>
  <tr>
    <td>No.HP</td>
    <td>:</td>
    <td>085735649116</td>
  </tr>
  <tr>
    <td>Pin BB</td>
    <td>:</td>
    <td>7D88A85B</td>
  </tr>
  <tr>
    <td>Asal Sekolah</td>
    <td>:</td>
    <td>SMK Negeri 2 Kediri</td>
  </tr>
</table>

</body>
</html>


Kamis, 13 November 2014

Rental Mobil


C.    Desain Aplikasi

Pada tahap desain aplikasi ini, mulai menggunakan aplikasi Netbeans berupa GUI (JFrame Form). Pertama-tama dibuat dahulu data simpanan peminjaman mobil untuk menyimpan data, desain yang dibuat seperti berikut :



  









D.    Pembuatan Coding

Setelah data tabel diimplementasikan ke sistem(bahasa MySQL), langkah selanjutnya yaitu pembuatan coding program. Pada tahap ini diperlukan aplikasi Neatbeans juga Apache dan MySQL diaktifkan pula. Berikut langkah-langkah pembuatan coding :
Sebelum membuat coding, diatur dulu sistem database di netbeans agar dapat terhubung. Caranya seperti berikut :
Pada folder project dibuka, lalu klik kanan pada folder library. Dan pilih add Library.



                         Setelah itu, akan otomatis muncul jendela berikut, dan pilih MySQL JDBC Driver dan pilih Add Library.


Pertama yang dilakukan membuat koneksi terlebih dahulu ke dalam database, untuk membuat koneksi digunakan coding seperti berikut :




File koneksi.java ini dibuat untuk menyambungkan netbeans ke dalam database yang telah dibuat tadi.
Setelah membuat koneksi ke databse, dibuat pemanggilan data koneksi agar bisa terhubung ke dalam program.






Pilih menu Design lalu klik kanan pada Button Data Mobil Yang Tersedia à Eventà Action à actionPerformed. Begitu pula untuk Button data Penyewa. Lalu ditambahkan coding tersebut diatas maksutnya apabila tombol Data Penyewa di klik, maka akan otomatis langsung tertutup dan langsung masuk ke dalam file pinjam.java dimana file tersebut terdapat tabel data penyewa.
setelah mengatur kedua button diatas, lalu mengatur button simpan dengan cara klik kanan seperti di atas, lalu akan muncul otomatis action performednya, dan tambahkan coding berikut :

Gambar 4.9 Button Simpan


Penjelasan : memperkenalkan dulu apa yang didapat dari isian yang diisi. Lalu mengkoneksikan ke dalam database dan memasukkan apa yang didapat dari isian itu ke dalam database. Apabila berhasil, maka muncul pesan berhasil tapi apabila terjadi kesalahan maka muncul pesan “Ada yang salah”.
Selesai menangani Button dan memasukkan data, pengaturan selanjutnya untuk tarif sewa mobil per harinya. Dengan kita klik kanan pada JtextField6 pilih Eventà Action à actionPerformed. Dan muncul otomatis performed berikut dan tambahkan coding :

Gambar 4.10 jTextField Action


Setelah pengaturan file data.java selanjutnya mengatur file mobil.java sbb :

Gambar 4.11 file mobil.java


Coding diatas mensetting dan membuat void tabel agar terisi oleh tabel yang di select dalam database. Dengan memenggil file koneksi.java terlebih dahulu, lalu menseeting tabel untuk diisi dengan membuat void seperti di atas, coding ini untuk menyimpan entry data yang telah dimasukkan pada data.java. Agar tidak terjadi error, maka perlu pemanggilan default tabel dan penulisannya di bawah package seperti berikut :


Gambar 4.12 Import Tabel

Gambar 4.13 Void Datatabel


Coding diatas mensetting dan membuat void tabel agar terisi oleh tabel yang di select dalam database. Dengan memenggil file kineksi.java terlebih dahulu, lalu menseeting tabel untuk diisi. Coding


 

 

Gambar 4.14 Menambah Data


 

Gambar 4.15 Button Tutup


Coding diatas di setting agar apabila Button tutup di klik maka akan muncul GUI di file data.java dan GUI mobil.java tertutup.





Gambar 4.16 Void Data


Coding di atas di buat untuk membuka isi dari tabel penyewa dan dimasukkan ke dalam tabel GUI/JFrame Form Netbeans dengan void bernama data. Dan tentunya tidak lupa memenggil file koneksi.java.
Setelah itu buat Button Tutup dan di action untuk memberi aksi apabila button tersebut di klik. Ketika di klik maka akan berpindah ke file data.java dan GUI pinjam.java tertutup.

Gambar 4.17 Button Action




Gambar 4.18 Menu Hapus

Pada tampilan aplikais diatas, terdapat menu Hapus untuk membuat aksi menu tersebut perlu action muoseclicked pada tabel, dan JtextField sebagai tempat PK nya. Saat tabel diklik/di pilih salah satu maka PK nya itu muncul dalam JtextField lalu dengan PK yang terdapat pada JtextField tersebut, data yang dipilih tersebut dapat terhapus.
Untuk langkah pertama klik kanan pada Jtable à Action à Mouse à MouseClicked. Setelah itu dibuat dulu void untuk hapusnya. Dengan pengaturan sebagai berikut :

Gambar 4.19 Void hapus dan hapus2


Gambar 4.20 Button dan MouseClicked


Setelah Method dibuat, maka method dipanggil pada JtableMouseClicked. Dan coding untuk perintah delete di tulis pada JbuttonActionPerformed seperti coding diatas. Coding dan cara-cara diatas untuk menghapus file/data yang ada di tabel kendaraan yang dipinjam, untuk penghapusan pada tabel persediaan mobil tata caranya juga sama. Tetapi untuk select tabel ke dalam databasenya yang berbeda. Untuk persediaan mobil codingnya sebagai berikut :

Gambar 4.21 Button dan MouseClicked 2