Aplikasi PSB Berbasis Web Versi 2

Pada aplikasi psb (penerimaan siswa baru) versi yang kedua ini ada beberapa penambahan fitur/kemampuan aplikasi yang tidak dimiliki oleh versi sebelumnya diantaranya, fungsi penggantian username dan password administrator, penambahan fitur upload gambar untuk siswa, dan menampilkan foto tersebut pada halaman administrator.

Lihat : 
 
Penambahan fungsi upload dan tampil gambar
Pada versi sebelumya aplikasi pada halaman registrasinya belum Saya lengkapi dengan fasilitas untuk upload gambar siswa, pada versi yang terbaru ini sudah Saya lengkapi dengan fasilitas untuk uplod gambar sehingga diharapkan administrator bukan hanya mengetahui siswa dari data nama dan alamatnya saja melainkan juga dari fotonya. Script yang diperbaharui pada fasilitas ini diantaranya
form penerimaan siswa yang baru
Tampilan form penerimaan siswa dengan tambahan upload file
menampilkan data siswa
Menampilkan data siswa beserta foto


1.form_psb.php

Penambahan fungsi enctype="multipart/form-data dan input file pada form karena memang form ini bukan hanya mengirim data biasa namun juga data gambar. Berikut potongan kodenya
<?php
include('key_sesi.php');

?>      <ul class="actions small">
           
            </ul>  
<h3>Form Pendaftaran Siswa Baru</h3>
<p>Silahkan isi form dibawah ini dengan lengkap dan benar</p>
<form method="post" action="formaksi.php" enctype="multipart/form-data">
<div class="row uniform">
<div class="12u"><input type="text" name="nama" id="nama" placeholder="Nama" required="" /></div>
<div class="12u"><input type="text" name="alamat" id="alamat" placeholder="Alamat" required="" /></div>
<div class="12u"><input type="text" name="ttl" id="ttl" placeholder="Tempat Tanggal Lahir" required="" /></div>
<div class="12u"><input type="text" name="asal_sekolah" id="asal_sekolah" placeholder="Asal Sekolah" required="" /></div>
<div class="12u"><input type="text" name="nisn" id="nisn" placeholder="NISN" /></div>
<div class="12u"><input type="text" name="no_tlp" id="no_tlp" placeholder="Nomor Telepon" required="" /></div>

<div class="12u"><input type="file" name='gambar' id='gambar' required=""/></div>
           
 </div>
 <br/>
<div cla<diss="row uniform">
<div class="12u">
<ul class="actions">
<li><input type="submit" class="special" value="kirim" /></li>
<li><input type="reset" value="Batal" /></li>
</ul>
</div>
</div>
</form>
</div>
</section>
       
<section>
<div class="container">
<h5>Contoh Format Penulisan</h5>
<div class="table-wrapper">
<table class="alt">
<thead>
<tr>
<th>Data form</th>
<th>Isian Form</th>
              
</tr>
</thead>
<tbody>
<tr>
 <td>Nama</td>
 <td>Ahmad Sbastian</td>
 <tr>
 <td>Alamat</td>
 <td>Dusun Babakan RT 01 RW 04 Kec.Parigi Kab Pangandaran</td>
              
 </tr>
             
 <tr>
 <td>Tempat tanggal lahir</td>
 <td>Ciamis 30 juli 1991</td>
              
 </tr>
 <tr>
 <td>Asal Sekolah</td>
 <td>SMPN 1 Parigi</td>
   
 </tr>
 <tr>
 <td>NISN</td>
 <td>35268528554</td>   
 </tr>
 <tr>
 <td>Telepon</td>
 <td>08212787777</td>
  
  </tr></tbody> 
      </table></div></div></section>
<!-- ROOT93 PSB (aplikasi penerimaan siswa baru berbasis web)
 ********************************************
 * Created      : Ahmad Zaelani    *
 * Update   : 18 April 2017   *
 * E-mail       : myroot593@gmail.com  *
  ********************************************
 -->



2.form_aksi.php
Penambahan fungsi validasi gambar seperti mengecek ektensi dan besar gambar. Kemudian fungsi untuk rename dan memindahkan gambar ke sebuah direktori gambar yang sudah disediakan. Gambar yang di upload kedatabase nantinya hanya berupa path/nama file gambarnya saja. Pada halaman administrator nanti dibuatlah fungsi untuk mengakses gambar dengan tambahan path/letak folder gambar ditaruh. Berikut ini adalah potongan kode dari form_aksi.php
<?php
include('key_sesi.php');
include('connect.php');
$name=true;
if($_POST['nama']=="") {
 echo "Nama Belum Diisi<br/>";
 $name=false;
}
$al=true;
if($_POST['alamat']=="") {
 echo"Alamat belum diisi<br/>";
 $al=false;
}
$te=true;
if($_POST['ttl']==""){
 echo"Tempat tanggal lahir belum diisi<br/>";
 $te=false;
}
$as=true;
if($_POST['asal_sekolah']=="") {
 echo"Asal Sekolah belum diisi<br/>";
 $as=false;
}
$nis=true;
if($_POST['nisn']==""){
echo "NISN Belum diisi<br/>";
$nis=false;

}
$tlp=true;
if($_POST['no_tlp']=="") {
 echo "No telepon belum diisi";
 $tlp=false;
}
$gbr=true;
if($_FILES['gambar']=="") {
 echo "Gambar masih kosong";
 $gbr=false;
}

      
$cek=($name&&$al&&$te&&$as&&$nis&&$tlp&&$gbr)?true:false;


if($cek==true){//cek lagi apakan semua sudah diisi
$imgFile = $_FILES['gambar']['name'];
$tmp_dir = $_FILES['gambar']['tmp_name'];
$imgSize = $_FILES['gambar']['size'];

$upload_dir = 'gambar/';
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); 
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); 
$itempic = rand(1000,1000000).".".$imgExt; //rename kedalam angka

  //validasi ektensi gambar b2
   if(in_array($imgExt, $valid_extensions)){   
  //jika gambar lebih kecil b1
    if($imgSize < 5000000)    {
     move_uploaded_file($tmp_dir,$upload_dir.$itempic);
 $perintah=sprintf("INSERT INTO daftar
 VALUES('null','%s','%s','%s','%s','%s','%s','$itempic')",
 $_POST['nama'],
 $_POST['alamat'],
 $_POST['ttl'],
 $_POST['asal_sekolah'],
 $_POST['nisn'],
 $_POST['no_tlp'],
 '$itempic');
$query=@mysql_query($perintah,$koneksi);
if(!$query) {
    echo "Akses Gagal<br/>";
    echo "ERROR:".mysql_error();
    }
    else{     
   echo "<script>alert('Data successfully saved!')</script>";   
   echo "<script>window.open('key_destroy.php','_self')</script>";
    }
   }
   //jika gambar kecil b1
   
   else{
   echo "<script>alert('Sorry, your file is too large.')</script>"; 
   echo "<script>window.open('index.php?page=daftar','_self')</script>";
   }
   //jika gambar terlalu besar b1

}//akhiri fungsi b1
//validasi ektensi gambar b2
   else{
    
 echo "<script>alert('Sorry, only JPG, JPEG, PNG & GIF files are allowed.')</script>";    
 echo "<script>window.open('index.php?page=daftar','_self')</script>";
    
   }
//validasi akhir b2
}
  



?>
<!-- ROOT93 PSB (aplikasi penerimaan siswa baru berbasis web)
 ********************************************
 * Created      : Ahmad Zaelani    *
 * Update   : 18 April 2017   *
 * E-mail       : myroot593@gmail.com  *
  ********************************************
 -->


3.lihat_data_siswa.php
Pada file ini sudah Saya tambahkan fungsi untuk menampilkan gambar yang di upload oleh siswa. Kode akan mengambil letak/path gambar yang disimpan kemudian diikuti dengan parameter untuk mengakses nama gambar yang tersimpan di database. Berikut ini script dari lihat_data_siswa.php yang baru
<?php include('sesi.php'); ?>

<?php
//This code created by root93.co.id
//if you have any question
//contact me : myroot593@gmail.com
$awal=0;
$byk_tampil=5;
if(isset($_GET['hal'])){
    $awal=$_GET['hal']*$byk_tampil;
}
require_once('connect.php');
$perintah=sprintf("SELECT * FROM daftar");
$limit="limit $awal,$byk_tampil";
$per_limit=sprintf("%s %s",$perintah,$limit);
$query=@mysql_query($perintah,$koneksi);
$jml_siswa=mysql_num_rows($query);

?>


<!DOCTYPE HTML>

<html>
 <head>
  <title>Admin Panel</title>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <!--[if lte IE 8]><script src="../assets/js/ie/html5shiv.js"></script><![endif]-->
  <link rel="stylesheet" href="../assets/css/main.css" />
   <!--[if lte IE 8]><link href="../assets/css/ie8.css" type="text/css" rel="stylesheet"><![endif]-->
 </head>
 <body>
         <!-- Header -->
<section id="header">
<header>
<span class="image avatar"><img src="../images/avatar.jpg" alt=""></span>
<h1 id="logo"><a href="#">Admin Panel SMKN 1 Parigi</a></h1>
<p>Halaman Admin Panel PSB<br />
SMKN 1 Parigi Kab. Pangandaran</p>
</header>
<nav id="nav">
<ul>
<li><a href="#home" class="active">Home</a></li>
<li><a href="lihat_data_siswa.php">Data Siswa</a></li>
<li><a href="lihat_data_siswa.php?page=input_key">Masukan Key</a></li>
<li><a href="admin.php">Pengaturan Admin</a></li>
<li><a href="lihat_data_siswa.php?page=logout">Logout</a></li>
</ul>
</nav>
</section>
   
         <!-- Wrapper -->
<div id="wrapper">
<div class="container">
<?php
$page=(isset($_GET['page']))?$_GET['page']:"main";
switch($page) {
case'input_key':include"input_key.php";break;
case'logout':include"logout.php";break;
case 'main':
}
?>
<section>
<h3 align="center">DATA CALON SISWA</h3>
<div class="table-wrapper">
<table class="alt">
<tbody>
 <tr>
 <th>No</th>
 <th>Nama</th>
 <th>Alamat</th>
 <th>TTL</th>
 <th>Asl Sekolah</th>
 <th>NISN</th>
 <th>No.HP</th>
 <th>Foto</th> 
 <th>Delete</th> 
 <th>Edit</th>               
 </tr>
<?php  
while($data=mysql_fetch_array($query)) {
?>             
             
<tr>
<td><?php echo $data['id'];?></td>
<td><?php echo $data['nama'];?></td>
<td><?php echo $data['alamat'];?></td>
<td><?php echo $data['ttl'];?></td>
<td><?php echo $data['asal_sekolah'];?></td>
<td><?php echo $data['nisn'];?></td>
<td><?php echo $data['telepon'];?></td> 
<td><img src="../psb/gambar/<?php echo $data['gambar']; ?>" width="50" height="50"/></td> 
<td><a href="delete.php?del=<?php echo $data['id']?>">Delete</a></td>
<td><a href="edit_siswa.php?idedit=<?php echo $data['id']?>">Edit</a></td>     </tr><?php } ?> 
</tbody>          
</table>
<center>
<?php
//This code created by root93.co.id
$ke=$_SERVER['PHP_SELF'];
$page=ceil($jml_siswa/5); //jumlah data dibagi 5
$pg=1;
while($pg<=$page){ //jika $pg kurang dari atau sama dengan $page
    $hal=$pg-1; //maka $hal=$pg dikurangi 1
    echo "<a href=\"$ke?hal=$hal\">$pg</a>";
    $pg+=1;
}
?>
<br/>
Halaman :<?php echo "$hal dari $page";?><br/></center>
</section>
</div>
</div>
          

   <!-- Footer -->
<?php include('footer.php');?>
  
  

 </body>
</html>
<!-- ROOT93 PSB (aplikasi penerimaan siswa baru berbasis web)
 ********************************************
 * Created      : Ahmad Zaelani    *
 * Update   : 18 April 2017   *
 * E-mail       : myroot593@gmail.com  *
  ********************************************
 -->



Penambahan fungsi untuk ganti username & password Administrator
 
Fungsi yang dibuat ujtuk mengganti nama, username dan password ini sebenarnya di adopsi dari script sebelumnya yaitu script edit_siswa.php dan update_siswa.php pada folder mimin, hanya saja disini saya tidak menggunakan fungsi $_GET karena memang jumlah Administratornya hanya satu sehingga Saya langsung menentukan data – data untuk administratornya secara manual didalam script. Berikut ini adala 2 file yang Saya tambahkan kedalam folder administrator
halaman untuk mengganti username dan password


1. admin.php

File ini digunakan untuk menampilkan, mengedit data administrator dalam sebuah form, seperti nama, username, password dan password administrator. Level administrator sudah ditentukan sendiri dan di set dengan nilai 1 (satu) untuk session admin. Data pada form untuk selanjutnya akan dikirim ke halaman update_admin.php. Berikut ini adalah file dari admin.php
<?php include('sesi.php'); ?>
<?php
//This code created by root93.co.id
//if yoau have any question
//contact me : myroot593@gmail.com
include('connect.php');
$query="select * from user where id='1'";
$perintah=@mysql_query ($query,$koneksi) 
or die ("Gagal konek".mysql_error());
$dta_admin=mysql_fetch_array($perintah);
$dta_idadmin =$dta_admin['id'];
$dta_username =$dta_admin['username'];
$dta_password =$dta_admin['password'];
$dta_namaadmin=$dta_admin['nama'];
$dta_email=$dta_admin['email'];
$dta_level=$dta_admin['level'];

?>

<!DOCTYPE HTML>

<html>
 <head>
  <title>Admin Panel</title>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <!--[if lte IE 8]><script src="../assets/js/ie/html5shiv.js"></script><![endif]-->
  <link rel="stylesheet" href="../assets/css/main.css" />
   <!--[if lte IE 8]><link href="../assets/css/ie8.css" type="text/css" rel="stylesheet"><![endif]-->
 </head>
 <body>
      <!-- Header -->
<section id="header">
<header>
<span class="image avatar"><img src="../images/avatar.jpg" alt=""></span>
<h1 id="logo"><a href="#">Admin Panel SMKN 1 Parigi</a></h1>
<p>Halaman Admin Panel PSB<br />
SMKN 1 Parigi Kab. Pangandaran</p>
</header>
<nav id="nav">
<ul>
<li><a href="#home" class="active">Home</a></li>
<li><a href="lihat_data_siswa.php">Data Siswa</a></li>
<li><a href="lihat_data_siswa.php?page=logout">Logout</a></li>
</ul>
</nav> 
</section>
   
      <!-- Wrapper -->
<div id="wrapper">
<section>
<div class="container">

<h3 align="center">Ganti Admin</h3>
<form action="update_admin.php" method="post" name="form1" target="_self">
<div class="table-wrapper">
<table class="alt">
<tbody>
<tr>
<td>Nama Admin</td>
<td><input name="namaadmin" type="text" value="<?php echo"$dta_namaadmin";?>"><input name="id" type="hidden" value="<?php echo "$dta_idadmin";?>"></td>
</tr>
<tr>
<td>Username</td>
<td><input name="username" type="text" id="username" value="<?php echo"$dta_username";?>">
</td>
</tr>
<tr>
<td>password</td>
<td><input name="password" type="password" id="password" placeholder="Masukan Password Baru"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" id="email" name="email" value="<?php echo "$dta_email";?>">
<input type="hidden" id="level" name="level" value="<?php echo "$dta_level";?>">
</td>
</tr>
<tr>
<td></td>
<td><input type="reset" name="batal" value="Batal"> | <input name="update" type="submit" value="Update"></td>
</tr>
</tbody>
</table>
</div>
</form>
</section>
</div>
       <!-- Footer -->
<?php include('footer.php');?>
  
</body>
</html>
<!-- ROOT93 PSB (aplikasi penerimaan siswa baru berbasis web)
 ********************************************
 * Created      : Ahmad Zaelani    *
 * Update   : 18 April 2017   *
 * E-mail       : myroot593@gmail.com  *
  ********************************************
 -->



2.update_admin.php
File ini bertugas untuk memastikan semua data – data yang diinputkan pada halaman admin.php sudah benar, bila semua data sudah diisi maka selanjutnya akan ada proses query dengan perintah UPDATE sesuai dengan data – data yang di masukan pada halaman admin.php. Berikut adalah script dari update_admin.php
<?php
//This code created by root93.co.id
//if you have any question
//contact me : myroot593@gmail.com
include('sesi.php');
include('connect.php');

$id =$_POST['id'];
$username =$_POST['username'];
$password =$_POST['password']
$nama=$_POST['namaadmin'];
$email=$_POST['email'];
$level=$_POST['level'];

//Validasi, jika kosong tidak akan diproses
if(empty($id)){
?><script language="JavaScript">alert('Id kosong !');
document.location=('admin.php')</script>
<?php
}
else if(empty($username)){
?><script language="JavaScript">alert('Username Kosong!');
document.location=('admin.php')</script>
<?php
}
else if(empty($password)){
?><script language="JavaScript">alert('Password belum diisi');
 document.location=('admin.php')</script>
<?php
}
else if(empty($nama)){
?><script language="JavaScript">alert('Nama Administrator belum diisi');
 document.location=('admin.php')</script>
<?php
}
else if(empty($email)){
?><script language="JavaScript">alert('Email masih kosong');
 document.location=('admin.php')</script>
<?php
}
else if(empty($level)){
?><script language="JavaScript">alert('Level Admin kosong');
 document.location=('admin.php')</script>
<?php
}

else{
 //Bila semuanya telah di cek maka lanjutkan update
 $sql_ubah="UPDATE user SET
    username='$username',
    password='$password',
    nama='$nama',
    email='$email',
    level='$level'
        
   WHERE id='$id'";
   
  mysql_query($sql_ubah,$koneksi) or die ("Perubahan data gagal".mysql_error());
  ?><script language="JavaScript">alert('Data Berhasil diubah !');
document.location=('admin.php')</script>
<?php
 
  exit;
}
?>
<!-- ROOT93 PSB (aplikasi penerimaan siswa baru berbasis web)
 ********************************************
 * Created      : Ahmad Zaelani    *
 * Update   : 18 April 2017   *
 * E-mail       : myroot593@gmail.com  *
  ********************************************
 -->



Mungkin masih banyak lagi fitur – fitur/kemampuan yang harus Saya tambahkan pada aplikasi ini, sehingga aplikasi penerimaan siswa baru ini bisa tampil lebih sempurna lagi. Untuk itu bila Anda memiliki kritik dan saran ataupun informasi tentang bugs pada aplikasi penerimaan siswa baru versi 2 ini Anda bisa langsung menghubngi Saya melalui halaman Contact Us


#Update 12-05-2017
Demo Aplikasi Penerimaan Siswa Baru (PSB) Berbasis Web versi 2
#Update 27-05-2017 - kesalahan memproses kunci masuk
 DOWNLOAD


Update #23/06/17
Aplikasi PSB (Penerimaan Siswa Baru) diatas sudah saya rombak dan berganti menjadi Aplikasi Penerimaan Peserta Didik Baru (PPDB), pergantian ini bukan hanya sekedar pergantian atau perubahan dalam penamaanya saja, melainkan kemampuannya juga berbeda. Silahkan lihat dokumentasi dan penjelasaanya melalui halaman berikut : Aplikasi Penerimaan Peserta Didik Baru (PPDB) 

 

1 Response to "Aplikasi PSB Berbasis Web Versi 2 "

  1. Wah bisa dibuat proposal penawaran ini ke sekolah2...proyek..proyek....hehehe....

    ReplyDelete

Silahkan untuk meninggalkan komentar, santai saja dan mulailah berkomentar...