1. Nama : Rahmikawati
Nim : ACA 111 0019
Ttl : Sampit, 22 September 1992
Hobby : Memasak
2. Nama : Nike Delviana
Nim : ACA 111 0095
Ttl : Sigi, 24 Oktober 1994
Hobby : Jalan-Jalan
3. Nama : Mentari Kencana K.B
Nim : ACA 111 0097
Ttl : Palangkaraya, 26 Juli 1992
Hobby : Mengikuti Aktivitas Organisasi Kampus
Nim : ACA 111 0019
Ttl : Sampit, 22 September 1992
Hobby : Memasak
2. Nama : Nike Delviana
Nim : ACA 111 0095
Ttl : Sigi, 24 Oktober 1994
Hobby : Jalan-Jalan
3. Nama : Mentari Kencana K.B
Nim : ACA 111 0097
Ttl : Palangkaraya, 26 Juli 1992
Hobby : Mengikuti Aktivitas Organisasi Kampus
Diblog inilah sekilas tentang pendidikan matematika
Pendidikan
Pendidikan adalah pembelajaran pengetahuan, keterampilan,
dan kebiasaan sekelompok orang yang ditransfer dari satu generasi ke generasi
berikutnya melalui pengajaran, pelatihan, atau penelitian.
Pendidikan sering terjadi di bawah bimbingan orang lain, tetapi juga
memungkinkan secara otodidak.[1] Setiap pengalaman
yang memiliki efek formatif pada cara orang berpikir, merasa, atau tindakan
dapat dianggap pendidikan. Pendidikan umumnya dibagi menjadi tahap seperti
prasekolah, sekolah dasar, sekolah menengah dan kemudian perguruan tinggi,
universitas atau magang.
Sebuah hak atas
pendidikan telah diakui oleh beberapa pemerintah. Pada tingkat global, Pasal 13
PBB 1966 Kovenan Internasional tentang Hak Ekonomi, Sosial dan Budaya mengakui
hak setiap orang atas pendidikan.[2]Meskipun
pendidikan adalah wajib di sebagian besar tempat sampai usia tertentu, bentuk
pendidikan dengan hadir di sekolah sering tidak dilakukan, dan sebagian kecil
orang tua memilih untuk pendidikan home-schooling, e-learning atau yang serupa
untuk anak-anak mereka.
Filosofi pendidikan
Pendidikan biasanya
berawal saat seorang bayi itu dilahirkan dan
berlangsung seumur hidup. Pendidikan bisa saja berawal dari sebelum bayi lahir
seperti yang dilakukan oleh banyak orang dengan memainkan musik dan
membaca kepada bayi dalam kandungan dengan harapan ia bisa mengajar bayi mereka
sebelum kelahiran.
Bagi sebagian orang,
pengalaman kehidupan sehari-hari lebih berarti daripada pendidikan formal.
Seperti kata Mark Twain,
"Saya tidak pernah membiarkan sekolah mengganggu pendidikan saya."
Anggota keluarga
mempunyai peran pengajaran yang amat mendalam, sering kali lebih mendalam dari
yang disadari mereka, walaupun pengajaran anggota keluargaberjalan
secara tidak resmi.
Fungsi pendidikan
Menurut Horton dan
Hunt, lembaga pendidikan berkaitan dengan fungsi yang nyata (manifes) berikut:
·
Mempersiapkan anggota
masyarakat untuk mencari nafkah.
·
Mengembangkan bakat
perseorangan demi kepuasan pribadi dan bagi kepentingan masyarakat.
·
Melestarikan
kebudayaan.
·
Menanamkan
keterampilan yang perlu bagi partisipasi dalam demokrasi.
Fungsi lain dari
lembaga pendidikan adalah sebagai berikut.
·
Mengurangi
pengendalian orang tua. Melalui pendidikan, sekolah orang tua melimpahkan tugas
dan wewenangnya dalam mendidik anak kepada sekolah.
·
Menyediakan sarana
untuk pembangkangan. Sekolah memiliki potensi untuk menanamkan nilai
pembangkangan di masyarakat. Hal ini tercermin dengan adanya perbedaan
pandangan antara sekolah dan masyarakat tentang sesuatu hal, misalnya
pendidikan seks dan sikap terbuka.
·
Mempertahankan sistem
kelas sosial. Pendidikan sekolah diharapkan dapat mensosialisasikan kepada para
anak didiknya untuk menerima perbedaan prestise,privilese,
dan status yang ada dalam masyarakat. Sekolah juga diharapkan menjadi saluran
mobilitas siswa ke status sosial yang lebih tinggi atau paling tidak sesuai
dengan status orang tuanya.
·
Memperpanjang masa
remaja. Pendidikan sekolah dapat pula memperlambat masa dewasa seseorang karena
siswa masih tergantung secara ekonomi pada orang tuanya.
Menurut David
Popenoe, ada empat macam fungsi
pendidikan yakni sebagai berikut:
·
Transmisi
(pemindahan) kebudayaan.
·
Memilih dan
mengajarkan peranan sosial.
·
Menjamin integrasi
sosial.
·
Sekolah mengajarkan
corak kepribadian.
·
Sumber inovasi
sosial.
PROGRAM STUDI PENDIDIKAN
MATEMATIKA JURUSAN PENDIDIKAN MIPA FKIP UNIVERSITAS PALANGKARAYA
A. Jatidiri, visi, misi sasaran
dan tujuan.
Program Studi Pendidikan Matematika berdiri pada tahun 1974 dengan nama
Jurusan Ilmu Pasti di bawah Fakultas Keguruan, dengan jenjang program yang
dibuka adalah tingkat Sarjana Muda. Pada tahun 1979 Jurusan Ilmu Pasti diganti
dengan nama Jurusan Pendidikan Matematika dengan jenjang program yang dibuka
adalah Diploma dan S-1. Tahun 1982 Fakultas Ilmu Pendidikan dan Fakultas
Keguruan digabung menjadi satu dengan nama Fakultas Keguruan dan Ilmu, dan
Jurusan Pendidikan Matematika diganti menjadi Program Studi Pendidikan
Matematika dan di bawah Jurusan Pendidikan Matematika dan Ilmu Pengetahuan
Alam, dengan jenjang program yang dibuka sampai dengan saat ini adalah
Strata Satu (S-1).
Visi Program Studi
Pendidikan tinggi dalam hal ini FKIP-UNPAR yang diadakan untuk menghasilkan
tenaga kependidikan yang profesional, secara bentuknya diharapkan lebih maju
untuk menjadi salah satu pusat pengembangan ilmu pengetahuan dan teknologi yang
membina tenaga kependidikan yang lebih profesional sesuai dengan tuntutan
kebutuhan dan perkembangan masyarakat. Oleh sebab itu, Program Studi
Pendidikan Matematika kehadirannya sangat diperlukan karena : (1) Dapat
menampung calon-calon mahasiswa yang berniat untuk untuk dipersiapkan menjadi
tenaga kependidikan dalam bidang matematika, (2) Dapat menjalin kerjasama
dengan instansi lain terutama di lingkungan Depdikbud dan pemerintah daerah
dalam rangka pengembangan ilmu pengetahuan dan teknologi, sekaligus melayani
kebutuhan masyarakat akan tenaga kependidikan bidang matematika.
Misi Program Studi
Misi dari Program Studi Pendidikan Matematika Fakultas Keguruan dan Ilmu
Pendidikan Universitas Palangkaraya yaitu menyelenggarakan kegiatan pendidikan
dan pengajaran, penelitian dan pengabdian kepada masyarakat dalam bidang ilmu
pendidikan matematika.
Tujuan Program Studi:
Tujuan yang ingin dicapai oleh Program Studi Pendidikan Matematika adalah :
- Meningkatkan pengalaman belajar mahasiswa menuju keahlian akademik dan profesional yang salah satunya dalam bidang pendidikan matematika.
- Meningkatkan pengalaman belajar mahasiswa untuk mencapai profil kemampuan dasar guru matematika dan tenaga kependidikan lainnya, dan
- Meningkatkan pengalaman mahasiswa khususnya menju peningkatan kewenangan, pengetahuan, dan ketrampilan khususnya dalam bidang pendidikan matematika baik secara kuantitatif maupun kualitatif.
1. MEMBUAT APLIKASI DATA MAHASISWA DENGAN PHP - BAGIAN 1
Database Dan Tabel Mahasiswa
Nama database : db_datamhs
Nama tabel : tb_mahasiswa
Susunan tabel :
nim tipe char (12) primary
nama tipe varchar(30)
alamat tipe varchar (100)
tempat_lahir tipe varchar(30)
tanggal_lahir tipe date
jenis_kelamin tipe enum(‘L’,’P’)
photo tipe varchar(100)
Query Membuat Tabel Mahasiswa
CREATE TABLE `db_datamhs`.`tb_mahasiswa` (
`nim` CHAR( 12 ) NOT NULL ,
`nama` VARCHAR( 30 ) NOT NULL ,
`alamat` VARCHAR( 100 ) NOT NULL ,
`tempat_lahir` VARCHAR( 30 ) NOT NULL ,
`tanggal_lahir` DATE NOT NULL ,
`jenis_kelamin` ENUM( 'L', 'P' ) NOT NULL ,
`photo` VARCHAR( 100 ) NOT NULL ,
PRIMARY KEY ( `nim` )
) ENGINE = MYISAM ;
Membuat folder aplikasi web data mahasiswa
Aplikasi data mahasiswa ini akan saya simpan dalam folder data-mahasiswa. Saya buka folder xampp
(jika di c:\appserv\ ) dan masuk folder www. Setelah itu saya create new folder dengan nama :
data-mahasiswa
Membuat koneksi database
Dengan berhasilnya database dan tabel dibuat maka sekarang, membuat koneksi dari php ke
database dan tabel mysql yang sudah dibuat. Saya akan buat file baru dengan jenis php dan
disimpan dengan nama koneksi.php dan dalamnya saya buat kode php :
?
<?php
$dbserver="localhost";
$dbusername="root";
$dbpassword="";
$dbname="db_mahasiswa";
mysql_connect($dbserver,$dbusername,$dbpassword) or die(mysql_error());
mysql_select_db($dbname) or die (mysql_error());
?>
Membuat menu utama aplikasi web data mahasiswa
Menu utama digunakan untuk mengakses halaman keseluruhan dari aplikasi data mahasiswa
ini. Susunan menu yaitu : Tambah Data Mahasiswa dan Laporan Data Mahasiswa. Saya buat
sebuah file dari php dengan nama index.php dengan isi sebagai berikut :
?
<!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>Menu Utama Data Mahasiswa</title>
</head>
<body>
<h1 align="center">Data Mahasiswa</h1>
<p align="center"><a href="input-data-mahasiswa.php">Input Data
Mahasiswa</a></p>
<p align="center"><a href="laporan-data-mahasiswa.php">Laporan Data
Mahasiswa </a></p>
<p> </p>
</body>
</html>
2. MEMBUAT APLIKASI DATA MAHASISWA DENGAN PHP - BAGIAN 2
Melanjutkan artikel saya tentang bagaimana membuat aplikasi data mahasiswa dengan php bagian
1, pada bagian 2 ini akan saya bahas tentang bagaimana membuat form/formulir input data
mahasiswa, membuat proses simpan dan upload photo mahasiswa.
Membuat form input data mahasiswa
Sesuai dengan susunan database yang sudah saya rancang sebelumnya maka saya akan
membuat sebuah form dengan kode sebagai berikut dan disimpan dengan nama input-datamahasiswa.php :
?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Entry Mahasiswa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="simpan-data-mahasiswa.php" method="post"
enctype="multipart/form-data" name="FMHS">
<table width="452" border="0" align="center" cellpadding="0"
cellspacing="1" bgcolor="#669900">
<tr>
<td height="40"
align="center" bgcolor="#669900"><strong><font color="#FFFFFF">ENTRY
DATA</font></strong></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="452" border="0" align="center"
cellpadding="5" cellspacing="0">
<tr><td width="113">NIM</td><td width="11">:</td>
<td width="237"><input name="nim" type="text" id="nim" size="12"
maxlength="12"></td>
</tr>
<tr><td>Nama</td><td>:</td>
<td><input name="nama" type="text" id="nama" size="30"
maxlength="30"></td>
</tr>
<tr><td>Tempat Lahir</td><td>:</td>
<td><input name="tempat_lahir" type="text" id="tempat_lahir" size="30"
maxlength="30"></td>
</tr>
<tr><td>Tanggal Lahir</td><td>:</td>
<td><select name="tgl" size="1" id="tgl">
<?php
for ($i=1;$i<=31;$i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
<select name="bln" size="1" id="bln">
<?php
$bulan=array("","Januari","Pebruari","Maret","April","Mei","Juni","Juli",
"Agustus","September","Oktober","November","Desember");
for ($i=1;$i<=12;$i++)
{
echo "<option value=".$i.">".$bulan[$i]."</option>";
}
?>
</select>
<select name="thn" size="1" id="thn">
<?php
for ($i=1985;$i<=2000;$i++)
{
echo "<option value=".$i.">".$i."</option>";
}
?>
</select></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name="alamat" cols="30" rows="5"
id="alamat"></textarea></td>
</tr>
<tr><td>Jenis Kelamin</td><td>:</td>
<td><input name="jenis_kelamin" type="radio" value="L" checked> Laki-laki
<input name="jenis_kelamin" type="radio" value="P"> Perempuan </td>
</tr>
<tr><td>Photo</td><td>:</td>
<td><input type="file" name="photo" id="photo"></td>
</tr>
<tr><td colspan="3" align="center"><input name="fok" type="submit"
id="fok" value="OK">
<input name="fulang" type="reset" id="fulang" value="Ulangi">
<input name="fulang2" type="button" id="fulang2"
value="Batal" onClick="javascript:history.back()"></td>
</tr>
</table></td>
</tr>
</table>
</form>
<div align="center"><a href="index.php">Menu Utama</a></div>
</body>
</html>
Membuat proses simpan dan upload foto mahasiswa
Setelah form selesai sekarang saya membuat file untuk menyimpan data yang diisikan lewat
formulir entry, nama file sesuai seperti yang saya buat di
<form action="simpan-data-mahasiswa.php" …> yaitu simpan-data-mahasiswa.php. Isinya
seperti berikut :
?
<?php
include "koneksi.php";
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$tempat_lahir=$_POST['tempat_lahir'];
$tanggal_lahir = $_POST['thn']."-".$_POST['bln']."-".$_POST['tgl'];
$alamat=$_POST['alamat'];
$jenis_kelamin=$_POST['jenis_kelamin'];
//masing-masing variabel yang diawali dengan $_POST harus sesuai
dengan nama yang dibuat dalam form
if (empty($nim))
{
die("Isikan NIM!"); //Berhenti dan munculkan pesan jika nim tidak
diisi
}
elseif(empty($nama))
{
die("Isikan Nama!"); //Berhenti dan munculkan pesan jika nama tidak
diisi
//anda bisa tambahkan struktur if yang lain jika ada data yang perlu
dicek
}
else
{
$cekdata="select nim from tb_mahasiswa where nim='$nim'";
$ada=mysql_query($cekdata) or die(mysql_error());
if(mysql_num_rows($ada)>0)
{ die("NIM telah Terdaftar!"); }
else {
if (!empty($_FILES["photo"]["tmp_name"]))
{
$namafolder="photo/"; //tempat menyimpan file
$jenis_gambar=$_FILES['photo']['type'];
if($jenis_gambar=="image/jpeg" || $jenis_gambar=="image/jpg" ||
$jenis_gambar=="image/gif" || $jenis_gambar=="image/png")
{
$photo = $namafolder . basename($_FILES['photo']['name']);
if (!move_uploaded_file($_FILES['photo']['tmp_name'], $photo))
{ die("Gambar gagal dikirim"); }
} else { die("Jenis gambar yang anda kirim salah. Harus .jpg .gif
.png"); }
} //end if cek file upload
mysql_query("insert into
tb_mahasiswa(nim,nama,tempat_lahir,tanggal_lahir,alamat,jenis_kelamin,photo
) " .
"values('$nim','$nama','$tempat_lahir','$tanggal_lahir','$alamat','$jenis
_kelamin','$photo')") or die(mysql_error());
echo "Berhasil";
header("location:laporan-data-mahasiswa.php");
} //end if terdaftar
}
?>
Setelah selesai form input mahasiswa, anda masuk ke folder data-mahasiswa, lalu buat
sebuah folder baru diberi nama photo. Kemudian coba jalankan aplikasi seperti awal tadi
(lihat bagian 1 menjalankan menu), masuk ke menu utama http://localhost/datamahasiswa kemudian masuk ke menu input data mahasiswa.
Kemudian coba diisikan lengkap dengan gambar dan disimpan.
Jika pas selesai ternyata ada error header... , seperti gambar berikut :
Anda jangan panik dulu, data sebenarnya sudah masuk tapi ada bagian baris pertama pada
file koneksi.php yang harus anda tambahkan, lihat perubahan pada baris pertama :
?
<?php
ob_start(); //ditambahkan untuk mengabaikan pengiriman header, berlaku juga
untuk mengabaikan pesan error header
$dbserver="localhost";
$dbusername="root";
$dbpassword="";
$dbname="db_datamhs";
mysql_connect($dbserver,$dbusername,$dbpassword) or die(mysql_error());
mysql_select_db($dbname) or die (mysql_error());
?>
setelah anda perbaiki file koneksi.php, coba refresh lagi...
Ternyata muncul lagi pesan error... semuanya anda abaikan dulu. Sekarang
kita coba cek dulu apakah data yang dikirim sudah masuk database atau belum, caranya anda
buka phpmyadmin, masuk ke database db_datamhs, tb_mahasiswa, coba anda browse apakah
ada baris baru disitu??? kalau ya berati data memang berhasil tersimpan.
Setelah itu kita cek lagi file gambar yang diupload, buka folder data-mahasiswa/photo,
apakah ada file gambar disitu??? kalau ya berarti data sudah masuk dan photo juga sudah
terkirim. PROSES SIMPAN SELESAI.
3. MEMBUAT APLIKASI DATA MAHASISWA DENGAN PHP - BAGIAN 3
Proses tahap awal dari membuat database, tabel, membuat formulir input data mahasiswa,
proses simpan dan upload photo mahasiswa sudah dilakukan pada artikel Membuat aplikasi
data mahasiswa dengan PHP - Bagian 1 dan Bagian 2, sekarang membuat laporan hasil input
data mahasiswa. Laporan ini akan dibuat menghubungkan kebeberapa bagian yaitu pencarian
data mahasiswa, delete/menghapus data mahasiswa dan mengupdate data mahasiswa.
Silahkan menyimak tahapan lanjutan berikut ini.
Membuat laporan data mahasiswa
Laporan akan saya buat dengan susunan tabel yang menampilkan seluruh data mahasiswa.
Silahkan lihat kode berikut ini :
?
<html>
<head>
<title>Laporan Data Mahasiswa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h2 align="center">Data Mahasiswa</h2>
<form action="" method="get" name="FCari" id="FCari">
Cari NIM/Nama
<input name="txtcari" type="text" id="txtcari" size="20" maxlength="30"
value="<?php echo $_GET['txtcari']?>">
<input type="submit" name="Submit" value="Cari">
</form>
<form name="FLaporan" method="post" action="delete-banyak.php"
onSubmit="return confirm('Hapus data terpilih?')">
<table width="100%" border="1" align="center" cellpadding="3"
cellspacing="0">
<tr>
<td align="center"> </td>
<td>NIM</td>
<td>Nama</td>
<td>Tempat Lahir</td>
<td align="center">Tanggal Lahir</td>
<td align="center">Jenis Kelamin</td>
<td>Alamat</td>
<td align="center">Photo</td>
<td align="center">Koreksi</td>
<td align="center">Hapus</td>
</tr>
<?php
include "koneksi.php";
if(!empty($_GET['txtcari']))
{
$myquery="select nim,nama,tempat_lahir, DATE_FORMAT(tanggal_lahir,
'%d-%m-%Y') as tanggal_lahir, jenis_kelamin,alamat, photo from tb_mahasiswa
where nim='".$_GET['txtcari'])."' or nama LIKE '%".$_GET['txtcari'])."%'";
}
else
{
$myquery="select nim,nama,tempat_lahir, DATE_FORMAT(tanggal_lahir,
'%d-%m-%Y') as tanggal_lahir, jenis_kelamin,alamat, photo from
tb_mahasiswa";
}
$daftarsiswa=mysql_query($myquery) or die (mysql_error());
while($dataku=mysql_fetch_object($daftarsiswa))
{
?>
<tr>
<td align="center">
<input type="checkbox" name="item[]" id="item[]" value="<?php echo
$dataku->nim?>" /></td>
<td><?php echo $dataku->nim?></td>
<td><?php echo $dataku->nama?></td>
<td><?php echo $dataku->tempat_lahir?></td>
<td align="center"><?php echo $dataku->tanggal_lahir?></td>
<td align="center"><?php echo $dataku->jenis_kelamin?></td>
<td><?php echo $dataku->alamat?></td>
<td align="center"><img src="<?php echo $dataku->photo?>" alt="<?php
echo $dataku->nama?>" width="50" /></td>
<td align="center"><a href="koreksi-data-mahasiswa.php?nim=<?php
echo $dataku->nim?>">Koreksi</a></td>
<td align="center"><a href="hapus-data-mahasiswa.php?nim=<?php
echo $dataku->nim?>">Hapus</a></td>
</tr>
<?
}
?>
</table>
<input name="btnHapus" type="submit" value="Delete">
<p align="center"><a href="index.php">Menu Utama
</a></p>
</form>
</body>
</html>
untuk sementara yang bisa digunakan hanya faslitas pencarian, anda bisa coba.
Secara logika, pencarian dilakukan apabila text pencarian dengan nama txtCari diisi dan
dikirim, sehingg halaman laporan menerima melalui metode GET dan mencari berdasar nim
atau nama.
Membuat halaman delete / hapus satu baris data
Jika anda lihat dibagian kolom laporan ada sebuah kolom dengan judul hapus, tulisan hapus
pada tiap baris digunakan untuk mengahpus baris yang sesuai, mekanismenya, link hapus
membawa nilai dengan kunci nim ke halaman hapus. Sekarang saya akan membuat halaman
hapus untuk menerima kiriman dari link hapus. Lihat kode berikut :
<?php
include "koneksi.php";
$nim = $_GET['nim'];
$res = mysql_query("select photo from tb_mahasiswa where
nim='".$_GET['nim']."' LIMIT 1");
$d=mysql_fetch_object($res);
if (strlen($d->photo)>3)
{
if (file_exists($d->photo)) unlink($d->photo);
}
$myquery = "delete from tb_mahasiswa where nim ='$nim' limit 1";
$hapus = mysql_query($myquery) or die ("gagal menghapus");
header ("location:laporan-data-mahasiswa.php");
?>
Disini antara hapus satu baris saya bedakan filenya, agar lebih mudah difahami. Sebenarnya
bisa digabung dengan mendeteksi bentuk kiriman parameter nilainya, nanti jika diperlukan
akan saya bahas kembali.
Proses penghapusan data dalam file hapus-data-mahasiswa.php dilakukan dengan menghapus
sekaligus file gambar yang sudah dimasukkan. Sebelum menghapus juga ada pengecekan
status photo jika ada isinya dan jika ada filenya maka dilakukan hapus gambar.
Membuat halaman delete / hapus banyak baris
Bagian ini adalah halaman yang akan menangani proses jika baris data dipilih dan tombol
delete ditekan. Fungsinya adalah menghapus semua data yang sudah terpilih. Dibagian
laporan, saya sudah buatkan checkbox yang masing-masing sudah diberi nilai dalam susunan
array input. Lihat kode baris ini pada bagian kode laporan.
<input type="checkbox" name="item[]" id="item[]" value="<?php echo $dataku->nim?>" />
Setiap perulangan baris maka masing-masing item[] akan diberi nilai sesuai nim yang sedang
diambil dalam tabel. Kemudian semua array akan dikirim ke halaman delete-banyak.php
sesuai dengan action form yang ada sebelum tabel. Berikut kode untuk mengambil nilai dari
array pilihan yang dihapus :
<?php
include "koneksi.php";
$jumlah = count($_POST["item"]);
for($i=0; $i < $jumlah; $i++)
{
$nim=$_POST["item"][$i];
$res = mysql_query("select photo from tb_mahasiswa where nim='$nim' LIMIT
1");
$d=mysql_fetch_object($res);
if (strlen($d->photo)>3)
{
if (file_exists($d->photo)) unlink($d->photo);
}
$myquery = "delete from tb_mahasiswa where nim ='$nim' limit 1";
$hapus = mysql_query($myquery) or die ("gagal menghapus");
}
header ("location:laporan-data-mahasiswa.php");
?>
Semua array akan dihitung dan dilakukan perulangan untuk menghapus photo serta
recordnya.
Membuat aplikasi data mahasiswa dengan PHP - Bagian 4
Melanjutkan artikel saya tentang membuat aplikasi data mahasiswa yang sempat tertunda,
sekarang saya lanjutkan membahas tentang bagaimana membuat form update data mahasiswa
serta menyimpanya kembali kedalam tabel database mysql yang sudah saya buat. Langkahlangkahnya akan saya bahas berikut.
Setelah sebelumnya pada artikel membuat aplikasi data mahasiswa bagian 1 tentang susunan
tabel, koneksi, bagian 2 membuat input data dan simpan, bagian 3 tentang laporan dan hapus
data, langkah berikutnya adalah menghubungkan laporan dengan form koreksi data. Pada
form koreksi data, data mahasiswa yang sudah ada dimunculkan dengan opsi perubahan isian
tertentu kecuali nim. Nim dibuat primary/index sehingga tidak diperkenankan merubahnya.
Secara desain, form koreksi hampir sama dengan form input data, hanya berbeda fungsi.
Kalau form input ditampilkan dengan isian kosong, kalau form koreksi dengan form yang
sudah terisi sesuai data yang tersimpan. Susunan form koreksi data bentuknya seperti gambar
berikut :
Untuk membuat form seperti itu saya membuat susunan kode php dan html yang disimpan
dengan nama file koreksi-data-mahasiswa.php, susunan kodenya sebagai berikut :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Koreksi Mahasiswa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
include("koneksi.php");
$nim=$_GET['nim'];
$qrykoreksi=mysql_query("select * from tb_mahasiswa where nim='$nim'
LIMIT 1");
$dataku=mysql_fetch_object($qrykoreksi);
list($tahun,$bulan,$tanggal) = explode('-',$dataku->tanggal_lahir);
?>
<form action="update-data-mahasiswa.php" method="post"
enctype="multipart/form-data" name="FKoreksi">
<table width="600" border="0" align="center" cellpadding="0"
cellspacing="1" bgcolor="#669900">
<tr>
<td height="50" align="center" bgcolor="#669900"><strong><font
color="#FFFFFF">KOREKSI DATA</font></strong></td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="5"
cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="99">NIM</td>
<td width="9">:</td>
<td width="287"><input name="nim" type="text" id="nim" size="10"
maxlength="10" value="<?php echo $dataku->nim?>" readonly=""></td>
<td width="163" rowspan="7" align="center" valign="top"><img
src="<?php echo $dataku->photo?>" alt="<?php echo $dataku->nama?>"
width="100" border="1"/></td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input name="nama" type="text" id="nama" size="30"
maxlength="30" value="<?php echo $dataku->nama?>"></td>
</tr>
<tr>
<td>Tempat Lahir</td>
<td>:</td>
<td><input name="tempat_lahir" type="text" id="tempat_lahir"
size="30" maxlength="30" value="<?php echo $dataku->tempat_lahir?>"></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><select name="tgl" size="1" id="tgl">
<?php
for ($i=1;$i<=31;$i++)
{
if($tanggal==$i) {
echo "<option value=".$i." selected>".$i."</option>";
} else {
echo "<option value=".$i.">".$i."</option>";
}
}
?>
</select>
<select name="bln" size="1" id="bln">
<?php
$namabulan=array("","Januari","Pebruari","Maret","April","Mei"
,"Juni","Juli","Agustus","September","Oktober","November","Desember");
for ($i=1;$i<=12;$i++)
{
if($bulan==$i) {
echo "<option value=".$i."
selected>".$namabulan[$i]."</option>";
} else {
echo "<option
value=".$i.">".$namabulan[$i]."</option>";
}
}
?>
</select>
<select name="thn" size="1" id="thn">
<?php
echo "<option value=".$tahun.">".$tahun."</option>";
for ($i=1985;$i<=2000;$i++)
{
if($tahun==$i) {
echo "<option value=".$i." selected>".$i."</option>";
} else {
echo "<option value=".$i.">".$i."</option>";
}
}
?>
</select></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name="alamat" cols="30" rows="5" id="alamat"><?php
echo $dataku->alamat?></textarea></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td><input name="jenis_kelamin" id="jenis_kelamin" type="radio"
value="L" <?php if($dataku->jenis_kelamin=='L') echo "checked";?>>
Laki-laki
<input name="jenis_kelamin" id="jenis_kelamin" type="radio"
value="P" <?php if($dataku->jenis_kelamin=='P') echo "checked";?>>
Perempuan </td>
</tr>
<tr>
<td>Photo</td>
<td>:</td>
<td><input type="file" name="photo" id="photo"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Pilih photo jika ingin diganti</td>
<td> </td>
</tr>
<tr>
<td height="50" colspan="4" align="center"><input name="fok"
type="submit" id="fok" value="OK">
<input name="fulang" type="reset" id="fulang"
value="Ulangi"><input name="fulang" type="button" id="fulang" value="Batal"
onClick="javascript:history.back()"></td>
</tr>
</table></td>
</tr>
</table>
</form>
<div align="center"><a href="index.php">Menu Utama</a></div>
</body>
</html>
Dari kode ada beberapa hal yang perlu diperhatikan :
1. nim diambilkan dari nilai yang dikirimkan melalui url pada laporan, sehingga dalam
halaman koreksi diambil dengan fungsi $_GET['nim']
2. setelah itu nim dicari dalam tabel mahasiswa dan jika ditemukan ditampilkan dalam
form koreksi
3. karena field tanggal lahir dari database dikirimkan dengan format tahun/bulan/tanggal
maka untuk menampilkanya dalam combo/listmenu maka field harus dipisah dengan
perintah list($tahun,$bulan,$tanggal)
4. kemudian dalam form, nim yang ditampilkan harus dikunci agar tidak bisa dirubah,
cara menguncinya dengan perintah readonly=""
5. data lainnya ditampilkan sesuai dengan input yang disediakan.
Setelah form koreksi selesai, sekarang saya membuat proses penyimpanan kembali data yang
dikoreksi. Proses simpan ini juga dapat memperbaharui gambar yang sudah ada. Kodenya
dapat dilihat berikut :
<?php
include "koneksi.php";
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$tempat_lahir=$_POST['tempat_lahir'];
$tanggal_lahir = $_POST['thn']."-".$_POST['bln']."-".$_POST['tgl'];
$alamat=$_POST['alamat'];
$jenis_kelamin=$_POST['jenis_kelamin'];
if (empty($nim))
{
die("Isikan NIM!");
}
elseif(empty($nama))
{
die("Isikan Nama!");
}
else //bisa tambahkan pengecekan yang lain jika perlu
{
//proses upload photo jika ada
if (!empty($_FILES["photo"]["tmp_name"]))
{
$namafolder="photo/"; //tempat menyimpan file
$jenis_gambar=$_FILES['photo']['type'];
if($jenis_gambar=="image/jpeg" || $jenis_gambar=="image/jpg" ||
$jenis_gambar=="image/gif" || $jenis_gambar=="image/png")
{
$photo = $namafolder . basename($_FILES['photo']['name']);
if (!move_uploaded_file($_FILES['photo']['tmp_name'], $photo))
{
die("Gambar gagal dikirim");
}
//Hapus photo yang lama jika ada
$res = mysql_query("select photo from tb_mahasiswa where
nim='$nim' LIMIT 1");
$d=mysql_fetch_object($res);
if (strlen($d->photo)>3)
{
if (file_exists($d->photo)) unlink($d->photo);
}
//update photo dengan yang baru
mysql_query("UPDATE tb_mahasiswa SET photo='$photo' WHERE
nim='$nim' LIMIT 1");
}
else { die("Jenis gambar yang anda kirim salah. Harus .jpg .gif
.png"); }
} //end if cek file upload
$myqry="UPDATE tb_mahasiswa SET
nama='$nama',tempat_lahir='$tempat_lahir',".
"tanggal_lahir='$tanggal_lahir',alamat='$alamat',jenis_kelamin=
'$jenis_kelamin' WHERE nim='$nim' LIMIT 1";
mysql_query($myqry) or die(mysql_error());
header("location:laporan-data-mahasiswa.php");
exit;
}
?>
File dapat disimpan dengan nama update-data-mahasiswa.php. Dari kode dapat dilihat
bahwa halaman update ini menerima input dari form koreksi data dan memprosesnya dengan
langkah memindah nilai yang dikirimkan, kemudian mengecek isian dan mengecek photo
yang diupload.
Membuat aplikasi data mahasiswa dengan PHP - Bagian 5
Melanjutkan artikel saya tentang membuat aplikasi data mahasiswa dengan php, sekarang
sedikit saya kembangkan untuk melindungi ruang pengelolaan data mahasiswa dengan sistem
login pengguna/user. Ini diperlukan hampir pada tiap aplikasi yang dibangun agar tidak
semua orang yang mengakses halaman pengelola bisa langsung melihat atau melakukan
perubahan data tanpa proses login terlebih dahulu. Silahkan simak artikel berikut.
Membuat tabel login pengguna
Langkah pertama untuk membuat login adalah membuat desain tabel database myslq untuk
menyimpan data user/pegguna. Untuk kasus ini saya buat sederhana dengan susunan :
Nama tabel : tb_pengguna
Field tabel :
1. username tipe varchar (20) primary key
2. password tipe varchar (255)
3. nama tipe varchar (30)
4. login_terakhir datetime
susunan query untuk membuat tabel pengguna
CREATE TABLE `db_datamhs`.`tb_pengguna` (
`username` VARCHAR( 20 ) NOT NULL ,
`password` VARCHAR( 255 ) NOT NULL ,
`nama` VARCHAR( 30 ) NOT NULL ,
`login_terakhir` DATETIME NOT NULL ,
PRIMARY KEY ( `username` )
) ENGINE = MYISAM ;
Menyisipkan data awal pengguna
Kemudian untuk simulasi ini saya input data awal secara manual melalui phpmyadmin (nanti
kalo sudah ada adminnya baru dibuatkan menu untuk mengelola pengguna). Menambahnya
bisa langsung tekan menu insert pada bagian atas informasi tabel pada phpmyadmin
atau dengan susunan query :
INSERT INTO `db_datamhs`.`tb_pengguna` (
`username`,`password`,`nama`,`login_terakhir`
) VALUES ('admin', MD5( '12345' ) , 'Nama Admin', '2012-08-08 23:49:35');
Dalam tabel pengguna saya tambahkan user dengan password MD5(`12345`), ini maksudnya
nanti password akan disimpan dalam mode algoritma sistem acak md5(Message-Digest
algorithm 5) sehingga password tidak tersimpan dalam bentuk aslinya `12345' tapi dikodekan
khusus dalam 128-bit.
Pada tabel juga saya tambahkan field login_terakhir yang nanti digunakan sebagai tempat
mencatat tanggal dan jam login terakhir.
Membuat aplikasi data mahasiswa dengan PHP - Bagian 6
Ini bagian terakhir artikel saya tentang tentang membuat aplikasi data mahasiswa dengan
php, Pada artikel sebelumnya membuat aplikasi data mahasiswa bagian 5, saya sudah
merancang tabel database pengguna dan menyisipkan 1 nama pengguna dengan password
yang disimpan dalam format md5. Sekarang saya akan merancang form login dan proses
login, serta melindungi semua halaman pengelolaan data mahasiswa yang sudah dibuat.
Silahkan simak artikel berikut.
Membuat form login pengguna
Form login pengguna ini akan saya buat seperti gambar diatas, susunan kode htmlnya seperti
berikut :
<!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>Login Pengguna</title>
<style type="text/css">
body {margin:20px;background-color:#f4f4f4;}
#FormLogin { width:400px;margin:0 auto;border:1px solid
#444;padding:20px;background-color:#333;border-radius:20px;color:#fff; }
#FormLogin h1 { text-align:center;border-bottom:1px solid
#ccc;padding:10px;margin:5px;;font-size:22px;}
#FormLogin label {float:left;width:150px;}
#FormLogin .text { margin-bottom:5px;}
</style>
</head>
<body>
<div id="FormLogin">
<h1>LOGIN APLIKASI DATA MAHASISWA</h1>
<form id="FLogin" name="FLogin" method="post" action="">
<label>Username</label> : <input name="username" type="text" id="username"
size="20" maxlength="20" class="text" /><br />
<label>Password</label> : <input name="password" type="password"
id="password" size="20" maxlength="20" class="text" /><br />
<p align="center"><input type="submit" name="button" id="button"
value="Login" /><input type="reset" name="Reset" id="button" value="Reset" />
</p>
</form>
</div>
</body>
</html>
Membuat script login dengan PHP
Pada bagian form <form id="FLogin" name="FLogin" method="post" action="">, sengaja
action saya buat tanpa nilai, ini artinya form akan diproses pada file itu sendiri. Kode diatas
belum selesai karena masih perlu menyisipkan bagian-bagian proses login pada koneksi.php
dan file login-data-mahasiswa.
Pada baris kedua koneksi.php (lihat artikel bagian 1) ubah menjadi :
<?php
ob_start();
session_start();
$dbserver="localhost";
$dbusername="root";
$dbpassword="";
$dbname="db_datamhs";
mysql_connect($dbserver,$dbusername,$dbpassword) or die(mysql_error());
mysql_select_db($dbname) or die (mysql_error());
?>
Pada baris pertama paling atas halaman login-data-mahasiswa.php tambahkan :
<?php
include("koneksi.php");
?>
Kemudian tambahkan lagi pada bagian setelah <body>
<?php
Tugas Kelompok Pemrograman Web & Design Web AMIK LABUHANBATU
By Sudi Suryadi, M.Kom
//Penangganan login jika form diisi
if(isset($_POST['username']) && isset($_POST['password']))
{
//cek isian
if(!empty($_POST['username']) && !empty($_POST['password']))
{
$username=htmlspecialchars(stripslashes($_POST['username']));
$password=md5(htmlspecialchars(stripslashes($_POST['password'])));
$myquery="select username,nama,DATE_FORMAT(login_terakhir, '%d-%m-%Y
%H:%i:%s') as login_terakhir from tb_pengguna where username='$username'
and password='$password' limit 1";
$result=mysql_query($myquery) or die (mysql_error());
if (mysql_num_rows($result) == 1)
{
//jika username dan password cocok
$pengguna=mysql_fetch_object($result);
$_SESSION['login']=true;
$_SESSION['username']=$pengguna->username;
$_SESSION['nama']=$pengguna->nama;
$_SESSION['login_terakhir']=$pengguna->login_terakhir;
mysql_query("update tb_pengguna set login_terakhir=NOW() where
username='$username' limit 1") or die("Gagal memperbaharui terakhir
login");
header("location:index.php");
} else {
//jika username dan password tidak cocok
echo "<h1 align=\"center\">Username atau password salah!</h1>";
}
} else {
//jika form kosong munculkan pesan
echo "<h1 align=\"center\">Isikan username dan password!</h1>";
}
}
?>
Kode untuk proses login sudah selesai, sekarang tingal melindungi semua halaman akses data
mahasiswa. Pada artikel sebelumnya saya sudah membuat :
1. index.php
2. input-data-mahasiswa.php
3. simpan-data-mahasiswa.php
4. laporan-data-mahasiswa.php
5. hapus-data-mahasiswa.php
6. delete-banyak.php
7. koreksi-data-mahasiswa.php
8. update-data-mahasiswa.php
Semuanya harus kita lindungi dengan form login, sehing jika file-file tersebut diakses maka
akan dipindah ke halaman login (login-data-mahasiswa.php).
<?php
include("koneksi.php");
if(!isset($_SESSION['login'])) {
header("location:login-data-mahasiswa.php");
}
?>
Walaupun index yang isinya hanya menu, kita perlu memanggil perintah session_start() yang
ada pada koneksi.php agar session pada file ini aktif. Anda bisa baca artikel saya tentang
Menggunakan session dalam php. Anda bisa tampilkan nama pengguna yang login serta
terakhir dia login dengan memanggil $_SESSION['nama'] dan $_SESSION['terakhir_login']
yang sudah kita buat pada saat berhasil login tadi. Ini PR buat anda coba sendiri.
File kedua, halaman input data. Ini perlakuanya sama dengan index, dia tidak berhubungan
langsung dengan database tapi harus memanggil session_start() yang ada pada file
koneksi.php. jadi tambahkan kode yang sama pada baris awalnya.
Kemudian file simpan-data-mahasiswa.php, ini sedikit berbeda dengan index dan input data.
Kita cukup menambahkan perintah berikut setelah include("koneksi.php")
<?php
include("koneksi.php"); //ini sudah ada sebelumnya
if(!isset($_SESSION['login'])) {
header("location:login-data-mahasiswa.php");
}
?>
Pada file-file lainya karena sudah ada include("koneksi.php), kita lakukan hal yang sama
dengan simpan yaitu menambahkan baris perintah if(!isset.... setelah include("koneksi.php")
Cek kembali semua file agar memastikan setiap awal setelah koneksi ada pengecekan status
login.
Dengan semua langkah-langkah diatas, berarti kita sudah melindungi semua halaman dengan
login. Anda bisa coba dari index, dst pasti langsung masuk ke login. Anda coba isikan login
username admin dan password 12345, jika berhasil maka anda akan bebas mengakses
halaman-halaman yang sebelumnya dilindungi tadi.
Membuat halaman logout
Anda mungkin bertanya-tanya mana fasilitas logout atau mengunci kembali aplikasi ini.
Memang belum tersedia, sekarang kita akan membuatnya. Langsung buat file baru, dan
simpan dengan nama logout-data-mahasiswa.php, isinya lihat kode berikut :
<?
include "koneksi.php";
session_destroy();
header("location:login-data-mahasiswa.php");
?>
Cukup sederhana tinggal memanggil session_destroy() maka semua session akan hilang dan
otomatis semua halaman terkunci lagi.
Terakhir sekali, yaitu menambahkan link ke halaman logout-data-mahasiswa.php pada menu
utama aplikasi (index.php). Ini juga PR buat anda coba sendiri. Caranya silahkan baca
artikel saya tentang hyperlink.