Minggu, 27 April 2014

PHP - MySql

  6 komentar
16.48

Assalamualaikum wr. wb
Pada kesempatan kali ini, kita akan mempelajari tentang operasi CRUD (Create, Read, Update, Delete) dari dan ke database dengan studi kasus pemesanan tiket kereta api.

ALUR PROGRAM:
Pertama user akan memilih jadwal kereta yang sudah disediakan :

index.php

Untuk memesan tiket, klik PESAN TIKET pada kolom action. Maka akan muncul form seperti berikut:
tiket.php

Kita inputkan data penumpang. Kemudian button submit diklik, muncul struk pembelian tiket seperti ini:
struk.php

Sampai sini kita sudah melakukan create (insert) data penumpang, dan read (select) untuk melihat data pada database.
Selanjutnya jika user ingin melakukan edit, klik EDIT maka akan muncul form edit-tiket seperti dibawah ini:
edit-tiket.php

Misalnya kita akan mengedit nama, setelah menuliskan nama yang benar, klik EDIT maka akan muncul struk yang sudah di edit:
struk.php

Jika user ingin membatalkan tiket tersebut, user dapat menghapus tiket dengan klik DELETE. Dan akan muncul konfirmasi delete seperti ini:
Java Script untuk konfirmasi delete

Apabila tiket sudah dihapus, maka program akan kembali ke index.php (jadwal keberangkatan kereta)


TUTORIAL:
Hal pertama yang harus dilakukan adalah membuat database yang digunakan untuk operasi menyimpan, mengedit, menghapus dan select data. Buat database baru dengan nama kereta_api:

Setelah itu buat tabel kereta dan penumpang dengan atribut seperti gambar dibawah ini:

Kemudian kita isi tabel kereta, karena kita hanya akan menggunakan tabel penumpang untuk operasi Mysql di php nanti.

Setelah database jadi kita buat file untuk koneksi ke database. Simpan file dengan nama dan extensi koneksi.php. Scriptnya kurang lebih seperti dibawah ini:
<?php 
//tiga parameter sebagai acuan
$servername = "localhost";
$username = "root";
$password = "";
$databasename = "kereta_api";//nama database yg sudah dibuat
 
$db = mysql_connect("$servername", "$username", "$password") //membuat koneksi ke mysql dengan tiga parameter
or die 
("I cannot connect to the database because : " . mysql_error()); 

mysql_select_db("$databasename", $db) //memanggil nama databasenya
or die 
("I cannot select the database '$databsename' because : " . mysql_error()); 
?>

Kemudian kita buat file index.php untuk menampilkan jadwal  keberangkatan kereta api dengan script seperti ini:
<?php
include ("koneksi.php");//memanggil isi file koneksi.php dengan keyword include
$selectkereta = 'SELECT *FROM kereta ORDER BY no_kereta ASC'; //query untuk menampilkan data dari tabel kereta
$resultselectkereta = mysql_query($selectkereta) //mengubah query menjadi variabel
                      or die ('error, load data tiket failed.' . mysql.error());
if (mysql_num_rows($resultselectkereta)==0){ //kondisi jika jumlah baris pada database kosong
  echo "Data tidak tersedia"; //muncul pemberitahuan
}else{
  //jika tidak kosong muncul tabel 
  echo "
  <h1 align='center'><font face='Arial Narrow' color='#FF8C00'>
    Jadwal Keberangkatan Kereta Api Stasiun Jember</h1>
  <table width = '70%' align='center' border='1' cellspacing='0' cellpadding='1'>
  <tr bgcolor=#D3D3D3>
  <td align='center' width = '150'> No. Kereta </td>
  <td align='center' width = '250'> Nama Kereta </td>
  <td align='center' width = '250'> Kelas </td>
  <td align='center' width = '250'> Stasiun Asal </td>
  <td align='center' width = '250'> Stasiun Tujuan </td>
  <td align='center' width = '250'> Jam Berangkat </td>
  <td align='center' width = '250'> Jam Tiba </td>
  <td align='center' width = '250'> Harga </td>
  <td align='center' width = '250'> ACTION </td>
  </tr>";
  while ($row = mysql_fetch_array ($resultselectkereta)){ //pengulangan penyimpanan semua data dr database ke dalam bentuk array
  extract($row); //extract digunakan untuk mengubah array menjadi variabel
  //menampilkan data satu persatu 
  echo "<tr>
  <td align='center'> ".$no_kereta." </td>
  <td align='center'> ".$nama_kereta." </td>
  <td align='center'> ".$kelas." </td>
  <td align='center'> ".$stasiun_asal." </td>
  <td align='center'> ".$stasiun_tujuan." </td>
  <td align='center'> ".$waktu_berangkat." </td>
  <td align='center'> ".$waktu_tiba." </td>
  <td align='center'> ".$harga." </td>
  <td align='center'><a href ='tiket.php?no_kereta=$no_kereta'>PESAN TIKET</a></td>
  </tr>";
  //link 'PESAN TIKET' menuju file tiket.php dengan no_kereta=$no_kereta yang diklik
  }
  echo "</table>";
  }
?>

Setelah itu, lanjut buat file tiket.php dengan script html yang dibubuhi php dibawah ini:
<?php
//memanggil isi file koneksi.php dengan keyword include
Include ("koneksi.php"); 
//mengambil nilai no_kereta dari link 'PESAN TIKET' yg ada di file index.php dalam bentuk variabel $no_ka
$no_ka=$_GET['no_kereta']; 
//query untuk memilih data yang no_keretanya = variabel $no_ka dari tabel kereta
$selectkereta = "SELECT * FROM kereta WHERE no_kereta='$no_ka'"; 
//mengubah query menjadi variabel
$resultselectkereta = mysql_query($selectkereta) or die ('Error, load data kereta failed.'.mysql_error()); 
//menyimpan data sesuai dengan yang diseleksi kedalam array dg variabel $rowkereta
$rowkereta = mysql_fetch_assoc($resultselectkereta); 
?>
<!DOCTYPE html>
<html>
<!-- judul pada tab browser -->
<head> <title> Pemesanan Tiket </title> </head>
<body>
<form method="post">
<!-- tag Fieldset berfungsi untuk mengelompokkan beberapa objek form menjadi sebuah kelompok, 
sedangkan tag Legend berfungsi untuk menampilkan judul dari kelompok objek form tersebut -->
<fieldset style="width: 730px; height: 300px;"><legend align="center"><b>Pemesanan Tiket Kereta Api</b></legend>
   <!-- tabel -->
   <table align='center'>
     <tr>
      <td>No. Kereta</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="nokereta" value="<?php echo $rowkereta['no_kereta']; ?>" disabled /></td>
      <td width="150" align="center">  </td>
      <td>Tanggal Pemesanan</td>
      <td>:</td>
      <!-- menampilkan tanggal saat ini -->
      <td><input type="text" name="Tanggal" value="<?php echo date("d M y");?>" disabled /></td>
     </tr>

     <tr>
      <td>Nama Kereta</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="namakereta" value="<?php echo $rowkereta['nama_kereta']; ?>" disabled /></td>
      <td width="150" align="center">  </td>
      <td>No. Identitas</td> 
      <td>:</td>
      <!-- inputfield untuk noidentitas -->
      <td><input type="text" name="noidentitas" autofocus required placeholder="KTP / SIM / Passport"></td>
     </tr>
  
     <tr>
      <td>Kelas</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="kelaskereta" value="<?php echo $rowkereta['kelas']; ?>" disabled /></td>
      <td width="150" align="center">  </td>
      <td>Nama Lengkap</td> 
      <td>:</td>
      <!-- inputfield untuk namapenumpang -->
      <td><input type="text" name="namapenumpang" required placeholder="Masukkan nama anda"></td>
     </tr>
  
     <tr>
      <td>Stasiun Asal</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="tujuan" value="<?php echo $rowkereta['stasiun_asal']; ?>" disabled /></td>
      <td width="150" align="center">  </td>
      <td>Alamat</td> 
      <td>:</td>
      <!-- inputfield untuk alamat -->
      <td><input type="text" name="alamat" required placeholder="Masukkan alamat anda"></td>
     </tr>
  
     <tr>
      <td>Stasiun Tujuan</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="tujuan" value="<?php echo $rowkereta['stasiun_tujuan']; ?>" disabled /></td>
      <td width="150" align="center">  </td>
      <td>Nomor Telp.</td> 
      <td>:</td>
      <!-- inputfield untuk nomorTelp -->
      <td><input type="tel" name="nomorTelp" required placeholder="+62XXXXXXXXXXXX"></td> 
     </tr>
  
     <tr>
      <td>Waktu Berangkat</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="waktuberangkat" value="<?php echo $rowkereta['waktu_berangkat'];?>" disabled/></td>
     </tr>
  
     <tr>
      <td>Waktu Tiba</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="waktutiba" value="<?php echo $rowkereta['waktu_tiba']; ?>" disabled /></td>
     </tr>
  
     <tr>
      <td>Harga</td>
      <td>:</td>
      <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
      <td><input type="text" name="harga" value="<?php echo $rowkereta['harga']; ?>" disabled /></td>
     </tr>
     <tr>
      <!-- button submit -->
      <td align="right" colspan="7"><input type="submit" name="submit" value="Submit"></td>
     </tr>
   </table>
   <?php
   if(isset ($_POST['submit'])){ //kondisi jika button submit di klik
      $no_identitas = $_POST['noidentitas'];     //mengambil nilai dr inputfield dan dinyatakan sbg variabel
      $nama_penumpang = $_POST['namapenumpang']; //mengambil nilai dr inputfield dan dinyatakan sbg variabel
      $alamat = $_POST['alamat'];                //mengambil nilai dr inputfield dan dinyatakan sbg variabel
      $no_telp = $_POST['nomorTelp'];            //mengambil nilai dr inputfield dan dinyatakan sbg variabel
      //query untuk menambahkan data kedalam database
      $inserttiket ="INSERT INTO penumpang VALUES('$no_identitas','$nama_penumpang', '$alamat',$no_telp)";
   mysql_query($inserttiket) or die ('Error!!'.mysql_error());
   //link menuju struk.php dg no_kereta = variabel $no_ka dan no_identitas = variabel $no_identitas
   echo "<script>window.location.href='struk.php?no_kereta=$no_ka && no_identitas=$no_identitas';</script>";
   }
   ?>
</fieldset>
</form> 
</body>
</html>

selanjutnya kita buat file struk.php dengan script html yg dibumbui script php
<?php
 //memanggil isi file koneksi.php dengan keyword include
 Include ("koneksi.php");
 //mengambil nilai no_kereta dari link 'submit' yg ada di file tiket.php dalam bentuk variabel $no_ka
 $no_ka=$_GET['no_kereta'];
 //query untuk memilih data yang no_keretanya = variabel $no_ka dari tabel kereta
 $selectKA = "SELECT * FROM kereta WHERE no_kereta='$no_ka'" ;
 //mengubah query menjadi variabel
 $resultselectKA = mysql_query($selectKA) or die ('error, load data tiket failed.' . mysql.error());
 //menyimpan data sesuai dengan yang diseleksi kedalam array dg variabel $rowkereta
 $rowkereta = mysql_fetch_assoc($resultselectKA);
 
 //mengambil nilai no_identitas dari link 'submit' yg ada di file tiket.php dalam bentuk variabel $no_penumpang
 $no_penumpang=$_GET['no_identitas'];
 //query untuk memilih data yang no_identitas = variabel $no_penumpang dari tabel penumpang
 $selectpenumpang = "SELECT * FROM penumpang WHERE no_identitas='$no_penumpang'" ;
 //mengubah query menjadi variabel
 $resultselectpenumpang = mysql_query($selectpenumpang) or die ('error, load data tiket failed.' . mysql.error());
 //menyimpan data sesuai dengan yang diseleksi kedalam array dg variabel $rowpenumpang
 $rowpenumpang = mysql_fetch_assoc($resultselectpenumpang);
?>
<!DOCTYPE html>
<html>
<!-- judul pada tab browser -->
<head> <title> Struk Pemesanan Tiket </title> </head>
<body>
 <form method="post">
 <!-- tag Fieldset berfungsi untuk mengelompokkan beberapa objek form menjadi sebuah kelompok -->
 <fieldset>
 <h1><font face='Arial'>PT. KERETA API INDONESIA (PERSERO)</h1>
 <h2 align="center">Struk Pemesanan Tiket Kereta Api</h2>
 <!-- tabel -->
 <table width="60%" align='center' border='0'>
  <tr>
    <td colspan="7">=========================================================================================</td>
  </tr>
  
  <tr>
    <td>No. Kereta</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowkereta['no_kereta']; ?></td>
    <td width="150" align="center"> | </td>
    <td>Tanggal Pemesanan</td>
    <td>:</td>
    <!-- menampilkan tanggal saat ini -->
    <td><?php echo date ("d M y");?></td>
  </tr>
  
  <tr>
    <td>Nama Kereta</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowkereta['nama_kereta']; ?></td>
    <td width="150" align="center"> | </td>
    <td>No. Identitas</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowpenumpang di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowpenumpang['no_identitas']; ?></td>
  </tr>
  
  <tr>
    <td>Kelas</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowkereta['kelas']; ?></td>
    <td width="150" align="center"> | </td>
    <td>Nama Penumpang</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowpenumpang di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowpenumpang['nama_penumpang']; ?></td>
  </tr>
  
  <tr>
    <td>Stasiun Asal</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowkereta['stasiun_asal']; ?></td>
    <td width="150" align="center"> | </td>
    <td>Alamat</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowpenumpang di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowpenumpang['alamat']; ?></td>
  </tr>
  
  <tr>
    <td>Stasiun Tujuan</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowkereta['stasiun_tujuan']; ?></td>
    <td width="150" align="center"> | </td>
    <td>No. Telp</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowpenumpang di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowpenumpang['no_telp']; ?></td>
  </tr>
  
  <tr>
    <td>Waktu Berangkat</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowkereta['waktu_berangkat']; ?></td>
    <td width="150" align="center"> | </td>
  </tr>
  
  <tr>
    <td>Waktu Tiba</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td><?php echo $rowkereta['waktu_tiba']; ?></td>
    <td width="150" align="center"> | </td>
  </tr>
  
  <tr>
    <td>Harga</td>
    <td>:</td>
    <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
    <td>Rp. <?php echo $rowkereta['harga']; ?></td>
    <td width="150" align="center"> | </td>
  </tr>
  
  <tr>
    <td colspan="7">=========================================================================================</td>
  </tr>
 </table>
 <footer>
   <p align="center">Struk ini tidak berlaku sebagai tiket. 
         Struk harus ditukar dengan tiket di stasiun paling lambat 1 jam sebelum keberangkatan.
   </br> Pastikan nama & no identitas sudah sesuai dengan nama & no identitas
   </br> Perbedaan nama & no identitas dapat berakibat ditolaknya proses check-in di stasiun.
   </br> Dan tiket dinyatakan TIDAK BERLAKU LAGI.
   </br> Untuk informasi lebih lanjut hubungi Contact Center KAI di 021-121.</p>
 </footer>
 </fieldset>
<?php
 //link 'HOME' menuju file index.php
 echo "<a href ='index.php'>HOME</a></br>";
 
 //link 'EDIT' menuju file edit-tiket.php dengan no_kereta = variabel $no_ka dan no_identitas = variabel $no_penumpang
 echo "<a href ='edit-tiket.php?no_kereta=$no_ka && no_identitas=$no_penumpang'>EDIT</a></br>";
 
 //link 'DELETE' menuju fungsi java script dg parameter yg didpat dr $no_penumpang
 echo "<a href ='javascript:deleteTiket($no_penumpang)'>DELETE</a>";
?>
<!-- java script yg digunakan untuk memunculkan dialog konfirmasi hapus -->
 <script language="javascript" type="text/javascript"> 
 function deleteTiket(no_identitas){ //fungsi deleteTiket dg parameter no_identitas
    if (confirm('Are you sure to delete this tiket?')){ //dialog konfirmasi
      window.location.href = '?delete&no_identitas=' + no_identitas; //link data yg akan dihapus berdasarkan no_identitasnya
    } 
 } 
</script>
<?php   
 //jika fungsi delete dijalankan dan parameter no_identitas yg akan dihapus ada
 if(isset($_GET['delete']) && isset($_GET['no_identitas'])){ 
  //query untuk menghapus data dimana no_identitasnya didapatkan dari fungsi delete
  $sqldelete = 'DELETE FROM penumpang  WHERE no_identitas= "'.$_GET['no_identitas'].'" ';
  mysql_query($sqldelete) or die('Delete tiket failed. ' . mysql_error());
  //jika proses delete sudah dilakukan, maka akan kembali ke index.php
  echo "<script>window.location.href='index.php';</script>";
 }
?>
</form> 
</body>
</html>

Terakhir kita buat form edit-tiket.php . Sricptnya hampir sama dengan file tiket.php, hanya saja ada sedikit perubahan. Seperti ini Scriptnya:
<?php
 //memanggil isi file koneksi.php dengan keyword include
 Include ("koneksi.php");
 //mengambil nilai no_kereta dari link 'EDIT' yg ada di file struk.php dalam bentuk variabel $no_ka
 $no_ka=$_GET['no_kereta'];
 //query untuk memilih data yang no_keretanya = variabel $no_ka dari tabel kereta
 $selectkereta = "SELECT * FROM kereta WHERE no_kereta='$no_ka'";
 //mengubah query menjadi variabel
 $resultselectkereta = mysql_query($selectkereta) or die ('Error, load data kereta failed.'.mysql_error()); 
 //menyimpan data sesuai dengan yang diseleksi kedalam array dg variabel $rowkereta
 $rowkereta = mysql_fetch_assoc($resultselectkereta);
 
 //mengambil nilai no_identitas dari link 'EDIT' yg ada di file struk.php dalam bentuk variabel $no_penumpang
 $no_penumpang=$_GET['no_identitas'];
 //query untuk memilih data yang no_identitas = variabel $no_penumpang dari tabel penumpang
 $selectpenumpang = "SELECT * FROM penumpang WHERE no_identitas='$no_penumpang'" ;
 //mengubah query menjadi variabel
 $resultselectpenumpang = mysql_query($selectpenumpang) or die ('error, load data tiket failed.'.mysql_error());
 //menyimpan data sesuai dengan yang diseleksi kedalam array dg variabel $rowedit
 $rowedit = mysql_fetch_assoc($resultselectpenumpang);
?>
<!DOCTYPE html>
<html>
<!-- judul pada tab browser -->
<head> <title> Pemesanan Tiket </title> </head>
<body>
 <form method="post">
 <!-- tag Fieldset berfungsi untuk mengelompokkan beberapa objek form menjadi sebuah kelompok, 
 sedangkan tag Legend berfungsi untuk menampilkan judul dari kelompok objek form tersebut -->
 <fieldset style="width: 730px; height: 300px;"><legend align="center"><b>Pemesanan Tiket Kereta Api</b></legend>
 <!-- tabel -->
 <table align='center' border='0'>
   <tr>
     <td>No. Kereta</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="nokereta" value="<?php echo $rowkereta['no_kereta']; ?>" disabled /></td>
     <td width="150" align="center">  </td>
     <td>Tanggal Pemesanan</td>
     <td>:</td>
     <!-- menampilkan tanggal saat ini -->
     <td><input type="text" name="Tanggal" value="<?php echo date ("d M y");?>" disabled /></td>
   </tr>
  
   <tr>
     <td>Nama Kereta</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="namakereta" value="<?php echo $rowkereta['nama_kereta']; ?>" disabled /></td>
     <td width="150" align="center">  </td>
     <td>No. Identitas</td> 
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowedit di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="noidentitas" value="<?php echo $rowedit['no_identitas'];?>" autofocus required></td>
   </tr>
  
   <tr>
     <td>Kelas</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="kelas" value="<?php echo $rowkereta['kelas']; ?>" disabled /></td>
     <td width="150" align="center">  </td>
     <td>Nama Lengkap</td> 
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowedit di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="namapenumpang" value="<?php echo $rowedit['nama_penumpang'];?>" required></td>
   </tr>
   <tr>
     <td>Stasiun Asal</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="tujuan" value="<?php echo $rowkereta['stasiun_asal']; ?>" disabled /></td>
     <td width="150" align="center">  </td>
     <td>Alamat</td> 
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowedit di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="alamat" value="<?php echo $rowedit['alamat'];?>" required ></td>
   </tr>
  
   <tr>
     <td>Stasiun Tujuan</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="tujuan" value="<?php echo $rowkereta['stasiun_tujuan']; ?>" disabled /></td>
     <td width="150" align="center">  </td>
     <td>Nomor Telp.</td> 
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowedit di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="tel" name="nomorTelp" value="<?php echo $rowedit['no_telp'];?>"required ></td> 
   </tr>
  
   <tr>
     <td>Waktu Berangkat</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="waktuberangkat" value="<?php echo $rowkereta['waktu_berangkat']; ?>" disabled /></td>
   </tr>
  
   <tr>
     <td>Waktu Tiba</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="waktutiba" value="<?php echo $rowkereta['waktu_tiba']; ?>" disabled /></td>
   </tr>
  
   <tr>
     <td>Harga</td>
     <td>:</td>
     <!-- mengambil data dr array menggunakan $rowkereta di ikuti nama atribut yg akan ditampilkan datanya -->
     <td><input type="text" name="harga" value="<?php echo $rowkereta['harga']; ?>" disabled /></td>
   </tr>

   <tr>
     <!-- button edit -->
     <td align="right" colspan="7"><input type="submit" name="edit" value="EDIT"></td>
   </tr>
 </table>
<?php
  if(isset ($_POST['edit'])){ //kondisi jika button edit di klik
   $noidentitas = $_POST['noidentitas'];      //mengambil nilai dr inputfield dan dinyatakan sbg variabel
   $namapenumpang = $_POST['namapenumpang'];  //mengambil nilai dr inputfield dan dinyatakan sbg variabel
   $alamat = $_POST['alamat'];                //mengambil nilai dr inputfield dan dinyatakan sbg variabel
   $notelp = $_POST['nomorTelp'];             //mengambil nilai dr inputfield dan dinyatakan sbg variabel
   //query untuk mengedit data 
   $updatetiket="UPDATE penumpang SET 
      no_identitas = '$noidentitas',
      nama_penumpang = '$namapenumpang',
      alamat = '$alamat',
      no_telp = $notelp 
      WHERE no_identitas = '$no_penumpang'";
  mysql_query($updatetiket) or die ('Error!!'.mysql_error());
  //jika proses update sudah dilakukan, maka akan dikembalikan ke file struk.php
  //dg no_kereta = variabel $no_ka dan no_identitas = variabel $noidentitas yg baru saja di edit
  echo "<script>window.location.href='struk.php?no_kereta=$no_ka && no_identitas=$noidentitas';</script>";
  }
?>
</fieldset>
</form> 
</body>
</html>

Gimana? kepanjangan ya? :D klo ga nyaman liat script di atas, saya sediakan link untuk download file-filenya disini
Demikian tutorial pembuatan aplikasi berbasis web studi kasus pemesanan tiket.
Kurang lebihnya saya mohon maaf.
Wassalamualaikum wr. wb

Read More

Minggu, 23 Maret 2014

Dasar - dasar PHP

  Tidak ada komentar
22.08

Pada kesempatan kali ini saya akan membahas dasar-dasar php dengan membuat sebuah kalkulator online. Kurang lebih tampilan kalkulatornya seperti ini:




bagaimana proses pembuatannya? langsung intip script dibawah ini. Digambar sudah saya beri penjelasan (zoom).

<!DOCTYPE html> <!-- deklarasi html5 -->
<html> <!-- mendefinisikan dokumen sebagai HTML -->
<head> <!-- Judul Yang ada di tab browser -->
<title>Coba PHP</title>

<script> // deklarasi java script
     function validasi(form){ //fungsi form dengan nama validasi
 if (form.angka1.value==""){//kondisi jika inputfield Angka1 dari form kosong
  alert ("Mohon isi data Angka 1");//muncul pemberitahuan
  form.angka1.focus();//kursor akan fokus di inputfield Angka1 dari form
  return(false);//mengembalikan nilai false jika inputfield tidak kosong
 }
 if (form.angka2.value==""){//kondisi jika inputfield Angka2 dari form kosong
  alert ("Mohon isi data Angka 2");//muncul pemberitahuan
  form.angka2.focus();//kursor akan fokus di inputfield Angka2 dari form
  return(false);//mengembalikan nilai false jika inputfield tidak kosong
 }
 return(true);//mengembalikan nilai benar dari fungsi
 }
</script> <!-- akhir dari statement java script -->

</head> <!-- akhir dari statement head -->
<body bgcolor=#DCDCDC> <!-- mendefinisikan isi web dengan warna background Gainsboro -->
<h1 align="center"><font face="Arial Narrow" color="#483D8B">KALKULATOR ONLINE</h1>
<!-- h1 untuk deklarasi heading atau judul yang ada di body, dengan gaya rata tengah, font Arial narrow, warna Darkslateblue -->
<form onSubmit="return validasi(this)" method="post">
<!-- deklarasi form, onSubmit adalah perintah yang digunakan ketika input bertype submit diklik,
maka menjalankan perintah function dari form ini,
method post digunakan untuk tidak menampilkan nilai variabel yang di inputkan di URL-->
     <table border="1" align="center" cellspacing="0" cellpadding="2">
     <!-- pembuatan tabel dengan rata tengah, border 1px, cellspacing atau jarak antara border dan tabel sebesar 0px
     cellpadding atau jarak border sisi dalam tabel dengan text sebesar 2px -->
 <!-- isi dari tabel -->
 <tr> <!-- baris1 -->
    <td colspan="2" align="center">Angka 1</td> <!-- kolom 1, colspan digunakan untuk menggabungkan atau istilahnya merge kolom-->
    <td colspan="2" align="center">Angka 2</td> <!-- kolom 2, colspan digunakan untuk menggabungkan atau istilahnya merge kolom-->
 </tr>
 <tr> <!-- baris2 -->
    <td colspan="2"><input type="number" name="angka1"></td>
    <td colspan="2"><input type="number" name="angka2"></td>
    <!--  inputfield dengan tipe data number supaya jika di isi selain angka muncul pemberitahuan, 
    name untuk inisialisasi field -->
 </tr>
 <tr> <!-- baris3 -->
    <td align="center"><input type="submit" name="jumlah" style="width: 50px" value="+"></td> <!-- kolom 1 -->
    <td align="center"><input type="submit" name="kurang" style="width: 50px" value="-"></td> <!-- kolom 2 -->
    <td align="center"><input type="submit" name="kali" style="width: 50px" value="x"></td> <!-- kolom 3 -->
    <td align="center"><input type="submit" name="bagi" style="width: 50px" value="/"></td> <!-- kolom 4 -->
    <!--  inputfield dengan tipe submit atau button dengan rata tengah, 
    name untuk set variabel php, style untuk merubah ukuran button-->
 </tr>
 <tr> <!-- baris4 -->

<?php //awal script php
 if(isset($_POST["jumlah"])){ //isset berfungsi untuk mengecek apakah variabel "jumlah" sudah diset atau belum
  $hasil = $_POST["angka1"] + $_POST["angka2"]; 
  //karena variabel jumlah sudah diset dibutton pertama, maka variabel menjalankan perintah penjumlahan
 }
 if(isset($_POST["kurang"])){ //isset berfungsi untuk mengecek apakah variabel "kurang" sudah diset atau belum
  $hasil = $_POST["angka1"] - $_POST["angka2"];
  //karena variabel kurang sudah diset dibutton pertama, maka variabel menjalankan perintah pengurangan
 }
 if(isset($_POST["kali"])){ //isset berfungsi untuk mengecek apakah variabel "kali" sudah diset atau belum
  $hasil = $_POST["angka1"] * $_POST["angka2"];
  //karena variabel kali sudah diset dibutton pertama, maka variabel menjalankan perintah perkalian
 }
 if(isset($_POST["bagi"])){ //isset berfungsi untuk mengecek apakah variabel "bagi" sudah diset atau belum
  $hasil = $_POST["angka1"] / $_POST["angka2"];
  //karena variabel bagi sudah diset dibutton pertama, maka variabel menjalankan perintah pembagian
 }
 ?> <!-- akhir script php -->
    <td colspan="2" align="right">HASIL</td> <!-- kolom 1 -->
           <td colspan="2"><input type="text" name="hasil" disabled value="<?php echo $hasil;?>"></td> <!-- kolom 2 -->
    <!-- inputfield yang digunakan untuk menampilkan hasil operasi matematika, disable supaya tidak bisa diedit, value atau nilainya diambil dari variabel hasil di php -->
 </tr>
     </table> <!-- akhir dari statement table -->
</form> <!-- akhir dari statement form -->
</body> <!-- akhir dari statement body -->
</html>




saya menggunakan function java script untuk notifikasi eror jika inputfield kosong, tampilan eror yang muncul seperti gambar dibawah ini:




type yang saya gunakan untuk inputfieldnya adalah number, supaya jika di isi selain angka muncul notifikasi bahwa field harus di isi angka. Screenshotnya seperti gambar dibawah ini:


dan ketika semua inputan berupa angka, hasilnya seperti ini:


untuk yang kurang jelas dan mau download file phpnya di sini
sekian dulu tutorial mengenai dasar-dasar php. Kita bertemu di kesempatan lain. Terima Kasih.

Read More

Minggu, 09 Maret 2014

Dasar - Dasar Web

  Tidak ada komentar
22.47


Assalamualikum Wr. Wb.
Kali ini saya akan membahas dasar dasar web, saya akan menjelaskan pembuatan form seperti gambar diatas. Mau tau gimana caranya? :D langsung saja intip htmlnya di bawah ini, di htmlnya sudah saya beri penjelasan.

<!DOCTYPE html> <!-- deklarasi html5 -->
<html> <!-- mendefinisikan dokumen sebagai HTML -->
<head> <!-- Judul Yang ada di tab browser -->
<title>TUGAS 1 PBW</title>
</head>
<body bgcolor=#DCDCDC> <!-- mendefinisikan isi web dengan warna background Gainsboro -->
<h1 style="text-align:center;"><font face="Arial Narrow" color="#483D8B">Tugas 1 Pemrograman Berbasis Web</font></h1>
<!-- h1 untuk deklarasi heading atau judul yang ada di body, dengan gaya rata tengah, font Arial narrow, warna Darkslateblue -->
<form method="get"> <!-- mendapatkan atribut beserta nilainya yang sudah user masukkan -->
   <table align="center"> <!-- pembuatan tabel dengan rata tengah supaya isi web rapi -->
   <!-- isi dari tabel -->
   <tr> <!-- baris1 -->
     <td>Nama Lengkap</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td><input type="text" name="nama" autofocus required placeholder="Masukkan nama anda"></td> <!-- kolom 3 -->
     <!--  inputfield dengan tipe data text, atribut nama, autofocus untuk ketika web dibuka maka kursor otomatis berada pd inputfield -->
     <!--  required digunakan supaya atribut nama wajib di isi, placeholder untuk keterangan yang berada pada inputfield -->
   </tr>
    
   <tr> <!-- baris2 -->
     <td>Alamat</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td><input type="text" name="alamat" placeholder="Masukkan alamat anda"></td> <!-- kolom 3 -->
     <!--  inputfield dengan tipe data text, atribut alamat, placeholder untuk keterangan yang berada pada inputfield -->
   </tr>
    
   <tr> <!-- baris3 -->
     <td>Jenis Kelamin</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td><input type="radio" name="JK" value="cowok">Laki-Laki<br/> <!-- kolom 3, br/ untuk pindah baris -->
     <input type="radio" name="JK" value="cewek">Perempuan 
     <!-- inputfield dengan tipe radio, atribut name harus sama supaya jika salah satu radio diklik, yang lain tidak bisa diklik -->
     <!-- value merupakan nilai atribut -->
   </tr>
    
   <tr> <!-- baris4 -->
     <td>Tanggal Lahir</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td><input type="date" name="TanggalLahir"></td> <!-- kolom 3 -->
     <!-- inputfield dengan tipe date, atribut TanggalLahir -->
   </tr>
    
   <tr> <!-- baris5 -->
     <td>Nomor Telp.</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td><input type="tel" name="NomorTelp" placeholder="+62XXXXXXXXXXXX"></td> <!-- kolom 3 -->
     <!-- inputfield dengan tipe tel, atribut NomorTelp, dengan keterangan +62XXXXXXXXXXXX -->
   </tr>
    
   <tr> <!-- baris6 -->
     <td>URL</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td><input type="url" name="homepage" placeholder="http://Masukkan Website anda"></td> <!-- kolom 3 -->
     <!-- inputfield dengan tipe url untuk inputan berupa alamat web, atribut homepage dan keterangan http://Masukkan Website anda -->
   </tr>
    
   <tr> <!-- baris7 -->
     <td>Email</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td><input type="email" name="email" placeholder="Masukkan email anda"></td> <!-- kolom 3 -->
     <!-- inputfield dengan tipe email untuk inputan berupa email, atribut email dan keterangan Masukkan email anda -->
   </tr>
    
   <tr> <!-- baris8 -->
     <td>Kecamatan</td> <!-- kolom 1 -->
     <td>:</td> <!-- kolom 2 -->
     <td> <!-- kolom 3 -->
     <select name="kecamatan"> <!-- select digunakan untuk pembuatan combo box dengan atribut kecamatan-->
     <option value="null"> Pilih kecamatan</br> <!-- value merupakan nilai atribut -->
     <option value="sumbersari"> Sumbersari</br> <!-- option digunakan untuk menampilkan beberapa data dalam combo box -->
     <option value="patrang"> Patrang</br>
     <option value="puger"> Puger</br>
   </tr>
    
   <tr> <!-- baris9 -->
     <td colspan="3" align="center"><input type="submit" value="Sign Up">
     <!-- colspan untuk ukuran penempatan button berdasarkan 3 kolom dari tabel -->
     <!-- align untuk penempatan button di tengah dari jumlah kolom -->
     <!-- inputfield bertype submit -->
     <!-- value untuk memberi label pada button -->
   </tr> 
  </table>
</form>
<footer><p>Posted by: Muhammad Lundy Alfandiarto</p></footer>
<!--  pembuatan footer -->
</body>
</html>


Masih bingung? Apa itu head? body? lihat gambar dibawah ini


didalam inputfield "nama" dijelaskan required kan?
biar jelas saya kasih screenshoot jika inputfield tidak diisi, maka yang akan terjadi adalah


keluar perintah untuk mengisi field nama.

kemudian di field URL tipenya url, kenapa url?


agar jika field url di isi selain url, keluar perintah seperti gambar diatas. contoh url yang benar http://www.google.com

untuk inputfield email tipenya email, mengapa demikian?


sama seperti url, jika tidak ada karakter "@" yang mewakili alamat email, keluar perintah seperti gambar diatas.

untuk yang mau download htmlnya di sini :)

cukup sekian untuk pembahasan dasar-dasar pemrograman berbasis web. Saya harap yang membaca tinggalkan komen ya, untuk masukkan ke saya :D :D

Read More

Senin, 23 Desember 2013

Konversi String ke Biner pada java

  Tidak ada komentar
19.56

Untuk mengkonversikan String agar dikenali sebagai bilangan biner, maka String tersebut dipecah menjadi karakter-karakter sesuai dengan banyaknya karakter yang ada pada suatu String. Kemudian karakter tersebut direpresentasikan sebagai integer berupa bilangan desimal sehingga sangat mudah untuk konversi ke bilangan biner.

semoga bermanfaat. terima kasih.

Read More