Pemrograman Web Dengan PHP MySQL PDF
Pemrograman Web Dengan PHP MySQL PDF
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 contoh-contoh 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 contoh-contoh 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]
Pemrograman Web dengan PHP dan MySQL
...ku persembahkan untuk Indonesia tanah air tercinta, dan untuk Chotimatul
Musyarofah istri tersayang serta Muhammad Lintang putra tercinta kami...
Achmad Solichin ([email protected])
2
Pemrograman Web dengan PHP dan MySQL
Lisensi Dokumen
Seluruh isi dalam dokumen ini dapat digunakan, dimodifikasi dan disebarluaskan
secara bebas untuk tujuan pendidikan, pembelajaran dan bukan komersial (non
profit) , 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.
Achmad Solichin ([email protected])
3
Pemrograman Web dengan PHP dan MySQL
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 dasar-dasar 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 contoh-contoh 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 contoh-contoh dalam buku ini disajikan sesederhana mungkin. Buku ini juga
cocok digunakan sebagai panduan praktikum pemrograman web di perguruan tinggi,
sekolah maupun kursus-kursus.
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.
Daftar Isi
I. Pengenalan Web Server dan Server Side Scripting
............................... 7
1. Web Server
.................................................................................................................. 7
4. Variabel
..................................................................................................................... 15
5. Tipe Data
................................................................................................................... 16
6. Konstanta
.................................................................................................................. 17
2. Struktur Perulangan
.................................................................................................. 25
3. Manipulasi File
.......................................................................................................... 68
2. Cookies ......................................................................................................................
75 IX. Pemrograman Berorientasi Objek dalam PHP
................................... 77
1. Pengantar Pemrograman Berorientasi Objek
........................................................... 77
4. Mendefinisikan Class
................................................................................................. 78
2. Tentang MySQL
......................................................................................................... 85
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.
Web
Documents
Pemrograman Web dengan PHP dan MySQL
Server Side Scripting merupakan sebuah teknologi scripting a tau pemrograman web dimana
script ( program) dikompilasi atau diterjemahkan di server. Dengan server side scripting,
memungkinkan untuk menghasilkan halaman web yang dinamis.
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.
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.
2. Download Source XAMPP versi stabil terbaru di http://apachefriends.org. Pilih versi sesuai
dengan sistem operasi yang Anda gunakan (tersedia versi untuk Windows, Linux dan Mac).
3. Pastikan komputer yang Anda gunakan berjalan dengan baik dengan
kapasitas memori dan hardisk yang masih mencukupi.
2. Akan ditampilkan window instalasi XAMPP. Pilih Next > untuk memulai proses
instalasi.
X XAMPP
nanti
ilkan windo er) dimana Pilih tombol
Gamb
akan ditam nya. Tekan Ga
b dengan PH
ow lokasi tuj
a XAMPP a Next > unt
ar 1.3. Fold
mpilkan wind
tombol Ins
ambar 1.4. W
P dan MySQL
juan instala akan diinst tuk melanju
er tujuan in
dow pilihan stall untuk m
Window pilih
L
si (destinat t all dengan utkan proses
nstalasi XAM
n untuk kem melanjutkan
han XAMPP
tion folder) , n menekan s instalasi.
MPP
mudahan m n proses ins
tentukan n tombol
mengakses
stalasi.
Pemrograman Web dengan PHP dan MySQL
7. Jika proses instalasi berjalan dengan lancar makan akan ditampilkan window
konfirmasi.
8. Kita dapat mengatur XAMPP dengan mengakses XAMPP Control Panel yang
dapat diakses melalui menu di Program Files atau icon di taskbar.
Gambar 1.8. XAMPP Control Panel
Untuk memastikan bahwa XAMPP beserta PHP, Apache dan MySQL berjalan dengan baik,
bukalah browser dan ketikkan URL sebagai berikut:
http://localhost
Jika semua sudah berjalan dengan baik, maka akan ditampilkan gambar sebagai berikut:
Gambar 1.9. Tampilan XAMPP di Browser
Pilih bahasa yang ingin digunakan dan akan ditampilkan halaman utama XAMPP sebagai
berikut:
▪ hitungLuas() ≠ HitungLuas()
▪ echo = ECHO
▪ while = WHILE 6.
Mudah dipelajari.
Variabel
▪ Digunakan untuk menyimpan sebuah value, data atau informasi
▪ Nama variabel diawali dengan tanda $
▪ Panjang tidak terbatas
▪ Setelah tanda $ diawali oleh huruf atau under-scrore ( _). Karakter berikutnya
bisa terdiri dari huruf, angka, dan karakter tertentu yang diperbolehkan (karakter
ASCII dari 127 – 255).
▪ Bersifat case-sensitive.
▪ Tidak perlu dideklarasikan.
▪ Tidak boleh mengandung spasi.
▪ Contoh : Salah - $3name -
Benar
$name? -
- $_name - $first+name -
$first_name - $first.name - $first
$name3 - name
$name_3
$nama =
Gambar 2.2. Tampilan Program 2
echo "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 : Program contoh penanganan beberapa
tipe data dasar dalam
PHP
.
1 9
2 10
3 11
4 12
5 13
6 14
7 15
8 16
"; $nama = nt "<br>";
Aktif"; ?>
; echo "Nama :
Konstanta Konstanta merupakan variabel konstan yang nilainya tidak berubah-ubah. Untuk
mendefinisikan konstanta dalam PHP, menggunakan fungsi define()
1 define
3
abkan error echo
4
ILAI; ?>
5
8
Gambar 2.4. Tampilan Program 2.4
Logika and $a and $b TRUE jika $a dan $b TRUE && $a && $b TRUE jika $a dan
$b TRUE
or $a or $b TRUE jika $a atau $b TRUE || $a || $b TRUE jika
$a dan/atau $b TRUE xor $a xor $b TRUE jika $a atau $b
TRUE, tapi
tidak keduanya ! !$a TRUE jika $a FALSE
8
Gambar 2.5. Tampilan Program 2
= 0.1; $thp =
Program 2.6 Nama File : operator2.php Deskripsi : Program operator logika dan
perbandingan dalam PHP.
1 10
2 11
5
>$a != $b : ". ($a != $b); echo "<br>$a > $b : ".
6
b); echo "<br>($a == $b) && ($a > $b) : ".(($a
7
b) || ($a > $b) : ".(($a != $b) || ($a > $b)); ?>
8
9
Gambar 2.6. Tampilan Program 2.6
Komentar Program
1 9
2 10
4 baris
5
akan
6
Struktur Kondisi
Struktur Kondisi If
if (kondisi) { statement-jika-kondisi-true; }
Keterangan :
▪ kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau
FALSE-nya.
if (kondisi) { statement-jika-kondisi-true; }
else { statement-jika-kondisi-false; }
Keterangan :
▪ kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau
FALSE-nya. Jika kondisinya TRUE maka statemen yang berada di blok if akan
dieksekusi, sebaliknya jika kondisinya FALSE maka statemen yang berada di blok else
yang akan dieksekusi.
Keterangan :
▪ kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau
FALSE-nya. Statement pada blok benar dan salah hanya boleh satu statemen saja
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.
1 5
2 6
3 Nilai Anda
Penjelasan Program 3.1 Pada program di atas, terdapat pemeriksaan kondisi apakah isi
variabel $nilai lebih dari 60 (baris 3). Jika kondisi ini bernilai TRUE (variabel $nilai berisi nilai
yang lebih besar dari 60) maka statement pada baris ke-4 akan dijalankan. Sebaliknya jika
kondisinya FALSE, maka statement pada baris ke-4 tidak akan dijalankan.
1 4
2 5
3 6
7 Anda $nilai,
Penjelasan Program 3.2 Pada program di atas, terdapat pemeriksaan kondisi apakah isi
variabel $nilai lebih dari 60 (baris 3). Jika kondisi ini bernilai TRUE (variabel $nilai berisi nilai
yang lebih besar dari 60) maka statement pada baris ke-4 akan dijalankan. Sebaliknya jika
kondisinya FALSE, maka statement pada baris ke-6 yang akan dijalankan. Pada contoh
program di atas, kondisi pada baris ke-3 bernilai FALSE karena isi variabel $nilai adalah 50.
Program 3.3 Nama File : if_else2.php Deskripsi : Program Memeriksa username dan
password dengan If..Else.
1 7
2 8
3 9
4 if ($user ==
5 ogin Berhasil"; }
Penjelasan Program 3.3 Pada program di atas, terdapat pemeriksaan kondisi apakah isi
variabel $nilai sama dengan “achmatim” dan apakah isi variabel $pass sama dengan “123”
(baris 4). Jika kedua kondisi tersebut bernilai TRUE m
aka statement pada baris ke-5 akan
dijalankan. Sebaliknya jika salah satunya bernilai FALSE, maka statement pada baris ke-7
yang akan dijalankan.
Gambar 3.3. Tampilan Program 3.3
1 6
2 7
3 8
4 Variabel tidak
Penjelasan Program 3.4 Pada program di atas, terdapat fungsi isset() yang merupakan
fungsi untuk memeriksa apakah suatu variabel sudah terbentuk (ada) atau belum. Fungsi
akan bernilai TRUE jika variabelnya ada. Jadi jika baris ke-2 dari program di atas di- remark
atau dihilangkan maka statement pada baris ke-4 yang akan dijalankan.
Program 3.5 Nama File : switch.php Deskripsi : Program Struktur Switch..Case untuk
menampilkan nama hari
dalam bahasa Indonesia.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php
$day = date ("D");
Penjelasan Program 3.5 Pada program di atas, variabel $day (baris ke-2) akan berisi 3 (tiga)
digit pertama dari nama hari dalam bahasa Inggris. Dengan fungsi date(), kita akan
memperoleh informasi tanggal, hari dan waktu sekarang. Fungsi ini akan diperlajari lebih
lanjut pada Bab mendatang. Selanjutnya isi variabel $day akan diperiksa dengan switch
(baris ke-3), jika isinya adalah ‘Sun’ maka $hari adalah “Minggu” dan seterusnya. Gambar
Program 3.6 Nama File : if_khusus.php Deskripsi : Program Struktur Kondisi Khusus
? untuk memeriksa tahun
kabisat.
1 5
2 ahun%4 == 0) ? "KABISAT" :
Penjelasan Program 3.6 Pada program di atas, fungsi date() dengan parameter “Y” (baris
ke-2) akan menghasilkan 4 digit tahun sekarang. Pada baris ke-3 akan diperiksa apakah isi
variabel $tahun jika dimodulus dengan 4 akan menghasilkan nilai 0. Jika TRUE maka
$kabisat akan berisi “KABISAT” dan jika FALSE $kabisat akan berisi “BUKAN KABISAT”
Gambar 3.6. Tampilan Program 3.6
Struktur Perulangan
statement-yang-diulang; }
Keterangan :
▪ init_awal merupakan inisialisasi atau nilai awal variable.
▪ kondisi merupakan statemen kondisi yang akan membatasi perulangan.
▪ counter merupakan pertambahan atau pengurangan nilai variabel sehingga perulangan
tetap berjalan.
statement-yang-diulang; counter; }
Keterangan :
▪ init_awal merupakan inisialisasi atau nilai awal variable.
▪ kondisi merupakan statemen kondisi yang akan membatasi perulangan.
▪ counter merupakan pertambahan atau pengurangan nilai variabel sehingga perulangan
tetap berjalan.
/* 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 3 */ $i = 1; while ($i <= 6) { echo "<h$i>Heading $i</h$i>"; $i++; } ?>
Penjelasan Program 3.8 Program di atas merupakan beberapa variasi perulangan dengan while. Contoh yang
pertama (baris 3-6) merupakan bentuk yang paling umum dipakai. Blok perintah (baris 5) akan dijalankan
selama pemeriksaan kondisi pada baris ke-4 bernilai TRUE. Contoh kedua merupakan bentuk lain dari while,
bentuk ini jarang digunakan. Pada contoh ketiga, penggunaan perulangan untuk menampilkan tulisan dengan
format <H1> sampai <H6>
1 8
2 9
Penjelasan Program 3.9 Program di atas akan menampilkan bilangan ganjil antara 1 sampai
20 menggunakan struktur perulangan do..while. Pada struktur perulangan do...while,
pemeriksaan kondisi berada di bawah.
Gambar 3.9. Tampilan Program 3.9
1 9
2 10
3 11
Penjelasan Program 3.10 Dari program di atas, dapat disimpulkan bahwa perintah continue
akan melanjutkan proses perulangan tanpa melewati (meng-eksekusi) baris perintah di
bawahnya. Jadi perintah pada baris 6-8 akan dilewati (5 tidak akan tercetak) Sedangkan
dengan perintah break akan menyebabkan program menghentikan perulangan (langsung
keluar dari perulangan)
Gambar 3.10. Tampilan Program 3.10
1 2 3 4 5 6 7 8 9 <html>
<head><title>Pengolahan Form</title></head> <body>
t'])) { $nama =
1 2 3 4 5 6 7 8 9 <html>
<head><title>Pengolahan Form</title></head> <body>
6
Gambar 4.4. Tampilan Program 4.4
Program 4.6 Nama File : input04.php Deskripsi : Program menampilkan form inputan text
dalam jumlah banyak.
1 2 3 4 5 6 7 8 9 10 11 12 13 <?php
if (isset($_POST['Input'])) { $nama1 =
Program 4.8 Nama File : input05.php Deskripsi : Program menampilkan form login
(inputan text dan password).
1 2 3 4 5 6 7 8 9 10 11 12 <html>
<head><title>Login Here</title></head> <body> <FORM
Program 4.9 Nama File : proses05.php Deskripsi : Program sederhana untuk memeriksa
inputan username dan
password pada program 4.8
1 3
2 4
5 11
6 =
7 password']; if ($user ==
8 <h2>Login
9 Gagal</h2>"; } } ?>
10
Form Input Type RADIO Pada inputan jenis radio button, user hanya bisa memilih satu
pilihan di antara beberapa pilihan.
Program 4.10 Nama File : input06.php Deskripsi : Program menampilkan form pilihan
jurusan dengan radio button
1 5
Program 4.11 Nama File : proses06.php Deskripsi : Program untuk mengambil dan
menampilkan jurusan yang dipilih
pada program 4.10
1 6
2 7
3 an = $_POST['jurusan']; echo
4 ed'>$jurusan</font></b>"; }
Form Input Type CHECK BOX Pada form inputan jenis check box, user dimungkinkan
memilih lebih dari satu pilihan.
Program 4.12 Nama File : input07.php Deskripsi : Program menampilkan form inputan nama
band favorit dengan
check box.
1 2 3 4 5 6 7 8 9 10 11 12 13 <html>
<head><title>Band Favorit ~ Inputan
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php
if (isset($_POST['Pilih']))
17
15
16
Program 4.14 Nama File : input08.php Deskripsi : Program menampilkan form inputan film
kartun favorit dengan
combo box.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <html>
<head><title>Film Kartun Favorit ~
Inputan Combo box</title></head> <body> <FORM ACTION="proses08.php"
Program 4.15 Nama File : proses08.php Deskripsi : Program untuk menampilkan nama film
kartun favorit sesuai
dengan inputan pada program 4.14
1 6
2 7
3 $_POST['kartun'];
4 <font
Program 4.16 Nama File : input09.php Deskripsi : Program menampilkan form inputan kritik
dan saran dengan text
area.
1 2 3 4 5 6 7 8 9 10 11 12 13 <html>
<head><title>Kritik dan Saran ~ Inputan
Program 4.17 Nama File : proses09.php Deskripsi : Program untuk menampilkan isi kritik /
saran sesuai dengan
inputan text area pada program 4.16
1 6
2 7
3 an =
5 /font>"; } ?>
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.
2 15
10
11
12
13
1 13
2 14
5 ; //90
7
7;
8
10
11
12
Program 5.3 Nama File : array03.php Deskripsi : Program menampilkan seluruh isi array
dengan index numerik.
10
1 11
2 12
3 13
4 ,"Red","Yellow","Green");
5
: <br>"; for ($i=0; $i<count($arrWarna); $i++)
6
na[$i]>". $arrWarna[$i] ."</font> ?<br>"; }
7
n foreach : <br>"; foreach ($arrWarna as
8
$warna>". $warna ."</font> ?<br>"; } ?>
9
1 <?php 2 $arrNilai = array ("Ani" => 80, "Otim" => 90, "Ana" => 75, "Budi" => 85);
3 4 5 6 7 8 9 10 11 12 13 14 echo
"Menampilkan isi array dengan foreach : <br>";
foreach ($arrNilai as $nama => $nilai) { echo "Nilai $nama = $nilai<br>"; } reset
($arrNilai); echo "<br>Menampilkan isi array dengan while dan list : <br>"; while (list
1 2 3 4 5 6 7 8 9 <?
$arrWarna = array ("Blue","Black","Red","Yellow","Green");
$arrNilai = array ("Ani" => 80, "Otim" => 90, "Ana" => 75, "Budi" => 85); echo
"<pre>"; print_r ($arrWarna); echo "<br>"; print_r ($arrNilai); echo "</pre>"; ?>
PHP menyediakan lebih dari 70 fungsi untuk manipulasi array. Fungsi-fungsi array dalam
PHP bisa dilihat di alamat http://ca.php.net/manual/en/ref.array.php.
Fungsi Pengurutan Array
▪ arsort() – Pengurutan array berdasarkan value secara descending
▪ asort() – Pengurutan array berdasarkan value secara ascending
▪ krsort() - Pengurutan array berdasarkan index/key secara descending
▪ ksort() - Pengurutan array berdasarkan index/key secara ascending
▪ rsort() - Pengurutan array berdasarkan value secara descending dengan mengubah
index/key
▪ sort() - Pengurutan array berdasarkan value secara ascending dengan mengubah
index/key
▪ shuffle() – Random pengurutan array
=> 75, "Budi" => 85); echo "<b>Array sebelum pengurutan</b>"; echo "<pre>"; print_r($arrNilai); echo "</pre>";
sort($arrNilai); reset($arrNilai); echo "<b>Array setelah pengurutan dengan sort()</b>"; echo "<pre>";
=> 75, "Budi" => 85); echo "<b>Array sebelum pengurutan</b>"; echo "<pre>"; print_r($arrNilai); echo "</pre>";
asort($arrNilai); reset($arrNilai); echo "<b>Array setelah pengurutan dengan asort()</b>"; echo "<pre>";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php
$arrNilai = array ("Ani"=>80, "Otim"=>90,
"Sri"=>75, "Budi"=>85); echo "<b>Array sebelum pengurutan</b>"; echo "<pre>"; print_r($arrNilai); echo
"</pre>";
ksort($arrNilai); reset($arrNilai); echo "<b>Array setelah pengurutan dengan ksort()</b>"; echo "<pre>";
$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
("Kedondong", $arrBuah)) { echo "Ada buah Kedondong di sini"; } else { echo "Tidak ada buah Kedondong di
sini"; } ?>
1 9
2 10
3 11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php
function cetak_ganjil ($awal, $akhir) {
1 2 3 4 5 6 7 8 9 <?php
function luas_lingkaran ($jari) { return
6 br>";
7
1 9
2 10
3 11
4 str =
7 br>";
1 8
2 9
3 10
4 turn
Program 5.17 Nama File : fungsi07.php Deskripsi : Program memeriksa suatu fungsi
tersedia di PHP atau tidak.
1 6
2 7
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: 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;
29
12 30
13
19
20
21
22
23
24
25
26
Gambar 6.1. Tampilan Program 6
27
28
PHP menyediakan lebih dari 90 fungsi untuk manipulasi string. Fungsi-fungsi string dalam
PHP bisa dilihat di http://ca.php.net/manual/en/ref.strings.php.
▪ 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 upper- case.
▪ wordwrap() – memotong sejumlah karakter dalam string dengan string- break-character.
Program 6.3 Nama File : string03.php Deskripsi : Program penggunaan fungsi strtolower,
strtoupper, ucfirst,
ucwords, strrev, dan strlen dalam string.
1 5
2 6
3 7
4 8
9 r()</b> : ". strtoupper($str);
1 9
2 str2
Program 6.5 Nama File : string05.php Deskripsi : Program penggunaan fungsi chr untuk
menampilkan 256 karakter
ASCII.
2
1 3
4 CII";
5 t".
Program 6.6 Nama File : string06.php Deskripsi : Program penggunaan fungsi strip_tags,
htmlspecialchars, dan
htmlentities untuk mengatur tag HTML.
1 11
2 12
3 13
4 o it for you</u></b>";
5
_tags
6
tags
7
echo
8
pa
9
10
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;
"<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 =
6
1 rambutan','apel','nanas'); $buah =
2
Program 6.10 Nama File : string10.php Deskripsi : Program penggunaan fungsi strstr, strchr
dan strrchr untuk
mengambil sebagian string berdasarkan pola (karakter) tertentu.
1 8
2 9
3 10
7
//.txt ?>
Program 6.11 Nama File : string11.php Deskripsi : Program penggunaan fungsi wordwrap
untuk memotong sejumlah
karakter dari string.
1 7
1 11
2 12
3 14
7
= $_POST['input']; echo
8
r>"; echo "<u>Dengan nl2br
9
10
Program 6.13 Nama File : string13.php Deskripsi : Program penggunaan fungsi substr
untuk memotong string.
1 9
2 da : <input type="text"
3 t" name="Submit"
10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 $a
= substr ($nim, 2, 2); switch($a) { case '11' : $jurusan =
"Teknik Informatika"; break; case '22' : $jurusan = "Sistem Informasi"; break; case '33' : $jurusan = "Sistem
Komputer"; break; case '44' : $jurusan = "Komputerisasi Akuntansi"; break; default : $jurusan = "Salah jurusan";
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 2 3 4 5 6 7
<?php // Sekarang tanggal 13 April 2006 09:43:49 $arrDay = array("Minggu", "Senin", "Selasa", "Rabu",
Bab 7 File
dan
Direktori
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 :
Keterangan : $namafile merupakan nama file yang akan dibuat, sedangkan $mode
merupakan mode akses file. Mode akses file yang bisa digunakan yaitu :
1 8
2 9
3 10
6 ?>
2 ?>
9
Gambar 7.2 Tampilan Program 7
10
Menulis ke File
($handle, $isi);
11
4 12
5 13
6 dibuka atau belum ada</b>"; } else {
7 rmasi\n"); fputs ($handle, "Universitas
8 mafile, "Jakarta"); echo "<b>File berhasil
9
10
($handle [,$panjang]);
Program 7.4 Nama File : file04.php Deskripsi : Program membaca
dan menampilkan isi file.
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 { $isi = fgets ($handle, 2048); //$isi2 = fread ($handle, 20); echo "Isi 1 :
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
1 9
2 10
3 11
5 le
6 , 4096);
7 ?>
fclose($file); ?>
Gambar 7.5. Tampilan Program 7.7
Membuat dan Menghapus Direktori
Membuat Direktori Baru
Program 7.8 Nama File : file08.php Deskripsi : Program membuat direktori baru.
1 2 3 4 5 6 7 8 9 <?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"; } ?>
Menghapus Direktori
Program 7.10 Nama File : file10.php Deskripsi : Program menampilkan file dan direktori
dalam suatu direktori.
1 8
2 9
3 10
4 11
Manipulasi File
Beberapa Fungsi yang berhubungan dengan informasi dan manipulasi file, terdapat dalam
tabel sebagai berikut :
1 8
2 9
4
ename
5
K
6
1 12
2 13
3 14
4 15
5 16
6 17
8
adalah FILE<br>"; // if (is_executable ($file))
9
secara langsung (executable)<br>"; } else {
10
e<br>"; } // if (is_writable ($file)) { echo "File
11
edit<br>"; } else { echo "File <b>$file</b> TIDAK bisa
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 //
if (is_readable ($file)) { echo "File
<b>$file</b> bisa dibaca<br>"; } else { echo "File <b>$file</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>$file</b> dibuat = ". date("d-m-Y H:i:s.", filectime($file)). "<br>"; echo "Modifikasi
terakhir file <b>$file</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($file)){ echo "File <b>$file</b> adalah DIREKTORI<br>"; } else { echo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php
$file = "data.txt"; $filebaru = "databaru.txt";
Upload File
2. Form inputan upload file dapat menggunakan tag <input> dengan value
atribut TYPE=”FILE”.
4. Destination folder file upload harus bisa writable (bisa diakses), biasanya
dengan permission 777 atau 775.
1 2 3 4 5 6 7 8 9 <html>
<head><title>Upload File</title></head> <body> <FORM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?php
if (isset($_POST['Upload'])) { $dir_upload =
❖ 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 :
▪ Proses pembuatan session
▪ Proses pemeriksaan session
▪ Proses penghapusan session Selanjutnya bagaimana session itu sendiri dijalankan? Agar proses
penyimpanan dalam session berjalan, PHP melakukan beberapa hal berikut ini : 1. PHP
meng-generate (membentuk) sebuah ID session.
ID session ini merupakan sejumlah deret angka random yang unik untuk setiap user dan
hampir tidak mungkin bisa ditebak. ID session disimpan oleh PHP di dalam variabel sistem
PHP dengan nama PHPSESSID 2. PHP menyimpan nilai yang akan Anda simpan dalam
session di dalam file
yang berada di server. Nama file tempat penyimpanan session tersebut sesuai (sama)
dengan ID session. File disimpan dalam suatu direktori yang ditunjukkan oleh
session.save_path dalam file php.ini. 3. PHP melempar ID session ke setiap halaman. 4.
PHP mengambil nilai session dari file session untuk setiap halaman session.
9
1
10
2
11
3
*************** Nama file : session01.php
4
penciptaan session. Perintah
5
pertama tanpa spasi di depannya.
6
setiap halaman yang berhubungan
7
**************************/ session_start();
8
OST['user'];
Achmad Solichin ([email protected])
72
Pemrograman Web dengan PHP dan MySQL
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") {
session"; } } else { ?> <html> <head> <title>Login here...</title> </head> <body> <form
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
Halaman ini merupakan contoh halaman pemeriksaan session. Peme- riksaan 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?php
*********************************************************/ session_start(); if
untuk LOGIN kembali</h2>"; echo "<h2>Anda sekarang tidak bisa masuk ke halaman <a
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
1 4
2 5
3 6
7
e("namalengkap", $value2, time()+3600); /*
8
9
kie</h1>";
$value2 =
10
11
1 14
2 15
3 16
4 17
8 namalengkap'])) { echo
9 " . $_COOKIE['namalengkap']; }
13
1 9
2 10
//Tambahkan pendefinisian method di sini } 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 2 3 4 5 6
class Mobil { var $warna = "Biru"; var $merk = "BMW"; var $harga = "10000000";
class Mobil { var $warna = "Biru"; var $merk = "BMW"; var $harga = "10000000";
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
$b->tampilWarna(); ?>
Program 10.2 Nama File : pbo02.inc.php Deskripsi : Program class untuk membuat sebuah form inputan
sederhana.
1 2 3