Anda di halaman 1dari 43

DASAR - DASAR PHP

Pertemuan ke :I
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa mengenal dan menerapkan perintah dasar PHP
Indikator :
1. Mahasiswa dapat memahami konsep dan sintaks pemrograman PHP
2. Mahasiswa dapat membuat halaman web berbasis PHP

A. Teori Pendukung
PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server
side.Artinya semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server
sedangkanyangdikirimkan ke browser hanya hasilnya saja.
Dalam PHP setiap nama variable diawali tanda dollar ($). Misalnya nama variable a dalamPHP
ditulis dengan $a. Jenis suatu variable ditentukan pada saat jalannya program dantergantung
pada konteks yang digunakan.
Struktur Kontrol:
IF
Konstruksi IF digunakan untuk melakukan eksekusi suatu statement secara bersyarat. Cara
penulisannya adalah sebagai berikut:
if (syarat)
{ statement }

atau:

if (syarat)
{ statement }
else
{statement lain}

atau:

if (syarat pertama)
{ statement pertama}
elseif (syarat kedua)
{statement kedua}
else
{statement lain}

WHILE
Bentuk dasar dari statement While adalah sebagai berikut:
while (syarat)
{
statement
}

1
Arti dari statemant While adalah memberikan perintah untuk menjalankan statement di
bawahnya secara berulang-ulang, selama syaratnya terpenuhi.

FOR
Cara penulisan statement FOR adalah sebagai berikut:
for (ekspresi1; ekspresi2 ; ekspresi3)
statement
Keterangan:
ekspresi1 menunjukkan nilai awal untuk suatu variable
ekspresi2 menunjukkan syarat yang harus terpenuhi untuk menjalankan statemant
ekspresi3 menunjukkan pertambahan nilai untuk suatu variable

REQUIRE
Statement Require digunakan untuk membaca nilai variable dan fungsi-fungsi darisebuah file
lain. Cara penulisan statement Require adalah:
require(namafile);

Statement Require ini tidak dapat dimasukkan diadalam suatu struktur looping misalnyawhile
atau for. Karena hanya memperbolehkan pemangggilan file yang sama tersebuthanya sekali saja

INCLUDE
Statement Include akan menyertakan isi suatu file tertentu. Include dapat diletakkan di dalam
suatu looping misalkan dalam statement for atau while.

B. Langkah Praktikum:
1. Aktifkan/jalankan web server
2. Buat folder pada web root dengan nama folder adalah NIM masing-masing (folder ini akan
digunakan selama praktikum selajutnya).
3. Buatlah file latihan31.php berikut dan simpan dalam folder anda

<?php
$a="5";
$b="2";
$hasil=$a+$b;
Echo($hasil);
$hasil=$a.$b;
Echo "<br><br>$hasil";
Echo "<br><br>";
if ($a > $b)
{echo("a lebih besar dari pada b"); }
elseif ($a < $b)
{echo("a lebih kecil b"); }
else
{echo("a sama dengan b");}

2
?>

4. Buatlah file latihan32.php berikut dan simpan dalam folder anda


<?php
for ($a=0;$a<10;$a++)
{
echo("Nilai A = ");
echo("$a, ");

if($a % 2 == 0)
{ echo "Nilai $a adalah bilangan genap <br>";}
else

{echo "Nilai $a adalah bilangan ganjil


<br>";}
}
?>

5. Jalankan kedua file tersebut pada browser dan amati tampilan yang dihasilkan, dengan
mengetikkan contoh alamat URL sebagai berikut :
http://localhost/05018111/latihan31.php

C. Evaluasi
1. Jalankan 2 file tersebut dan laporkan outputnya [20 poin]
2. Modifikasi file latihan32.php agar menampilkan isi dari file latihan31.php menggunakan
statement INCLUDE atau REQUIRE selanjutnya konversikan statement for padalatihan32.php
menggunakan statament while dengan catatan output yang dihasilkansama. Laporkan hasil
kode programnya.[80 poin]
D. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

3
Jika diperlukan lebih mahasiswa bisa menyisipkan
FUNGSI-FUNGSI PHP
Pertemuan ke : II
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa memahami fungsi-fungsi PHP dan mempu menerapkan dalam
aplikasi web
Indikator :
1. Mengenal fungsi-fungsi PHP
2. Mampu menerapkan fungsi PHP pada aplikasi web

A. Teori Pendukung
1. Fungsi String
Fungsi string digunakan memanipulasi string untuk berbagai macam kebutuhan. Disini
akan dibahas beberapa fungsi string yang sering digunakan dalam membuat program
aplikasi web.
Echo
Digunakan untuk mencetak isi suatu string atau argumen.
Sintaks:
echo( string argumen1, string argumen2 , .)
Explode
Digunakan untuk memecah-mecah suatu string berdasarkan tanda pemisah tertentu
danmemasukkan hasilnya kedalam suatu variable array.
Sintaks:
explode(string pemisah , string [, int limit] )
Contoh:
$namahari = minggu senin selasa rabu kamis
jumat sabtu;
$hari = explode( , $namahari);
Implode
Kegunaan fungsi ini adalah kebalikan daripada fungsi explode. Fungsi
implodedigunakan untuk menghasilkan suatu string dari masing-masing elemen
4
suatu array. String yang dihasilkan tersebut dipisahkan oleh suatu string telah yang
ditentukansebelumnya.
Sintaks:
implode(string pemisah , array)
StrLen
Digunakan untuk menghitung jumlah karakter suatu string.
Sintaks:
strlen(string)
StrPos
Digunakan untuk mencari posisi pertama suatu sub string pada suatu string. Fungsi
ini biasanya digunakan untuk mencari suatu sub string didalam suatu string.
Sintaks:
strlen(string , sub string)
Str_Repeat
Digunakan untuk mengulang isi suatu string.
Sintaks:
str_repeat(string , int jumlah perulangan)
StrToLower
Digunakan untuk merubah suatu string menjadi huruf kecil (lowercase).
Sintaks:
strtolower(string)
StrToUpper
Digunakan untuk merubah suatu string menjadi huruf besar (uppercase)
Sintaks:
strtoupper(string)

2. Fungsi Date
Digunakan untuk mengambil tanggal dan jam. Hasil dari fungsi ini adalah sebuah stringyang
berisi tanggal/jam sesuai dengan format yang diinginkan. Format yang dikenaldalam fungsi
date ini adalah sebagai berikut:
a - "am" or "pm"
A - "AM" or "PM"
B - Swatch Internet time
d - day of the month, 2 digits with leading zeros; i.e. "01" to "31"
D - day of the week, textual, 3 letters; i.e. "Fri"
F - month, textual, long; i.e. "January"
g - hour, 12-hour format without leading zeros; i.e. "1" to "12"
G - hour, 24-hour format without leading zeros; i.e. "0" to "23"
h - hour, 12-hour format; i.e. "01" to "12"
H - hour, 24-hour format; i.e. "00" to "23"
i - minutes; i.e. "00" to "59"
I (capital i) - "1" if Daylight Savings Time, "0" otherwise.
j - day of the month without leading zeros; i.e. "1" to "31"
l (lowercase 'L') - day of the week, textual, long; i.e. "Friday"

5
Sintaks:
date(string format)
Contoh:
date(Y-m-d); // menghasilkan 2001-07-28
date(l, j F Y); // menghasilkan Saturday, 28 July
2001
date(H:i:s); // menghasilkan 20:15:07
3. FUNGSI MAIL
Digunakan untuk mengirimkan e-mail ke alamat e-mail tertentu.
Sintaks:
mail(string tujuan , string subject , string isi [, string header] );
Contoh:
$pengirim = From: saya@email.com;
$tujuan = anonkuncoro@yahoo.com;
$subject = Pemberitahuan;
$isi = Ini adalah percobaan pengiriman e-mail dengan menggunakan PHP;
mail($to,$subject,$isi,$pengirim);

B. Langkah Praktikum:
1. Jalankan web server di komputer anda
2. Tuliskan perintah berikut dan simpan dengan nama latihan2a.php di folder server, misalnya
C:\apache\htdoc\folder_anda
<?php
$kalimat="Belajar PHP";
$jumlah=strlen($kalimat);
print "variable string \$kalimat=$kalimat <br>";
print "Kalimat '$kalimat' diatas jumlah karakternya adalah $jumlah";
?>

3. Jalankan di browser dengan memanggil file tersebut di server. Contoh:


http://localhost/folder_anda/latihan2a.php
4. Tuliskan contoh program berikutnya:
Latihan2b.php
<?php
$kalimat="Pemograman PHP";
$karakter="m";
$posisi=strpos($kalimat,$karakter);
print "Karakter '$karakter' berada pada posisi ke $posisi dalam kalimat '$kalimat' <br>";
?>

Latihan2c.php

6
<?php
$kalimat="Juara liga Indonesia 2006 adalah persik Kediri";
print "Kalimat awal adalah : <br>";
print "$kalimat <br><br>";
$ubah1=strtoupper($kalimat);
print "Kalimat diatas diubah menjadi huruf besar semua menjadi :<br>";
print "$ubah1 <br><br>";
$ubah2 = strtolower($kalimat);
print "Kalimat diatas diubah menjadi huruf kecil semua menjadi : <br>";
print "$ubah2 <br>";
?>

C. Evaluasi
1. Jalankan file latihan2a, latihan2b, latihan2c di atas. Tuliskan outputnya.[30 poin]
2. Buatlah program sederhana dengan fungsi Date dan Mail.[70 poin]

7
D. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan

8
Aplikasi PHP

Pertemuan ke : III
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa membuat aplikasi sederhana dengan PHP.
Indikator :
1. Mampu membuat aplikasi Counter dengan PHP
2. Mampu membuat aplikasi Guestbook tanpa database
3. Mampu membuat aplikasi upload

A. Teori Pendukung
1. Hit Counter
Aplikasi web yang paling sederhana yang akan kita bahas adalah teknik pembuatan counter
dengan menggunakan PHP. Counter yang kita buat ini adalah untukmenghitung berapa kali
suatu halaman situs web telah ditampilkan. Untukmenyederhanakannya maka counter
ditampilkan dalam bentuk teks bukan grafik.
2. GuestBook
Guestbook merupakan salah satu form yang digunakan untuk berinteraksi dengan
pengunjung. Melalui form tersebut, pengunjung dapat memberikan input komentar dan
dikelola oleh pemilik website.
3. Fungsi Upload

B. Langkah Praktikum
1. Membuat hit counter
a. Rancangan algoritma
Algoritma:
Bila suatu halaman web ditampilkan maka terlebih dulu dibaca isi file
tertentu dan dibaca nilainya.
Tampilkan nilainya di layar browser
Tambahkan nilainya dengan 1
Simpan nilainya yang baru di file
Selesai
b. Buatlah file counter.txt menggunakan notepad dan tuliskan angka 0
c. Buatlah file counter.php
<?
$filecounter="counter.txt";
$fl=fopen($filecounter,"r+");
$hit=fread($fl,filesize($filecounter));

echo("<table width=250 align=center border=1 cellspacing=0 cellpadding=0

9
bordercolor=#0000FF><tr>");
echo("<td width=250 valign=middle align=center>");
echo("<font face=verdana size=2 color=#FF0000><b>");
echo("Anda pengunjung yang ke:");
echo($hit);
echo("</b></font>");
echo("</td>");
echo("</tr></table>");
fclose($fl);

$fl=fopen($filecounter,"w+");
$hit=$hit+1;
fwrite($fl,$hit,strlen($hit));
fclose($fl);
?>

d. Jalankan file counter.php di browser


2. Membuat Guestbook
a. Buatlah file guestbook.txt, simpan di folder anda. Contoh:
c:\appserv\htdocs\folder_anda
b. Buatlah file tampilan.html, simpan satu folder dengan file guestbook.txt
<html>
<head>
<title>My Guest Book</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<div align="center"><strong><font size="6" face="Courier New, Courier,
mono">BUKU
TAMU </font></strong></div>
<form name="form1" method="post" action="proses.php">
<table width="58%" border="0" align="center">
<tr>
<td>Nama Lengkap</td>
<td><input name="nama" type="text" id="nama"></td>
</tr>
<tr>
<td>Alamat</td>
<td><input name="alamat" type="text" id="alamat"></td>
</tr>
<tr>
<td>E-Mail</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td>Status</td>

10
<td><select name="status" id="status">
<option>Menikah</option>
<option>Single</option>
</select></td>
</tr>
<tr>
<td>Komentar</td>
<td><textarea name="komentar" id="komentar"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Kirim"><input type="reset"
name="Submit2" value="Batal">
</td>
</tr>
</table>
</form>

<div align="center"><strong><a href="lihat.php">::Lihat Buku Tamu::


</a></strong></div>
</body>
</html>

c. Buatlah proses.php
<?
echo "<head><title>My Guest Book</head></title>";
$fp = fopen("guestbook.txt","a+");
fputs($fp,"$nama|$alamat|$email|$status|$komentar\n");
fclose($fp);
echo "Terima Kasih Atas Partisipasi Anda Mengisi Buku Tamu<br>";
echo "<a href=tampilan.php> Isi Buku Tamu </a><br>";
echo "<a href=lihat.php> Lihat Buku Tamu </a><br>";
?>

d. Buatlah file lihat.txt


<?
echo "<head><title>My Guest Book</title></head>";
$fp = fopen("guestbook.txt","r");
echo "<table border=0>";

while ($isi = fgets($fp,80))


{
$pisah = explode("|",$isi);
echo "<tr><td>Nama </td><td>: $pisah[0]</td></tr>";
echo "<tr><td>Alamat </td><td>: $pisah[1]</td></tr>";
echo "<tr><td>Email </td><td>: $pisah[2]</td></tr>";
echo "<tr><td>Status </td><td>: $pisah[3]</td></tr>";

11
echo "<tr><td>Komentar </td><td>: $pisah[4]</td></tr>
<tr><td>&nbsp;<hr></td><td>&nbsp;<hr></td></tr>";
}

echo "</table>";

echo "<a href=bukutamu.php> Klik Disini </a>Isi Form Buku Tamu";


?>

e. Jalankan file tampilan.php, dengan perintah:


http://localhost/folder_anda/tampilan.html
3. Membuat fungsi upload
a. Pastikan web server telah aktif, dan dapat menjalankan http://localhost.
b. Buat file latihan33.php berikut dan simpan dalam folder anda masing-masing
<form enctype="multipart/form-data" method="post"
action="latihan33_upload.php">
File yang diupload : <input type="file" name="fupload"><br>
Deskripsi File : <br><textarea name="deskripsi" rows="6"
cols="20"></textarea><br>
<input type=submit value=Upload>
</form>

c. Untuk melakukan proses upload dibutuhkan file berikut dan simpan dengan nama
latihan33_upload.php (sesuai dengan action pada file latihan41.php) :
<?php
$lokasi_file = $_FILES['fupload']['tmp_name'];
$nama_file = $_FILES['fupload']['name'];
$deskripsi = $_POST['deskripsi'];

$direktori = "c:/wamp/www/NIM/$nama_file";

if (move_uploaded_file($lokasi_file, $direktori))
{
echo "Nama File : <b>$nama_file</b> berhasil di upload <br>";
echo "Deskripsi File :<br>$deskripsi";
}
else{
echo "File gagal diupload";
}
?>

12
d. Jalankan file latihan33.php pada bowser, kemudian upload suatu file .zip dan amati
output hasilnya dan selidiki isi direktori web folder anda apakah file upload telah
tersimpan di web folder anda.
e. Buat file untuk melakukan proses download sebagai berikut :
<?
$myDir = "c:/wamp/www/NIM/";
$dir = opendir($myDir);
echo "Isi folder (klik link untuk download : <br>";
while($tmp = readdir($dir)){
echo "<a href='$tmp' target='_blank'>$tmp</a><br>";
}
closedir($dir);
?>

f. Amati apakah proses download telah berjalan dengan benar.


C. Evaluasi
1. Jalankan dan amati program counter dan buku tamu di atas.[50 poin]
2. Sebutkan dan jelaskan fungsi-fungsi PHP yang mendukung aplikasi tersebut.[50 poin]
3. Pastikan web server telah aktif, dan dapat menjalankan http://localhost.
4. Buat file latihan33.php berikut dan simpan dalam folder anda masing-masing
<form enctype="multipart/form-data" method="post" action="latihan33_upload.php">
File yang diupload : <input type="file" name="fupload"><br>
Deskripsi File : <br><textarea name="deskripsi" rows="6" cols="20"></textarea><br>
<input type=submit value=Upload>
</form>

5. Untuk melakukan proses upload dibutuhkan file berikut dan simpan dengan nama
latihan33_upload.php (sesuai dengan action pada file latihan33.php) :
<?php
$lokasi_file = $_FILES['fupload']['tmp_name'];
$nama_file = $_FILES['fupload']['name'];
$deskripsi = $_POST['deskripsi'];

$direktori = "c:/wamp/www/NIM/$nama_file";

if (move_uploaded_file($lokasi_file, $direktori))
{
echo "Nama File : <b>$nama_file</b> berhasil di upload <br>";
echo "Deskripsi File :<br>$deskripsi";
}
else{
echo "File gagal diupload";
}

13
?>

6. Jalankan file latihan33.php pada bowser, kemudian upload suatu file .zip dan amati output
hasilnya dan selidiki isi direktori web folder anda apakah file upload telah tersimpan di web
folder anda.
7. Buat file untuk melakukan proses download sebagai berikut :
<?
$myDir = "c:/wamp/www/NIM/";
$dir = opendir($myDir);
echo "Isi folder (klik link untuk download : <br>";
while($tmp = readdir($dir)){
echo "<a href='$tmp' target='_blank'>$tmp</a><br>";
}
closedir($dir);
?>

8. Amati apakah proses download telah berjalan dengan benar.

14
D. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan

15
SQL

Pertemuan ke : IV
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa mengenal dan mampu menerapkan perintah SQL pada web
Indikator :
1. Mahasiswa mengenal perintah dasar SQL
2. Mahasiswa dapat menerapkan perintah SQL pada suatu database

A. Teori Pendukung
1. Pengertian SQL
SQL singkatan dari Structured Query Language merupakan bahasa yang digunakan
untuk melakukan pengelolaan web pada suatu SMBD (Sistem Manajemen Basis Data)
tertentu.
Dalam SQL dikenal istilah DDL (Data Definition Language) yang digunakan untuk
mendefinisikan, mengubah, serta menghapus database dan objek pada suatu basis
data. Secara umum DDL meliputi: Create, Use, Alter dan Drop.
Selain itu terdapat istilah DML (Data Manipulation Language) yang digunakan
untuk melakukan manipulasi database. Perintah DML tersebut antara lain: Select,
Insert, Update dan Delete.

2. Perintah Dasar SQL


Pada bagian ini kita akan mengenal perintah-perintah dasar yang meliputi DDL dan DML
pada suatu database.
a. DDL
Create, digunakan untuk membuat database maupun objek-objek basis data.
Perintah SQL yang umum digunakan adalah:
- CREATE DATABASE nama_basis_data
- CREATE TABLE nama_tabel
Contoh:
CREATE TABLE [''nama_tabel'']
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data, ...]
)

atau

CREATE TABLE [''nama_tabel'']


(
nama_field1 tipe_data [,
nama_field2 tipe_data, ..]
[CONSTRAINT nama_field constraints]
)

16
Keterangan:
- nama_field adalah nama kolom (field) yang akan dibuat. Beberapa
sistem manajemen basis data mengizinkan penggunaan spasi dan
karakter nonhuruf pada nama kolom.
- tipe_data tergantung implementasi sistem manajemen basis data.
Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT,
BLOB, ENUM, dan sebagainya.
- constraints adalah batasan-batasan yang diberikan untuk tiap
kolom. Ini juga tergantung implementasi sistem manajemen basis
data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat
digunakan untuk mendefinisikan kunci primer (primary key) dan
kunci asing (foreign key).

b. DML
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang
umum dilakukan adalah:
SELECT untuk menampilkan data
INSERT untuk menambahkan data baru
UPDATE untuk mengubah data yang sudah ada
DELETE untuk menghapus data

3. Manipulasi Data
Contoh perintah untuk melakukan manipulasi data, dalam hal ini akan digunakan tabel
sebagai berikut:
total_transaks
username passwd tanggal_lahir jml_transaksi
i
6487AD5E
Aris 09-09-1987 6 10.000
F
Budi 97AD4erD 01-01-1994 0 0
Charlie 548794654 06-12-1965 24 312.150
FLKH947H
Daniel 24-04-1980 3 0
F
Erik 94RER54 17-08-1945 34 50.000

a. Untuk menampilkan seluruh data, menggunakan perintah:


SELECT*
FROMuser
b. Untuk menampilkan data yang tidak pernah transaksi:
SELECT*
FROMuser

17
WHEREtotal_transaksi=0
c. Untuk menampilkan pengguna yang memiliki transaksi dalam range 10-10000
SELECTusername
FROMuser
WHEREjml_transakai<10ANDtotal_transaksi>10000

d. Menampilkan total transaksi


SELECTSUM(total_transaksi)AStotal_nominal_transaksi
FROMuser
e. Menampilkan data berdasarkan urutan tertentu
SELECT*
FROMuser
ORDERBYjml_transaksiDESC

B. Langkah Praktikum
1. Pastikan web server telah aktif, jalankan alamat http://localhost/phpmyadmin/ pada browser
anda.
2. Selanjutnya masuk ke command prompt
3. Buatlah database mahasiswa dengan perintah
CREATE DATABASE mahasiswa;

4. Selanjutnya kita akan membuat tabel. Tabel berada dalam suatu database, maka perlu
membuat perintah berikut:
USE mahasiswa;
5. Buatlah tabel mhs dengan struktur tabel berikut:
Perintah untuk membuat tabel tersebut menggunakan perintah berikut:
CREATE TABLE `mhs` (
`nim` varchar(5),
`namamhs` varchar(20),
`alamat` text,
`tgllhr` date,
PRIMARY KEY (`nim`)
);
6. Selanjutnya isikan data dengan perintah berikut:
INSERT INTO `mhs` VALUES ('MHS001', 'Siti Aminah', 'SOLO', '1995-10-01');
INSERT INTO `mhs` VALUES ('MHS001', 'Rita', 'SOLO', '1999-01-01');
INSERT INTO `mhs` VALUES ('MHS002', 'Amirudin', 'SEMARANG', '1998-08-11');
INSERT INTO `mhs` VALUES ('MHS003', 'Siti Maryam', 'JAKARTA', '1995-04-15');

7. Selanjutnya kita akan menampilkan data berdasarkan kriteria tertentu.


a. Menampilkan seluruh data
SELECT *
FROM mhs;
b. Menampilkan data mahasiswa yang berasal dari solo
18
SELECT *
FROM mhs
WHERE alamat=SOLO;

C. Evaluasi
1. Lakukan langkah-langkah praktikum di atas.
2. Laporkan output setiap langkah
3. Selanjutnya, buatlah perintah untuk menampilkan data berikut:
a. Mahasiswa yang kelahirannya di atas tahun 1995
b. Mahasiswa yang terdapat kata SITI pada namanya

D. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

19
Jika diperlukan lebih mahasiswa bisa menyisipkan
DASAR-DASAR WEB DINAMIS

Pertemuan ke :V
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa mempu membuat database dan mengkoneksikan dengan web
Indikator :
1. Mahasiswa dapat merancang dan membuat database MySQL
2. Mahasiswa dapat membuat halaman web yang berhubungan dengan database MySQL

E. Teori Pendukung
Istilah web dinamis berangkat dari pemisahan antara kode program dengan data. Data
dikumpulkan dan disimpan pada suatu database, sedangkan pengelolaan dan manipulasi data
dalam database dilakukan melalui bahasa pemrograman server misalnya PHP. Untuk membuat
database di MySQL sebaiknya digunakan PhpMyadmin. Jika anda menggunakan WAMP untuk
mengakses phpmyadmin, pada browser diakses melalui http://localhost/phpmyadmin/
Langkah-langkah yang dilakukan dalam hal persiapan database untuk mendukung web dinamis
adalah sebagai berikut :
a. Pendokumentasian koneksi antara PHP-MySQL
b. Pembuatan database
c. Pembuatan tabel dengan mempertimbangkan tipe data, primary key dan foreign key
(pelajari kembali materi pada matakuliah Basis Data)
Untuk membangun web dinamis, pada umumnya terbagi menjadi beberapa kategori yaitu :
a. Input data
b. Menampilkan data
c. Update atau edit data
d. Hapus data

F. Langkah Praktikum
1. Pastikan web server telah aktif, jalankan alamat http://localhost/phpmyadmin/ pada
browser anda.
2. Buatlah database baru dengan nama database adalah NIM anda. Database ini akan
digunakan seterusnya pada praktikum selanjutnya.

20
3. Buat tabel bernama anggota dengan ketentuan sebagai berikut :

21
4. Buka editor PHP dan ketikkan file koneksi.php berikut untuk melakukan koneksi dengan
antara PHP dan MySQL:
<?php
$host="localhost";
$username="root";
$password="";
$databasename="05018111";
mysql_connect($host,$username,$password);
mysql_select_db($databasename);
?>

5. Buat file latihan51.php untuk melakukan insert data


<?php
echo "<h2>Tambah Anggota</h2>
<form method=POST action=latihan52.php>
<table>
<tr><td>Nomor</td><td> : <input type=text
name=nomor></td></tr>
<tr><td>Nama</td><td> : <input type=text name=nama></td></tr>
<tr><td>E-mail</td><td> : <input type=text name=email
size=30></td></tr>
<tr><td>Alamat</td><td> : <input type=text
name=alamat></td></tr>
<tr><td>Kota</td><td> : <input type=text name=kota></td></tr>
<tr><td colspan=2><input type=submit value=Simpan></td></tr>
</table></form>";
?>
6. Jalankan file latihan51.php dan amati output hasilnya, amati data pada phpmyadmin apakah
data tersebut sudah tersimpan di database.
7. Untuk pengelolaan data (menampilkan dan hapus data) buatlah file latihan52.php sebagai
berikut :
22
<?php
include "koneksi.php";

$nomor = $_POST['nomor'];
$nama = $_POST['nama'];
$email = $_POST['email'];
$alamat = $_POST['alamat'];
$kota = $_POST['kota'];

mysql_query("insert into anggota (nomor, nama, email, alamat, kota) values ($nomor,
'$nama', '$email', '$alamat', '$kota')");

$sqlstr="select * from anggota";


$result = mysql_query($sqlstr) or die ("Kesalahan pada perintah SQL!");

echo("<table width=100% cellspacing=1 cellpadding=2 bgcolor=#000000>");


echo("<tr><td bgcolor=#CCCCCC>No</td><td bgcolor=#CCCCCC>Nama</td><td
bgcolor=#CCCCCC>E-Mail</td><td bgcolor=#CCCCCC>Alamat</td><td
bgcolor=#CCCCCC>Kota</td></tr>");
while ($row = mysql_fetch_array($result))
{
$nomor=$row['nomor'];
$nama=$row['nama'];
$email=$row['email'];
$alamat=$row['alamat'];
$kota=$row['kota'];

echo("<tr><td bgcolor=#FFFFFF>$nomor</td><td bgcolor=#FFFFFF>$nama</td><td


bgcolor=#FFFFFF>$email</td><td bgcolor=#FFFFFF>$alamat</td><td
bgcolor=#FFFFFF>$kota</td></tr>");
}
echo("</table>");
?>

8. Amati output pada halaman latihan52.php tersebut

G. Evaluasi
1. Lakukan langkah-langkah yang terdapat dalam petunjuk praktikum baik pembuatan
database, tabel hingga input data.[30 poin]
2. Laporkan output yang ditampilkan file latihan51.php dan latihan52.php.[20 poin]
3. Modifikasi file latihan52.php agar dapat melakukan hapus data untuk record tertentu
dengan mengirim variabel trigger bernama hapus=1.[50 poin]

H. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

23
<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan

24
WEB BERBASIS CONTENT 1
(PERSIAPAN PROJECT DAN DATABASE)
Pertemuan ke : VI
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa mampu merancang aplikasi web dan manajemen file dan
database
Indikator :
1. Mahasiswa dapat merancang project pengembangan web.
2. Mahasiswa dapat menyiapkan manajemen file dan database untuk suatu project

A. Langkah Praktikum
1. Buatlah folder bernama project pada web root anda masing-masing, sebagai contoh
(c:/wamp/www/05018111/project)
2. Dalam folder project tersebut buatlah folder dengan struktur sebagai berikut :
o admin
foto_berita
images
o config
o images

3. Folder admin untuk menyimpan file-file skrip admin dalam mengelola content website,
folder images untuk menyimpan file gambar desain web, dan folder config untuk
menyimpan file style (CSS), library (fungsi), koneksi, JavaScript.
4. Dengan menggunakan phpmyadmin, buatlah 3 buah tabel berikut dalam database anda
masing-masing (yang telah dibuat pada praktikum sebelumnya), seperti tampilan berikut :
Tabel ketegori :

Tabel user :

25
Tabel berita :

5. Buatlah file koneksi.php dan simpan di folder project/config/ sebagai berikut


<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "05018111";

mysql_connect($server,$username,$password) or die("Koneksi
gagal");
mysql_select_db($database) or die("Database tidak bisa
dibuka");
?>
Catatan : sesuaikan nama database dengan NIM anda masing-masing
B. Evaluasi
1. Kerjakan langkah-langkah pada petunjuk praktikum.[80 poin]

26
2. Pastikan bahwa folder project telah sesuai dengan struktur yang ada dan database memiliki
3 buah tabel sesuai dengan spesifikasi yang ada [20 poin]
C. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan

27
WEB BERBASIS CONTENT 2
(MANAJEMEN USER)

Pertemuan ke : VII
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa dapat merancang dan membuat modul user yang meliputi input,
view, edit dan hapus
Indikator :
1. Mampu merancang modul user
2. Mampu membuat modul user yang meliputi input, view, edit dan hapus

A. Teori Pendukung
Konsep Array
Array adalah kumpulan data yang bertipe sama yang menggunakan nama yang sama. Dengan
menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variabel dengan
variabel lain di dalam array dibedakan berdasarkan nomor elemen (subscript).

B. Langkah Praktikum

1. Buat halaman untuk input user dengan script di bawah ini dan simpan dengan nama file
form_user.php pada folder /project/admin/ :

<?php
echo "<h2>Tambah User</h2>
<form method=post action=input_user.php>
<table>
<tr><td>Username</td><td> : <input name='id_user'
type='text'></td></tr>
<tr><td>Password</td><td> : <input name='password'
type='text'></td></tr>
<tr><td>Nama Lengkap</td><td> : <input name='nama_lengkap'
type='text'></td></tr>
<tr><td>Email </td><td> : <input name='email' type='text'></td></tr>
<tr><td colspan=2><input type='submit' value='SIMPAN'></td></tr>
</table>
</form>";
?>

2. Untuk melakukan penyimpanan data pada database, buat file input_user.php seperti script
di bawah ini dan simpan pada folder /project/admin/ :

<?php
include "../config/koneksi.php";
$pass = md5($_POST[password]);
mysql_query("insert into
28
user(id_user,
password,
nama_lengkap,
email)
values ('$_POST[id_user]',
'$pass',
'$_POST[nama_lengkap]',
'$_POST[email]')");
header('location:tampil_user.php');
?>

3. Untuk menampilkan daftar user yang telah diinputkan, buatlah file tampil_user.php seperti
script di bawah ini dan simpan pada folder /project/admin :
<?php
echo "<h2>User</h2>
<form method=POST action=form_user.php>
<input type=submit value='Tambah User'>
</form>
<table>
<tr><th>No</th><th>Username</th><th>Nama
Lengkap</th><th>Email</th><th>Aksi</th></tr>";

include "../config/koneksi.php";
$tampil = mysql_query("select * from user order by id_user");
$no=1;
while($r = mysql_fetch_array($tampil)) {
echo "<tr><td>$no</td><td>$r[id_user]</td>
<td>$r[nama_lengkap]</td>
<td>$r[email]</td>
<td><a href='hapus_user.php?id=$r[id_user]'>Hapus</a></td>
</tr>";
$no++;
}
echo "</table>";
?>
4. Untuk menghapus data user, buatlah file hapus_user.php seperti script di bawah ini dan
simpan pada folder /project/admin :
<?php
include "../config/koneksi.php";
mysql_query("delete from user where id_user= '$_GET[id]'");
header('location:tampil_user.php');
?>

C. Evaluasi

29
1. Jalankan file form_user.php pada browser, sebagai contoh adalah :
http://localhost/05018111/project/admin/form_user.php dan isikan beberapa data account
user. [20 poin]
2. Lakukan percobaan untuk hapus data.[30 poin]
3. Tambahkan script pada file input_user.php agar terdapat validasi terhadap data yang
dimasukkan misal username tidak boleh kosong, password tidak boleh kosong dan minimal 5
karakter (huruf).[50 poin]

D. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan


WEB BERBASIS CONTENT 3
(MANAGEMENT BERITA)

30
Pertemuan ke : VIII
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa mengenal dan mampu menerapkan konsep function pada
program
Indikator :
1. Mahasiswa dapat merancang dan membuat modul untuk manajemen berita meliputi input
berita, menampilkan berita dan menghapus berita.
2. Mahasiswa dapat membuat sistem login untuk memasukkan berita.

A. Teori Pendukung
Sebelum membuat modul berita, sebaiknya dibuatkan skript untuk login terlebih dahulu agar
user yang mengakses modul berita adalah user yang benar-benar sudah terdaftar pada sistem.
Adapun login akan dibuat menggunakan teknik session, yaitu suatu teknik penyimpanan variabel
(mendaftarkan/register suatu variabel) ke server. Contoh yang sering kita jumpai adalah ketika
kita akan membuka inbox email, tentu kita harus menginputkan username dan password,
apabila ditemukan datanya di database (valid), maka akan dibuatkan session username dan
password untuk mengakases inbox dan selama user berada dalam sesi tersebut, maka dia akan
bebas mengakses emailnya sampai dia memutuskan untuk mengakhiri sesi tersebut dengan
mengklik SignOut atau LogOut (logout.php).

B. Langkah Praktikum
1. Buat file form_login.php untuk halaman login user seperti script di bawah ini dan simpan
pada folder /project/admin :
<?php
echo "<h2>Login</h2>
<form method=post action=cek_login.php>
<table>
<tr><td>Username</td><td> : <input name='id_user' type='text'></td></tr>
<tr><td>Password</td><td> : <input name='password' type='text'></td></tr>
<tr><td colspan=2><input type='submit' value='LOGIN'></td></tr>
</table>
</form>";
?>

2. Untuk melakukan validasi login, buat file cek_login.php seperti script di bawah ini dan
simpan di folder /project/admin/ :
<?php
include "../config/koneksi.php";
$pass=md5($_POST[password]);

$login=mysql_query("SELECT * FROM user WHERE id_user='$_POST[username]' AND

31
password='$pass'");
$ketemu=mysql_num_rows($login);
$r=mysql_fetch_array($login);

if ($ketemu > 0){


session_start();
session_register("namauser");
session_register("passuser");

$_SESSION[namauser] = $r[id_user];
$_SESSION[passuser] = $r[password];

header('location:form_berita.php');
}
else{
echo "<center>Login gagal! username & password tidak benar<br>";
echo "<a href=form_login.php><b>ULANGI LAGI</b></a></center>";
}
?>

3. Untuk proses logout user, buat file logout.php seperti script di bawah ini dan simpan di
folder /project/admin/ :
<?php
session_start();
session_destroy();
echo "Anda telah sukses keluar sistem <b>LOGOUT</b>";
?>

4. Buat halaman untuk input berita dengan buat file form_berita.php seperti script di bawah ini
dan simpan di folder /project/admin/ :
<?php
session_start();
include "../config/koneksi.php";

if(empty($_SESSION[namauser]) and empty($_SESSION[passuser]))


{
echo "<center> Untuk mengisikan berita, anda harus login <br>";
echo "<a href='form_login.php'><b>LOGIN</b></a></center>";
} else {

echo "<h2>Tambah Berita</h2>


<form method=POST action='input_berita.php' enctype='multipart/form-data'>
<table>
<tr><td>Judul</td><td> : <input type=text name='judul' size=60></td></tr>
<tr><td>Kategori</td><td> :
<select name='kategori'>

32
<option value=0 selected>- Pilih -</option>";

$tampil=mysql_query("SELECT * FROM kategori ORDER BY nama_kategori");


while($r=mysql_fetch_array($tampil)){
echo "<option value=$r[id_kategori]> $r[nama_kategori]</option>";
}

echo "</select></td></tr>
<tr><td>Isi Berita</td><td> : <textarea name='isi_berita' cols=80
rows=18></textarea></td></tr>
<tr><td>Gambar</td><td> : <input type=file name='fupload' size=40></td></tr>
<tr><td colspan=2><input type=submit value=Simpan>
<input type=button value=Batal onclick=self.history.back()></td></tr>
</table></form>";
}
?>

5. Untuk melakukan proses penyimpanan ke database, but file input_berita.php seperti script
berikut dan simpan di folder /project/admin/ :

<?php
session_start();
include "../config/koneksi.php";
include "../config/library.php";

$lokasi_file = $_FILES['fupload']['tmp_name'];
$nama_file = $_FILES['fupload']['name'];

// Apabila ada gambar yang diupload


if (!empty($lokasi_file)){
move_uploaded_file($lokasi_file,"foto_berita/$nama_file");
mysql_query("INSERT INTO berita(judul,
id_kategori,
isi_berita,
id_user,
jam,
tanggal,
hari,
gambar)
VALUES('$_POST[judul]',
'$_POST[kategori]',
'$_POST[isi_berita]',
'$_SESSION[namauser]',
'$jam_sekarang',
'$tgl_sekarang',
'$hari_ini',

33
'$nama_file')");
}
// Apabila tidak ada gambar yang di upload
else{
mysql_query("INSERT INTO berita(judul,
id_kategori,
isi_berita,
id_user,
jam,
tanggal,hari)
VALUES('$_POST[judul]',
'$_POST[kategori]',
'$_POST[isi_berita]',
'$_SESSION[namauser]',
'$jam_sekarang',
'$tgl_sekarang',
'$hari_ini')");
}
header('location:tampil_berita.php');

?>

6. Adapun untuk mengakomodasi fungsi tanggal, buat file library.php dan simpan di folder
/project/config.php :
<?php
$seminggu =
array("Minggu","Senin","Selasa","Rabu","Kamis","Jumat","S
abtu");
$hari = date("w");
$hari_ini = $seminggu[$hari];

$tgl_sekarang = date("Ymd");
$thn_sekarang = date("Y");
$jam_sekarang = date("H:i:s");

$nama_bln=array(1=> "Januari", "Februari", "Maret",


"April", "Mei",
"Juni", "Juli", "Agustus", "September",
"Oktober", "November", "Desember");
?>

C. Evaluasi
1. Ikutilah langkah-langkah pada petunjuk paktikum.[30 poin]

34
2. Jalankan file form_berita.php pada browser, dan ujicoba dengan memasukkan berita [70
poin]

D. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan

35
WEB BERBASIS CONTENT 4
(MANAJEMEN MODUL)

Pertemuan ke : IX
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa mampu membuat dan mengelola modul aplikasi
Indikator :
1. Mahasiswa dapat membuat tabel untuk pengelolaan modul secara dinamis
2. Mahasiswa dapat merancang modul-modul yang diperlukan.

A. Langkah Praktikum
1. Pada phpmyadmin, tambahkan sebuah tabel bernama modul, sehingga akan tampil sebagai
berikut :

2. Isikan data melalui menu Insert, seperti contoh berikut :

36
3. Modul modul yang ditambahkan adalah Manajemen Modul dan Berita, sehingga akan
tampil data sebagai berikut :

B. Evaluasi
1. Ikuti langkah-langkah pada petunjuk praktikum hingga terdapat suatu tabel modul yang
telah berisi data-data sesuai kebutuhan.[100 poin]

37
C. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan

38
WEB BERBASIS CONTENT 5
(PERANCANGAN TAMPILAN)
Pertemuan ke :X
Alokasi Waktu : 1,5 Jam
Kompetensi Dasar : Mahasiswa mengenal dan mampu menerapkan konsep record pada program
Indikator :
1. Mahasiswa dapat merancang dan membuat tampilan login user dan admin
2. Mahasiswa dapat merancang dan membuat tampilan utama user dan admin

A. Langkah Praktikum
1. Buat file adminstyle.css untuk mengatur tampilan admin, simpan pada folder
/project/config/
body{
font-family: Tahoma;
text-align: center;
}
#header {
position: relative;
background-image: url(../admin/images/header.jpg);
background-repeat: no-repeat;
margin-right: auto;
margin-left: auto;
width: 780px;
border: 2px solid #265180;
padding-top: 70px;
text-align: left;
}

#content {
margin-left: 230px;
padding: 20px 10px 0 0;
}
#content p {
font-size: 80%;
line-height: 1.8em;
padding-left: 2em;
}
#menu {
position: absolute;
top: 90px;
left: 0;
width: 180px;
}
#menu ul {
list-style: none;
margin: 0;
padding: 0;
border: none;
}
#menu li {

39
width: 180px;
border-bottom: 1px solid #969BA5;
margin: 0;
padding: 0;
font-size: 80%;
vertical-align: bottom;
}
#menu a:link, #menu a:visited {
display: block;
padding: 5px 5px 5px 0.5em;
border-left: 12px solid #265180;
border-right: 1px solid #265180;
background-color: #CAD6EC;
color: #265180;
text-decoration: none;
}
#menu a:hover {
background-color: #265180;
color: #FFFFFF;
}

#footer {
padding: 20px 0 10px 255px;
font-size: 70%;
color: #FFFFFF;
background-color: #265180;
}

2. Buat file index.php dan letakkan di /project/admin/ :


<html>
<head>
<title>Praktikum PI</title>
<link href=../config/adminstyle.css' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="header">
<div id="content">
<h2>Login</h2>
<?php
include "form_login.php";
?>
</div>
<div id="footer">
Copyright 2009
</div>
</div>
</body>
</html>

40
3. Buat file media.php untuk halaman utama admin dan letakkan di /project/admin/ :
<?php
session_start();
if (empty($_SESSION[namauser]) AND empty($_SESSION[passuser])){
echo "<link href='../config/adminstyle.css' rel='stylesheet' type='text/css'>
<center>Untuk mengakses modul, Anda harus login <br>";
echo "<a href=index.php><b>LOGIN</b></a></center>";
}
else{
?>

<html>
<head>
<title>Praktikum PI</title>
<link href="../config/adminstyle.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="header">
<div id="content">
<?php include "content.php"; ?>
</div>

<div id="menu">
<ul>
<li><a href=?module=home>&#187; Home</a></li>
<?php include "menu.php"; ?>
<li><a href=logout.php>&#187; Logout</a></li>
</ul>
<p>&nbsp;</p>
</div>

<div id="footer">
Copyright 2009
</div>
</div>
</body>
</html>
<?
}
?>

4. Buat file content.php dan simpan pada folder /project/admin


<?php
include "../config/koneksi.php";

if ($_GET[module]=='home'){
echo "<h2>Selamat Datang</h2>
<p>Hai <b>$_SESSION[namauser]</b>, silahkan klik menu pilihan yang
berada di sebelah kiri untuk mengelola content website. </p>
<p>&nbsp;</p><p>&nbsp;</p>
<p align=right>Login Hari ini: ";
41
echo tgl_indo(date("Y m d"));
echo " | "; echo date("H:i:s");
echo "</p>";
}

5. Buat file menu.php dan simpan pada folder /project/admin


<?php
include "../config/koneksi.php";

if ($_SESSION[namauser]=='admin'){
$sql=mysql_query("select * from modul where aktif='Y' order by urutan");
}
else{
$sql=mysql_query("select * from modul where status='user' and aktif='Y' order by urutan");
}
while ($data=mysql_fetch_array($sql)){
echo "<li><a href='$data[link]'>&#187; $data[nama_modul]</a></li>";
}
?>

B. Evaluasi
1. Lakukanlangkah-langkah yang terdapat dalam petunjuk praktikum[100 poin]

42
C. Lembar Jawaban
Nilai Yogyakarta, .
Paraf asisten

<>
Jawaban Postest

Jika diperlukan lebih mahasiswa bisa menyisipkan

43

Anda mungkin juga menyukai