SlideShare a Scribd company logo
LAPORAN PRAKTIKUM
BENGKEL WEB 2 (PHP)
MODUL 5 – MODUL 8
OKTA RIVERANDA
1257301042
Modul 5. Baca File, Upload (Unggah) File, Cookies dan
Session
1. Membaca File
Script Penjelasan
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
$file = fopen("halo.txt", "r") or exit("Unable to open file!");
while(!feof($file)){
echo fgets($file)."<br />";
}
fclose($file);
$file = fopen("halo.txt", "r")or exit("Unable to open file!");
while(!feof($file)){
echo fgetc($file)."<br />";
}
fclose($file);
?>
Terdapat sebuah fungsi didalam
PHP yang memungkinkan untuk
mengolah file, yang dalam hal ini
adalah file berekstensi .txt .
fopen(“halo.txt”, “r”) : membuka file
dengan nama halo.txt .
Fungsi feof() : mengecek akhir dari file.
Fungsi fgets() : membaca file per baris.
Fungsi fgetc() : membaca file per
karakter
Output
2. Form Upload File
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
?>
<html>
<head>
<title>Upload File</title>
</head>
<body>
<form action="Modul_5_UploadTampil.php" method="post" enctype="multipart/form-
data">
<center>
File Name : <input type="file" name="file" id="file"><br />
<input type="submit" value="SEND">
</center>
</form>
</body>
</html>
Penjelasan
Program di atas merupakan program yang digunakan untuk membuat tampilan fisik inputan dari
penguploadan file.
Output
3. Tampil Hasil Upload
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
if($_FILES['file']['error'] > 0){
echo "Error : ".$_FILES['file']['error']."<br />";
}else{
$uploadFolder = 'uploaded/';
$namaFile = $_FILES['file']['name'];
$tmp = $_FILES['file']['tmp_name'];
echo "Upload : ".$namaFile."<br />";
echo "Type : ".$_FILES['file']['type']."<br />";
echo "Size : ".($_FILES['file']['size'] / 1024)."kB <br />";
echo "Stored in : ".$uploadFolder."/".$namaFile;
move_uploaded_file($tmp, "$uploadFolder/$namaFile");
}
?>
Penjelasan
Baris 7 : Pengondisian apabila terdapat error sesaat setelah menginputkan file.
Baris 9 – 19 : Merupakan kondisi apabila file yang diinputkan benar.
Baris 10 : Adalah variabel yang merujuk kepada nama folder tempat menyimpan file tersebut.
Baris 11 : Variabel yang merujuk kepada nama file yang diupload.
Baris 13 : Tempat penyimpanan sementara.
Baris 14 : Menampilkan nama file yang sudah tersimpan ke dalam server.
Baris 15 : Menampilkan tipe file yang diupload.
Baris 16 : Menampilkan ukuran file dalam ukuran kilo Byte.
Baris 17 : Menampilkan lokasi penyimpanan file yang berada di server.
Baris 18 : Memindahkan file yang tadinya berada di tempat penyimpanan sementara ke tempai
penyimpanan server.
Output
File yang diupload bernama localhost.sql, telah disimpan ke dalam server.
4. Cookies
Script
<?php
//Nama : Okta Riveranda
//Kelas : 1 SI B
//NIM : 1257301042
setcookie("user", "Okta Riveranda", time()+3600);
setcookie("status", "Administrator",time()+3600);
?>
<html>
<head>
<title>Cookies</title>
</head>
<body>
<?php echo $_COOKIE['user']."<br />"; ?>
<?php print_r($_COOKIE); ?>
</body></html>
Penjelasan
Fungsi setcookie() merupakan fungsi built – in PHP yang digunakan untuk mengatur keaktifan user pada
saat sedang mengakses web. Fungsi time adalah memberikan batasan waktu atas keaktifan user.
Output
5. Session
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
session_start();
$_SESSION['name'] = "Okta Riveranda";
$_SESSION['band'] = "Senior Software Engineer";
?>
<html>
<head>
<title>Session</title>
</head>
<body>
<?php
echo "Nama : ".$_SESSION['name']."<br />";
echo "Band : ".$_SESSION['band']."<br />";
?>
<a href="Modul_5_Session2.php">Cek Session Aktif</a>
</body>
</html>
Penjelasan
Selain cookie, ada suatu fungsi built – in pada PHP yang memberikan manfaat sebagaiman
manfaat dari penggunaan cookie. Fungsi tersebut adalah session. Jika cookie memberikan batasan waktu
pada keaktifan user, maka session tidak memberikan itu. Session bekerja secara manual (tidak
menggunakan batasan waktu), sehingga akan ada banyak fungsi yang digunakan untuk mengaktifkan dan
menonaktifkan user.
Output
6. Session 2
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
session_start();
?>
<html>
<head>
<title>Session Aktif</title>
</head>
<body>
<h3>Apakah sessionnya masih aktif</h3>
<?php
echo "Nama : ".$_SESSION['name']."<br />";
echo "Band : ".$_SESSION['band']."<br />";
if(!empty($_SESSION['name'])){
echo "<h5>Oh, tidak error, berarti session masih aktif</h5>";
}else{
echo "<h5>Oh, error, berarti session telah dihapus !</h5>";
}
echo "<a href='Modul_5_Session3.php'>Hancurkan Session</a>";
?>
</body>
</html>
Penjelasan
Program di atas adalah program yang digunakan untuk mengecek keaktifan dari sebuah user..
Output
7. Session 3
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
session_start();
session_destroy();
unset($_SESSION['name']);
unset($_SESSION['band']);
?>
<html>
<head>
<title>Session Destroy</title>
</head>
<body>
<h3>Kalau error, berarti benar, session telah dihapus</h3>
<?php
echo "Nama : ".$_SESSION['name']."<br />";
echo "Band : ".$_SESSION['band']."<br />";
?>
<a href="Modul_5_Session.php">Buat session lagi, ah !</a>
</body>
</html>
Penjelasan
Program di atas adalah program yang digunakan untuk menghancurkan sesi dari user yang sedang aktif.
Output
8. Soal 2
Script
<?php
//Nama : Okta Riveranda
//NIM ; 1257301042
//Kelas : 1 SI B
$file = fopen("Modul_5_Soal1.txt", "r") or exit("Unable to read a file !");
while(!feof($file)){
echo fgets($file);
}
fclose($file);
?>
Penjelasan
Soal 2 adalah implementasi dari soal 1 yang ditujukan untuk membuat sebuah program yang akan
menampilkan apa apa yang sudah ditulis pada file Modul_5_Soal1.txt
Output
9. Soal 3A
Script
<?php
//Nama : Okta Riveranda
//NIM ; 1257301042
//Kelas : 1 SI B
?>
<html>
<head>
<title>Login Form</title>
</head>
<body>
<form action="Modul_5_Soal3B.php" method="post">
<table align="center">
<tr>
<td>
Username
</td>
<td>
: <input type="text" size="30" required name="name">
</td>
</tr>
<tr>
<td>
Password
</td>
<td>
: <input type="password" size="30" required
name="pass">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="LOGIN">
</td>
</tr>
</table>
</form>
</body>
</html>
Penjelasan
Sebuah program untuk menampilkan tampilan fisik dari form login.
Output
10. Soal 3B
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 Si B
session_start();
$user = $_POST['name'];
$pass = $_POST['pass'];
if(($user == "saya") && ($pass == "admin")){
$SESSION['name'] = $user;
$SESSION['name'] = $pass;
header('location:Modul_5_Soal3C.php');
}else{
include_once "Modul_5_Soal3A.php";
echo "<center><h3>Kesalahan username dan password</h3></center>";
}
?>
Penjelasan
Program yang berfungsi untuk menentukan apakah form yang diinputkan oleh user sesuai dengan
yang ditentukan oleh pemrogram. Apabila user lolos dalam penyeleksian tersebut maka, user akan
langsung dibawa ke halaman admin dengan menggunakan header.
Output
Output 2
Apabila terjadi kesalahan pada saat penginputan usernam dan password atau dengan kata lain,
inputan tidak sesuai dengan apa yang telah ditentukan pemrogram maka, akan muncul output seperti
berikut di bawah ini.
11. Soal 3C
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
session_start();
session_destroy();
?>
<html>
<head>
<title>Admin</title>
</head>
<body>
<center><h1>Welcome to admin page !</h1></center>
<center><h3><a href="Modul_5_Soal3A.php">Kembali Login</a></h3></center>
</body>
</html>
Penjelasan
Program di atas adalah apa yang akan ditampilkan apabila user dipersilakan masuk atau dengan
kata lain apa yang diinputkan sesuai dengan ketentuan pemrogram.
Output
Modul 6. Baca File, Upload (Unggah) File, Cookies dan
Session
1. Error
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
?>
<?php
function customError($errno, $errstr){
echo "<b>Error : </b>[$errno] $errstr";
}
set_error_handler("customError");
echo($test)."<br />";
print $_GET['id'];
$file = fopen("welcome.txt", "r");
?>
Penjelasan
Program di atas sudah sangat jelas terjadi kesalahan, disebabkan oleh tidak adanya
pendeklarasian variabel. Sehingga akan muncul pesan kesalahan “undefined” atau tidak terdefinisi.
Output
2. Error (modified)
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
?>
<?php
function customError($errno, $errstr){
echo "<b>Error : </b>[$errno] $errstr";
}
set_error_handler("customError");
echo($test)."<br />";
print $_GET['id'];
$file = fopen("welcome.txt", "r");
?>
Penjelasan
Untuk menanggulangi kesalahan tersebut maka diperlukan perubahan pada syntax yang ditulis.
Perubahan yang dilakukan bukan untuk menampilkan pernyataan yang benar, melainkan menampilkan
kesalahan agar tampa lebih rapi. Inilah yang disebut sebagai error handling. Bahasa PHP sudah
menyediakan fungsi built – in untuk itu.
Output
3. Filtering Integer
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
$int = 123;
if(!filter_var($int, FILTER_VALIDATE_INT)){
echo "Tidak valid ! Data tidak integer !";
}else{
echo "Valid ! Data integer !";
}
echo "<br />";
$var = 300;
$int_options = array("options"=>array("min_range"=>0, "max_range"=>256));
if(!filter_var($var, FILTER_VALIDATE_INT,$int_options)){
echo "data valid dan di dalam range";
}else{
echo "data tidak valid atau di luar range !";
}
?>
Penjelasan
Salah satu bentuk penanggulangan yang ada adalah, menanggulangi terjadinya kesalahan tipe
pada suatu variabel. Dalam kasus ini adalah tipe integer.
Ada 2 variabel yang akan diproses kebenarannya disini :
1. $int = 123. Variabel ini akan diuji apakah ia termasuk variabel bertipe integer atau tidak.
2. $var = 300. Variabel ini akan diuji apakah ia tidak berada di dalam antara bilangan 0 sampai 256.
Output
4. Filtering Email
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
if(!filter_has_var(INPUT_GET,"email")){
echo "Data email tidak ada";
}else{
if(!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)){
echo "Email tidak valid !";
}else{
echo "Email valid <br />";
print $_GET['email'];
}
}
?>
Penjelasan
Selain memberikan fungsi validasi, PHP juga memberikan fungsi untuk memvalidasi apakah
suatu inputan termasuk tipe data email ataukah tidak.
Output
Output 2
Apabila terjadi kesalahan atau dengan kata lain, inputan tidak sesui dengan ketentuan atau format email,
maka akan tampil pesan berikut :
5. Soal 1
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
?>
<html>
<head>
<title>Form Input</title>
</head>
<body marginwidth="500">
<form action="Modul_6_Soal2.php" method="post">
<fieldset>
<table width="500" align="center">
<tr>
<td>Nama</td>
<td>: <input type="text" name="nama" size="30">
</tr>
<tr>
<td>NIM</td>
<td>: <input type="text" name="nim" size="30">
</tr>
<tr>
<td>Umur</td>
<td>: <input type="text" name="umur" size="30">
</tr>
<tr>
<td>Email</td>
<td>: <input type="text" name="email" size="30">
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="SEND">
</td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
Penjelasan
Program di atas adalah program yang digunakan untuk menampilkan form inputan yang nantinya
akan dikonfigurasi oleh file Modul_6_Soal2.php .
Output
6. Soal 2 (lanjutan)
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
$nama = $_POST['nama'];
$nim = $_POST['nim'];
$umur = $_POST['umur'];
$email = $_POST['email'];
$urut_pesan = 0;
$pesan;
$counter = 0;
function cekNama($name){
global $pesan;
global $counter;
if(filter_var($name, FILTER_VALIDATE_INT)){
$pesan[] = "Nama harus bertipe String !";
$counter++;
}
return $pesan;
}
function cekNim($nomor){
global $pesan;
global $counter;
if(!filter_var($nomor, FILTER_VALIDATE_INT)){
$pesan[] = "NIM harus bertipe integer !";
$counter++;
}
return $pesan;
}
function cekUmur($usia){
global $pesan;
global $counter;
if(!filter_var($usia, FILTER_VALIDATE_INT)){
$pesan[] = "Umur harus bertipe integer !";
$counter++;
}
return $pesan;
}
function cekEmail($imel){
global $pesan;
global $counter;
if(!filter_has_var(INPUT_POST,$imel)){
echo "Data email tidak ada";
}else{
if(!filter_input(INPUT_POST, $imel, FILTER_VALIDATE_EMAIL)){
echo "Email tidak valid !";
}else{
echo "Email valid <br />";
print $_POST['email'];
}
}
return $pesan;
}
cekNama($nama);
cekNim($nim);
cekUmur($umur);
cekEmail($email);
if($counter>0){
echo "<center>";
include_once "Modul_6_Soal1.php";
echo "Kesalahan inputan : <br />";
foreach ($pesan as $pesan_tampil) {
$urut_pesan++;
echo "<font color='#FF0000'>";
echo "$urut_pesan . $pesan_tampil <br>";
echo "</font>";
}
echo "</center>";
}else{
header('location:admin.php');
}
?>
Penjelasan
Program di atas adalah program yang bertujuan untuk memebrikan error handling pada program
soal nomor 1. Program ini akan memeriksa apakah inputan user tersebut sesuai dengan tipe data yang
diiinginkan sistem atau tidak. Jika ada kesalahan dalam penginputan, maka sistem akan memberikan
pesan kesalahan yang menunjukkan kesalahan dari inputan user.
1. Fungsi cekNama($name) : Adalah fungsi yang bertujuan untuk menampilkan kesalahan apabila
variabel nama bertipe int.
2. Fungsi cekNim($nomor) : Adalah fungsi yang bertujuan untuk memeriksa apakah inputan untuk
nim bertipe int atau tidak. Jika tidak, maka sistem akan menampilkan pesan kesalahan.
3. Fungsi cekUmur($usia) : Adalah fungsi yang bertujuan untuk memeriksa apakah inputan umur
bertipe int atau tidak.
4. Fungsi cekEmail($imel) : Adalah fungsi yang berfungsi untuk memvalidasi apakah inputan
bertipe email atau tidak.
Output
7. Soal nomor 3 (lanjutan)
Script
<?php
//Nama : Okta Riveranda
//NIM : 1257301042
//Kelas : 1 SI B
$nama = $_POST['nama'];
$nim = $_POST['nim'];
$umur = $_POST['umur'];
$email = $_POST['email'];
$urut_pesan = 0;
$pesan;
$counter = 0;
function cekNama($name){
global $pesan;
global $counter;
if(filter_var($name, FILTER_VALIDATE_INT)){
$pesan[] = "Nama harus bertipe String !";
$counter++;
}
return $pesan;
}
function cekNim($nomor){
global $pesan;
global $counter;
if(!filter_var($nomor, FILTER_VALIDATE_INT)){
$pesan[] = "NIM harus bertipe integer !";
$counter++;
}
return $pesan;
}
function cekUmur($usia){
global $pesan;
global $counter;
if(!filter_var($usia, FILTER_VALIDATE_INT)){
$pesan[] = "Umur harus bertipe integer !";
$counter++;
}
return $pesan;
}
function cekEmail($imel){
global $pesan;
global $counter;
if(!filter_has_var(INPUT_POST,$imel)){
echo "Data email tidak ada";
}else{
if(!filter_input(INPUT_POST, $imel, FILTER_VALIDATE_EMAIL)){
echo "Email tidak valid !";
}else{
echo "Email valid <br />";
print $_POST['email'];
}
}
return $pesan;
}
if(empty($nama)){
$pesan[] = "Data Nama Kosong !";
$counter++;
}if(empty($nim)){
$pesan[] = "Data NIM kosong !";
$counter++;
}if(empty($umur)){
$pesan[] = "Data umur Kosong !";
$counter++;
}if(empty($email)){
$pesan[] = "Data email kosong !";
$counter++;
}
cekNama($nama);
cekNim($nim);
cekUmur($umur);
cekEmail($email);
if($counter>0){
echo "<center>";
include_once "Modul_6_Soal1.php";
echo "Kesalahan inputan : <br />";
foreach ($pesan as $pesan_tampil) {
$urut_pesan++;
echo "<font color='#FF0000'>";
echo "$urut_pesan . $pesan_tampil <br>";
echo "</font>";
}
echo "</center>";
}else{
header('location:admin.php');
}
?>
Penjelasan
Syntax di atas adalah syntax tambahan dari error handler sebelumnya yang akan berfungsi
menampilkan error sesuaidengan error pada inputannya.
Output
Modul 7. PHP dan Database MySQL (1)
1. Membuat Database
Script
Syntax : mysql –u root [Enter]
Untuk mengakses mysql pada xampp server, maka kita harus masuk pada direktori
xamppmysqlbin dengan cara cd xamppmysqlbin. Kemudian login dengan mengetikkan syntax mysql
–u root. Pada syntax tersebut terdapat –u, ini adalah singkatan dari username jadi, kita menggunakan root
untuk mengakses database mysql.
Syntax : use bw2db [Enter].
Untuk membuat sebuah database bernama
BW2db pada mysql, gunakan syntax
CREATE DATABASE BW2db.
Kemudian, untuk menggunakan atau
untuk berada di posisi aktif pada suatu
database, gunakan syntax use BW2db.
Syntax :
1. Create table mahasiswa(
2. id int(20) NOT NULLAUTO_INCREMENT,
3. nama varchar(255) NOT NULL,
4. nim varchar(255),
5. kelas varchar(255),
6. username varchar(255),
7. password varchar(255),
8. PRIMARYKEY(id)
9. );
Syntax yang digunakan untuk membuat
suatu table yang bernama mahasiswa di
dalam database adalah create table
mahasiswa.
Di dalam tabel tersebut diisi oleh
beberapa field :
1. id : int (10 karakter),
2. nama : varchar (255 karakter),
3. nim : varchar (255 karakter),
4. kelas : varchar (255 karakter),
5. username : varchar (255
karakter),
6. password : varchar (255 karakter),
7. dan id sebagai PRIMARY KEY-
nya.
Untuk melihat apakah table tersebut telah
terbentuk atau belum, dapat digunakan
syntax show tables;
Syntax :
1. insert into mahasiswa
2. (nama, nim, kelas, username,password)
3. values
4. (‘Ujang 1’, ‘11234’, ‘1SIB’, ‘ujang’,
MD5(ujang00)),
5. (‘Badu 2’, ‘22234’, ‘1SIB’, ‘badu’, MD5(badu00)),
6. (‘Surono 3’, ‘33234’, ‘1SIB’, ‘surono’,
MD5(surono00)),
7. (‘Aibekop 4’, ‘44234’, ‘1SIB’, ‘aibekop’,
MD5(aibekop00));
Syntax yang digunakan untuk
menginputkan data secara manual adalah
insert into nama_table (field1, field2,
..field n) values (isi_field1, isi_field2,
isi_fieldn);
2. Membuat koneksi ke database
Script
<?php
$con = mysqli_connect("localhost", "root", "", "bw2db");
if(mysqli_connect_errno($con)){
echo "Failed to connect to MySQL : ".mysqli_connect_error();
}else{
echo "Successfully connected !";
}
?>
Penjelasan
Program di atas adalah program yang digunakan untuk mengkoneksikan file PHP dengan DBMS
MySQL.
Output
3. Membuat Tabel Mata Kuliah
Script Penjelasan
Syntax:
1. create table matakuliah(
2. mk_id int(20) AUTO_INCREMENT,
3. mk_nama varchar(30),
4. mk_kode varchar(10),
5. mk_dosen varchar(50),
6. PRIMARYKEY(mk_id)
7. );
Membuat tabel matakuliah tang terdiri dari
4 field :
1. mk_id : int (20 karakter).
2. mk_nama : varchar(30 karakter).
3. mk_kode : varchar(10 karakter).
4. mk_dosen : varchar(50 karakter).
4. Menginput Data pada Tabel Mata Kuliah
Script
Syntax :
1. Insert into matakuliah
2. (mk_nama, mk_kode, mk_dosen)
3. Values
4. (‘Bengkel Web 2’, ‘V2314’, ‘Muhammad Ihsan Zul’),
5. (‘Basis Data’,‘V3524’, ‘Kartina Diah KW’),
6. (‘Computer Animation’, ‘V6573’, ‘Anggi Trinadoli’),
7. (‘Basis Data Lanjut’, ‘V5464’, ‘WawanYuwanto’)
8. ;
Penjelasan
Syntax di atas digunakan untuk menginputkan data pada tabel matakuliah yang telah dibuat
sebelumnya.
5. Menampilkan Tabel Mata Kuliah
Script
Syntax :
1. show tables;
2. select * from matakuliah;
Penjelasan
Syntax di atas digunakan untuk menampilkan tabel yang ada pada database yang sedang aktif
(pada saat ini adalah database bw2db).
Modul 8. PHP dan Database MySQL (2)
1. Update Tabel Mata Kuliah
Script
Syntax :
update matakuliah set mk_nama = ‘Animation’, ‘V3333’ WHERE mk_id = 3;
select * from matakuliah;
Penjelasan
Syntax di atas digunakan untuk mengupdate (mengubah) suat field yang bernama mk_nama, dan
mk_kode,yang mana mk_id = 3.
Format syntaxnya adalah update nama_tabel set field1 = ‘’, field2 = ‘’fieldn=’’where fieldx =
‘’;
2. Delete Tabel Mata Kuliah
Script
Penjelasan
Syntax di atas digunakan untuk menghapus suatu field pada tabel yang diinginkan. Pada contoh
program di atas,field yang akan dihapus adalah field yang memiliki mk_id = 4;
Format syntaxnya adalah delete from matakuliah where mk_id = 4;
3. Query Database BW2db
Script
<?php
$con = mysqli_connect("localhost", "root", "", "bw2db");
if(mysqli_connect_errno($con)){
echo "Gagal terhubung ke mySQL : ".mysqli_connect_error();
}
$query = mysqli_query($con, "select * from mahasiswa");
while($m = mysqli_fetch_array($query)){
echo "Nama : ".$m['nama']."<br />NIM : ".$m['nim']."<br />";
}
?>
Penjelasan
Program di atas program yang digunakan untuk :
1. Menghubungkan file PHP dengan tabel mahasiswa yang terdapat pada database bernama bw2db.
2. Menampilkan data tabel matakuliah dengan menggunakan looping dan array.
Output
4. Query Database BW2db 2
Script
<?php
$con = mysqli_connect("localhost", "root", "", "bw2db");
if(mysqli_connect_errno($con)){
echo "Gagal terhubung ke mySQL : ".mysqli_connect_error();
}
$query = mysqli_query($con, "select * from mahasiswa");
while($m = mysqli_fetch_object($query)){
echo "Nama : ".$m->nama."<br />NIM : ".$m->nim."<br />";
}
?>
Penjelasan
Program di atas merupakan suatu bentuk lain dari pengimplementasian dari program sebelumnya.
Jika sebelumnya, pemanggilan isi tabel masih bersifat prosedural, maka pada program ini pemanggilan isi
tabel bersifat OOP. Itu terdapat pada baris ke – 11. $m->nama dan $m->nim.
Output
5. Query Database BW2db 3
Script
<?php
$con = mysqli_connect("localhost", "root", "", "bw2db");
if(mysqli_connect_errno($con)){
echo "Gagal terhubung ke mySQL : ".mysqli_connect_error();
}
$query = mysqli_query($con, "select * from mahasiswa");
$total = mysqli_num_rows($query);
echo $total;
?>
Penjelasan
Untuk menampilkan banyak baris pada suatu tabel, maka digunakan fungsi PHP yang bernama
mysqli_num_rows($var);.
Output
6. Soal 1
Script
Syntax :
Delete from matakuliah where mk_id = 4;
select * from matakuliah;
Penjelasan
Menghapus field dengan mk_id = 4.
7. Soal 2
Script
Syntax :
Update mahasiswa set nama = ‘Okta Riveranda’, kelas = ‘1SIB’, username = ‘Okta’, password = ‘okta00’
where nim = ‘44234’;
Penjelasan
Mengubah data dari field yang nim = 44234.
8. Soal 3
Script
<?php
$con = mysqli_connect("localhost", "root", "", "bw2db");
if(mysqli_connect_errno($con)){
echo "Gagal Koneksi database !";
}
$query = mysqli_query($con, "SELECT * FROM matakuliah");
while($data = mysqli_fetch_array($query)){
echo "-------------------------------------<br />";
echo "Mata Kuliah : ".$data['mk_nama']."<br />";
echo "Kode Mata Kuliah : ".$data['mk_kode']."<br />";
echo "Dosen Pengampu : ".$data['mk_dosen']."<br />";
}
?>
Penjelasan
Menampilkan isi dari tabel matakuliah dengan menggunakan fungsi array (prosedural) pada PHP.
Output
9. Soal 4
Script
<?php
$con = mysqli_connect("localhost", "root", "", "bw2db");
if(mysqli_connect_errno($con)){
echo "Gagal Koneksi database !";
}
$query = mysqli_query($con, "SELECT * FROM matakuliah");
while($data = mysqli_fetch_object($query)){
echo "-------------------------------------<br />";
echo "Mata Kuliah : ".$data->mk_nama."<br />";
echo "Kode Mata Kuliah : ".$data->mk_kode."<br />";
echo "Dosen Pengampu : ".$data->mk_dosen."<br />";
}
?>
Penjelasan
Menampilkan isi dari tabel matakuliah dengan menggunakan fungsi object (OOP) pada PHP.
Output
10. Soal 5
Script
<?php
$con = mysqli_connect("localhost", "root", "", "bw2db");
if(mysqli_connect_errno($con)){
echo "Gagal Koneksi database !";
}
$query = mysqli_query($con, "SELECT * FROM matakuliah");
$rows = mysqli_num_rows($query);
if($rows>4){
echo "<b><i>Mata Kuliah pada semester ini telah cukup</i></b>";
}elseif($rows<4){
echo "<b><i>Mata Kuliah yang tersedia tidak cukup, tambahkan Mata Kuliah</i></b>";
}
?>
Penjelasan
Memberikan kondisi, apabila jumlah baris besar dari empat, maka akan tampil pernyataan :
“Mata Kuliah pada semester ini telah cukup”, jika tidak, maka : “Mata Kuliah yang tersedia tidak cukup
tambahkan Mata Kuliah”.
Karena jumlah baris pada tabel matakuliah = 3, maka akan muncul pernyataan seperti di bawah
ini :
Output

More Related Content

DOCX
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
PPT
Pengantar Sistem Berkas (Lanjutan)
DOCX
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
PPT
Modul 4 representasi pengetahuan
PPTX
Pembuatan uml pada toko belanja online
PPT
5 Macam Metode Dasar Kriptografi
PDF
Basis Data Client-Server
ODP
Mata Kuliah Basis Data
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Pengantar Sistem Berkas (Lanjutan)
Makalah Perancangan ERD & LRS Pada Sistem Pemesanan Hotel
Modul 4 representasi pengetahuan
Pembuatan uml pada toko belanja online
5 Macam Metode Dasar Kriptografi
Basis Data Client-Server
Mata Kuliah Basis Data

What's hot (20)

PPTX
membuat function dalam mysql
PPTX
Data Flow Diagram
PPTX
ARSITEKTUR MODEL BASIS DATA
PDF
4 diagram relasi antar entitas (ERD)
PPTX
Ancaman-Ancaman pada Keamanan Jaringan Komputer
DOCX
Data Base Tiket Pesawat
DOC
Soal praktek ms.word
PPT
Kebutuhan perangkat lunak
PPTX
Embedded System.pptx
DOCX
Laporan analisis sistem informasi
PPTX
Etika dalam sistem informasi kel 2 ppt
PPTX
Ppt dns server
PDF
6 tahap perancangan database
PDF
3 model data
PPTX
Pertemuan 5 dan 6 representasi pengetahuan
DOCX
Listing Program Penjualan Sepatu
PPTX
Java ppt
DOCX
Bank Soal Lomba Cerdas Cermat IT
DOCX
SOAL ESSAY HOTS KOMPUTER JARINGAN DASAR KELAS X MULTIMEDIA
PDF
Tugas MPPL 4 - Project Charter Sistem Informasi Manajemen Kesehatan Peserta D...
membuat function dalam mysql
Data Flow Diagram
ARSITEKTUR MODEL BASIS DATA
4 diagram relasi antar entitas (ERD)
Ancaman-Ancaman pada Keamanan Jaringan Komputer
Data Base Tiket Pesawat
Soal praktek ms.word
Kebutuhan perangkat lunak
Embedded System.pptx
Laporan analisis sistem informasi
Etika dalam sistem informasi kel 2 ppt
Ppt dns server
6 tahap perancangan database
3 model data
Pertemuan 5 dan 6 representasi pengetahuan
Listing Program Penjualan Sepatu
Java ppt
Bank Soal Lomba Cerdas Cermat IT
SOAL ESSAY HOTS KOMPUTER JARINGAN DASAR KELAS X MULTIMEDIA
Tugas MPPL 4 - Project Charter Sistem Informasi Manajemen Kesehatan Peserta D...
Ad

Similar to Laporan Praktikum Web dengan PHP (20)

PDF
Modul php 4
PDF
Modul php 4
DOC
09071003002 session dan fungsinya
PDF
10 pemrograman internet php (2)
DOC
Tugas session (hanni si6 b-40)
PDF
MODUL 7 WEB.pdf
DOCX
Fungsi-Fungsi PHP
PDF
04. session1 konsep dasar session
DOC
Contoh Session By Tugas Session Hanni
PDF
web_server-side-scripting2.pdf
PDF
Frameworkoop2
PPTX
PPT Pertemuan 06 Web Developer VSGA DTS 2022.pptx
PDF
Modul php 1
DOCX
Modul Praktikum PW 2016 Bab 4 - OperasiFile
PDF
Web dinamis
PDF
11 aplikasi teknologi online - session dan aplikasinya
PPTX
Berkenalan dengan bahasa php pemrograman web
PDF
Analisis Suatu Script Web
PDF
Login dengan-session
DOCX
Belajar PHP
Modul php 4
Modul php 4
09071003002 session dan fungsinya
10 pemrograman internet php (2)
Tugas session (hanni si6 b-40)
MODUL 7 WEB.pdf
Fungsi-Fungsi PHP
04. session1 konsep dasar session
Contoh Session By Tugas Session Hanni
web_server-side-scripting2.pdf
Frameworkoop2
PPT Pertemuan 06 Web Developer VSGA DTS 2022.pptx
Modul php 1
Modul Praktikum PW 2016 Bab 4 - OperasiFile
Web dinamis
11 aplikasi teknologi online - session dan aplikasinya
Berkenalan dengan bahasa php pemrograman web
Analisis Suatu Script Web
Login dengan-session
Belajar PHP
Ad

Recently uploaded (9)

PDF
Struktur Data - 4 Pointer & Linked List
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPTX
BAHASA MELAYU STANDARD kwjekqjeljwqelkqw
PDF
Struktur Data - 2 Pengantar Struktur Data
PDF
Struktur Data - 3 Array: Konsep & Implementasi
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
PPTX
Pengantar Kriptografi - Keamanan dan Data Privasi
PDF
Struktur Data - 1 Kontrak Perkuliahan
PPTX
Fiber_expert_development_program_rev.1.pptx
Struktur Data - 4 Pointer & Linked List
Materi_Array_Karakter_String untuk kelas XI sma.pptx
BAHASA MELAYU STANDARD kwjekqjeljwqelkqw
Struktur Data - 2 Pengantar Struktur Data
Struktur Data - 3 Array: Konsep & Implementasi
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Pengantar Kriptografi - Keamanan dan Data Privasi
Struktur Data - 1 Kontrak Perkuliahan
Fiber_expert_development_program_rev.1.pptx

Laporan Praktikum Web dengan PHP

  • 1. LAPORAN PRAKTIKUM BENGKEL WEB 2 (PHP) MODUL 5 – MODUL 8 OKTA RIVERANDA 1257301042
  • 2. Modul 5. Baca File, Upload (Unggah) File, Cookies dan Session 1. Membaca File Script Penjelasan <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B $file = fopen("halo.txt", "r") or exit("Unable to open file!"); while(!feof($file)){ echo fgets($file)."<br />"; } fclose($file); $file = fopen("halo.txt", "r")or exit("Unable to open file!"); while(!feof($file)){ echo fgetc($file)."<br />"; } fclose($file); ?> Terdapat sebuah fungsi didalam PHP yang memungkinkan untuk mengolah file, yang dalam hal ini adalah file berekstensi .txt . fopen(“halo.txt”, “r”) : membuka file dengan nama halo.txt . Fungsi feof() : mengecek akhir dari file. Fungsi fgets() : membaca file per baris. Fungsi fgetc() : membaca file per karakter
  • 3. Output 2. Form Upload File Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B ?> <html> <head> <title>Upload File</title> </head> <body> <form action="Modul_5_UploadTampil.php" method="post" enctype="multipart/form- data">
  • 4. <center> File Name : <input type="file" name="file" id="file"><br /> <input type="submit" value="SEND"> </center> </form> </body> </html> Penjelasan Program di atas merupakan program yang digunakan untuk membuat tampilan fisik inputan dari penguploadan file. Output 3. Tampil Hasil Upload Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B if($_FILES['file']['error'] > 0){ echo "Error : ".$_FILES['file']['error']."<br />"; }else{ $uploadFolder = 'uploaded/'; $namaFile = $_FILES['file']['name']; $tmp = $_FILES['file']['tmp_name']; echo "Upload : ".$namaFile."<br />"; echo "Type : ".$_FILES['file']['type']."<br />"; echo "Size : ".($_FILES['file']['size'] / 1024)."kB <br />"; echo "Stored in : ".$uploadFolder."/".$namaFile; move_uploaded_file($tmp, "$uploadFolder/$namaFile"); } ?>
  • 5. Penjelasan Baris 7 : Pengondisian apabila terdapat error sesaat setelah menginputkan file. Baris 9 – 19 : Merupakan kondisi apabila file yang diinputkan benar. Baris 10 : Adalah variabel yang merujuk kepada nama folder tempat menyimpan file tersebut. Baris 11 : Variabel yang merujuk kepada nama file yang diupload. Baris 13 : Tempat penyimpanan sementara. Baris 14 : Menampilkan nama file yang sudah tersimpan ke dalam server. Baris 15 : Menampilkan tipe file yang diupload. Baris 16 : Menampilkan ukuran file dalam ukuran kilo Byte. Baris 17 : Menampilkan lokasi penyimpanan file yang berada di server. Baris 18 : Memindahkan file yang tadinya berada di tempat penyimpanan sementara ke tempai penyimpanan server. Output File yang diupload bernama localhost.sql, telah disimpan ke dalam server. 4. Cookies Script <?php //Nama : Okta Riveranda //Kelas : 1 SI B //NIM : 1257301042 setcookie("user", "Okta Riveranda", time()+3600); setcookie("status", "Administrator",time()+3600); ?> <html> <head> <title>Cookies</title> </head> <body> <?php echo $_COOKIE['user']."<br />"; ?> <?php print_r($_COOKIE); ?> </body></html>
  • 6. Penjelasan Fungsi setcookie() merupakan fungsi built – in PHP yang digunakan untuk mengatur keaktifan user pada saat sedang mengakses web. Fungsi time adalah memberikan batasan waktu atas keaktifan user. Output 5. Session Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B session_start(); $_SESSION['name'] = "Okta Riveranda"; $_SESSION['band'] = "Senior Software Engineer"; ?> <html> <head> <title>Session</title> </head> <body> <?php echo "Nama : ".$_SESSION['name']."<br />"; echo "Band : ".$_SESSION['band']."<br />"; ?> <a href="Modul_5_Session2.php">Cek Session Aktif</a> </body> </html> Penjelasan Selain cookie, ada suatu fungsi built – in pada PHP yang memberikan manfaat sebagaiman manfaat dari penggunaan cookie. Fungsi tersebut adalah session. Jika cookie memberikan batasan waktu pada keaktifan user, maka session tidak memberikan itu. Session bekerja secara manual (tidak menggunakan batasan waktu), sehingga akan ada banyak fungsi yang digunakan untuk mengaktifkan dan menonaktifkan user. Output
  • 7. 6. Session 2 Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B session_start(); ?> <html> <head> <title>Session Aktif</title> </head> <body> <h3>Apakah sessionnya masih aktif</h3> <?php echo "Nama : ".$_SESSION['name']."<br />"; echo "Band : ".$_SESSION['band']."<br />"; if(!empty($_SESSION['name'])){ echo "<h5>Oh, tidak error, berarti session masih aktif</h5>"; }else{ echo "<h5>Oh, error, berarti session telah dihapus !</h5>"; } echo "<a href='Modul_5_Session3.php'>Hancurkan Session</a>"; ?> </body> </html> Penjelasan Program di atas adalah program yang digunakan untuk mengecek keaktifan dari sebuah user.. Output
  • 8. 7. Session 3 Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B session_start(); session_destroy(); unset($_SESSION['name']); unset($_SESSION['band']); ?> <html> <head> <title>Session Destroy</title> </head> <body> <h3>Kalau error, berarti benar, session telah dihapus</h3> <?php echo "Nama : ".$_SESSION['name']."<br />"; echo "Band : ".$_SESSION['band']."<br />"; ?> <a href="Modul_5_Session.php">Buat session lagi, ah !</a> </body> </html> Penjelasan Program di atas adalah program yang digunakan untuk menghancurkan sesi dari user yang sedang aktif.
  • 9. Output 8. Soal 2 Script <?php //Nama : Okta Riveranda //NIM ; 1257301042 //Kelas : 1 SI B $file = fopen("Modul_5_Soal1.txt", "r") or exit("Unable to read a file !"); while(!feof($file)){ echo fgets($file); } fclose($file); ?> Penjelasan Soal 2 adalah implementasi dari soal 1 yang ditujukan untuk membuat sebuah program yang akan menampilkan apa apa yang sudah ditulis pada file Modul_5_Soal1.txt Output
  • 10. 9. Soal 3A Script <?php //Nama : Okta Riveranda //NIM ; 1257301042 //Kelas : 1 SI B ?> <html> <head> <title>Login Form</title> </head> <body> <form action="Modul_5_Soal3B.php" method="post"> <table align="center"> <tr> <td> Username </td> <td> : <input type="text" size="30" required name="name"> </td> </tr> <tr> <td> Password </td> <td> : <input type="password" size="30" required name="pass"> </td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="LOGIN"> </td> </tr> </table> </form> </body> </html> Penjelasan Sebuah program untuk menampilkan tampilan fisik dari form login.
  • 11. Output 10. Soal 3B Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 Si B session_start(); $user = $_POST['name']; $pass = $_POST['pass']; if(($user == "saya") && ($pass == "admin")){ $SESSION['name'] = $user; $SESSION['name'] = $pass; header('location:Modul_5_Soal3C.php'); }else{ include_once "Modul_5_Soal3A.php"; echo "<center><h3>Kesalahan username dan password</h3></center>"; } ?> Penjelasan Program yang berfungsi untuk menentukan apakah form yang diinputkan oleh user sesuai dengan yang ditentukan oleh pemrogram. Apabila user lolos dalam penyeleksian tersebut maka, user akan langsung dibawa ke halaman admin dengan menggunakan header.
  • 12. Output Output 2 Apabila terjadi kesalahan pada saat penginputan usernam dan password atau dengan kata lain, inputan tidak sesuai dengan apa yang telah ditentukan pemrogram maka, akan muncul output seperti berikut di bawah ini. 11. Soal 3C Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B session_start(); session_destroy(); ?> <html> <head> <title>Admin</title> </head> <body> <center><h1>Welcome to admin page !</h1></center> <center><h3><a href="Modul_5_Soal3A.php">Kembali Login</a></h3></center> </body> </html>
  • 13. Penjelasan Program di atas adalah apa yang akan ditampilkan apabila user dipersilakan masuk atau dengan kata lain apa yang diinputkan sesuai dengan ketentuan pemrogram. Output
  • 14. Modul 6. Baca File, Upload (Unggah) File, Cookies dan Session 1. Error Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B ?> <?php function customError($errno, $errstr){ echo "<b>Error : </b>[$errno] $errstr"; } set_error_handler("customError"); echo($test)."<br />"; print $_GET['id']; $file = fopen("welcome.txt", "r"); ?> Penjelasan Program di atas sudah sangat jelas terjadi kesalahan, disebabkan oleh tidak adanya pendeklarasian variabel. Sehingga akan muncul pesan kesalahan “undefined” atau tidak terdefinisi. Output
  • 15. 2. Error (modified) Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B ?> <?php function customError($errno, $errstr){ echo "<b>Error : </b>[$errno] $errstr"; } set_error_handler("customError"); echo($test)."<br />"; print $_GET['id']; $file = fopen("welcome.txt", "r"); ?> Penjelasan Untuk menanggulangi kesalahan tersebut maka diperlukan perubahan pada syntax yang ditulis. Perubahan yang dilakukan bukan untuk menampilkan pernyataan yang benar, melainkan menampilkan kesalahan agar tampa lebih rapi. Inilah yang disebut sebagai error handling. Bahasa PHP sudah menyediakan fungsi built – in untuk itu. Output
  • 16. 3. Filtering Integer Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)){ echo "Tidak valid ! Data tidak integer !"; }else{ echo "Valid ! Data integer !"; } echo "<br />"; $var = 300; $int_options = array("options"=>array("min_range"=>0, "max_range"=>256)); if(!filter_var($var, FILTER_VALIDATE_INT,$int_options)){ echo "data valid dan di dalam range"; }else{ echo "data tidak valid atau di luar range !"; } ?> Penjelasan Salah satu bentuk penanggulangan yang ada adalah, menanggulangi terjadinya kesalahan tipe pada suatu variabel. Dalam kasus ini adalah tipe integer. Ada 2 variabel yang akan diproses kebenarannya disini : 1. $int = 123. Variabel ini akan diuji apakah ia termasuk variabel bertipe integer atau tidak. 2. $var = 300. Variabel ini akan diuji apakah ia tidak berada di dalam antara bilangan 0 sampai 256. Output
  • 17. 4. Filtering Email Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B if(!filter_has_var(INPUT_GET,"email")){ echo "Data email tidak ada"; }else{ if(!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)){ echo "Email tidak valid !"; }else{ echo "Email valid <br />"; print $_GET['email']; } } ?> Penjelasan Selain memberikan fungsi validasi, PHP juga memberikan fungsi untuk memvalidasi apakah suatu inputan termasuk tipe data email ataukah tidak. Output Output 2 Apabila terjadi kesalahan atau dengan kata lain, inputan tidak sesui dengan ketentuan atau format email, maka akan tampil pesan berikut :
  • 18. 5. Soal 1 Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B ?> <html> <head> <title>Form Input</title> </head> <body marginwidth="500"> <form action="Modul_6_Soal2.php" method="post"> <fieldset> <table width="500" align="center"> <tr> <td>Nama</td> <td>: <input type="text" name="nama" size="30"> </tr> <tr> <td>NIM</td> <td>: <input type="text" name="nim" size="30"> </tr> <tr> <td>Umur</td> <td>: <input type="text" name="umur" size="30"> </tr> <tr> <td>Email</td> <td>: <input type="text" name="email" size="30"> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="SEND"> </td> </tr> </table> </fieldset> </form> </body> </html> Penjelasan Program di atas adalah program yang digunakan untuk menampilkan form inputan yang nantinya akan dikonfigurasi oleh file Modul_6_Soal2.php .
  • 19. Output 6. Soal 2 (lanjutan) Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B $nama = $_POST['nama']; $nim = $_POST['nim']; $umur = $_POST['umur']; $email = $_POST['email']; $urut_pesan = 0; $pesan; $counter = 0; function cekNama($name){ global $pesan; global $counter; if(filter_var($name, FILTER_VALIDATE_INT)){ $pesan[] = "Nama harus bertipe String !"; $counter++; } return $pesan; } function cekNim($nomor){ global $pesan; global $counter; if(!filter_var($nomor, FILTER_VALIDATE_INT)){ $pesan[] = "NIM harus bertipe integer !"; $counter++; } return $pesan; } function cekUmur($usia){
  • 20. global $pesan; global $counter; if(!filter_var($usia, FILTER_VALIDATE_INT)){ $pesan[] = "Umur harus bertipe integer !"; $counter++; } return $pesan; } function cekEmail($imel){ global $pesan; global $counter; if(!filter_has_var(INPUT_POST,$imel)){ echo "Data email tidak ada"; }else{ if(!filter_input(INPUT_POST, $imel, FILTER_VALIDATE_EMAIL)){ echo "Email tidak valid !"; }else{ echo "Email valid <br />"; print $_POST['email']; } } return $pesan; } cekNama($nama); cekNim($nim); cekUmur($umur); cekEmail($email); if($counter>0){ echo "<center>"; include_once "Modul_6_Soal1.php"; echo "Kesalahan inputan : <br />"; foreach ($pesan as $pesan_tampil) { $urut_pesan++; echo "<font color='#FF0000'>"; echo "$urut_pesan . $pesan_tampil <br>"; echo "</font>"; } echo "</center>"; }else{ header('location:admin.php'); } ?>
  • 21. Penjelasan Program di atas adalah program yang bertujuan untuk memebrikan error handling pada program soal nomor 1. Program ini akan memeriksa apakah inputan user tersebut sesuai dengan tipe data yang diiinginkan sistem atau tidak. Jika ada kesalahan dalam penginputan, maka sistem akan memberikan pesan kesalahan yang menunjukkan kesalahan dari inputan user. 1. Fungsi cekNama($name) : Adalah fungsi yang bertujuan untuk menampilkan kesalahan apabila variabel nama bertipe int. 2. Fungsi cekNim($nomor) : Adalah fungsi yang bertujuan untuk memeriksa apakah inputan untuk nim bertipe int atau tidak. Jika tidak, maka sistem akan menampilkan pesan kesalahan. 3. Fungsi cekUmur($usia) : Adalah fungsi yang bertujuan untuk memeriksa apakah inputan umur bertipe int atau tidak. 4. Fungsi cekEmail($imel) : Adalah fungsi yang berfungsi untuk memvalidasi apakah inputan bertipe email atau tidak. Output
  • 22. 7. Soal nomor 3 (lanjutan) Script <?php //Nama : Okta Riveranda //NIM : 1257301042 //Kelas : 1 SI B $nama = $_POST['nama']; $nim = $_POST['nim']; $umur = $_POST['umur']; $email = $_POST['email']; $urut_pesan = 0; $pesan; $counter = 0; function cekNama($name){ global $pesan; global $counter; if(filter_var($name, FILTER_VALIDATE_INT)){ $pesan[] = "Nama harus bertipe String !"; $counter++; } return $pesan; } function cekNim($nomor){ global $pesan; global $counter; if(!filter_var($nomor, FILTER_VALIDATE_INT)){ $pesan[] = "NIM harus bertipe integer !"; $counter++; } return $pesan; } function cekUmur($usia){ global $pesan; global $counter; if(!filter_var($usia, FILTER_VALIDATE_INT)){ $pesan[] = "Umur harus bertipe integer !"; $counter++; } return $pesan; } function cekEmail($imel){ global $pesan; global $counter; if(!filter_has_var(INPUT_POST,$imel)){
  • 23. echo "Data email tidak ada"; }else{ if(!filter_input(INPUT_POST, $imel, FILTER_VALIDATE_EMAIL)){ echo "Email tidak valid !"; }else{ echo "Email valid <br />"; print $_POST['email']; } } return $pesan; } if(empty($nama)){ $pesan[] = "Data Nama Kosong !"; $counter++; }if(empty($nim)){ $pesan[] = "Data NIM kosong !"; $counter++; }if(empty($umur)){ $pesan[] = "Data umur Kosong !"; $counter++; }if(empty($email)){ $pesan[] = "Data email kosong !"; $counter++; } cekNama($nama); cekNim($nim); cekUmur($umur); cekEmail($email); if($counter>0){ echo "<center>"; include_once "Modul_6_Soal1.php"; echo "Kesalahan inputan : <br />"; foreach ($pesan as $pesan_tampil) { $urut_pesan++; echo "<font color='#FF0000'>"; echo "$urut_pesan . $pesan_tampil <br>"; echo "</font>"; } echo "</center>"; }else{ header('location:admin.php'); } ?> Penjelasan Syntax di atas adalah syntax tambahan dari error handler sebelumnya yang akan berfungsi menampilkan error sesuaidengan error pada inputannya. Output
  • 24. Modul 7. PHP dan Database MySQL (1) 1. Membuat Database Script Syntax : mysql –u root [Enter] Untuk mengakses mysql pada xampp server, maka kita harus masuk pada direktori xamppmysqlbin dengan cara cd xamppmysqlbin. Kemudian login dengan mengetikkan syntax mysql –u root. Pada syntax tersebut terdapat –u, ini adalah singkatan dari username jadi, kita menggunakan root untuk mengakses database mysql.
  • 25. Syntax : use bw2db [Enter]. Untuk membuat sebuah database bernama BW2db pada mysql, gunakan syntax CREATE DATABASE BW2db. Kemudian, untuk menggunakan atau untuk berada di posisi aktif pada suatu database, gunakan syntax use BW2db. Syntax : 1. Create table mahasiswa( 2. id int(20) NOT NULLAUTO_INCREMENT, 3. nama varchar(255) NOT NULL, 4. nim varchar(255), 5. kelas varchar(255), 6. username varchar(255), 7. password varchar(255), 8. PRIMARYKEY(id) 9. ); Syntax yang digunakan untuk membuat suatu table yang bernama mahasiswa di dalam database adalah create table mahasiswa. Di dalam tabel tersebut diisi oleh beberapa field : 1. id : int (10 karakter), 2. nama : varchar (255 karakter), 3. nim : varchar (255 karakter), 4. kelas : varchar (255 karakter), 5. username : varchar (255 karakter), 6. password : varchar (255 karakter), 7. dan id sebagai PRIMARY KEY- nya. Untuk melihat apakah table tersebut telah terbentuk atau belum, dapat digunakan syntax show tables; Syntax : 1. insert into mahasiswa 2. (nama, nim, kelas, username,password) 3. values 4. (‘Ujang 1’, ‘11234’, ‘1SIB’, ‘ujang’, MD5(ujang00)), 5. (‘Badu 2’, ‘22234’, ‘1SIB’, ‘badu’, MD5(badu00)), 6. (‘Surono 3’, ‘33234’, ‘1SIB’, ‘surono’, MD5(surono00)), 7. (‘Aibekop 4’, ‘44234’, ‘1SIB’, ‘aibekop’, MD5(aibekop00)); Syntax yang digunakan untuk menginputkan data secara manual adalah insert into nama_table (field1, field2, ..field n) values (isi_field1, isi_field2, isi_fieldn);
  • 26. 2. Membuat koneksi ke database Script <?php $con = mysqli_connect("localhost", "root", "", "bw2db"); if(mysqli_connect_errno($con)){ echo "Failed to connect to MySQL : ".mysqli_connect_error(); }else{ echo "Successfully connected !"; } ?> Penjelasan Program di atas adalah program yang digunakan untuk mengkoneksikan file PHP dengan DBMS MySQL. Output 3. Membuat Tabel Mata Kuliah Script Penjelasan Syntax: 1. create table matakuliah( 2. mk_id int(20) AUTO_INCREMENT, 3. mk_nama varchar(30), 4. mk_kode varchar(10), 5. mk_dosen varchar(50), 6. PRIMARYKEY(mk_id) 7. ); Membuat tabel matakuliah tang terdiri dari 4 field : 1. mk_id : int (20 karakter). 2. mk_nama : varchar(30 karakter). 3. mk_kode : varchar(10 karakter). 4. mk_dosen : varchar(50 karakter).
  • 27. 4. Menginput Data pada Tabel Mata Kuliah Script Syntax : 1. Insert into matakuliah 2. (mk_nama, mk_kode, mk_dosen) 3. Values 4. (‘Bengkel Web 2’, ‘V2314’, ‘Muhammad Ihsan Zul’), 5. (‘Basis Data’,‘V3524’, ‘Kartina Diah KW’), 6. (‘Computer Animation’, ‘V6573’, ‘Anggi Trinadoli’), 7. (‘Basis Data Lanjut’, ‘V5464’, ‘WawanYuwanto’) 8. ; Penjelasan Syntax di atas digunakan untuk menginputkan data pada tabel matakuliah yang telah dibuat sebelumnya. 5. Menampilkan Tabel Mata Kuliah Script Syntax : 1. show tables; 2. select * from matakuliah; Penjelasan Syntax di atas digunakan untuk menampilkan tabel yang ada pada database yang sedang aktif (pada saat ini adalah database bw2db).
  • 28. Modul 8. PHP dan Database MySQL (2) 1. Update Tabel Mata Kuliah Script Syntax : update matakuliah set mk_nama = ‘Animation’, ‘V3333’ WHERE mk_id = 3; select * from matakuliah; Penjelasan Syntax di atas digunakan untuk mengupdate (mengubah) suat field yang bernama mk_nama, dan mk_kode,yang mana mk_id = 3. Format syntaxnya adalah update nama_tabel set field1 = ‘’, field2 = ‘’fieldn=’’where fieldx = ‘’; 2. Delete Tabel Mata Kuliah Script Penjelasan Syntax di atas digunakan untuk menghapus suatu field pada tabel yang diinginkan. Pada contoh program di atas,field yang akan dihapus adalah field yang memiliki mk_id = 4; Format syntaxnya adalah delete from matakuliah where mk_id = 4;
  • 29. 3. Query Database BW2db Script <?php $con = mysqli_connect("localhost", "root", "", "bw2db"); if(mysqli_connect_errno($con)){ echo "Gagal terhubung ke mySQL : ".mysqli_connect_error(); } $query = mysqli_query($con, "select * from mahasiswa"); while($m = mysqli_fetch_array($query)){ echo "Nama : ".$m['nama']."<br />NIM : ".$m['nim']."<br />"; } ?> Penjelasan Program di atas program yang digunakan untuk : 1. Menghubungkan file PHP dengan tabel mahasiswa yang terdapat pada database bernama bw2db. 2. Menampilkan data tabel matakuliah dengan menggunakan looping dan array. Output
  • 30. 4. Query Database BW2db 2 Script <?php $con = mysqli_connect("localhost", "root", "", "bw2db"); if(mysqli_connect_errno($con)){ echo "Gagal terhubung ke mySQL : ".mysqli_connect_error(); } $query = mysqli_query($con, "select * from mahasiswa"); while($m = mysqli_fetch_object($query)){ echo "Nama : ".$m->nama."<br />NIM : ".$m->nim."<br />"; } ?> Penjelasan Program di atas merupakan suatu bentuk lain dari pengimplementasian dari program sebelumnya. Jika sebelumnya, pemanggilan isi tabel masih bersifat prosedural, maka pada program ini pemanggilan isi tabel bersifat OOP. Itu terdapat pada baris ke – 11. $m->nama dan $m->nim. Output
  • 31. 5. Query Database BW2db 3 Script <?php $con = mysqli_connect("localhost", "root", "", "bw2db"); if(mysqli_connect_errno($con)){ echo "Gagal terhubung ke mySQL : ".mysqli_connect_error(); } $query = mysqli_query($con, "select * from mahasiswa"); $total = mysqli_num_rows($query); echo $total; ?> Penjelasan Untuk menampilkan banyak baris pada suatu tabel, maka digunakan fungsi PHP yang bernama mysqli_num_rows($var);. Output 6. Soal 1 Script Syntax : Delete from matakuliah where mk_id = 4; select * from matakuliah; Penjelasan Menghapus field dengan mk_id = 4.
  • 32. 7. Soal 2 Script Syntax : Update mahasiswa set nama = ‘Okta Riveranda’, kelas = ‘1SIB’, username = ‘Okta’, password = ‘okta00’ where nim = ‘44234’; Penjelasan Mengubah data dari field yang nim = 44234. 8. Soal 3 Script <?php $con = mysqli_connect("localhost", "root", "", "bw2db"); if(mysqli_connect_errno($con)){ echo "Gagal Koneksi database !"; } $query = mysqli_query($con, "SELECT * FROM matakuliah"); while($data = mysqli_fetch_array($query)){ echo "-------------------------------------<br />"; echo "Mata Kuliah : ".$data['mk_nama']."<br />"; echo "Kode Mata Kuliah : ".$data['mk_kode']."<br />"; echo "Dosen Pengampu : ".$data['mk_dosen']."<br />"; } ?> Penjelasan
  • 33. Menampilkan isi dari tabel matakuliah dengan menggunakan fungsi array (prosedural) pada PHP. Output 9. Soal 4 Script <?php $con = mysqli_connect("localhost", "root", "", "bw2db"); if(mysqli_connect_errno($con)){ echo "Gagal Koneksi database !"; } $query = mysqli_query($con, "SELECT * FROM matakuliah"); while($data = mysqli_fetch_object($query)){ echo "-------------------------------------<br />"; echo "Mata Kuliah : ".$data->mk_nama."<br />"; echo "Kode Mata Kuliah : ".$data->mk_kode."<br />"; echo "Dosen Pengampu : ".$data->mk_dosen."<br />"; } ?> Penjelasan Menampilkan isi dari tabel matakuliah dengan menggunakan fungsi object (OOP) pada PHP. Output
  • 34. 10. Soal 5 Script <?php $con = mysqli_connect("localhost", "root", "", "bw2db"); if(mysqli_connect_errno($con)){ echo "Gagal Koneksi database !"; } $query = mysqli_query($con, "SELECT * FROM matakuliah"); $rows = mysqli_num_rows($query); if($rows>4){ echo "<b><i>Mata Kuliah pada semester ini telah cukup</i></b>"; }elseif($rows<4){ echo "<b><i>Mata Kuliah yang tersedia tidak cukup, tambahkan Mata Kuliah</i></b>"; } ?> Penjelasan Memberikan kondisi, apabila jumlah baris besar dari empat, maka akan tampil pernyataan : “Mata Kuliah pada semester ini telah cukup”, jika tidak, maka : “Mata Kuliah yang tersedia tidak cukup tambahkan Mata Kuliah”. Karena jumlah baris pada tabel matakuliah = 3, maka akan muncul pernyataan seperti di bawah ini : Output