Pemrograman Web Dengan PHP MySQL
Pemrograman Web Dengan PHP MySQL
v1.0
Pemrograman Web
dengan PHP dan
MySQL
Achmad Solichin, S.Kom
Buku ini disusun berdasarkan materi perkuliahan
Pemrograman Web sesuai dengan kurikulum standar di
perguruan tinggi komputer. Di dalam buku ini tidak terlalu
dibahas mengenai teori dan algoritma pemrograman, namun
banyak berisi contohcontoh program yang dapat dipraktekkan
secara langsung
serta disertai dengan penjelasannya. Dengan demikian, buku
ini sangat cocok bagi Anda yang baru belajar pemrograman
web dan haus akan contohcontoh program. Buku ini juga
sesuai dijadikan sebagai referensi penyusunan praktikum
perkuliahan bagi mahasiswa maupun siswa.
Achmad Solichin,
S.Kom Universitas Budi Luhur,
Jakarta http://achmatim.net
[email protected]
Achmad Solichin
Lisensi Dokumen
Seluruh isi dalam dokumen ini dapat digunakan, dimodifikasi dan
disebarluaskan secara bebas untuk tujuan pendidikan, pembelajaran
dan bukan komersial (non proft), dengan syarat tidak menghilangkan,
menghapus atau mengubah atribut penulis dokumen ini dan pernyataan
dalam lisensi dokumen yang disertakan di setiap dokumen. Tidak
diperbolehkan melakukan
penulisan
ulang atau mengkomersialkan
buku ini kecuali mendapatkan ijin terlebih dahulu dari penulis.
Kata Pengantar
Internet merupakan salah satu fenomena paling berpengaruh dalam
beberapa dekade terakhir ini, baik bagi perkembangan teknologi itu
sendiri maupun bagi perkembangan disiplin ilmu lain, seperti ekonomi,
politik, sosial dan budaya. Perkembangan internet juga berpengaruh
langsung terhadap perkembangan situs web. Di awal kemunculannya,
internet maupun situs web belum begitu populer karena layanannya
yang masih terbatas. Namun lihatlah saat ini, situs web sudah demikian
populer dan layanannya pun beragam, mulai dari situs berita seperti
Detik dan Okezone, situs penyedia email seperti Yahoo dan Gmail,
sampai situs pertemanan (social networking) seperti Friendster dan
Facebook.
Dalam kaitannya dengan situs web dan layanan di dalamnya tidak
lepas dari teknologi di baliknya, yaitu pemrograman web, desain web dan
database. Salah satu bahasa pemrograman yang banyak digunakan untuk
membangun
suatu
situs
web adalah
PHP
(http://www.php.net).
Penggunaannya saat ini bahkan sudah mencapai 25 juta situs web.
Sedangkan dari sisi database, penggunaan MySQL (http://www.mysql.com)
masih juga mendominasi dalam aplikasi berbasis web.
Melalui buku ini, penulis berusaha mengenalkan dasardasar dari
PHP dan MySQL untuk membangun suatu situs web. Buku ini sebagian
besar menyajikan berbagai contoh program yang disusun secara
terstruktur dari yang mudah sampai yang cukup kompleks. Dengan
adanya contohcontoh program tersebut, diharapkan pembaca dapat
mempraktekkannya secara langsung (learning by doing) dan dapat
menyimpulkan
sendiri maksud dari setiap perintah dalam program
dengan cara melihat hasil yang ditampilkan di layar (browser). Di akhir
buku ini, disajikan contoh yang lebih nyata, yaitu aplikasi situs berita
sederhana yang dapat dikembangkan lebih lanjut.
Buku ini cocok bagi pembaca yang baru mulai belajar PHP dan MySQL
secara mandiri karena contohcontoh
dalam buku ini disajikan
sesederhana mungkin. Buku ini juga cocok digunakan sebagai panduan
praktikum pemrograman web di perguruan tinggi, sekolah maupun
kursuskursus.
Akhirnya penulis berharap agar buku ini bermanfaat bagi
perkembangan ilmu dan pengetahuan di Indonesia, khususnya dalam hal
pemrograman web dan internet. Saran dan kritik untuk perbaikan buku ini
sangat penulis harapkan. Saran, kritik dan masukan mengenai buku ini
dapat disampaikan melalui email ke penulis di [email protected]
atau melalui situs penulis di http://achmatim.net.
Penulis
Achmad Solichin
Daftar Isi
I.
1.
Web
Server..................................................................................................................
7
2.
Server Side Scripting
................................................................................................... 8
3.
Test Instalasi XAMPP di
Browser............................................................................... 13
1.
Sebelum Belajar PHP
................................................................................................. 14
2.
Mari Mengenal PHP
.................................................................................................. 14
3.
Say Hello to PHP
........................................................................................................ 15
4.
Variabel
..................................................................................................................... 15
5.
Tipe Data
................................................................................................................... 1 6
6.
Konstanta
.................................................................................................................. 17
7.
Operator dalam PHP
................................................................................................. 17
8.
Komentar
Program.................................................................................................... 19
1.
Struktur
Kondisi......................................................................................................... 21
2.
Struktur Perulangan
.................................................................................................. 25
3.
Struktur Break dan Continue
.................................................................................... 29
Penanganan Form
............................................................................... 30
IV.
1.
Berbagai Cara Penanganan Form
.............................................................................. 30
2.
Form Input Type TEXT dan PASSWORD
.................................................................... 33
3.
Form Input Type RADIO
............................................................................................ 36
Achmad Solichin ([email protected])
4.
Form Input Type CHECK BOX
.................................................................................... 38
5.
Form Input Type COMBO BOX
.................................................................................. 39
6.
Form Input Type TEXTAREA
...................................................................................... 41
1.
Pengantar Array
........................................................................................................ 43
2.
Fungsifungsi Array dalam PHP
................................................................................. 47
3.
Fungsi dalam PHP
...................................................................................................... 50
1.
Pengantar
String........................................................................................................ 52
2.
Fungsifungsi String dalam PHP
................................................................................ 53
3.
Fungsifungsi Operasi Tanggal dalam PHP
................................................................ 60
VII.
File dan Direktori
................................................................................ 62
1.
Penanganan File
........................................................................................................ 62
2.
Membuat dan Menghapus Direktori
........................................................................ 66
3.
Manipulasi File
.......................................................................................................... 68
4.
Upload File
................................................................................................................ 69
Session dan
Cookies............................................................................ 72
VIII.
1.
Session...................................................................................................................
.... 72
2.
Cookies
...................................................................................................................... 75
IX.
1.
Pengantar Pemrograman Berorientasi Objek
........................................................... 77
2.
Object dan Class
........................................................................................................ 77
3.
Properties dan Method
............................................................................................. 78
4.
Mendefnisikan
Class................................................................................................. 78
5.
Memanfaatkan Class yang
Tersedia.......................................................................... 82
1.
Tentang Database, DBMS dan
RDBMS...................................................................... 84
2.
Tentang MySQL
......................................................................................................... 85
3.
Instalasi MySQL di Windows
..................................................................................... 85
4.
Koneksi ke Server MySQL dengan MySQL Client
...................................................... 95
5.
Berbagai MySQL Client untuk Administrasi Server MySQL
....................................... 96
1.
Apa Itu SQL ?
............................................................................................................. 99
2.
Membuat, Mengubah dan Menghapus Table
........................................................ 101
3.
Menambah Record dengan INSERT
........................................................................ 105
4.
......................................................................... 106
5.
Menghapus Record dengan DELETE
....................................................................... 107
XII.
1.
Merancang Struktur Database
................................................................................ 113
2.
Membuat File Koneksi
Database............................................................................. 114
3.
Membuat Halaman Input Berita
............................................................................. 114
4.
Menampilkan Berita Terbaru di Halaman Depan
................................................... 115
5.
Membuat Halaman Arsip Berita
............................................................................. 117
6.
Membuat Halaman Edit Berita
............................................................................... 118
7.
Membuat Halaman Delete Berita
........................................................................... 120
8.
CSS sebagai Pemanis Tampilan
............................................................................... 120
Bab 1
Web Server
Web Server merupakan sebuah perangkat lunak dalam server yang berfungsi
menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS
dari klien yang dikenal dengan browser web dan mengirimkan kembali
(response) hasilnya dalam bentuk halaman-halaman web yang umumnya
berbentuk dokumen HTML.
Apache,
PHP
dan
MySQL
dengan
Proses instalasi Apache, PHP dan MySQL seringkali menjadi kendala terutama
bagi pemula yang baru belajar pemrograman web dengan PHP. Hal tersebut
disebabkan karena software tersebut harus diinstall dan dikonfigurasikan satu
per satu. Bagi belum mengerti benar, tentu sering mengalami kesulitan, apalagi
bagi kita yang belajar secara mandiri.
Namun jangan berkecil hati, saat ini banyak tersedia aplikasi paket yang
menyatukan ketiga software tersebut (Apache, PHP dan MySQL) ke dalam satu
installer. Proses instalasinya pun dapat dilakukan dengan mudah dan cepat,
hanya perlu next, next, and finish.
Beberapa aplikasi paket tersebut antara
lain:
1. XAMPP (versi Windows) dan LAMPP (versi Linux) yang dapat didownload di
http://apachefriends.org.
2. WAMP Server.
3. APPServ
4. PHPTriad.
Achmad Solichin ([email protected])
1
0
Penulis sendiri menyarankan pemakaian XAMPP atau WAMP Server karena versi
software di dalamnya menggunakan versi
terbaru.
Persiapan Instalasi
1. Pastikan komputer Anda belum terinstall web server lain seperti IIS atau PWS
karena dapat menyebabkan bentrok dengan web server Apache. Namun
demikian, jika Anda masih tetap mempertahankan program tersebut, setelah
instalasi selesai Anda dapat mengkonfigurasikan Apache secara manual
dengan mengganti nomor port yang digunakan.
1
1
2.
1
2
11
7. Jika proses instalasi berjalan dengan lancar makan akan ditampilkan window
konfirmasi.
12
13
Bab 2
2.
3.
4.
5.
6.
7.
Saya asumsikan Anda telah mengenal dengan cukup baik komputer Anda,
dan juga bisa mengoperasikannya. Jadi Anda seharusnya sudah mengerti
perbedaan file dan direktori, bagaimana menyimpan file atau document,
bagaimana meng-copy file, dan seterusnya.
Saya asumsikan Anda telah mengerti bagaimana membuka dan
menggunakan salah satu atau salah semua dari editor seperti Notepad,
EditPlus, Crimson
Editor, Dreamweaver, atau yang lainnya. Saya asumsikan juga, Anda telah
mengerti bagaimana membuat, mengedit, dan menyimpan suatu file dengan
editor tersebut.
Saya asumsikan bahwa Apache, PHP, dan MySQL di komputer yang Anda
pakai sudah berjalan sebagaimana mestinya.
Saya asumsikan Anda telah mengerti bagaimana cara menggunakan Web
Browser (IE, Mozilla, Opera, dsb)
Saya asumsikan Anda telah mengenal dan mengerti dengan cukup baik
tentang tag-tag HTML dan juga bagaimana menggunakannya. Anda tentu
sudah mengambil matakuliah Pemrograman Web 1 atau Internet kan ?
Saya asumsikan bahwa penglihatan Anda masih normal sehingga bisa
membedakan antara :
14
hitungLuas() HitungLuas()
echo = ECHO
while = WHILE
6. Mudah dipelajari.
Variabel
Program 2.2
Nama File
: variabel.php
Deskripsi
: Program mengisi dan menampilkan variabel di layar.
15
1
2
3
4
5
6
7
<?php
$nim = "0411500400";
$nama = 'Chotimatul Musyarofah';
echo "NIM : " . $nim . "<br>";
echo "Nama : $nama";
?>
Tipe Data
Pada PHP, tipe data variabel tidak didefinisikan oleh programmer, akan tetapi
secara otomatis ditentukan oleh intepreter PHP. Namun demikian, PHP
mendukung 8 (delapan) buah tipe data primitif, yaitu :
1. boolean
2. integer
3. float
4. string
5. array
6. object
7. resource
8. NULL
Program
2.3
Nama File
tipe.php
Deskripsi
dalam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
:
: Program contoh penanganan beberapa tipe data dasar
PHP.
<?php
$nim = "0411500400";
$nama = 'Chotimatul Musyarofah';
$umur = 23;
$nilai = 82.25;
$status = TRUE;
echo "NIM : " . $nim . "<br>";
echo "Nama : $nama<br>";
print "Umur : " . $umur; print "<br>";
printf ("Nilai : %.3f<br>", $nilai);
if ($status)
echo "Status : Aktif";
else
15
echo "Status : Tidak Aktif";
16 ?>
Konstanta
Konstanta merupakan variabel konstan yang nilainya tidak berubah-ubah. Untuk
mendefinisikan konstanta dalam PHP, menggunakan fungsi define()
Program 2.4
Nama File
: konstanta.php
Deskripsi
: Program penggunaan konstanta dalam PHP.
1
2
3
4
5
6
7
8
<?
defne ("NAMA", "Achmad Solichin");
defne ("NILAI", 90);
//NAMA = "Muhammad"; //akan menyebabkan error
echo "Nama : " . NAMA;
echo "<br>Nilai : " . NILAI;
?>
Operator
+
*
/
%
Contoh
$a + $b
$a - $b
$a * $b
$a / $b
$a % $b
Keterangan
Pertambahan
Pengurangan
Perkalian
Pembagian
Modulus, sisa pembagian
Penugasan
Bitwise
Perbandingan
Logika
String
$a = 4;
$a diisi dengan 4
$a & $b
$a | $b
$a ^ $b
~$b
$a << $b
$a >> $b
Bitwise AND
Bitwise OR
Bitwise XOR
Bitwise NOT
Shift Left
Shift Right
==
===
!=
<>
!==
<
>
<=
>=
$a
$a
$a
$a
$a
$a
$a
$a
$a
== $b
=== $b
!= $b
<> $b
!== $b
< $b
> $b
<= $b
>= $b
Sama dengan
Identik
Tidak sama dengan
Tidak sama dengan
Tidak identik
Kurang dari
Lebih dari
Kurang dari sama dengan
Lebih dari sama dengan
and
&&
or
||
xor
$a
$a
$a
$a
$a
and $b
&& $b
or $b
|| $b
xor $b
!$a
$a . $b
&
|
^
~
<<
>>
Program 2.5
Nama File
: operator.php
Deskripsi
: Program beberapa Operator aritmatika dalam PHP.
1
2
3
4
5
6
7
8
<?
$gaji = 1000000;
$pajak = 0.1;
$thp = $gaji - ($gaji*$pajak);
echo "Gaji sebelum pajak = Rp. $gaji <br>";
echo "Gaji yang dibawa pulang = Rp. $thp";
?>
Program 2.6
Nama File
: operator2.php
Deskripsi
: Program operator logika dan perbandingan dalam PHP.
1
2
3
4
5
6
7
8
9
<?
$a = 5;
$b = 4;
Komentar Program
Dalam PHP, komentar program bisa menggunakan :
/* dan */
// dan
#
Program 2.7
Nama File
: komentar.php
Deskripsi
: Program cara memberikan komentar dalam program PHP.
1
2
3
4
5
6
7
8
9
10
<?
/* Ini komentar tidak akan tercetak di layar
yang ini juga komentar
*/
// Nah kalo ini komentar satu baris
# Terus kalo ini juga komentar
echo "Ini akan tercetak di layar";
?>
Bab 3
Struktur Perulangan
+ Struktur Kondisi For
+ Struktur Kondisi While
+ Struktur Kondisi Do...While
+ Struktur Kondisi Foreach
Struktur Kondisi
Struktur Kondisi If
if (kondisi) {
statement-jika-kondisi-true;
}
Keterangan :
Keterangan :
$var merupakan variabel yang akan diperiksa isi atau nilainya. Tipe data
variabel ini tidak dibatasi.
Value pada case juga bisa berupa string, integer, boolean, bahkan bisa
berupa conditional-statement. Boleh memakai kutip tunggal maupun
kutip ganda.
Program 3.1
Nama File
: if.php
Deskripsi
: Program Struktur Kondisi If.
1
2
3
4
5
6
<?php
$nilai = 80;
if ($nilai >= 60) {
echo "Nilai Anda $nilai, Anda LULUS";
}
?>
:
: Program Struktur Kondisi
<?php
$nilai = 50;
if ($nilai >= 60) {
echo "Nilai Anda $nilai, Anda LULUS";
} else {
echo "Nilai Anda $nilai, Anda GAGAL";
}
?>
50.
<?php
$user = "achmatim";
$pass = "123"
if ($user == "achmatim" && $pass == "123") {
echo "Login Berhasil";
} else {
echo "Login Gagal";
}
?>
:
: Program Memeriksa suatu variabel ada atau
<?php
$user="";
if (!isset($user)) {
echo "Variabel tidak ada/belum terbentuk";
} else {
echo "Variabel ada";
}
?>
:
: Program Struktur Switch..Case untuk menampilkan nama
hari dalam bahasa Indonesia.
<?php
$day = date ("D");
switch ($day) {
case 'Sun' : $hari = "Minggu"; break;
case 'Mon' : $hari = "Senin"; break;
case 'Tue' : $hari = "Selasa"; break;
case 'Wed' : $hari = "Rabu"; break;
case 'Thu' : $hari = "Kamis"; break;
case 'Fri' : $hari = "Jum'at"; break;
case 'Sat' : $hari = "Sabtu"; break;
default : $hari = "Kiamat";
}
echo "Hari ini hari <b>$hari</b>";
?>
Program 3.6
Nama File
: if_khusus.php
Deskripsi
: Program Struktur Kondisi Khusus ? untuk memeriksa
tahun kabisat.
1
2
3
4
5
<?php
$tahun = date ("Y");
$kabisat = ($tahun%4 == 0) ? "KABISAT" : "BUKAN KABISAT";
echo "Tahun <b>$tahun</b> $kabisat";
?>
Struktur Perulangan
Struktur Perulangan For
for (init_awal, kondisi, counter) {
statement-yang-diulang;
}
Keterangan :
<?php
/* contoh 1 */
for ($i = 1; $i <= 10; $i++) {
echo "$i ";
}
echo "<br><br>";
/* contoh 2 */
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo "$i ";
}
echo "<br><br>";
/* contoh 3 */
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo "$i ";
$i++;
} echo "<br><br>";
/* contoh 4 */
for ($i = 1; $i <= 10; print "$i ", $i++);
?>
<?php
/* contoh 1 */
$i = 1;
while ($i <= 10) {
echo $i++;
}
echo "<br><br>";
/* contoh 2 */
$i = 1;
while ($i <= 10):
echo "$i";
$i++;
endwhile;
echo "<br><br>";
/* contoh 3 */
$i = 1;
while ($i <= 6) {
echo "<h$i>Heading $i</h$i>";
$i++;
}
?>
<?php
$i = 1;
do {
echo "$i ";
$i+=2;
} while ($i <= 20);
?>
<?php
for ($i=1; $i<10; $i++) {
if ($i == 5)
continue;
if ($i == 8)
break;
echo "$i ";
}
?>
Bab 4
Penanganan Form
Form inputan dibuat dengan tag-tag HTML. Halaman yang mengandung form
murni (tidak ada script php) tidak harus disimpan dalam bentuk php, bisa dalam
bentuk html.
Untuk merancang sebuah form inputan, setidaknya ada 3 (tiga) hal penting, yi
:
1. METHOD
Method dari sebuah form menentukan bagaimana data inputan form dikirim.
Method ini ada dua macam, yaitu GET dan POST. Method ini menentukan
bagaimana data inputan dikirim dan diproses oleh PHP.
2. ACTION
Action dari sebuah form menentukan dimana data inputan dari form diproses.
Jika action ini dikosongkan, maka dianggap proses form terjadi di halaman
yang sama. Jadi halaman form dan halaman proses bisa saja dipisah atau
dijadikan satu.
3. SUBMIT BUTTON
Submit button merupakan sebuah tombol (pada umumnya) yang berfungsi
sebagai trigger pengiriman data dari form inputan. Jika tombol ini ditekan,
maka data form akan dikirimkan (diproses) di halaman yang sudah
ditentukan
pada atribut action.
<html>
<head><title>Pengolahan Form</title></head>
<body>
<FORM ACTION="" METHOD="POST" NAME="input">
Nama Anda : <input type="text" name="nama"><br>
<input type="submit" name="Input" value="Input">
</FORM>
</body>
</html>
<?php
if (isset($_POST['Input'])) {
$nama = $_POST['nama'];
echo "Nama Anda : <b>$nama</b>";
}
?>
Program 4.3
Nama File
: proses02.php
Deskripsi
: Program penanganan form inputan untuk Program 4.2.
1
2
3
4
5
6
<?php
if (isset($_POST['Input'])) {
$nama = $_POST['nama'];
echo "Nama Anda : <b>$nama</b>";
}
?>
32
Program 4.5
Nama File
: proses03.php
Deskripsi
: Program penanganan form inputan untuk Program 4.4.
1
2
3
4
5
6
<?php
if (isset($_GET['Input'])) {
$nama = $_GET['nama'];
echo "Nama Anda : <b>$nama</b>";
}
?>
33
3
<body>
4
<FORM ACTION="proses04.php" METHOD="POST" NAME="input">
5
Sahabat-sahabat Dekatku<br>
6
<input type="text" name="nama1"><br>
7
<input type="text" name="nama2"><br>
8
<input type="text" name="nama3"><br>
9
<input type="text" name="nama4"><br>
10
<input type="submit" name="Input" value="Input">
11
</FORM>
12
</body>
13 </html>
Program 4.7
Nama File
: proses04.php
Deskripsi
: Program penanganan form inputan untuk Program 4.6.
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if (isset($_POST['Input'])) {
$nama1 = $_POST['nama1'];
$nama2 = $_POST['nama2'];
$nama3 = $_POST['nama3'];
$nama4 = $_POST['nama4'];
echo "<b>Nama Sahabat-sahabat Dekatku :</b> <br>";
echo $nama1. "<br>";
echo $nama2. "<br>";
echo $nama3. "<br>";
echo $nama4. "<br>";
}
?>
34
<?php
if (isset($_POST['Login'])) {
$user = $_POST['username'];
$pass = $_POST['password'];
if ($user == "achmatim" && $pass == "123") {
echo "<h2>Login Berhasil</h2>";
} else {
echo "<h2>Login Gagal</h2>";
}
}
?>
35
36
6
7
8
9
10
11
12
13
Program 4.11
Nama File
: proses06.php
Deskripsi
: Program untuk mengambil dan menampilkan jurusan yang dipilih
pada program 4.10
1
2
3
4
5
6
7
<?php
if (isset($_POST['Pilih'])) {
$jurusan = $_POST['jurusan'];
echo "Jurusan Anda adalah
<b><font color='red'>$jurusan</font></b>";
}
?>
37
38
15
}
16 }
17 ?>
Penjelasan Program 4.12 dan 4.13
Program 4.12 akan menampilkan form pilihan inputan check box band
favorit (lihat gambar). Pada form inputan jenis check box, name dari masingmasing check box harus dibedakan. User dapat memilih lebih dari satu pilihan.
Perhatikan program 4.12 baris 6-9 ! Untuk mengambil nilai (value) dari form
jenis check box, sebaiknya diperiksa terlebih dahulu apakah check box dipilih
atau tidak, dengan menggunakan fungsi isset(). Perhatikan program 4.13 baris
ke-4. Jika check box di-cek (dipilih) maka ambil value dari check box tersebut
(baris ke-5)
39
1 <html>
2
<head><title>Film Kartun Favorit ~ Inputan Combo
box</title></head>
3
<body>
4
<FORM ACTION="proses08.php" METHOD="POST" NAME="input">
5
<h2>Pilih Film Kartun Favorit Anda :</h2>
6
<select name="kartun">
7
<option value="Sponge Bob">Sponge Bob</option>
8
<option value="Sinchan">Sinchan</option>
9
<option value="Conan">Conan</option>
10
<option value="Doraemon">Doraemon</option>
11
<option value="Dragon Ball">Dragon Ball</option>
12
<option value="Naruto">Naruto</option>
13
</select>
14
<input type="submit" name="Pilih" value="Pilih">
15
</FORM>
16
</body>
17 </html>
Program 4.15
Nama File
: proses08.php
Deskripsi
: Program untuk menampilkan nama film kartun favorit sesuai
dengan inputan pada program 4.14
1
2
3
4
5
6
7
<?php
if (isset($_POST['Pilih'])) {
$film = $_POST['kartun'];
echo "Film Kartun Favorit Anda adalah :
<font color=blue><b>$flm</b></font>";
}
?>
40
<html>
<head><title>Kritik dan Saran ~ Inputan
Textarea</title></head>
<body>
<FORM ACTION="proses09.php" METHOD="POST" NAME="input">
<h2>Input Kritik / Saran :</h2>
<textarea name="saran" cols="40"
rows="5"></textarea><br>
<input type="submit" name="Proses" value="Input
Saran">
</FORM>
</body>
</html>
Program 4.17
Nama File
: proses09.php
Deskripsi
: Program untuk menampilkan isi kritik / saran sesuai dengan
inputan text area pada program 4.16
1
2
3
4
5
6
7
<?php
if (isset($_POST['Proses'])) {
$saran = nl2br($_POST['saran']);
echo "Kritik / Saran Anda adalah : <br>";
echo "<font color=blue><b>$saran</b></font>";
}
?>
41
42
Bab 5
Pengantar Array
Mendeklarasikan dan Menampilkan Array
Fungsi-fungsi Array dalam PHP
Fungsi dalam PHP
Pengantar Array
Array merupakan tipe data terstruktur yang berguna untuk menyimpan
sejumlah data yang bertipe sama. Bagian yang menyusun array disebut elemen
array, yang masing-masing elemen dapat diakses tersendiri melalui index array.
Index array dapat berupa bilangan integer atau string.
<?php
$arrBuah = array ("Mangga", "Apel", "Pisang", "Jeruk");
echo $arrBuah[0]; //Mangga
echo $arrBuah[3]; //Jeruk
$arrWarna = array();
$arrWarna[] = "Merah";
$arrWarna[] = "Biru";
$arrWarna[] = "Hijau";
$arrWarna[] = "Putih";
echo $arrWarna[0]; //Merah
echo $arrWarna[2]; //Hijau
?>
43
44
1
2
3
4
5
6
<?php
$arrWarna = array ("Blue","Black","Red","Yellow","Green");
:
: Program menampilkan seluruh isi array
1 <?php
2 $arrNilai = array ("Ani" => 80, "Otim" => 90, "Ana" => 75, "Budi"
Achmad Solichin ([email protected])
45
=> 85);
46
3
4
5
6
7
8
9
10
11
12
13
14
:
: Program mencetak struktur
1 <?
2 $arrWarna = array ("Blue","Black","Red","Yellow","Green");
3 $arrNilai = array ("Ani" => 80, "Otim" => 90, "Ana" => 75,
"Budi" => 85);
4 echo "<pre>";
5 print_r ($arrWarna);
6 echo "<br>";
7 print_r ($arrNilai);
8 echo "</pre>";
9 ?>
Achmad Solichin ([email protected])
47
48
Program 5.8
Nama File
: array08.php
Deskripsi
: Program mengurutkan array dengan ksort() dan krsort().
49
1 <?php
2 $arrNilai = array ("Ani"=>80, "Otim"=>90, "Sri"=>75,
"Budi"=>85);
3 echo "<b>Array sebelum pengurutan</b>";
4 echo "<pre>";
5 print_r($arrNilai);
6 echo "</pre>";
7
8 ksort($arrNilai);
9 reset($arrNilai);
10 echo "<b>Array setelah pengurutan dengan ksort()</b>";
11 echo "<pre>";
12 print_r($arrNilai);
13 echo "</pre>";
14
15 krsort($arrNilai);
16 reset($arrNilai);
17 echo "<b>Array setelah pengurutan dengan krsort()</b>";
18 echo "<pre>";
19 print_r($arrNilai);
20 echo "</pre>";
21 ?>
Program 5.9
Nama File
: array09.php
Deskripsi
: Program mengatur posisi pointer dalam array.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$transport = array('foot', 'bike', 'car', 'plane');
echo "<pre>";
print_r ($transport);
echo "</pre>";
$mode = current($transport);
echo $mode."<br>"; // $mode = 'foot';
$mode = next($transport);
echo $mode."<br>"; // $mode = 'bike';
$mode = current($transport);
echo $mode."<br>"; // $mode = 'bike';
$mode = prev($transport);
echo $mode."<br>"; // $mode = 'foot';
$mode = end($transport);
echo $mode."<br>"; // $mode = 'plane';
$mode = current($transport);
echo $mode."<br>"; // $mode = 'plane';
?>
Program 5.10
Nama File
: array10.php
Deskripsi
: Program mencari elemen array.
1
2
3
4
5
6
7
8
9
<?php
$arrBuah = array ("Mangga", "Apel", "Pisang", "Kedondong",
"Jeruk");
if (in_array ("Kedondong", $arrBuah)) {
echo "Ada buah Kedondong di sini";
} else {
echo "Tidak ada buah Kedondong di sini";
}
?>
50
Program 5.11
Nama File
: fungsi01.php
Deskripsi
: Program sederhana mendefinisikan dan memanggil fungsi tanpa
parameter dan tanpa return value.
1
2
3
4
5
6
7
8
9
10
11
<?php
function cetak_ganjil () {
for ($i=0; $i<100; $i++) {
if ($i%2 == 1) {
echo "$i ";
}
}
}
//pemanggilan fungsi
cetak_ganjil();
?>
Program 5.12
Nama File
: array02.php
Deskripsi
: Program fungsi dengan parameter.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function cetak_ganjil ($awal, $akhir) {
for ($i=$awal; $i<$akhir; $i++) {
if ($i%2 == 1) {
echo "$i ";
}
}
}
//pemanggilan fungsi
$a = 10;
$b = 50;
echo "<b>Bilangan ganjil dari $a sampai $b : </b><br>";
cetak_ganjil($a, $b);
?>
Program 5.13
Nama File
: fungsi03.php
Deskripsi
: Program fungsi yang mengembalikan nilai.
1
2
3
4
5
6
7
8
9
<?php
function luas_lingkaran ($jari) {
return 3.14 * $jari * $jari;
}
//pemanggilan fungsi
$r = 10;
echo "Luas lingkaran dengan jari-jari $r = ";
echo luas_lingkaran($r);
?>
Program 5.14
Nama File
: fungsi04.php
Deskripsi
: Program passing by value dalam fungsi.
50
1
2
3
4
5
6
7
8
9
10
11
<?php
function tambah_string ($str) {
$str = $str . ", Jakarta";
return $str;
}
//
$str = "Universitas Budi Luhur";
echo "\$str = $str<br>";
echo tambah_string ($str). "<br>";
echo "\$str = $str<br>";
?>
Program 5.15
Nama File
: fungsi05.php
Deskripsi
: Program passing by reference dalam fungsi.
1
2
3
4
5
6
7
8
9
10
11
<?php
function tambah_string (&$str) {
$str = $str . ", Jakarta";
return $str;
}
//
$str = "Universitas Budi Luhur";
echo "\$str = $str<br>";
echo tambah_string ($str). "<br>";
echo "\$str = $str<br>";
?>
Program 5.16
Nama File
: fungsi06.php
Deskripsi
: Program menampilkan defined-function yang didukung oleh PHP.
1
2
3
4
5
6
7
8
9
10
<?php
function luas_lingkaran ($jari) {
return 3.14 * $jari * $jari;
}
$arr = get_defined_functions();
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
Program 5.17
Nama File
: fungsi07.php
Deskripsi
: Program memeriksa suatu fungsi tersedia di PHP atau tidak.
1
2
3
4
5
6
7
<?php
if (function_exists('exif_read_data')) {
echo "Fungsi exif_read_data() ada di PHP.<br />\n";
} else {
echo "Fungsi exif_read_data() tidak ada di PHP.<br />\n";
}
?>
51
Bab 6
Pengantar String
Fungsi-fungsi String dalam PHP
Fungsi-fungsi Operasi Tanggal dalam PHP
Pengantar String
String merupakan kumpulan dari karakter. Dalam PHP, karakter sama
dengan byte, dimana terdapat 256 karakter. PHP tidak mendukung nativeunicode.
Untuk menuliskan sebuah string dalam PHP, bisa menggunakan 3 (tiga)
cara, yaitu dengan :
1. single quoted kutip tunggal ( ' )
2. double quoted kutip ganda ( " )
3. heredoc sintaks
Program 6.1
Nama File
: string01.php
Deskripsi
: Program string dengan single quoted ( ' ).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
echo 'this is a simple string';
echo 'You can also have embedded newlines in
strings this way as it is
okay to do';
// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';
// Outputs: You deleted C:\*.*?
echo 'You deleted C:\*.*?';
// Outputs: This will not expand: \n a newline
echo 'This will not expand: \n a newline';
// Outputs: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>
Program 6.2
Nama File
: string02.php
Deskripsi
: Program string dengan heredoc sintaks.
1
2
3
4
5
6
7
8
9
10
11
<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
/* More complex example, with variables. */
class foo
{
var $foo;
52
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var $bar;
function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
ltrim() menghapus karakter tertentu ( , \t, \n, \r, \0, \x0B) di awal string.
53
rtrim() - menghapus karakter tertentu ( , \t, \n, \r, \0, \x0B) di akhir
string.
split() sama dengan explode
str_repeat() mengulang string
str_replace() mengganti semua string dalam pola menjadi suatu string.
strip_tags() mengabaikan HTML dan PHP tag dalam string.
stripslashes() menghilangkan backslashes (\) dalam string.
strlen() menghitung panjang string.
strpos() mencari posisi pertama sebuah string dalam string.
strrchr() mencari posisi terakhir sebuah karakter dalam string.
strrpos() mencari posisi terakhir sebuah string dalam string.
strrev() membalik string.
strstr() mencari posisi pertama sebuah karakter dalam string.
strtolower() mengubah string menjadi huruf kecil (lower-case).
strtoupper() mengubah string menjadi huruf kapital (upper-case)
substr() memotong string
trim() - menghapus karakter tertentu ( , \t, \n, \r, \0, \x0B) di akhir dan
akhir string.
ucfirst() mengubah huruf pertama dari semua string menjadi Upper-case.
ucwords() mengubah huruf pertama tiap kata dalam string menjadi uppercase.
wordwrap() memotong sejumlah karakter dalam string dengan stringbreak-character.
Program 6.3
Nama File
: string03.php
Deskripsi
: Program penggunaan fungsi strtolower, strtoupper, ucfirst,
ucwords, strrev, dan strlen dalam string.
1
2
3
4
5
6
7
8
9
10
11
<?php
$str = "Everything i do, i do it for YOU";
echo "<b>String asli</b> : $str";
echo "<br><b>strtolower()</b> : ". strtolower($str);
echo "<br><b>strtoupper()</b> : ". strtoupper($str);
echo "<br><b>ucfrst() :</b> ". ucfirst($str);
echo "<br><b>ucwords() :</b> ". ucwords($str);
echo "<br><b>strrev() :</b> ". strrev($str);
echo "<br><b>Jumlah karakter</b> : ". strlen($str);
?>
<?php
$str = "Is your name O'Reilly ?";
$str2 = addslashes ($str);
$str3 = stripslashes ($str2);
echo "<b>String asli</b> : $str";
echo "<br><b>addslashes()</b> : $str2";
echo "<br><b>stripslashes()</b> : $str3";
?>
1
2
3
4
5
6
<?php
echo "Menampilkan bilangan ASCII";
for ($i=1; $i<=256; $i++) {
echo "<br>$i.\t". chr($i);
}
?>
<?php
$str = "<b><u>Everything I do, I do it for you</u></b>";
echo $str."<br>";
//no tag html
echo strip_tags ($str). "<br>";
//allow tag <u>
echo strip_tags ($str,"<u>")."<br>";
//tampil apa adanya
echo htmlspecialchars ($str)."<br>";
//tampil apa adanya
echo htmlentities ($str);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$number = 1234.56;
// english notation (default)
$english_format_number = number_format($number);
echo "<br>".$english_format_number; // 1,235
// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
echo "<br>".$nombre_format_francais; // 1 234,56
//indonesian notation
$format_indonesia = number_format ($number, 2, ',', '.');
echo "<br>".$format_indonesia; //1.234,56
$number = 1234.5678;
// english notation without thousands seperator
$english_format_number = number_format($number, 2, '.', '');
echo "<br>". $english_format_number; // 1234.57
?>
<?php
// Contoh 1
$buah = "mangga pisang rambutan apel jeruk kedondong";
$buahan = explode(" ", $buah);
echo $buahan[0]."<br>"; // mangga
echo $buahan[3]."<br>"; // apel
// Contoh 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) =
explode(":", $data);
11 echo $user."<br>"; // foo
12 echo $pass; // *
13
14 ?>
Penjelasan Program 6.8
Program 6.8 di atas merupakan contoh penggunaan fungsi explode untuk
memecah string berdasarkan pola (aturan) tertentu. Pada baris ke-4, dengan
fungsi explode() akan memecah string $buah berdasarkan spasi dan masingmasing akan menjadi elemen array $buahan.
Program 6.9
Nama File
: string09.php
Deskripsi
: Program penggunaan fungsi implode untuk menggabungkan
array menjadi string.
1
2
3
4
5
<?php
$buahan = array('mangga','jeruk','rambutan','apel','nanas');
$buah = implode(",", $buahan);
<?php
$file = "test.this.txt";
$ext1 = strstr($file, ".");
$ext2 = strchr($file, ".");
$ext3 = strrchr($fle, ".");
echo $ext1. "<br>";
//.this.txt
echo $ext2. "<br>";
//.this.txt
echo $ext3;
//.txt
?>
<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 15, "<br>");
echo $text."<br><br>";
echo $newtext;
?>
10
11
12
14
15
16
17
18
19
20
21
22
23
24
25 }
26 ?>
Keterangan
Contoh nilai
Hari
d
01 s/d 31
1 s/d 31
0 s/d 365
01 s/d 12
1 s/d 12
Minggu
W
Bulan
parameter
Keterangan
Contoh nilai
tanpa nol
t
28 s/d 31
Tahun
Y
Contoh: 99 or 06
Waktu
a
1 s/d 12
0 s/d 23
01 s/d 12
00 s/d 23
00 s/d 59
00 s/d 59
Program 6.14
Nama File
: date01.php
Deskripsi
: Program menampilkan date/time dengan berbagai parameter.
1
2
3
4
5
6
7
8
9
10
11
12
14
15
16
<?php
// Sekarang tanggal 13 April 2006 09:43:49
echo "<br>". date("d/m/Y H:i:s");
// 13/04/2006 09:43:03
echo "<br>". date("F j, Y, g:i a"); // April 13, 2006, 9:43 am
echo "<br>". date("d.m.y");
// 13.04.06
echo "<br>". date("Ymd");
// 20060413
// 13-04-06, 4330 4349 4 Thuam06 102
echo "<br>". date('j-m-y, it is w Day z ');
// it is the 13th day.
echo "<br>". date('\i\t \i\s \t\h\e jS \d\a\y.');
// Thu Apr 13 9:43:49 KRAST 2006
echo "<br>". date("D M j G:i:s T Y");
echo "<br>". date("H:i:s");
// 17:16:17
?>
Program 6.15
Nama File
: date02.php
Deskripsi
: Program menampilkan nama hari dalam bahasa Indonesia.
1 <?php
2 // Sekarang tanggal 13 April 2006 09:43:49
3 $arrDay = array("Minggu", "Senin", "Selasa", "Rabu", "Kamis",
"Jum'at", "Sabtu");
4 $day = date ("w");
//0 - 6 of day
5
6 echo "Hari ini hari : <b>" . $arrDay[$day]."</b>";
7 ?>
Bab 7
Manipulasi File
+ Mendapatkan Informasi File
+ Copy, Rename dan Delete File
Upload File
Penanganan File
Dalam management file dan direktori, PHP menyediakan lebih dari 70
fungsi. Beberapa fungsi utama yang berhubungan dengan management file
(create, write, append, dan delete), antara lain :
Membuka dan Membuat File
fopen ($namafile, $mode);
Keterangan :
$namafile merupakan nama file yang akan dibuat, sedangkan $mode merupakan
mode akses file. Mode akses file yang bisa digunakan yaitu :
Mode
r
r+
w
w+
a
a+
Keterangan
Hanya untuk baca file, pointer berada di awal file
Untuk baca dan tulis file, pointer berada di awal file
Hanya untuk tulis file, isi file lama dihapus, jika file belum ada maka
akan di-create
Untuk baca dan tulis file, isi file lama dihapus, jika file belum ada maka
akan di-create
Hanya untuk menambahkan isi file, pointer berada di akhir file, jika file
belum ada maka di-create
Untuk membaca dan menambahkan isi file, pointer berada di akhir file,
jika file belum ada maka di-create
Program 7.1
Nama File
: file01.php
Deskripsi
: Program mengakses (membuka) file dengan mode r.
1
2
3
4
5
6
7
8
9
10
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "r");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum ada</b>";
} else {
echo "<b>File berhasil dibuka</b>";
}
fclose($handle);
?>
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "w");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum ada</b>";
} else {
echo "<b>File berhasil dibuka</b>";
}
fclose($handle);
?>
4
5
6
7
8
9
10
11
12
13
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum ada</b>";
} else {
fwrite ($handle, "Fakultas Teknologi Informasi\n");
fputs ($handle, "Universitas Budi Luhur\n");
//file_put_contents ($namafile, "Jakarta");
echo "<b>File berhasil ditulis</b>";
}
fclose($handle);
?>
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "r");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum ada</b>";
} else {
$isi = fgets ($handle, 2048);
//$isi2 = fread ($handle, 20);
echo "Isi 1 : $isi<br>";
//echo "Isi 2 : $isi2<br>";
}
fclose($handle);
?>
Program 7.5
Nama File
: file05.php
Deskripsi
: Program membaca isi file baris tiap baris.
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$namafile = "data.txt";
$handle = fopen ($namafile, "r");
if (!$handle) {
echo "<b>File tidak dapat dibuka atau belum ada</b>";
} else {
echo "<b>Isi file : </b><br>";
while ($isi = fgets ($handle, 2048)) {
echo "$isi<br>";
}
}
fclose($handle);
?>
<?php
$namafile = "data.txt";
$handle = @fopen($namafile, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $bufer."<br>";
}
fclose($handle);
}
?>
Menutup File
fclose ($handle);
Program 7.7
Nama File
: file07.php
Deskripsi
: Program aplikasi user counter dengan file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$counter_file="counter.txt";
if (!fle_exists ($counter_file)) {
fopen ($counter_file, "w");
}
$file = fopen($counter_file,"r");
$counter = fread($file,10);
fclose($fle);
$counter++;
echo "<h2>Anda adalah pengunjung ke - $counter</h2>";
$file = fopen($counter_file, "w");
fwrite($fle,$counter);
fclose($fle);
?>
<?php
$dir = "images"; //nama direktori
$cek = mkdir ($dir);
if ($cek) {
echo "Direktori <b>$dir</b> berhasil dibuat";
} else {
echo "Direktori <b>$dir</b> gagal dibuat";
}
?>
<?php
//buat direktori
$dir = "include";
//nama direktori
$cek = mkdir ($dir);
if ($cek) {
echo "Direktori <b>$dir</b> berhasil dibuat";
} else {
echo "Direktori <b>$dir</b> gagal dibuat";
}
//hapus direktori
$del = rmdir ($dir);
if ($del) {
echo "<br>Direktori <b>$dir</b> berhasil dihapus";
} else {
echo "<br>Direktori <b>$dir</b> gagal dihapus";
}
?>
<?php
$dir = "images";
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $fle != "..") {
echo "$file<br>";
}
}
closedir($handle);
}
?>
Manipulasi File
Mendapatkan Informasi File
Beberapa Fungsi yang berhubungan dengan informasi dan manipulasi file,
terdapat dalam tabel sebagai berikut :
Fungsi
Keterangan
file_exists($file)
Memeriksa apakah $file ada atau tidak
is_file($file)
Memeriksa apakah $file adalah file atau bukan.
is_dir($file)
Memeriksa apakah $file adalah direktori atau bukan.
is_executable($file) Memeriksa apakah $file termasuk file yang bisa dijalankan
secara langsung atau bukan.
is_writable($file)
Memeriksa apakah $file termasuk file yang bisa ditulis atau
diedit.
is_readable($file)
Memeriksa apakah $file termasuk file yang bisa dibaca
atau tidak.
fileatime($file)
Menghasilkan waktu akses terakhir file (unix timestamp).
filectime($file)
Menghasilkan waktu pembuatan file (unix timestamp).
filemtime($file)
Menghasilkan waktu modifikasi terakhir file ( dalam unix
timestamp).
filesize($file)
Menghasilkan ukuran besar file (dalam byte).
filetype($file)
Menghasilkan jenis file.
Program 7.11
Nama File
: file11.php
Deskripsi
: Program memeriksa keberadaan suatu file.
1
2
3
4
5
6
7
8
9
<?php
$filename = "data.txt";
if (file_exists($filename)) {
echo "File $flename ADA";
} else {
echo "File $flename TIDAK ADA";
}
?>
Program 7.12
Nama File
: file12.php
Deskripsi
: Program mendapatkan beberapa informasi file.
1 <?php
2 $file = "data.txt";
3
4 if (is_file($file)) {
5
echo "File <b>$fle</b> adalah FILE<br>";
6
//
7
if (is_executable ($file)) {
8
echo "File <b>$fle</b> bisa dijalankan secara
langsung (executable)<br>";
9
} else {
10
echo "File <b>$fle</b> TIDAK executable<br>";
11
}
12
//
13
if (is_writable ($fle)) {
14
echo "File <b>$fle</b> bisa ditulis / diedit<br>";
15
} else {
16
echo "File <b>$fle</b> TIDAK bisa ditulis /
diedit<br>";
17
}
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//
if (is_readable ($fle)) {
echo "File <b>$fle</b> bisa dibaca<br>";
} else {
echo "File <b>$fle</b> TIDAK bisa dibaca<br>";
}
//
echo "Akses terakhir file <b>$file</b> = ". date("d-m-Y H:i:s.",
fileatime($file)). "<br>";
echo "File <b>$fle</b> dibuat = ". date("d-m-Y H:i:s.",
filectime($file)). "<br>";
echo "Modifkasi terakhir file <b>$fle</b> = ". date("d- m-Y
H:i:s.", filemtime($file)). "<br>";
echo "Ukuran file <b>$file</b> = ". filesize($file). "
bytes<br>";
echo "Jenis file <b>$file</b> = ".filetype($file). "<br>";
} else if (is_dir($fle)){
echo "File <b>$fle</b> adalah DIREKTORI<br>";
} else {
echo "File <b>$fle</b> tidak dikenal<br>";
}
?>
<?php
$file = "data.txt";
$filebaru = "databaru.txt";
$filebaru2 = "databaru2.txt";
if (copy ($file, $filebaru)) {
echo "File <b>$fle</b> berhasil dicopy menjadi
<b>$filebaru</b>. <br>";
}
if (rename ($filebaru, $filebaru2)) {
echo "File <b>$flebaru</b> berhasil direname menjadi
<b>$filebaru2</b>. <br>";
}
if (unlink ($filebaru2)) {
echo "File <b>$flebaru2</b> berhasil dihapus. <br>";
}
?>
Upload File
PHP, sebagai server-side-scripting, sangat memungkinkan untuk menangani
upload file ke server. Ada beberapa hal yang perlu diperhatikan dalam upload file
ini, yaitu :
1. Pada Form HTML harus ditambahkan atribut :
ENCTYPE="multipart/form-data"
$_FILES[file][name]
: Nama asli dari file yang diupload
$_FILES[file][size]
: Ukuran file asli (dalam byte)
$_FILES[file][type]
: MIME type file yang diupload
4. Destination folder file upload harus bisa writable (bisa diakses),
biasanya dengan permission 777 atau 775.
Program 7.14
Nama File
: form_upload.php
Deskripsi
: Program menampilkan form upload file.
1 <html>
2
<head><title>Upload File</title></head>
3
<body>
4
<FORM ACTION="upload.php" METHOD="POST"
ENCTYPE="multipart/form-data">
5
Upload File : <input type="file" name="file"><br>
6
<input type="submit" name="Upload" value="Upload">
7
</FORM>
8
</body>
9 </html>
Program 7.15
Nama File
: upload.php
Deskripsi
: Program proses upload file.
1 <?php
2 if (isset($_POST['Upload'])) {
3
$dir_upload = "images/";
4
$nama_file = $_FILES['file']['name'];
5
//
6
if (is_uploaded_file($_FILES['file']['tmp_name'])) {
7
$cek = move_uploaded_fle ($_FILES['file']['tmp_name'],
$dir_upload.$nama_file);
8
if ($cek) {
9
die ("File berhasil diupload");
10
} else {
11
die ("File gagal diupload");
12
}
13
}
14 }
15 ?>
Penjelasan Program 7.15
Program 7.15 di atas merupakan program sederhana penanganan upload
file. Fungsi is_uploaded_file() pada baris ke-6 akan mengupload file yang telah
dipilih melalui form pada program 7.14 ke folder temporary (sementara).
Selanjutnya pada baris ke-7, file yang sudah diupload ke folder temporary akan
dipindahkan (move) ke direktori yang diinginkan menggunakan fungsi
move_uploaded_file(). Lihat baris ke-7!
Bab 9
Session
Cookies
Session
Session merupakan hal yang cukup penting dalam aplikasi berbasis web.
Dengan session memungkinkan programmer menyimpan informasi user secara
semi-permanen, artinya selama masa tertentu informasi akan tersimpan.
Penyimpanan isi variabel session berada di server, jadi tidak bisa diakses secara
langsung oleh client.
Dalam aplikasi berbasis web, session banyak digunakan sebagai
autentifikasi login. Dengan session memungkinkan programmer mengatur siapa
saja yang bisa mengakses suatu halaman. Misalnya saja, untuk melihat halaman
kotak surat pada email, kita harus login terlebih dahulu. Dalam proses login
antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di
setiap halaman. Di halaman kotak surat, session tersebut akan diperiksa. Jika
session benar maka user dipersilahkan membuka halaman kotak surat, namun
jika salah maka user tidak bisa membuka halaman kotak surat dan biasanya
akan diminta untuk login terlebih dahulu. Itulah sebabnya, user tidak bisa
mengakses halaman kotak surat secara langsung tanpa melakukan login.
Dalam penanganan session terdapat beberapa proses yang perlu
diperhatikan :
<?php
/****************************************************
Nama fle : session01.php
Halaman ini merupakan halaman contoh penciptaan session.
Perintah session_start() harus ditaruh di perintah pertama
tanpa spasi di depannya. Perintah session_start() harus ada
pada setiap halaman yang berhubungan dengan session
*****************************************************/
session_start();
if (isset ($_POST['Login'])) {
$user = $_POST['user'];
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$pass = $_POST['pass'];
//periksa login
if ($user == "achmatim" && $pass = "123") {
//menciptakan session
$_SESSION['login'] = $user;
//menuju ke halaman pemeriksaan session
echo "<h1>Anda berhasil LOGIN</h1>";
echo "<h2>Klik <a href='session02.php'>di sini
(session02.php)</a>
untuk menuju ke halaman pemeriksaan session";
}
} else {
?>
<html>
<head>
<title>Login here...</title>
</head>
<body>
<form action="" method="post">
<h2>Login Here...</h2>
Username : <input type="text" name="user"><br>
Password : <input type="password" name="pass"><br>
<input type="submit" name="Login" value="Log In">
</form>
</body>
</html>
<? } ?>
Gambar 9.1. Error yang terjadi karena sebelum session_start() sudah ada output
Selanjutnya, program 9.1 akan menampilkan sebuah form login sederhana
di layar. Form terdiri dari form inputan username, password dan sebuah tombol
login. Jika tombol login ditekan maka pemeriksaan kondisi pada baris 10 akan
bernilai TRUE dan perintah yang ada di blok if akan dieksekusi. Baris 11 dan 12
merupakan perintah untuk mengambil nilai pada form inputan username dan
password. Nilai username dan password tersebut diperiksa pada baris 14.
Pemeriksaan username dan password ini, untuk aplikasi web yang sudah
<?php
/*************************************************************
Halaman ini merupakan contoh halaman pemeriksaan session. Pemeriksaan session biasanya dilakukan jika suatu halaman memiliki
akses terbatas. Misalnya harus login terlebih dahulu.
**************************************************************/
session_start();
//pemeriksaan session
if (isset($_SESSION['login'])) { //jika sudah login
//menampilkan isi session
echo "<h1>Selamat Datang ". $_SESSION['login'] ."</h1>";
echo "<h2>Halaman ini hanya bisa diakses jika Anda sudah
login</h2>";
echo "<h2>Klik <a href='session03.php'>di sini
(session03.php)</a> untuk LOGOUT</h2>";
} else {
//session belum ada artinya belum login
die ("Anda belum login! Anda tidak berhak masuk ke halaman
ini.Silahkan login <a href='session01.php'>di sini</a>");
}
?>
Program 9.3
Nama File
: session03.php
Deskripsi
: Program menghapus session.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
/********************************************************
Halaman ini merupakan halaman logout, dimana kita menghapus
session yang ada.
*********************************************************/
session_start();
if (isset($_SESSION['login'])) {
unset ($_SESSION);
session_destroy();
//
echo "<h1>Anda sudah berhasil LOGOUT</h1>";
echo "<h2>Klik <a href='session01.php'>di sini</a> untuk
LOGIN kembali</h2>";
echo "<h2>Anda sekarang tidak bisa masuk ke halaman
<a href='session02.php'>session02.php</a> lagi</h2>";
}
?>
Cookies
Seperti halnya session, cookies juga merupakan sebuah konsep
penyimpanan informasi user. Hanya saja, jika session tempat penyimpanan
berada di server, cookies berada di client. Oleh karena itu, konsep cookies
sebaiknya jangan digunakan untuk menyimpan informasi login user seperti
username, password dsb. Selain user bisa melihat informasi yang disimpan, user
juga bisa men-disable cookies itu sendiri. Jika cookies di-disable, maka program
yang memanfaatkan cookies tentunya tidak akan berjalan dengan baik.
Cookies sendiri biasanya dipakai dalam aplikasi shooping cart. Biasa
digunakan untuk menyimpan sementara, produk-produk yang dipilih oleh
pengunjung pada saat berbelanja.
Dalam penanganan cookies juga terdapat beberapa proses yang perlu
diperhatikan :
Proses pembuatan
cookies
Proses pemeriksaan
cookies
Proses penghapusan
cookies
Program
9.4
Nama File
cookie01.php
Deskripsi
cookie.
1
2
3
4
5
:
: Program membuat
<?php
$value = 'achmatim';
$value2 = 'Achmad Solichin';
setcookie("username", $value);
Program 9.5
Nama File
: cookie02.php
Deskripsi
: Program pemeriksaan cookie.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if(isset($_COOKIE['username'])) {
echo "<h1>Cookie 'username' ada. Isinya : " .
$_COOKIE['username'];
} else {
echo "<h1>Cookie 'username' TIDAK ada.</h1>";
}
if(isset($_COOKIE['namalengkap'])) {
echo "<h1>Cookie 'namalengkap' ada. Isinya : " .
$_COOKIE['namalengkap'];
} else {
echo "<h1>Cookie 'namalengkap' TIDAK ada.</h1>";
}
echo "<h2>Klik <a href='cookie01.php'>di sini</a> untuk
penciptaan cookies</h2>";
16 echo "<h2>Klik <a href='cookie03.php'>di sini</a> untuk
penghapusan cookies</h2>";
17 ?>
Program 9.6
Nama File
: cookie03.php
Deskripsi
: Program penghapusan cookie.
1
2
3
4
5
6
7
8
9
10
<?php
// set the expiration date to one hour ago
setcookie ("username", "", time() - 3600);
setcookie ("namalengkap", "", time() - 3600);
echo "<h1>Cookie Berhasil dihapus.</h1>";
echo "<h2>Klik <a href='cookie01.php'>di sini</a> untuk
penciptaan cookies</h2>";
echo "<h2>Klik <a href='cookie02.php'>di sini</a> untuk
pemeriksaan cookies</h2>";
?>
Bab 10
programmer yang menggunakan class tidak perlu mengetahui isi dan jalannya
class secara detail, hanya perlu tahu bagaimana cara menggunakannya. Sama
halnya dengan sebuah mobil misalnya. Seorang pemilik mobil tentunya tidak
Mendefinisikan Class
Bentuk umum mendefinisikan sebuah class adalah sbb :
class namaClass
{
Deklarasikan dan definisikan properties di sini
Definisikan semua method di sini
}
Penamaan namaClass pada dasarnya sama dengan penamaan variabel.
Penamaan bebas, boleh apa saja, kecuali stdClass. PHP sudah menggunakan
nama stdClass sebagai nama class built-in. Isi tubuh class terletak di antara
tanda kurung kurawal buka ( { ) dan kurawal tutup ( } ). Di tubuh class terdapat
pendefinisian properties (variabel) dan method-method class.
Menambahkan Properties (Variabel)
Perhatikan contoh pendefinisian class beserta propertiesnya, sbb :
1 class Mobil
2 {
3
var $warna;
4
var $merk;
5
var $harga;
6
7
//Tambahkan pendefinisian method di sini
8 }
Pendeklarasian variabel dalam class seperti pada contoh di atas, bukanlah
suatu keharusan, karena dalam PHP variabel tidak perlu dideklarasikan, cukup
digunakan saja. Namun demikian, pendeklarasian variabel yang digunakan
sangat dianjurkan untuk kemudahan pembacaan dan pemahaman program.
Variabel class juga dapat langsung diinisialisasi dengan sebuah nilai. Namun
inisialisasi variabel tidak boleh mengandung operasi aritmatika maupun operasi
yang lainnya. Perhatikan contoh sebagai berikut :
1 class Mobil
2 {
3
var $warna = "Biru";
4
var $merk = "BMW";
5
var $harga = "10000000";
6
7
//Tambahkan pendefinisian method di sini
8 }
Menambahkan Method
Untuk menambahkan method, tinggal mendefinisikan method seperti
halnya fungsi biasa. Misalnya kita akan menambahkan fungsi atau method
untuk
mengganti warna mobil dan untuk menampilkan warna mobil. Nama method
pada dasarnya terserah (mengikuti aturan nama variabel). Namun demikian,
jangan menggunakan nama method yang diawali dengan dua buah under-score
( ) yaitu
construct(),
destruct() dan
clone() karena ketiga fungsi
tersebut mempunyai arti tersendiri di PHP.
Lihat contoh menambahkan method sbb :
1 class Mobil
2 {
3
var $warna = "Biru";
4
var $merk = "BMW";
5
var $harga = "10000000";
6
7
function gantiWarna ($warnaBaru)
8
{
9
$this->warna = $warnaBaru;
10
}
11
12
function tampilWarna ()
13
{
14
echo "Warna mobilnya : " . $this->warna;
15
}
16 }
Pada listing program di atas sudah ditambahkan fungsi atau method
gantiWarna() dan tampilWarna(). Untuk mengakses properties (variabel) bisa
menggunakan keyword $this. Keyword ini me-refer pada class tempatnya
berada. Method gantiWarna() mempunyai satu parameter, yaitu $warnaBaru.
Menambahkan Konstruktor
Konstruktor merupakan sebuah method khusus yang akan secara otomatis
dijalankan saat object terbentuk. Konstruktor tidak harus ada, namun dalam satu
class hanya boleh ada satu konstruktor. Method konstruktor biasanya berisi
pemberian nilai default dari masing-masing properties (variabel).
Untuk membuat konstruktor, cukup dengan mendefinisikan suatu fungsi
dengan nama
construct(). Perhatikan contoh sebagai berikut :
1 class Mobil
2 {
3
var $warna;
4
var $merk;
5
var $harga;
6
7
function construct()
8
{
9
$this->warna = "Biru";
10
$this->merk = "BMW";
11
$this->harga = "10000000";
12
}
13
14
function gantiWarna ($warnaBaru)
15
{
16
$this->warna = $warnaBaru;
17
}
18
19
function tampilWarna ()
20
{
21
echo "Warna mobilnya : " . $this->warna;
22
}
23 }
Membentuk Objek Class
Untuk menggunakan sebuah objek, harus dibentuk objek dari classnya. Dari
sebuah class bisa dibentuk beberapa objek sekaligus. Bentuk umum
pembentukan objek adalah sbb :
$namaObjek = new namaClass();
Sedangkan untuk memanggil anggota (member) dari class dapat dengan format
sbb :
$namaObjek->variabel;
$namaObjek->namaMethod();
Program 10.1
Nama File
: pbo01.php
Deskripsi
: Program sederhana pendefinisian class dan pemanggilan class.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?
class Mobil
{
var $warna;
var $merk;
var $harga;
function construct()
{
$this->warna = "Biru";
$this->merk = "BMW";
$this->harga = "10000000";
}
function gantiWarna ($warnaBaru)
{
$this->warna = $warnaBaru;
}
function tampilWarna ()
{
echo "Warna mobilnya : " . $this->warna;
}
$a = new Mobil();
$b = new Mobil();
echo "<b>Mobil pertama</b><br>";
$a->tampilWarna();
echo "<br>Mobil pertama ganti warna<br>";
$a->gantiWarna("Merah");
$a->tampilWarna();
//
echo "<br><b>Mobil kedua</b><br>";
$b->gantiWarna("Hijau");
$b->tampilWarna();
?>
Program 10.2
Nama File
: pbo02.inc.php
Deskripsi
: Program class untuk membuat sebuah form inputan sederhana.
1 <?php
2 /*
3 Nama Class : Form
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Program 10.3
Nama File
: pbo03.php
Deskripsi
: Program memanfaatkan Program 10.2 untuk membuat
form inputan sederhana.
1
2
3
4
5
6
7
8
9
10
11
<?php
include "pbo02.inc.php";
echo "<html><head><title>Mahasiswa</title></head><body>";
$form = new Form ("","Input Form");
$form->addField ("txtnim", "Nim");
$form->addField ("txtnama", "Nama");
$form->addField ("txtalamat", "Alamat");
echo "<h3>Silahkan isi form berikut ini :</h3>";
$form->displayForm();
echo "</body></html>";
?>
Bab 11
DB2
http://www306.ibm.com/software/data/db2/
Microsoft
SQL
Server
http://www.microsoft.com/sql/
Oracle
http://www.oracle.com
Sybase
http://www.sybase.com/
Interbase
http://www.borland.com/interbase
Teradata
http://www.teradata.com/
Firebird
http://www.firebirdsql.org/
MySQL
http://www.mysql.com
PostgreSQL
http://www.postgresql.org/
Dalam konsep database, urutan atau hierarki database sangatlah penting.
Urutan atau hierarki database digambarkan dalam gambar sbb :
DBMS
Database
Database
Database
Tabel
Tabel
Tabel
Tabel
Tabel
Tentang MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris: database management system) atau DBMS yang multithread,
multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat
MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General
Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk
kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak seperti Apache yang merupakan software yang dikembangkan oleh
komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya
masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan
komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta
hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang
Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan
Michael "Monty" Widenius.
Beberapa kelebihan MySQL antara lain :
Mendukung transaksi
InnoDB
Tablespace
Settings
untuk tablespace InnoDB.
Klik
3. PHPMyAdmin
PHPMyAdmin merupakan front-end MySQL berbasis web. PHPMyAdmin dibuat
dengan menggunakan PHP. Saat ini, PHPMyAdmin banyak digunakan dalam
hampir semua penyedia hosting yang ada di internet. PHPMyAdmin
mendukung berbagai fitur administrasi MySQL termasuk manipulasi database,
tabel, index dan juga dapat mengeksport data ke dalam berbagai format
data. PHPMyAdmin juga tersedia dalam 50 bahasa lebih, termasuk bahasa
Indonesia.
PHPMyAdmin
dapat
didownload
secara
gratis
di
http://www.phpmyadmin.net
Gambar 2.25. Tampilan layar MySQL Administrator dan MySQL Control Center
Bab 12
CREATE
ALTER
RENAME
DROP
2. DML atau Data Manipulation Language
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau
pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam
DML antara lain :
SELECT
INSERT
UPDATE
DELETE
penamaan sebuah variabel, dimana secara umum nama database boleh terdiri
dari huruf, angka dan under-score (_). Jika database yang akan dibuat sudah
ada, maka akan muncul pesan error. Namun jika ingin otomatis menghapus
database yang lama jika sudah ada, aktifkan option IF NOT EXISTS.Setiap
kita membuat database baru, maka sebenarnya MySQL akan membuat suatu
folder (direktori) sesuai dengan nama databasenya yang ditempatkan secara
default di C:\mysql\data. Di dalam folder tersebut nantinya akan terdapat file-file
yang berhubungan dengan tabel dalam database.
Berikut ini contoh perintah untuk membuat database baru dengan nama
mahasiswa :
SHOW DATABASES;
Hasil dari perintah di atas akan menampilkan semua database yang sudah ada di
MySQL. Berikut ini contoh hasil dari query di atas :
+--------------+
| Database
|
+--------------+
| mahasiswa
|
| mysql
|
| test
|
+--------------+
3 rows in set (0.02 sec)
Membuka Database
Sebelum melakukan manipulasi tabel dan record yang berada di dalamnya,
kita harus membuka atau mengaktifkan databasenya terlebih dahulu. Untuk
membuka database mahasiswa, berikut ini querynya :
USE mahasiswa;
Jika perintah atau query di atas berhasil, maka akan ditampilkan pesan sebagai
berikut :
Database changed
Menghapus Database
Untuk menghapus suatu database, sintaks umumnya adalah sbb :
perintah
di
atas
akan
menghapus
database
dengan
nama
nama_database. Jika databasenya ada maka database dan juga seluruh tabel
di dalamnya akan dihapus. Jadi berhati-hatilah dengan perintah ini! Jika nama
database yang akan dihapus tidak ditemukan, maka akan ditampilkan pesan
error. Aktifkan option IF EXISTS untuk memastikan bahwa suatu database
benar-benar ada.
Berikut ini contoh perintah untuk menghapus database dengan nama
mahasiswa :
TIPE
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
FLOAT
DOUBLE
DECIMAL
DATE/TIME
DATE
DATETIME
TIMESTAMP
TIME
YEAR
STRING
CHAR
VARCHAR
TINYTEXT
TEXT
BLOB
KETERANGAN
-128 s/d 127 SIGNED
0 s/d 255 UNSIGNED
-32768 s/d 32767 SIGNED
0 s/d 65535 UNSIGNED.
-8388608 s/d 8388607 SIGNED
0 s/d 16777215 UNSIGNED
-2147483648 s/d 2147483647 SIGNED
0 s/d 4294967295 UNSIGNED.
-9223372036854775808 s/d
9223372036854775807 SIGNED
0 s/d 18446744073709551615 UNSIGNED.
Bilangan pecahan presisi tunggal
Bilangan pecahan presisi ganda
Bilangan dengan desimal
Tanggal dengan format YYYY-MM-DD
Tanggal dan waktu dengan format :
YYYY-MM-DD HH:MM:SS
Tanggal dan waktu dengan format :
YYYYMMDDHHMMSS
Waktu dengan format HH:MM:SS
Tahun dengan format YYYY
0 255 karakter
0 255 karakter
String dengan panjang maksimum 255
karakter
String dengan panjang maksimum 65535
karakter
String dengan panjang maksimum 65535
MEDIUMTEXT
MEDIUMBLOB
LONGTEXT
LONGBLOB
KHUSUS
ENUM
SET
karakter
String dengan panjang
16777215 karakter
String dengan panjang
16777215 karakter
String dengan panjang
4294967295 karakter
String dengan panjang
4294967295 karakter
maksimum
maksimum
maksimum
maksimum
Sebagai contoh, kita akan membuat tabel baru dengan struktur sebagai
berikut :
Nama tabel : mhs
No Nama Field
1
nim
2
nama
3
tgllahir
4
alamat
Tipe
Varchar
Varchar
Date
Text
Panjang
10
30
-
Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah
sebagai berikut :
NOT NULL merupakan option untuk menyatakan bahwa suatu field tidak
boleh kosong.
PRIMARY KEY merupakan perintah untuk menentukan field mana yang akan
dijadikan primary key pada tabel.
10 dan 30 di belakang tipe data merupakan panjang maksimal dari suatu field
Untuk tipe data date dan text (dan beberapa tipe data lainnya) panjang
karakter maksimalnya tidak perlu ditentukan.
SHOW TABLES;
Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu
database. Contoh hasil dari perintah di atas adalah sebagai berikut :
+---------------------+
| Tables_in_mahasiswa |
+---------------------+
| mhs
|
+---------------------+
1 rows in set (0.01 sec)
Untuk melihat struktur tabel mhs secara lebih detail, cobalah perintah
atau query sebagai berikut :
DESC mhs;
DESC merupakan singkatan dari DESCRIBE (dalam query bisa ditulis lengkap
atau hanya 4 karakter pertama) dan mhs adalah nama tabel yang akan dilihat
strukturnya. Dari perintah di atas, akan ditampilkan struktur tabel mhs sebagai
berikut :
+----------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim
| varchar(10) |
| PRI |
|
|
| nama
| varchar(30) |
|
|
|
|
| tgllahir | date
| YES |
| NULL
|
|
| alamat
| text
| YES |
| NULL
|
|
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
Dari struktur tabel mhs yang ditampilkan di atas, dapat diketahui bahwa :
Primary Key dari tabel mhs adalah nim. Lihat kolom Key pada field nim.
Untuk field nim dan nama defaultnya tidak boleh kosong. Lihatlah kolom Null
dan Default pada field nim dan nama
Untuk field tgllahir dan alamat defaultnya boleh kosong. Lihatlah kolom Null
dan Default pada field tgllahir dan alamat.
Mengubah Struktur Table dengan ALTER
Untuk mengubah struktur suatu tabel, bentuk umum perintah SQL-nya
sebagai berikut :
ADD definisi_field_baru
baru
dengan
menambahkan
index
dengan
nama
MODIFY definisi_field
Option untuk mengubah suatu field menjadi definisi_field
DROP nama_field
Option untuk menghapus field nama_field
RENAME TO nama_tabel_baru
Option untuk mengganti nama tabel
Beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu
tabel antara lain :
1. Menambahkan field agama ke tabel mhs
Solichin',
Jika perintah SQL di atas berhasil dieksekusi maka akan ditampilkan pesan
sebagai berikut :
| 0411500116 | Ujang
| 1984-10-06 | Jakarta Barat
|
| 0422500316 | Jebleh
| 1984-10-06 | Cengkareng
|
| 0433500333 | Dono
| 1984-10-06 | Jakarta Selatan |
| 0422500433 | Dini
| 1986-12-10 | Jakarta Selatan |
| 0411500331 | Dana
| 1986-07-11 | Jakarta Selatan |
| 0444500315 | Dani
| 1985-01-01 | Jakarta Barat
|
+------------+-----------------+------------+-----------------+
juga dengan perubahan isi dari masing-masing field. Untuk mengubah nilai
dari beberapa field sekaligus, gunakan koma (,) untuk memisahkan masingmasing field.
Perintah WHERE diikuti oleh kondisi tertentu yang menentukan record mana
yang akan diedit (diubah). Perintah WHERE ini boleh ada boleh juga tidak.
Jika WHERE tidak ditambahkan pada perintah update maka semua record
dalam tabel bersangkutan akan berubah.
Perhatikan beberapa contoh perintah UPDATE tabel mhs berikut ini !
dari tabel.
Dan jika query di atas berhasil dieksekusi maka akan ditampilkan hasil
sebagai berikut :
+------------+-----------------+------------+-----------------+
| nim
| nama
| tgllahir
| alamat
|
+------------+-----------------+------------+-----------------+
| 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan |
| 0411500123 | Chotimatul M
| 1983-03-12 | Jakarta Selatan |
| 0422500111 | Bajuri
| 1983-03-25 | Tangerang
|
| 0444500011 | Oneng
| 1980-05-22 | Jakarta Utara
|
| 0433500115 | Unyil
| 1980-08-29 | Tangerang
|
| 0411500116 | Ujang
| 1984-10-06 | Jakarta Barat
|
| 0422500316 | Jebleh
| 1982-06-05 | Jakarta Selatan |
| 0433500333 | Dono
| 1984-10-06 | Jakarta Selatan |
| 0422500433 | Dini
| 1986-12-10 | Jakarta Selatan |
| 0444500315 | Dani
| 1985-01-01 | Jakarta Barat
|
+------------+-----------------+------------+-----------------+
10 rows in set (0.25 sec)
2. Menampilkan field nim dan nama dari seluruh mahasiswa dalam tabel mhs
Operator != atau <>, akan bernilai TRUE jika nilai yang dibandingkan
TIDAK SAMA (berbeda).
Operator >, akan bernilai TRUE jika nilai yang pertama lebih besar dari
nilai kedua.
Operator >=, akan bernilai TRUE jika nilai yang pertama lebih besar atau
sama dengan nilai kedua.
Operator <, akan bernilai TRUE jika nilai yang pertama lebih kecil dari
nilai kedua.
Operator <=, akan bernilai TRUE jika nilai yang pertama lebih kecil atau
sama dengan nilai kedua.
5. Menampilkan data semua mahasiswa yang beralamat di Jakarta Selatan
dan lahir pada tahun 1982.
hari dari suatu tanggal, dan masih banyak fungsi lain yang berhubungan
dengan tanggal.
6. Menampilkan nim, nama dan umur dari semua mahasiswa.
Keterangan
Pada query di atas bentuk LIMIT digunakan untuk membatasi hasil tampilan.
LIMIT banyak digunakan untuk menampilkan data yang relatif banyak.
Format fungsi LIMIT adalah sebagai berikut :
Bab 13
Tipe
Int
Int
Varchar
Text
Text
Varchar
Datetime
Tabel kategori
Nama Field
Tipe
id_kategori
Int
nm_kategori
Varchar
deskripsi
Varchar
Panjang
5
3
100
15
-
Keterangan
Primary Key, Auto Increment
Foreign Key
Judul berita
Berita singkat
Berita lengkap
Pengirim berita
Tanggal dan waktu kirim berita
Panjang
3
30
200
Keterangan
Primary Key, Auto Increment
Nama kategori
Deskripsi kategori
: koneksi.php
: Program koneksi ke database.
<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbnm = "pw2";
$conn = mysql_connect ($host, $user, $pass);
if ($conn) {
$buka = mysql_select_db ($dbnm);
if (!$buka) {
die ("Database tidak dapat dibuka");
}
} else {
die ("Server MySQL tidak terhubung");
}
?>
: input_berita.php
: Program input berita.
<?php
include "koneksi.php";
//proses input berita
if (isset($_POST['Input'])) {
$judul = addslashes (strip_tags ($_POST['judul']));
$kategori = $_POST['kategori'];
$headline = addslashes (strip_tags ($_POST['headline']));
$isi_berita = addslashes (strip_tags ($_POST['isi']));
$pengirim = addslashes (strip_tags ($_POST['pengirim']));
//insert ke tabel
$query = "INSERT INTO berita
VALUES('','$kategori','$judul','$headline','$isi_berita','$pengirim', now())";
$sql = mysql_query ($query);
if ($sql) {
echo "<h2><font color=blue>Berita telah berhasil
ditambahkan</font></h2>";
} else {
echo "<h2><font color=red>Berita gagal
ditambahkan</font></h2>";
}
}
?>
<html>
<head><title>Input Berita</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<a href="index.php">Halaman Depan</a> |
<a href="arsip_berita.php">Arsip Berita</a> |
<a href="input_berita.php">Input Berita</a>
<br><br>
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
: index.php
: Program menampilkan 5 berita terbaru di halaman depan.
<?php
include "koneksi.php";
?>
<html>
<head><title>Index Berita</title>
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
: berita_lengkap.php
: Program menampilkan berita secara lengkap.
<?php
include "koneksi.php";
if (isset($_GET['id'])) {
$id_berita = $_GET['id'];
} else {
die ("Error. No Id Selected! ");
}
?>
<html>
<head><title>Berita Lengkap</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<a href="index.php">Halaman Depan</a> |
<a href="arsip_berita.php">Arsip Berita</a> |
<a href="input_berita.php">Input Berita</a>
<br><br>
<h2>Berita Lengkap</h2>
<?
$query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.isi,
A.pengirim, A.tanggal
22
FROM berita A, kategori B WHERE
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
: arsip_berita.php
: Program arsip keseluruhan berita.
<?php
include "koneksi.php";
?>
<html>
<head><title>Arsip Berita</title>
<link rel="stylesheet" href="style.css">
<script language="javascript">
function tanya() {
if (confirm ("Apakah Anda yakin akan menghapus
berita ini ?")) {
return true;
} else {
return false;
}
}
</script>
</head>
<body>
<a href="index.php">Halaman Depan</a> |
<a href="arsip_berita.php">Arsip Berita</a> |
<a href="input_berita.php">Input Berita</a>
<br><br>
<h2>Arsip Berita</h2>
<ol>
<?
$query = "SELECT A.id_berita, B.nm_kategori, A.judul,
A.pengirim, A.tanggal
FROM berita A, kategori B WHERE
A.id_kategori=B.id_kategori
ORDER BY A.id_berita DESC";
$sql = mysql_query ($query);
while ($hasil = mysql_fetch_array ($sql)) {
$id_berita = $hasil['id_berita'];
$kategori = stripslashes ($hasil['nm_kategori']);
$judul = stripslashes ($hasil['judul']);
$pengirim = stripslashes ($hasil['pengirim']);
$tanggal = stripslashes ($hasil['tanggal']);
//
38
39
40
41
42
43
44
45
46
47
48
49
50
51
: edit_berita.php
: Program edit berita.
<?php
include "koneksi.php";
if (isset($_GET['id'])) {
$id_berita = $_GET['id'];
} else {
die ("Error. No Id Selected! ");
}
$query = "SELECT id_berita, id_kategori, judul, headline, isi,
pengirim, tanggal
FROM berita WHERE id_berita='$id_berita'";
$sql = mysql_query ($query);
$hasil = mysql_fetch_array ($sql);
$id_berita = $hasil['id_berita'];
$id_kategori = stripslashes ($hasil['id_kategori']);
$judul = stripslashes ($hasil['judul']);
$headline = stripslashes ($hasil['headline']);
$isi = stripslashes ($hasil['isi']);
$pengirim = stripslashes ($hasil['pengirim']);
$tanggal = stripslashes ($hasil['tanggal']);
//proses edit berita
if (isset($_POST['Edit'])) {
$id_berita = $_POST['hidberita'];
$judul = addslashes (strip_tags ($_POST['judul']));
$kategori = $_POST['kategori'];
$headline = addslashes (strip_tags ($_POST['headline']));
$isi_berita = addslashes (strip_tags ($_POST['isi']));
$pengirim = addslashes (strip_tags ($_POST['pengirim']));
//update berita
$query = "UPDATE berita SET
id_kategori='$kategori',judul='$judul',headline='$headline',
isi='$isi_berita',pengirim='$pengirim' WHERE
id_berita='$id_berita'";
$sql = mysql_query ($query);
if ($sql) {
echo "<h2><font color=blue>Berita telah berhasil
diedit</font></h2>";
} else {
echo "<h2><font color=red>Berita gagal
diedit</font></h2>";
39
}
40 }
41 ?>
42 <html>
43
<head><title>Edit Berita</title>
44
<link rel="stylesheet" href="style.css">
45
</head>
46
<body>
47
<a href="index.php">Halaman Depan</a> |
48
<a href="arsip_berita.php">Arsip Berita</a> |
49
<a href="input_berita.php">Input Berita</a>
50
<br><br>
51
<FORM ACTION="" METHOD="POST" NAME="input">
52
<table cellpadding="0" cellspacing="0" border="0"
width="700">
53
<tr>
54
<td colspan="2"><h2>Input Berita</h2></td>
55
</tr>
56
<tr>
57
<td width="200">Judul Berita</td>
58
<td>: <input type="text" name="judul"
size="30" value="<? echo $judul ?>"></td>
59
</tr>
60
<tr>
61
<td>Kategori</td>
62
<td>:
63
<select name="kategori">
64
<?
65
$query = "SELECT id_kategori,
nm_kategori FROM kategori ORDER BY nm_kategori";
66
$sql = mysql_query ($query);
67
while ($hasil = mysql_fetch_array
($sql)) {
68
$selected = ($hasil['id_kategori']==
$id_kategori) ? "selected" : "";
69
echo "<option
value='$hasil[id_kategori]'
$selected>$hasil[nm_kategori]</option>";
70
}
71
?>
72
</select></td>
73
</tr>
74
<tr>
75
<td>Headline Berita</td>
76
<td>: <textarea name="headline" cols="50"
rows="4"><?=$headline?></textarea></td>
77
</tr>
78
<tr>
79
<td>Isi Berita</td>
80
<td>: <textarea name="isi" cols="50"
rows="10"><?=$isi?></textarea></td>
81
</tr>
82
<tr>
83
<td>Pengirim</td>
84
<td>: <input type="text" name="pengirim"
size="20" value="<?=$pengirim?>"></td>
85
</tr>
86
<tr>
87
<td> </td>
88
<td>
89
<input type="hidden" name="hidberita"
value="<?=$id_berita?>">
90
<input type="submit" name="Edit" value="Edit
Berita">
91
<input type="reset" name="reset"
value="Cancel"></td>
92
</tr>
93
</table>
94
</FORM>
95
</body>
96 </html>
: delete_berita.php
: Program untuk menghapus berita.
<?php
include "koneksi.php";
if (isset($_GET['id'])) {
$id_berita = $_GET['id'];
} else {
die ("Error. No Id Selected! ");
}
?>
<html>
<head><title>Delete Berita</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<a href="index.php">Halaman Depan</a> |
<a href="arsip_berita.php">Arsip Berita</a> |
<a href="input_berita.php">Input Berita</a>
<br><br>
<?
//proses delete berita
if (!empty($id_berita) && $id_berita != "") {
$query = "DELETE FROM berita WHERE
id_berita='$id_berita'";
$sql = mysql_query ($query);
if ($sql) {
echo "<h2><font color=blue>Berita telah berhasil
dihapus</font></h2>";
} else {
echo "<h2><font color=red>Berita gagal
dihapus</font></h2>";
}
echo "Klik <a href='arsip_berita.php'>di sini</a>
untuk kembali ke halaman arsip berita";
} else {
die ("Access Denied");
}
?>
</body>
</html>
: style.css
: File CSS sebagai pemanis tampilan.
1 body {
2
font-family:verdana;
3
font-size:11px;
4 }
5 a{
6
color:#0000ff;
7
8
9
10
11
12
13
14
15
16
text-decoration:underline;
}
a:hover {
color:#fffff;
background-color:#8AC452;
text-decoration:none;
}
input, textarea, select, option {
font-family:verdana;
}
Tentang Penulis
Achmad Solichin. Adalah Lulusan Teknik Informatika,
Fakultas Teknologi Informasi, Universitas Budi Luhur,
Jakarta (S1, 2005). Saat ini sedang menempuh
pendidikan
S2 di Magister
Teknologi Informasi
Universitas Indonesia (2008). Kegiatan seharihari
adalah sebagai Dosen di Universitas Budi Luhur
(http://www.bl.ac.id),
sekaligus
sebagai
Kepala
Laboratorium
Komputer Universitas Budi Luhur
(http://labkom.bl.ac.id).
Kegiatan
lain
aktif
sebagai
programmer, web developer, system analyst dan memberikan
pelatihan di berbagai bidang komputer serta membuat tutorial
tutorial praktis di bidang komputer. Penulis juga terlibat dalam
pengembangan ELearning di Universitas Budi Luhur. Penulis memiliki
situs utama di http://achmatim.net yang berisi berbagai tutorial
praktis seputar pemrograman, web design, database dan materi
kuliah.
Penulis
dapat
dihubungi
melalui
email
di
[email protected] atau YM achmatim.