Modul ini membahas pengolahan data produk pada aplikasi database berbasis web dengan PHP dan MySQL. Terdapat penjelasan tentang penambahan, penghapusan, dan pencarian data produk dimana field kategori dan merk diambil dari tabel terpisah. Juga dijelaskan cara menyimpan gambar produk ke database dan folder serta proses upload gambarnya.
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
Aplikasi database berbasis web studi kasus part 3
1. Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM) 1
APLIKASI DATABASE BERBASIS
WEB DENGAN PHP & MYSQL
(BAGIAN 3-STUDI KASUS)
PERTEMUAN 11 TEKNIK INFORMATIKA – UNIKOM (2009)
2. Pengolahan Data Produk
2
Fasilitas yang harus ada adalah penambahan,
penghapusan dan pencarian data produk.
Di setiap penambahan data, field id_kategori dan
id_merk harus dibuat berupa pilihan (combobox)
yang diambil dari table yang ada di database.
Harus ada fasilitas upload gambar produk yang
akan disimpan ke database.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
3. Pengolahan Data Produk
3
(Proses simpan gambar ke database)
Ada 2 cara menyimpan file gambar ke database
yaitu :
Menyimpan isi file gambar ke database.
Menyimpan nama file gambar ke database. Filenya
disimpan pada folder tertentu.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
4. Pengolahan Data Produk
4
(Proses simpan gambar ke database)
Menyimpan isi file gambar ke database.
Kelebihan : Konsistensi antara data produk dengan data
gambar (tidak ada istilah filenya hilang) karena isi file
gambar disimpan pada tempat yang sama (database)
Kekurangan : Membebani database server ketika banyak
pengaksesan database untuk mengambil gambar.
Menyimpan nama file gambar ke database. Filenya
disimpan pada folder tertentu.
Kelebihan : Tidak terlalu membebani database server.
Karena gambar disimpan terpisah dari data produk.
Kekurangan : Ada kemungkinan tidak konsistensi antara
data produk dengan file gambar (mungkin ada data
produk tetapi gambarnya hilang, atau sebaliknya)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
5. Upload File (Upload Gambar)
5
Form Upload
Wajib menyertakan enctype="multipart/form-data" pada
pendefinisian FORM.
Boleh menambahkan sebuah elemen INPUT yang bertipe HIDDEN
dengan nama MAX_FILE_SIZE untuk membatasi besar file yang
boleh diupload.
Untuk pemilihan file digunakan elemen INPUT yang bertipe FILE.
NAMAFILE : upload.php
<form enctype="multipart/form-data"
method="POST" action="proses_file.php">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
File : <input name="userfile" type="file"/><br />
<input type="submit" value="Kirim File"name="tbl" />
</form>
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
6. Upload File (Upload Gambar)
6
Form Upload
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
7. Upload File (Upload Gambar)
7
Proses File Upload
Informasi mengenai file yang terupload dapat dilihat
pada array $_FILES[„nama_input‟]
Function pathinfo digunakan mengekstrak informasi
dari suatu file (nama file, folder, extensionnya)
NAMAFILE : proses_file.php
<html><head><title>Proses file upload</title></head><body>
<pre>
<?php
echo "$_FILES : ";print_r($_FILES['userfile']);
$infofile=pathinfo($_FILES['userfile']['name']);
echo "$infofile : ";print_r($infofile);
?>
</pre>
</body>
</html> Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
Modul Aplikasi
8. Upload File (Upload Gambar)
8
Proses File Upload
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
9. Upload File (Upload Gambar)
9
Proses File Upload
$_FILES adalah variable yang berisi
informasi file yang diupload.
Ada beberapa data yang dapat
digunakan yaitu :
• [name] : Berisi nama file asli
• [type] : Tipe file
• [tmp_name] : Lokasi file yang telah
terupload.
• [error] : Status upload. Berisi 0 jika tidak
ada error.
• [size] : Ukuran file yang diupload.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
10. Upload File (Upload Gambar)
10
Proses File Upload
$infofile adalah variable yang berisi
informasi suatu file yang merupakan
return value dari function infopath.
Ada beberapa data yang dapat
digunakan yaitu :
• [dirname] : Berisi nama direktori/folder
• [basename] : Nama file dan ekstension
file.
• [extension] : Nama ekstension file
• [filename] : Nama file saja, tanpa
ekstension file.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
11. Upload File (Upload Gambar)
11
Memindahkan file upload ke folder tertentu.
Buat folder di folder web dengan nama “gambar”
(jangan di folder admin).
Ubah isi file proses_file.php dengan kode berikut
<?php
if($_FILES['userfile']['error']==0){
$namafilebaru="../gambar/".$_FILES['userfile']['name'];
if(move_uploaded_file($_FILES['userfile']['tmp_name'],
$namafilebaru)==true){
echo "File telah tersimpan.";
}
else
echo "Gagal menyimpan file upload";
}
else
echo "Gagal Upload";
?> Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
Modul
12. Upload File (Upload Gambar)
12
Memindahkan file upload ke folder tertentu.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
13. 13
Kembali ke Pengolahan Data Produk
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
14. Pengolahan Data Produk
14
Buatlah tabel Produk
Buka PHPMyAdmin
Pilih database anda
Klik link “SQL”
Paste SQL di bawah ini, kemudian klik tombol “Go”.
CREATE TABLE IF NOT EXISTS `produk` (
`id_produk` int(11) NOT NULL AUTO_INCREMENT,
`nama` varchar(100) NOT NULL,
`id_kategori` int(11) NOT NULL,
`id_merk` int(11) NOT NULL,
`harga` decimal(10,2) NOT NULL,
`diskon` decimal(5,2) NOT NULL,
`stok` int(11) NOT NULL DEFAULT '0',
`deskripsi` text NOT NULL,
`dijual` char(1) NOT NULL DEFAULT 'Y',
`filegambar` varchar(100) NOT NULL,
PRIMARY KEY (`id_produk`)
) ENGINE=MyISAM
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
15. Pengolahan Data Produk
15
Buatlah menu untuk pengolahan data produk.
Tambahkan menu berikut di function menu_admin() di
file lib_func.php
<tr><td align="center" bgcolor="#FFCC00"><b>DATA PRODUK</b></td></tr>
<tr><td align="center"><a href="produk_form_tambah.php">Tambah</a></td></tr>
<tr><td align="center"><a ref="produk_view.php">View</a></td></tr>
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
16. Pengolahan Data Produk
16
(Penambahan Produk)
Duplikat file template.php. Rename menjadi
produk_form_tambah.php
Ganti judul halaman menjadi “PENAMBAHAN
PRODUK.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
17. Pengolahan Data Produk
17
(Penambahan Produk)
Gantilah isi halaman dengan kode PHP seperti di
bawah ini
<?php $link=koneksi_db(); ?>
<form method="post" enctype="multipart/form-data"
action="produk_proses_tambah.php">
<table align="center" bgcolor="white" border=0>
<tr><td colspan=2 align=center class="judultable">
<b>TAMBAH PRODUK</b></td></tr>
<tr><td>Nama Produk</td>
<td> <input type=text name="namaproduk" size=50
maxlength=100></td></tr>
N
e
x
t
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
18. Pengolahan Data Produk
18
(Penambahan Produk)
<tr><td>Kategori</td>
<td><select name="id_kategori">
<option value="">Pilih Kategori</option>
<?php
$res=mysql_query("SELECT id_kategori,nama FROM kategori
ORDER BY nama");
while($data=mysql_fetch_array($res)){
echo "<option value="".$data['id_kategori']."">".
$data['nama']."</option>";
}
?>
</select>
</td></tr>
N
e
x
t
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
19. Pengolahan Data Produk
19
(Penambahan Produk)
<tr><td>Merk</td>
<td><select name="id_merk">
<option value="">Pilih Merk</option>
<?php
$res=mysql_query("SELECT id_merk,nama FROM merk
ORDER BY nama");
while($data=mysql_fetch_array($res)){
echo "<option value="".$data['id_merk']."">".
$data['nama']."</option>";
}
?>
</select>
</td></tr>
N
e
x
t
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
21. Pengolahan Data Produk
21
(Penambahan Produk)
Eksekusi file tersebut dengan mengklik link
“Tambah” pada menu Produk.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
22. Pengolahan Data Produk
22
(Penambahan Produk)
Duplikat file template.php, rename menjadi
produk_proses_simpan.php
Ubahlah judul halaman menjadi “PENAMBAHAN
PRODUK”
Ubahlah isi produk dengan script PHP di bawah ini.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
23. Pengolahan Data Produk
23
(Penambahan Produk)
<?php
if($_FILES['filegambar']['error']==0){
$link=koneksi_db();
$nama=$_POST['namaproduk'];
$id_merk=$_POST['id_merk'];
$id_kategori=$_POST['id_kategori'];
$harga=$_POST['harga'];
$diskon=$_POST['diskon'];
$stok=$_POST['stok'];
$deskripsi=$_POST['deskripsi'];
$filegambar=$_FILES['filegambar']['name'];
$namafilebaru="../gambar/".$filegambar;
N
e
x
t
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
24. Pengolahan Data Produk
24
(Penambahan Produk)
if(move_uploaded_file($_FILES['filegambar']['tmp_name'],
$namafilebaru)==true){
$sql="INSERT INTO produk
VALUES(null,'$nama','$id_kategori','$id_merk',
'$harga','$diskon','$stok','$deskripsi','Y','$filegambar')";
$res=mysql_query($sql);
if($res){
$id_produk=mysql_insert_id($link);
echo "Data produk baru telah disimpan dengan ID $id_produk";
}
else{
echo "Data produk baru gagal disimpan dengan kesalahan ".
mysql_error();
}
}
}
else
echo "Penambahan produk gagal karena upload file gambar gagal";
?>
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
25. Pengolahan Data Produk
25
(Penambahan Produk)
Testing
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
26. Pengolahan Data Produk
26
(View Produk)
Duplikat file template.php, rename menjadi
produk_view.php
Ganti judul halaman menjadi “DATA PRODUK”
Ganti isi halaman dengan script PHP dibawah ini.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
27. Pengolahan Data Produk
27
(View Produk)
<?php
$link=koneksi_db();
$sql="SELECT p.id_produk,p.nama NamaProduk,
m.nama NamaMerk,k.nama NamaKategori,
p.harga,p.diskon,p.stok,p.filegambar,p.dijual
FROM produk p JOIN merk m ON p.id_merk=m.id_merk
JOIN kategori k ON p.id_kategori=k.id_kategori
ORDER BY p.nama";
$res=mysql_query($sql,$link) or die(mysql_error());
$banyakrecord=mysql_num_rows($res);
N
e
x
t
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
28. Pengolahan Data Produk
28
(View Produk)
if($banyakrecord>0){
?>
<div class="info">Data Produk ditemukan sebanyak: <b><?php echo $banyakrecord;?></b>
Record</div>
<table border=0 align="center">
<tr class="judultable"><td colspan=10>DAFTAR PRODUK</td></tr>
<tr class="judultable"><td>Gambar</td><td>ID</td><td>NAMA</td>
<td>Merk</td><td>Kategori</td><td>Harga</td>
<td>Stok</td><td>Diskon</td><td>Dijual</td></tr>
<?php
$i=0;
while($data=mysql_fetch_array($res)){
$i++;
?>
<tr class="<?php if($i%2==1) echo "isitabelganjil";else echo
"isitabelgenap";?>">
<td align="center"><img src="../gambar/<?php echo
$data['filegambar'];?>" width="70px" height="70px"></td>
<td align="center"><?php echo $data['id_produk'];?></td> N
<td><?php echo $data['NamaProduk'];?></td>
<td><?php echo $data['NamaMerk'];?></td> e
<td><?php echo $data['NamaKategori'];?></td> x
t
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
29. Pengolahan Data Produk
29
(View Produk)
<td align="right"><?php echo fumber_format($data['harga'],0);?></td>
<td align="right"><?php echo number_format($data['diskon'],0);?></td>
<td align="right"><?php echo number_format($data['stok'],0);?>%</td>
<td align="center"><?php echo $data['dijual'];?></td>
</tr>
<?php
}
?>
</table>
<?php
}
else{
?>
<div class="warning">Data produk tidak ditemukan!.</div>
<?php
}
?>
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
30. Pengolahan Data Produk
30
(View Produk)
Jalankan view produk dengan mengklik “View”.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
31. 31
Untuk pengeditan dan lain-lain, silahkan
berimprovisasi.
Silahkan diskusikan di mailinglist.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)