php penting

71
Pemrograman Web PHP dan MySQL

Upload: andini-n-rochma

Post on 26-Jun-2015

412 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Php Penting

Pemrograman Web

PHP dan MySQL

Page 2: Php Penting

Membuat Website Menggunakan PHP dan MySQL Dibuat Khusus Untuk Peserta Pelatihan

Pemrograman Web

Kerja sama antara Forum Website BPKP dengan Pusat Informasi Pengawasan BPKP

Page 3: Php Penting

Bab 1

PENGANTAR

Apa itu PHP..?

PHP (PHP : Hypertext Preprocessor) adalah bahasa pemrograman yang didesign khusus untuk pembuatan website dinamis dan interaktif. Dinamis dalam arti bahwa konten (isi) dari halaman-halaman web yang diakses dapat berubah setiap saat. Interaktif dalam arti dapat memberikan respon berdasar input dari user. Perhatikan dua gambar berikut:

Gb. 1. Akses Halaman Statis

Pada gambar diatas, user (menggunakan browser) mengakses alamat www.mysite.org/page.html. Melalui jaringan internet, akses akan diterima oleh webserver. Webserver akan mencari halaman yang diminta oleh user dan mengirimkannya kembali dan halaman akan muncul di browser user.

Page 4: Php Penting

Proses yang terjadi di webserver hanyalah pencarian halaman (file) yang diminta dan kemudian mengirimkannya kembali. Selama file page.html tidak diubah oleh pemiliknya, maka tampilan yang akan didapatkan tetap sama (statis) Pada gambar berikut:

Gb. 2. Akses Halaman Dinamis

Pada gambar diatas, user (menggunakan browser) mengakses alamat www.mysite.org/page.php. Melalui jaringan internet, akses akan diterima oleh webserver. Webserver (setelah dikonfigurasi tentunya) mengetahui bahwa halaman yang diminta harus diproses terlebih dahulu oleh scripting engine. Maka request (permintaan akan diteruskan ke scripting engine. Scripting Engine akan membaca file yang diminta, memprosesnya (mungkin dalam prosesnya akan melakukan koneksi ke system, database atau email) dan mengirim hasil proses tersebut kembali ke web server. Dari sini barulah webserver mengirim kembali hasil proses scripting engine tadi (dalam format yang dikenali oleh browser) ke browser user. Hasil yang diterima oleh user tidak bergantung pada berubah atau tidaknya file page.php melainkan pada proses interpretasi yang terjadi. Jika page.php melakukan koneksi dan membaca sebuah tabel dari database, maka isi halaman yang akan tampil tergantung pada isi dari tabel tersebut.

Page 5: Php Penting

Instalasi Jika proses interaksi antar user (browser) dengan webserver dari sebuah website dinamis mengikuti proses seperti gambar ke 2, maka muncul pertanyaan: Apakah untuk pengembangan (pembuatan) website dinamis harus mempunyai beberapa komputer sekaligus, satu untuk user / programmer, satu untuk webserver dan satu lagi untuk database server? Jawabannya adalah TIDAK. Kita dapat menginstalasi webserver (dan scripting engine-nya) sekaligus database servernya dalam satu komputer. Namun proses seperti dalam gambar 2 tersebut tetap tidak berubah, hanya saja ini terjadi dalam komputer yang sama. (Browser, Web Server, Scripting Engine dan Database server).

Apache, PHP dan MySQL - Instalasi Terpisah

Kita dapat melakukan instalasi Apache (web server), PHP (scripting engine-nya) dan Database MySQL secara terpisah. Instalasi terpisah tidak dibahas pada buku ini. Jika tertarik untuk melakukannya secara terpisah silahkan merujuk ke situsnya:

Apache (www.apache.org) PHP (www.php.net) Mysql (www.mysql.com)

- Instalasi Terpadu (Bundle)

Banyak pihak telah membuat paket-paket instalasi terpadu, dimana hanya dengan menggunakan satu installer, maka kita akan mendapatkan Apache Web Server, PHP dan MySQL-nya sekaligus. Beberapa paket instalasi terpadu ini antara lain :

WAMP Server (www.wampserver.com) Foxserv (www.foxserv.net) PhpTriad (http://sourceforge.net/projects/phptriad/) XAMPP (www.apachefriends.org)

Buku ini akan menggunakan paket instalasi dari XAMPP untuk platform Microsoft Windows (untuk platform lain, mis. Linux, silahkan merujuk ke situsnya. Pada saat buku ini ditulis, versi XAMPP terbaru adalah XAMPP 1.7.3 Instalasi XAMPP For Windows.

Unduh paket XAMPP untuk platform Windows dari situs www.apachefriends.org.

Jalankan file hasil unduh tersebut (xampp-win32-1.7.3.exe) Muncul layar seperti berikut :

Page 6: Php Penting

Perhatikan pada isian Destination folder. Jika kita ingin mengubahnya, tekan browse, dan tentukan di folder mana kita akan menyimpan hasil instalasi. Jika diterima seperti default diatas, itu berarti kita akan melakukan instalasi di drive C:\. Dengan nama folder xampp.

Tekan Install Proses instalasi akan dimulai. Tunggu sampai muncul layar berikut:

Jawab y untuk membuat shortcut di desktop anda. Muncul layar berikut:

Jawab y Muncul layar berikut:

Page 7: Php Penting

Jawab n Muncul layar berikut:

Tekan Enter Muncul layar berikut:

Tekan Enter (Meskipun pilihannya sebenarnya salah). Muncul layar berikut:

Untuk saat ini kita pilih x (Exit) terlebih dahulu.

Page 8: Php Penting

Menjalankan web server dan MySQL server Double click icon XAMPP Control Panel (di desktop) atau Browse folder C:\\xampp\ (menggunakan Windows Explorer). Double Click file xampp-control.exe (Catatan: folder disesuaikan dengan folder tempat kita menyimpan instalasi xampp)

Muncul layar berikut

Tekan tombol start pada Apache dan MySQL sehingga tampak seperti berikut:

Buka Browser, ketikkan pada addess bar: http://localhost <enter> Jika browser kita menampilkan halaman seperti berikut ini:

Page 9: Php Penting

Ini berarti proses instalasi XAMPP telah berhasil dilakukan. Untuk keperluan pelajaran selanjutnya dalam buku ini, kita harus mengubah

default halaman ke folder tempat kita membuat program. Dalam buku ini diasumsikan semua program akan dibuat di folder c:\\workshop.

- Buat folder workshop di drive C: - Stop Apache (dari xampp-controlpanel). - Buka file httpd.conf yang ada di folder c:\xampp\apache\conf\ dengan text

editor. (ingat, sesuaikan dengan folder tempat kita melakukan instalasi) - Cari baris berikut:

DocumentRoot "C:/xampp/htdocs" Ganti dengan: DocumentRoot "C:/workshop"

- Cari baris berikut <Directory "C:/xampp/htdocs"> Ganti dengan: <Directory “C:/workshop”>

- Simpan kembali file tersebut. - Start Apache (dari xampp-controlpanel) - Buka browser, ketik di adress bar http://localhost <enter>

Jika browser menampilkan halaman berikut:

Berarti perubahan pada file httpd.conf telah berhasil.

- Mari kita testing sekali lagi dengan membuat program PHP pertama kita. Buka teks editor, ketikkan kode program dibawah ini

<?php

$nama = “EkoBayong”;

echo “Selamat datang “ . $nama;

phpinfo();

?>

Simpan dengan nama file testing.php ke folder c:\\workshop. (untuk selanjutnya tidak akan dikatakan ke folder mana anda menyimpan, kecuali jika berbeda dari default diatas.)

- Buka broswser. Ketik pada adress bar : http://localhost/testing.php - Browser akan menampilkan halaman seperti berikut:

Page 10: Php Penting

- Lho... kok beda...? pasti... !!!

Karena seharusnya browser kita menampilkan halaman seperti berikut:

- Ok. Instalasi Apache, PHP dan MySQL selesai.

Software Lain - SQLYog Community Edition

Software ini digunakan untuk melakuan manajemen dan administrasi MySQL. Pada saat buku ini dibuat, versi SQLYog Community Edition ini adalah SQLyog85community. SQLYog Community Edition dapat diunduh dari http://code.google.com/p/sqlyog/

- Teks Editor

Untuk membuat program php, kita dapat menggunakan text editor apapun (mis. notepad, crimson editor, Notepad++) atau menggunakan IDE (Integrated Development Environtment) semacam Komodo Edit, Eclipse, Zend Studio, Netbeans dan sebagainya.

Browser Anda bisa menggunakan browser apapun (Internet Expoler, Mozilla Firefox, Opera, Google Chrome dan sebagainya)

Lain-lain - Secangkir kopi dan sebungkus snack. - Sediakan juga obat sakit kepala untuk mengatasi pusing karena belajar bahasa

pemrograman. - Sabar dan tawakal.

Page 11: Php Penting

Bab 2

DASAR-DASAR BAHASA PHP Pada bab sebelumnya, kita telah mempersiapkan hal-hal yang diperlukan untuk melakukan pemrograman PHP. Pada bab ini kita akan mempelajari konsep dasar PHP meliputi variabel, tipe data, operator dan konstanta.

Variabel

Variabel adalah bagian mendasar dari setiap bahasa pemrograman. Variable adalah wadah untuk menyimpan nilai tertentu. Isi sebuah variable dapat diubah sepanjang jalannya program. Kemampuan ini yang membuat variabel begitu berguna. Perhatikan potongan kode program PHP berikut ini:

<?php

echo 2 + 5

?>

Jika dijalankan program tersebut akan menghasilkan output : 7. Hal ini benar, bagaimanapun jika kita menginginkan mencetak nilai yang lain, katakanlah 10 + 15 maka kita harus menulis baris program yang lain. Atau, anggaplah kita menghadapi situasi dimana kita harus menampilkan hasil sebuah query yang sama ke sebuah tabel berkali-kali selama jalannya program. <?php

echo “query ke sebuah table”;

----

----

----

echo “query ke sebuah table”;

?>

Perhatikan bahwa tanpa variable, kita harus mengulang query tersebut ditempat-tempat yang membutuhkannya. Sangat tidak efektif jika query-nya cukup panjang. Berbeda dengan yang berikut:

<?php

$query = “query ke sebuah tabel”;

Page 12: Php Penting

echo $query;

----

----

----

echo $query;

?>

Lebih ringkas... kita cukup menuliskan query di satu tempat,masukkan ke sebuah variabel ($query) dan ketika kita membutuhkannya kembali, kita cukup menggunakan variabelnya saja.

Aturan Penamaan Variabel.

Di PHP, aturan penamaan variabel adalah sebagai berikut:

Nama variabel diawali dengan tanda $ Karakter pertama sesudah $ harus berupa huruf atau tanda _ (underscore) Karakter selebihnya dapat berupa huruf, angka atau _ tanpa batasan panjang.

Nama variable bersifat Case-Sensitive (membedakan antara huruf besar dan kecil), $Variable dan $variable adalah dua variabel yang berbeda. Meskipun panjang nama variabel tidak dibatasi, tetapi membuat nama variabel lebih dari 30 karakter tidaklah praktis karena memudahkan kita melakukan kesalahan penulisan nama variable. Juga gunakan nama variabel yang menggambarkan isinya. $nama_pegawai tentu lebih menggambarkan isinya dibandingkan dengan $np misalnya.

Tipe Data Tipe data di PHP meliputi : Tipe Data Scalar

Tipe data scalar adalah tipe data yang hanya mengandung nilai tunggal. PHP mempunyai 4 tipe data scalar sebagai berikut (beserta contoh):

Tipe Data Contoh

Integer 78

Float 9,15

String “Selamat Datang”

Boolean TRUE

true

FALSE

False

Page 13: Php Penting

Tipe Data Compound Tipe data compound dapat mengandung lebih dari satu nilai. Tipe data compound di PHP adalah Array dan Object.

Tipe Data Spesial

PHP mempunyai 2 tipe data spesial, yaitu Resource (referensi ke sebuah sumber eksternal, database misalnya. ) dan NULL (variable yang tidak mengandung nilai apapun).

Konstanta Jika sebuah variable dapat diubah isinya sepanjang jalannya program, konstanta digunakan untuk menyimpan nilai tetap dan tidak dapat diubah. Konstanta didefinisikan menggunakan fungsi define(). Aturan penamaan hampir mirip dengan aturan penamaan variable kecuali tanda awal $. Konstanta juga bersifat Case-Sensitive. Pada prakteknya, penamaan konstanta selalu menggunakan huruf kapital. Konstanta hanya dapat menampung nilai Boolean, Integer, Float dan String. Contoh :

<?php

define(“NAMA_APLIKASI”, “Aplikasi Sistem Informasi Kepegawaian”);

define(“VERSI”, “2.00”);

echo NAMA_APLIKASI . VERSI;

?>

Operator Operator adalah simbol yang digunakan untuk memanipulasi satu atau lebih nilai, biasanya menghasilkan sebuah nilai baru dalam prosesnya. Operator dalam PHP dibagai ke dalam 10 kelompok sebagai berikut :

Tipe Keterangan

Arithmetic (Aritmetika) Melakukan operasi aritmatika biasa, seperti

pengurangan dan penambahan

Assigment (Penugasan/Penempatan) Menempatkan nilai ke sebuah variabel.

Bitwise Melakukan operasi bit individu pada sebuah nilai

integer

Comparison (Pembandingan) Membandingkan nilai dalam bentuk Boolean (nilai

kembalian-nya adalah TRUE atau FALSE)

Error Control Untuk penanganan kesalahan

Execution Digunakan untuk melaksanakan perintah shell.

Incrementing/ Decrementing Melakukan penambahan / pengurangan nilai

Page 14: Php Penting

(Penambahan / Pengurangan) sebuah variabel

Logical Operator Boolean seperti TRUE, FALSE atau NOT

String Hanya mempunyai satu operator untuk

penggabungan String

Array Melakukan operasi terhadap Array.

Operator Aritmetika

Operator Contoh

+ (Penambahan) 11 + 9 = 20

- (Pengurangan) 23 – 7 = 16

* (Perkalian) 10 * 9 = 90

/ (Pembagian) 10 / 5 = 2

% (Modulus/Sisa pembagian) 10/2 = 0

Operator Penugasan / Penempatan

Operator = digunakan untuk menempatkan sebuah nilai ke sebuah variable. Contoh $nama = “John” , $harga = 1000. Tanda = dapat digunakan bersama operator lain untuk memudahkan menuliskan sebuah ekspresi. Sebagai contoh: $total_harga += $harga unit ini sama dengan $total_harga = $total_harga + $harga_unit

Operator Logika

Operator logika bekerja pada nilai Boolean. Sebelum melihat bagaimana operator logika bekerja, mari kita lihat terlebih dahulu nilai Boolean. Nilai Boolean selalu berisi salah satu dari TRUE atau FALSE. PHP secara otomatis mengevaluasi ekspresi sebagai TRUE atau FALSE saat dibutuhkan. Sebagai contoh, ekspresi berikut dievaluasi ke TRUE

1

10 == 10

9 > 7

Eko” != “Panjul”

Ekspresi berikut dievaluasi ke FALSE

3 <2

10 == 9

“Eko” == “Panjul”

Page 15: Php Penting

PHP juga menganggap nilai-nilai berikut sebagai FALSE:

FALSE

Integer Zero (0)

Float Zero (0.00)

String kosong (“”)

String Zero (“0”)

Array dengan Zero Element

NULL

Nilai selain itu dianggap sebagai TRUE dalam konteks Boolean. Berikut adalah operator logika di PHP

Operator Contoh Hasil

&& (and) $x && $y TRUE jika kedua nilai $x dan $y TRUE. FALSE

jika tidak.

and $d and $y TRUE jika kedua nilai $x dan $y TRUE. FALSE

jika tidak.

|| (or) $x || $y TRUE jika salah satu TRUE. FALSE jika tidak

(kedua-duanya FALSE)

or $x or $y TRUE jika salah satu TRUE. FALSE jika tidak

(kedua-duanya FALSE)

xor $x xor $y TRUE jika $x atau $y (tetapi tidak keduanya)

TRUE, FALSE jika tidak.

! (not) !$x TRUE jika $x FALSE dan sebaliknya.

Operator Pembandingan (Comparison)

Digunakan untuk membandingkan operand satu dengan lainnya. Nilai yang dihasilkan dari pembandingan ini adalah TRUE atau FALSE. Operator ini banyak digunakan statetemen-statemen pengambilan keputusan dan perulangan. Berikut adalah operator-operator pembandingan di PHP:

Operator Contoh Hasil

== (equal) $x == $y TRUE jika $x sama dengan $y, FALSE jika

tidak

!= (not equal) $x != $y TRUE jika $x tidak sama dengan $y, FALSE

jika tidak

=== (identical) $x === $y TRUE jika $x sama dengan $y dan ber-tipe

sama. FALSE jika tidak

Page 16: Php Penting

!== (not identical) $x !== $y TRUE jika $x sama dengan $y dan tidak ber-

tipe sama, FALSE jika tidak

< (lebih kecil) $x < $y TRUE jika $x lebih kecil dari $y, FALSE jika

tidak

> (lebih besar) $x > $y TRUE jika $x lebih besar dari $y, FALSE jika

tidak

<= (lebih kecil sama

dengan)

$x <= y TRUE jika $x lebih kecil atau sama dengan $y,

FALSE jika tidak

>= (lebih besar

sama dengan)

$x >= $y TRUE jika $x lebih besar atau sama dengan

$y, FALSE jika tidak

Operator Penambahan/Pengurangan (Incrementing/Decrementing) Sering kali itu sangat berguna untuk menambah atau mengurangi nilai 1 (berulang-ulang). Situasi ini terjadi begitu sering, misalnya ketika membuat perulangan (looping). Di PHP ada operator khusus yang digunakan untuk melakukan tugas ini yaitu operator Incrementing dan Decrementing. Operator ini ditulis sebagai dua tanda plus atau minus, sebelum atau setelah nama variabel, seperti:

++$x; // Menambah satu ke $x dan mengembalikan hasilnya

$x++; // Mengembalikan nilai yang ada di $x, baru kemudian menambahkan satu ke $x

--$x; // Mengurangi satu dari $x dan mengembalikan hasilnya

$x-- ; // Mengembalikan nilai yang ada di $x, baru mengurangi $x dengan 1

Operator String Operator string hanya ada satu yaitu . (dot) yang digunakan untuk menggabungkan string. Contoh:

<?php

$nama_depan = “Eko”;

$nama_belakang = “Bayong”;

echo $nama_depan . “ ” . $nama_belakang;

//atau

$nama_lengkap = $nama_depan . “ “ . $nama_belakang;

echo $nama_lengkap;

?>

Page 17: Php Penting

Operator Precedence Perhatikan contoh berikut :

<?php

echo 3 + 4 * 10;

?>

Program diatas jika dijalankan akan menghasilkan output 43, bukan 70. Hal ini terjadi karena * level precedence lebih tinggi dari +. Sehingga prosesnya adalah operasi 4 * 10 akan dilakukan terlebih dahulu baru ditambah dengan 3. Berikut adalah tabel operator precedence dari beberapa operator PHP: ++ --

(int) (float) (string) (array) (object) (bool) (casting) ! (not) * / % (arithmetic) + - . (arithmetic) < < = > > = < > (comparison) == != === !== (comparison) & & (and) || (or)

= += - = *= /= .= %= (assignment) And

Xor or

Untuk menghasilkan nilai 70 dan bukannya 43 kode program diatas harus diubah menjadi seperti berikut ini:

<?php

echo (3 + 4) * 10;

?>

Anda dapat mengubah urutan eksekusi dari operator dalam ekspresi dengan menggunakan tanda kurung. Sehingga kode diatas akan membuat 3+4 dikerjakan terlebih dahulu baru kemudian di * dengan 10.

Page 18: Php Penting

Bab 3

MULAI MEMBUAT PROGRAM PHP

Program Pertama Mari kita mulai menulis program PHP kita. Tulis kode berikut :

<html>

<head>

<tit le>Program Pertama</title>

</head>

<body>

<?php

echo "Selamat Datang di Workshop PHP";

?>

</body>

</html>

Simpan dengan nama file latihan-1.php Buka browser kita dan ketikkan di address bar http://localhost/latihan-1.php Browser akan menampilkan hasil seperti berikut (menggunakan IE):

Page 19: Php Penting

Secara default, file yang mengandung program PHP harus disimpan dengan nama file dengan extention .php. Perhatikan contoh program tadi, kita menemukan apa yang disebut dengan PHP Delimiter yaitu <?php ..... ?>. Semua yang kita tuliskan diantara delimiter tersebut akan diterjemahkan sebagai kode PHP dan semua yang ada diluarnya akan diperlakukan sebagai HTML atau teks biasa. Tidak ada batasan berapa banyak blok script PHP (<?php ... ?>). Kita lihat contoh berikut (simpan dengan nama file latihan-2.php):

<?php

echo "<html>

<head>

<title>Program Kedua</title>

</head>

<body>";

$nama = "Eko Bayong";

echo $nama . " Selamat Datang di Workshop PHP";

echo "</body>

</html>";

?>

Dalam contoh diatas, semuanya dimasukkan ke dalam blok PHP. Atau contoh berikut (simpan dengan nama file latihan-3.php) : <html>

<head>

<title>Program Pertama</title>

</head>

<body>

<?php $nama = "Eko Bayong"; ?>

Selamat Datang <?php echo $nama ?> di workshop PHP <br />

Hari ini tgl : <?php echo date("d-m-Y"); ?> Jam : <?php echo date("h:m:s"); ?>

</body>

</html>

Dalam contoh ini kita menjumpai lebih dari satu blok PHP.

Memahami STRING

String adalah sederet karakter yang berada diantara ‘ ‘ (single quote/ tanda petik tunggal) atau “ ” (double quote/tanda petik ganda).

Page 20: Php Penting

Sintak Tanda Petik Tunggal Mengapit string dalam tanda petik tunggal adalah cara yang paling sederhana untuk membuat string (tidak menerjemahkah variable ataupun karakter khusus). Sintak Tanda Petik Ganda Hampir mirip dengan string yang diapit oleh tanda petik tunggal, kecuali bahwa string yang diapit tanda petik ganda akan menerjemahkan variable atau karakter khusus. Karakter-karakter yang mempunyai arti khusus ini, biasa disebut dengan escape sequence antara lain:

Sequence Arti \n Karakter ganti baris \t Karakter tab horisontal \v Karakter tab vertical \\ Karakter Backslash \” Karakter “ (double quote) \$ Simbol $

Mari kita lihat dalam contoh program (simpan dengan nama file Latihan-4.php):

<?php

$gelar_depan = "Dr.";

$gelar_belakang = "SE, MM";

$nama_depan = "Ahmad";

//berikut ada tanda petik yang merupakan bagian dari string itu sendiri

$nama_belakang = "Rifa\"i";

echo "Nama Pegawai : $gelar_depan $nama_depan $nama_belakang, $gelar_belakang <br />";

//tampilkan kembali menggunakan tanda petik tunggal

echo 'Nama Pegawai : $gelar_depan $nama_depan $nama_belakang, $gelar_belakang<br />';

//tambahkan escape squence

echo "Nama Pegawai : \n$gelar_depan $nama_depan $nama_belakang, \t$gelar_belakang<br

/>";

echo "===================================================";

?>

Jika kita tampilkan di browser:

Page 21: Php Penting

Perhatikan perbedaan antara string yang diapit tanda petik tunggal dan tanda petik ganda. Lantas dimana \n dan \t berada..? \n dan \t tidak akan berpengaruh di browser, tapi pada source code halaman itu. Buka melalui menu view – source (IE) atau CTRL-U jika menggunakan Firefox. Perhatikan source code tersebut.

Memahami ARRAY Array merupakan sebuah fitur yang powerful dari sebuah bahasa pemrograman karena memudahkan kita untuk bekerja dengan sejumlah besar data yang sama. Misalkan kita menuliskan sebuah program untuk menyimpan 100 data pegawai, daripada harus membuat 100 variabel terpisah ($pegawai1, $pegawai2... $pegawai100) kita dapat membuat satu variabel array $pegawai yang menyimpan informasi semua pegawai tersebut. Anatomi Array PHP mendukung dua tipe array yaitu: 1. Array dengan index (Indexed Array)

Ini adalah array dimana setiap elemen direferensikan dengan sebuah index numerik, biasanya mulai dari o. Sebagai contoh, elemen pertama memiliki index 0, elemen ke 2 memiliki index 1 dan seterusnya.

2. Array Asosiatif (Associative Array) Array jenis ini (disebut juga dengan hash atau map) setiap elemen direferensikan dengan index string. Sebagai contoh kita data membuat sebuah array dengan data pegawai dimana data umur kita beri index “umur”

Nilai yang dapat disimpan dalam elemen array dapat berupa tipe apapun bahkan dicampur dalam satu array. Jadi array dapat berisi string pada elemen pertama, integer pada elemen kedua dan boolean pada elemen ketiga, bahkan berisi array yang lain.

Page 22: Php Penting

Membuat Array Cara paling sederhana untuk membuat variable array adalah dengan menggunakan kontruktor array(). Contoh:

$pegawai = array(“ekobayong”, “parmin”, “panjul”);

Baris kode diatas membuat array dengan 3 elemen dengan setiap elemennye berupa string dan disimpan di variable $pegawai. Array ini adalah array dengan index numerik. Untuk mengakses “ekobayong” kita harus menuliskan $pegawai[0] dan untuk mengakses “panjul” kita menggunakan index 2 ($pegawai[2]). Jika kita ingin membuat sebuah array assosiative, dimana elemen-elemennya akan diindex menggunakan string, kita harus menggunakan operator =>. Contoh :

$bukuperpustakaan = array(“judul”=> “Programming Visual Basic”,

“thn_terbit” => 2008,

“penerbit”=> “Wrox Publishing”,

“jml_halaman”=> 520 );

Jika kita ingin menampikan penerbit maka kita tuliskan $bukuperpustakaan[“penerbit”]; dan untuk menampilkan judul kita gunakan $bukuperpustakaan[“judul”];

Membaca (mengambil data) Array Kita lihat kembali contoh array diatas :

$pegawai = array(“ekobayong”, “parmin”, “panjul”);

Untuk membaca data dari array tersebut kita gunakan index numerik 0, 1 atau 2 jadi: $pegawai[0] ekobayong $pegawai[1] parmin Dan $pegawai[2] panjul. Untuk contoh array asosiatif

$bukuperpustakaan = array(“judul”=> “Programming Visual Basic”,

“thn_terbit” => 2008,

“penerbit”=> “Wrox Publishing”,

“jml_halaman”=> 520 );

Jika kita ingin menampilkan data penerbit maka : $bukuperpustakaan[“penerbit”] Wrox Publishing $bukuperpustakaan[“jml_halaman”] 520

Page 23: Php Penting

Array Multidimensi Seperti telah dikatakan diatas bahwa elemen array juga dapat berupa array, maka kita dapat membuat sebuah array multidimensi. (Juga dikenal sebagai array bersarang karena mereka terdiri dari satu atau lebih array bersarang di dalam array yang lain). Perhatikan contoh berikut :

<?php

$databuku = array(

array("judul" => "Beginning PHP 5.3",

"penerbit" => "Wrox"),

array("judul" => "PHP For Absolute Beginner",

"penerbit" => "Apress"),

array("judul" => "Web Development with PHP and MySQL",

"penerbit" => "Sams Publishing"),

array("judul" => "Beginning PHP5, Apache, and MySQL Web Development",

"penerbit" => "Wrox")

);

echo "<h2>Judul-Judul Buku Rekomendasi</h2> ";

//looping array

foreach($databuku as $dba) {

foreach($dba as $key => $value) {

echo $key . " : " . $value . "<br />";

}

}

echo "<hr>";

//akses salah satu elemen saja

echo "Akses isi salah satu array : <br />";

echo "Judul : " . $databuku[1]["judul"] . "<br />";

echo "Penerbit : " . $databuku[1]["penerbit"] . "<br />";

?>

Pada contoh diatas dibuat sebuah array $databuku dimana elemen-elemennya terdiri dari array. Berikut hasil dari program diatas jika ditampilkan di browser:

Page 24: Php Penting

Berikut adalah contoh lain dari penggunaan array. Program berikut digunakan untuk menampilkan data tanggal dalam format hari, tanggal bulan tahun dalam bahasa Indonesia.

<?php

$array_hari = array("","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");

$array_bulan = array("01" => "Januari",

"02" => "Pebruari",

"03" => "Maret",

"04" => "April",

"05" => "Mei",

"06" => "Juni",

"07" => "Juli",

"08" => "Agustus",

"09" => "September",

"10" => "Oktober",

"11" => "Nopember",

"12" => "Desember");

$tanggal = date("d");

$bulan = date("m");

$tahun = date("Y");

Page 25: Php Penting

$hari = date("N");

$tanggal_id = $array_hari[$hari] . ", " . $tanggal . " " . $array_bulan[$bulan] . " " . $tahun;

echo "Tanggal dalam format indonesia: " . $tanggal_id;

?>

Berikut adalah hasil dari program diatas jika ditampilkan dibrowser:

PENGAMBILAN KEPUTUSAN Sebagaimana bahasa pemrograman lain, PHP mengijinkan kita untuk melakukan operasi pengambilan keputusan menggunakan statement-statement kondisional.

Statemen IF Statemen kondisional yang paling mudah untuk dimengeri adalah statemen IF. Struktur dari perintah ini adalah sebagai berikut:

If (kondisi) {

//blok program

}

Jika kondisi yang ada didalam tanda kurung terpenuhi (bernilai True) maka blok program yang ada di antara tanda {..} akan dijalankan. Perhatikan contoh berikut :

<?php

$data_absen = array(

array("nama" => "Pegawai 1",

"jamkerja" => 6),

array("nama" => "Pegawai 2",

"jamkerja" => 8),

array("nama" => "Pegawai 3",

"jamkerja" => 9)

);

Page 26: Php Penting

$jamkerja_standar = 8;

foreach($data_absen as $da) {

$potongan = "--";

echo "Nama Pegawai : " . $da["nama"] . "<br />";

echo "Jam Kerja : " . $da["jamkerja"] . "<br>";

//start contoh if statemen

if ($da["jamkerja"] < $jamkerja_standar) {

$potongan = "Terkena potongan 5%";

}

//end

echo "Potongan : " . $potongan . "<br />";

}

?>

Jika ditampilkan dibrowser:

Statemen ELSE Statement else digunakan untuk memberikan alternatif jika kondisi yang ada di statemen if tidak terpenuhi (bernilai false). Struktur dari statement if dengan else :

If (kondisi) {

//blok program

}

else {

//blok program alternatif

}

Page 27: Php Penting

Jika kondisi yang ada di statemen if terpenuhi (bernilai true) maka blok program akan dikerjakan, jika kondisi tidak terpenuhi (bernilai false) maka blok program alternatif yang akan di kerjakan. Perhatikan contoh berikut:

<?php

$data_absen = array(

array("nama" => "Pegawai 1",

"jamkerja" => 6),

array("nama" => "Pegawai 2",

"jamkerja" => 8),

array("nama" => "Pegawai 3",

"jamkerja" => 9)

);

$jamkerja_standar = 8;

foreach($data_absen as $da) {

$potongan = "--";

echo "Nama Pegawai : " . $da["nama"] . "<br />";

echo "Jam Kerja : " . $da["jamkerja"] . "<br>";

//start contoh if statemen

if ($da["jamkerja"] < $jamkerja_standar) {

$potongan = "Terkena potongan 5%";

}

else {

$potongan = "Tidak terkena potongan";

}

//end

echo "Potongan : " . $potongan . "<br />";

}

?>

Jika kita tampilkan di browser:

Page 28: Php Penting

Kita bisa mengkombinasikan statement else dengan statement if lainnya untuk membuat alternatif sebanyak yang kita inginkan (Nested IF). Perhatikan contoh program berikut:

<?php

$tanggal = date("d");

$bulan = date("m");

$tahun = date("Y");

$hari = date("N");

$bulan_id = "";

if ($bulan == "01") {

$bulan_id = "Januari";

}

elseif ($bulan == "02") {

$bulan_id = "Pebruari";

}

elseif ($bulan == "03") {

$bulan_id = "Maret";

}

elseif ($bulan == "04") {

$bulan_id = "April";

}

elseif ($bulan == "05") {

$bulan_id = "Mei";

}

Page 29: Php Penting

elseif ($bulan == "06") {

$bulan_id = "Juni";

}

elseif ($bulan == "07") {

$bulan_id = "Juli";

}

elseif ($bulan == "08") {

$bulan_id = "Agustus";

}

elseif ($bulan == "09") {

$bulan_id = "September";

}

elseif ($bulan == "10") {

$bulan_id = "Oktober";

}

elseif ($bulan == "11") {

$bulan_id = "Nopember";

}

else {

$bulan_id = "Desember";

}

echo "Sekarang Bulan : " . $bulan_id;

?>

Program tersebut akan menampilkan nama bulan (dalam bahasa indonesia) tergantung pada tanggal sistem.

Statemen SWITCH, CASE, BREAK, DEFAULT Statement-statement ini digunakan sebagai alternatif dari IF..ELSEIF..ELSE. terutama jika kita membandingkan variabel yang sama berkali-kali. Mari kita tulis kembali contoh program diatas, kali ini menggunakan statement switch,case,break dan default.

<?php

$tanggal = date("d");

$bulan = date("m");

$tahun = date("Y");

$hari = date("N");

$bulan_id = "";

switch ($bulan) {

case "01" :

$bulan_id = "Januari";

Page 30: Php Penting

break;

case "02" :

$bulan_id = "Pebruari";

break;

case "03" :

$bulan_id = "Maret";

break;

case "04" :

$bulan_id = "April";

break;

case "05" :

$bulan_id = "Mei";

break;

case "06" :

$bulan_id = "Juni";

break;

case "07" :

$bulan_id = "Juli";

break;

case "08" :

$bulan_id = "Agustus";

break;

case "09" :

$bulan_id = "September";

break;

case "10" :

$bulan_id = "Oktober";

break;

case "11" :

$bulan_id = "Nopember";

break;

case "12" :

$bulan_id = "Desember";

default :

$bulan_id = "Nama Bulan....?";

}

echo "Sekarang Bulan : " . $bulan_id;

?>

Page 31: Php Penting

Contoh berikut akan memperlihatkan kembali statement swich :

<?php

$array_hari = array("","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");

$hari = date("N");

$hari_id = $array_hari[$hari];

switch ($hari_id) {

case "Senin" :

case "Selasa" :

case "Rabu" :

case "Kamis" :

case "Jum'at" :

echo "Hari <b> " . $hari_id . "</b> adalah hari kerja";

break;

case "Sabtu" :

case "Minggu" :

echo "Hari<b> " . $hari_id . "</b> ngapain ke kantor...?";

break;

default :

echo "Gak Jelas...?";

}

?>

STATEMEN PENGULANGAN

Ide dasar dari pengulangan adalah menjalankan blok kode program secara berulang-ulang samapi suatu kondisi terpenuhi. Seperti dalam statemen pengambilan keputusan, statemen pengulangan membutuhkan ekspresi yang menghasilkan nilai true atau false. Jika ekspresi menghasilkan nilai true maka pengulangan akan berlanjut. Jika ekspresi menghasilkan false maka eksekusi akan keluar dari pengulangan ke baris pertama dibawah struktur pengulangan tersebut. Statemen-statemen pengulangan di PHP yaitu :

- while - for

Page 32: Php Penting

Statement WHILE Struktur statemen while adalah seperti berikut:

while ( ekspresi ) {

//blok kode

}

Atau

while (ekpresi) :

//kode program

endwhile;

Perhatikan contoh program berikut:

<?php

$i = 1;

while($i <= 100) {

echo $i . "<br />";

$i++;

}

?>

Program diatas akan menampilkan hasil berupa daftar angka 1 s.d. 100. Perhatikan ekspresi yang ada didalam while. Berikut juga contoh penggunaan while:

<?php

$array_hari = array("","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");

$i = 1;

while($i <= 7) {

echo $array_hari[$i] . "<br />";

$i++;

}

?>

Jalankan program tersebut.

Statement FOR Struktur statemen for adalah sebagai berikut:

for (ekspresi1;ekspresi2,ekspresi3) {

//blok program

}

Page 33: Php Penting

Atau

for(ekpresi1;ekpresi2,ekspresi3) :

//blok program

endfor;

Ekspresi pertama (ekspresi1) dievaluasi (dieksekusi) sekali tanpa syarat pada awal iterasi. Disetiap awal iterasi, ekspresi2 akan dievaluasi di setiap iterasi. Jika ekpresi2 menghasilkan true, iterasi berjalan terus dan blok program akan dijalankan. Jika ekspresi2 menghasilkan false, iterasi akan berhenti. Ekpresi3 akan dijalankan pada akhir setiap iterasi. Perhatikan contoh berikut:

<?php

$array_hari = array("","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");

for($i=1;$i<=7;$i++) {

echo $array_hari[$i] . "<br />";

}

for($i=1;$i<=100;$i++) :

echo $i . " - ";

endfor;

?>

Ekspresi pertama (EXPR1) dievaluasi (dieksekusi) sekali tanpa syarat pada awal loop. Di awal setiap iterasi, expr2 dievaluasi. Jika mengevaluasi TRUE, loop terus dan pernyataan bersarang (s) dijalankan. Jika dievaluasi ke FALSE, pelaksanaan loop berakhir. Pada akhir setiap iterasi, expr3 dievaluasi (dijalankan).

FUNGSI Fungsi adalah sebuah kode blok yang digunakan untuk melakukan tugas tertentu. Fungsi adalah bagian penting dari setiap bahasa pemrograman. Fungsi berguna untuk beberapa alasan: - Menghindari duplikasi kode. - Memudahkan mengeliminasi kesalahan. - Dapat digunakan ulang pada script atau aplikasi lain. - Membantu dalam pembuatan proyek-proyek besar.

Memanggil Fungsi Sebuah fungsi dapat berupa fungsi built-in (bawaan) atau fungsi yang didefinisikan sendiri oleh kita. Cara memanggil fungsi (baik built-in maupun UDF) : $var = nama_fungsi([parameter1,parameter2....]);

Page 34: Php Penting

Jumlah parameter yang dikirim akan berbeda, tergantung fungsi-nya dan bahkan mungkin berbeda untuk fungsi yang sama. Parameter yang dikirim harus valid dan dalam urutan tertentu seperti yang diharapkan oleh fungsi. Fungsi juga mungkin akan mengembalikan sebuah nilai. Berikut beberapa contoh fungsi built-in : //menghitung panjang sebuah string $panjang = strlen(“PHP”); // $panjang akan berisi nilai 3. //bulan dari tanggal sistem (January, February dsb). $bulan = date(“F”); //$bulan akan berisi July (saat modul ini ditulis) PHP menyediakan banyak sekali fungsi built-in (lebih dari 700 fungsi). Kita bisa mendapatkannya dalam manual PHP (dowload di www.php.net).

Membuat dan Menggunakan Fungsi Jika diperlukan (seringkali) kita membuat fungsi sendiri. Sintaks untuk membuat fungsi adalah sebagai berikut: function namafungsi([parameter1,parameter2....] { //blok program } Nama fungsi dapat berupa string yang dimulai dengan huruf atau garis bawah diikuti dengan nol atau lebih huruf, garis bawah, dan digit. Nama Fungsi bersifat case-insensitif. Biasanya, fungsi mengembalikan nilai tertentu. Untuk mengembalikan nilai dari fungsi, gunakan return. Ketika pernyataan return ditemui pada saat menjalankan fungsi, maka alur program akan kembali ke program pemanggil. Contoh program:

<?php

function html_header($tit le="Belum ada Judul") {

echo "<html>

<head>

<tit le>$title</title>

</head>

<body>";

}

function html_footer() {

echo "<body></html>";

}

function translate_to_day_id($hari) {

$array_hari = array("","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");

return $array_hari[$hari];

}

Page 35: Php Penting

function translate_date_to_id($tanggal) {

$array_bulan = array("01" => "Januari",

"02" => "Pebruari",

"03" => "Maret",

"04" => "April",

"05" => "Mei",

"06" => "Juni",

"07" => "Juli",

"08" => "Agustus",

"09" => "September",

"10" => "Oktober",

"11" => "Nopember",

"12" => "Desember");

$bln = substr($tanggal, 5, 2);

$tahun = substr($tanggal, 0, 4);

$tanggal = substr($tanggal, 8, 2);

$date_id = $tanggal . " " . $array_bulan[$bln] . " " . $tahun;

return $date_id;

}

function br($jumlah=1) {

for($i=0;$i<=$jumlah;$i++) {

echo "<br />";

}

}

//program yang menggunakan fungsi-fungsi diatas.

html_header("Contoh Fungsi");

echo "Hari ini : " . translate_to_day_id(date("N"));

echo br(3);

echo translate_date_to_id(date("Y-m-d"));

//contoh yang salah (tanpa parameter sedangkan di definisi fungsi mengharuskan ada

parameter)

echo translate_to_day_id();

html_footer();

?>

Page 36: Php Penting

BEKERJA DENGAN FORM Bagian terpenting dari PHP sebagai bahasa pemrograman untuk membuat sebuah web yang interaktif adalah kemampuan menerima dan kemudian memproses data yang dikirim user. Salah satu cara yang paling umum untuk menerima masukkan dari user (pengguna) aplikasi web adalah melalui form HTML.

Form HTML Sekilas kita akan kembali melihat bagaimana form HTML dibuat. Sebuah form HTML dibuat menggunakan tag-tag HTML untuk input, seperti <input>, <select>, <textarea>. Form HTML diawali dengan tag <form> dan diakhiri dengan tax </form> Mari kita lihat contoh form HTML Login berikut ini (kode HTML berikut dimasukkan ke file program php. Bukan file HTML biasa:

<?php

function html_header($tit le="Belum ada Judul") {

echo "<html>

<head>

<tit le>$title</title>

</head>

<body>";

}

function html_footer() {

echo "<body></html>";

}

html_header();

?>

<h3>Login Page</h3>

<form name="login" action="dologin.php" method="post">

Username<br />

<input type="text" name="username"><br />

Password<br />

<input type="password" name="password" /><br />

<input type="submit" value="Login" />

</form>

<?php

html_footer();

?>

Perhatikan pada tag form, atribut action memberitahukan lokasi file yang akan menerima data dari form tersebut. Atribut method digunakan untuk menentukan bagaimana data akan dikirim. Apakah dikirim sebagai variable (menggunakan GET) dan melekat ke URL atau dikirim sebagai bagian dari transaksi protokol HTTP.

Page 37: Php Penting

Catatan tentang metode GET: - Metode ini menambahkan data ke URL dengan pasangan namavariableform=nilai. - Metode ini berguna untuk pengiriman form dimana pengguna ingin menandai hasilnya

(bookmark) - Tidak ada batas untuk banyak data yang dapat ditempatkan di URL (bervariasi antar

browser). Oleh karena itu kita tidak dapat memastikan bahwa semua data dari form HTML akan benar-benar ditransfer.

- Jangan menggunakan metode ini untuk menyampaikan informasi yang sensitif. (Password atau informasi lainnya.

Catatan tentang metode POST - Metode ini mengirimkan data form sebagai bagian dari transaksi HTTP. - Form dengan metode pengiriman POST tidak dapat ditandai (bookmark) - Merupakan metode yang lebih aman untuk mengirimkan data dan tidak memiliki batas

besaran data yang akan dikirim. Jika contoh program diatas diubah dengan method=”GET” maka ketika ketika tombol submit (login) ditekan, url akan berubah menjadi (http://www.domain.com/ dologin.php?username=ekobayong&password=ddd).

Apakah ini cara yang tepat...?

Mari kita coba lagi membuat sebuah form yang lebih lengkap, sekaligus contoh program yang digunakan untuk memprosesnya dalam satu file. Form ini berupa form pendaftaran pelatihan. Form berupa isian data :

- Namalengkap - Tgl. Lahir (dipisahkan antara tanggal, bulan, dan tahun). Pilihan tahun hanya 25 tahun

terakhir. - Jenis Kelamin - Alamat - Kota - Kode Post - Nomor Telepon - Email - Keterangan Tambahan

Setelah form diisi dan dikirim, program akan menampilkan data isian tersebut.

<?php

function html_header($tit le="Belum ada Judul") {

echo "<html>

<head>

<tit le>$title</title>

<style>

* {

font-family:verdana;

font-size:11px;

}

#dataterkirim {

background-color: silver;

Page 38: Php Penting

}

input, textarea {

border:1px solid silver;

}

</style>

</head>

<body>";

}

function html_footer() {

echo "<body></html>";

}

$array_bulan = array("01" => "Januari",

"02" => "Pebruari",

"03" => "Maret",

"04" => "April",

"05" => "Mei",

"06" => "Juni",

"07" => "Juli",

"08" => "Agustus",

"09" => "September",

"10" => "Oktober",

"11" => "Nopember",

"12" => "Desember");

//jika ada pengiriman data

html_header("Pendaftaran");

echo "<h3>Pendaftaran</h3>";

if($_POST) {

//tampilkan datanya

echo "<div id='dataterkirim'>";

echo "<h3>Data Terkirim</h3>";

echo "Nama : <br /><b>" . $_POST["nama"] . "</b><br />";

//tgl

$tgl = $_POST["tgl"];

$bulan = $_POST["bulan"];

$tahun = $_POST["tahun"];

echo "Tgl.Lahir: < br /><b>" . $tgl . " " . $array_bulan[$bulan] . " " . $tahun . "</b><br />";

echo "Jenis Kelamin: <br /><b>";

echo ($_POST["jk"] == "L") ? "Laki-Laki" : "Perempuan";

Page 39: Php Penting

echo "</b><br />";

echo "Alamat: <b><br />" . $_POST["alamat"] . "</b><br />";

echo "Kota:<b><br />" . $_POST["kota"] . " " . $_POST["kodepos"] . "</b><br />";

echo "No. Telepon/HP<b><br />" . $_POST["kodepos"] . "</b><br />";

echo "Email<b><br />" . $_POST["email"] . "</b><br />";

echo "Keterangan<b><br />" . $_POST["keterangan"] . "<b><br />";

echo "</div>";

}

?>

<form name="pendaftaran" action="" method="post">

Nama : <br />

<input type="text" name="nama" size="20" maxlength="100" /><br />

Tgl. Lahir:<br />

<select name="tgl">

<?php

//gunakan for untuk mengisi option dari 1 s.d. 31

for($i=1;$i<=31;$i++) {

echo "<option value=$i>$i</option>";

}

?>

</select>

<select name="bulan">

<?

foreach($array_bulan as $key => $value) {

echo "<option value=$key>$value</option>";

}

?>

</select>

<select name="tahun">

<?php

$tahun = date("Y");

$start = $tahun - 25;

for($start;$start<=$tahun;$start++) {

echo "<option value=$start>$start</option>";

}

?>

</select><br />

Jenis Kelamin<br />

Page 40: Php Penting

<input type="radio" name="jk" value="L" checked="checked" />Laki-Laki

<input type="radio" name="jk" value="P" />Perempuan<br />

Alamat:<br />

<textarea name="alamat" rows="3" cols="70"></textarea><br />

Kota:<br />

<input type="text" name="kota" size="30" maxlength="50" /><br />

Kode Post:<br />

<input type="text" name="kodepos" size="10" maxlength="5" /><br />

No. Telepon :<br />

<input type="text" name="notelp" size="15" maxlength="15" /><br />

Email :<br />

<input type="text" name="email" size="15" maxlength="15" /><br />

Keterangan Tambahan:<br />

<textarea name="keterangan" rows="5" cols="70"></textarea><br />

<input type="submit" value="Daftar" />

</form>

<?php

html_footer();

?>

Berikut tampilan dibrowser:

Page 41: Php Penting

Bab 4

BEKERJA DENGAN DATABASE MySQL Pada prinsipnya, kita dapat menggunakan database yang lain selain MySQL. Ada banyak sekali database yang didukung oleh PHP, dari MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Db2 dan lain-lain. Pada buku ini kita akan menggunakan MySQL. Sekedar diketahui, database ini merupakan database yang paling banyak digunakan oleh programmer web dengan beberapa alasan berikut:

- Merupakan satu database yang paling populer digunakan di pemrograman web. - Tersedia secara bebas (download, install, use). - Mudah untuk diinstall di berbagai sistem operasi (Termasuk UNIX, Windows, MAC dan

LINUX). - Hampir semua perusahaan penyedia jasa layanan Hosting mendukung MySQL. - Cepat dan mampu digunakan untuk database besar dan kompleks.

Instalasi MySQL di Windows. Pada bab I kita telah melakukan instalasi MySQL menggunakan paket installer XAMPP. Ini berarti MySQL telah siap digunakan.

Log in ke MySQL. Catatan: Sesuai dengan instalasi pada Bab I, tambahkan path untuk program-program MySQL ke PATH di environment variable komputer kita. Pada buku ini tambahkan path C:\xampp\mysql\bin . Untuk login ke MySQL, tulis perintah ini di konsole (command prompt). mysql –u root (untuk instalasi menggunakan XAMPP, password root masih kosong). Sehingga perintah diatas akan langsung membawa kita ke konsol MySQL. (parameter –u adalah untuk menentukan user yang akan dipakai untuk login. Saat ini kita akan menggunakan login dengan root. Pada aplikasi yang sebenarnya kita harus membuat user lain, dan jangan pernah menggunakan user root untuk aplikasi. User root adalah user tertinggi dalam sistem MySQL). Perintah diatas akan membawa kita ke konsol MySQL seperti tampak berikut ini (mungkin sedikit berbeda):

Page 42: Php Penting

Membuat Hak Akses Perintah untuk memberi hak akses mempunyai format sebagai berikut:

GRANT privileges [column]

ON item TO username [IDENTIFIED BY „password‟]

[WITH GRANT OPTION]

Kali ini kita akan memberikan privileges baru untuk root dengan password ‘x’.

mysql>> grant all privileges on *.* to root@localhost identified by “x” with grant option;

Arti dari perintah diatas adalah : Berikan semua privileges pada semua database dan table ke user root di localhost, password = x dan hak untuk memberikan hak akses (grant) kepada user lain. (mysql>> adalah tanda konsol mysql. Bukan merupakan bagian dari perintah yang kita jalankan).

Membuat Database Format perintah untuk membuat database baru:

mysql>> create database namadatabase;

Mari kita buat sebuah database blog untuk kepentingan latihan berikutnya pada buku ini.

mysql>> create database blog;

Untuk menampilkan daftar database yang sudah ada gunakan perintah:

mysql>> show databases;

Untuk menghapus database yang sudah tidak diperlukan lagi :

mysql>> drop namadatabase;

Page 43: Php Penting

Untuk mengaktifkan / menggunakan salah satu database yang ada gunakan perintah:

mysql>> use namadatabase;

Membuat Tabel Format perintah untuk membuat sebuah table adalah sebagai berikut:

CREATE TABLE namatabel (namafield type [option],...);

Contoh: Mari kita buat dua buah tabel untuk membuat sebuah blog sederhana. 1 tabel untuk menyimpan setiap posting kita, 1 tabel untuk menyimpan komentar dari pengunjung. Struktur tabel tersebut adalah sebagai berikut: 1. Tabel posting

Nama Field Type Options

Id Int(11) Primary key, auto increment Judul Varchar(255)

Pengantar Text Isi Text

Tglposting Datetime

2. Tabel komentar

Nama Field Type Options

Id Int(11) Primary key, auto increment Nama Varchar(255)

Email Varchar(255) Isi Text

Tglkomentar Datetime

Posting_id Int(11) 3. Tabel User

Nama Field Type Options Id Int(11) Primary key, auto increment

Username Varchar(255) Password Varchar(255)

Lastlogin Datetime Membuat tabel posting.

mysql>> create table posting(id integer primary key auto_increment,judul varchar(255),

pengantar text,isi text,tglposting datetime);

Membuat tabel komentar

mysql>> create table komentar(id integer primary key auto_increment,nama varchar(255),

email varchar(255),isi text,tglkomentar datetime,posting_id integer);

Page 44: Php Penting

Membuat tabel user

mysql>> create table user(id integer primary key auto_increment,username varchar(255),

password varchar(255),lastlogin datetime);

Menampilkan Tabel yang ada di Database

mysql>> show tables;

Menampilkan deskripsi tabel.

mysql>> desc namatable;

Contoh:

mysql>> desc posting;

akan menampilkan informasi seperti berikut:

Mengisi Tabel Untuk mengisi data ke dalam tabel kita gunakan perintah insert. Format perintah insert adalah sebagai berikut:

INSERT [INTO] namatable (colum1,colum2,colum3...) VALUES(value1,value2,value3....)

Contoh: Mari kita masukkan data-data berikut ke dalam tabel posting

Judul Pengantar Isi Tglposting Pemrograman Web Banyak bahasa yang

harus dipilih... mau pilih yang mana..?

Mau membuat program web..? Terdapat banyak sekali bahasa pemrograman yang bisa digunakan....

2010-07-10 20:10:45

Pemrograman Desktop Mulai dari Visual Basic sampai Java... mulai C, C++ sampai bahasa yang kurang kita kenal...

Mana pilihan yang tepat ketika harus menentukan bahasa pemrograman untuk aplikasi desktop....

2010-08-10 13:01:45

Page 45: Php Penting

mysql>> insert into posting (judul,pengantar,isi,tglposting)

values(“Pemrograman Web”, “Banyak bahasa yang harus dipilih... mau pilih yang

mana..?”,“Mau membuat program web..? Terdapat banyak sekali bahasa

pemrograman yang bisa digunakan....”, “2010-07-10 20:10:45”);

mysql>> insert into posting(judul,pengantar,isi, tglposting)

values(“Pemrograman Desktop”, “Mulai dari Visual Basic sampai Java.. mulai C, C++

sampai bahasa yang kurang kita kenal..”, “Mana pilihan yang tepat ketika harus

menentukan bahasa pemrograman untuk aplikasi desktop....”,

“2010-08-10 13:01:45)”;

Catatan: field /kolom auto_increment akan diisi secara otomatis oleh MySQL.

Menampilkan Data Perintah untuk menampilkan data SELECT. Format perintah ini adalah sebagai berikut:

SELECT field FROM namatabel [WHERE kondisi] [GROUP BY group_type]

[ORDER BY order_type][LIMIT limit_criteria];

Contoh:

- Menampilkan semua data dari tabel posting select * from posting;

- Menampilkan judul,pengantar dari tabel posting select judul,pengatar from posting;

- Menampilkan semua data untuk id=2 select * from posting where id=2;

- Menampilkan judul,pengantar,tglposting diurutkan berdasarkan tanggal select judul,pengantar,tglposting from posting order by tglposting asc;

Update Data Perintah untuk update data adalah UPDATE. Format umum perintah ini adalah:

UPDATE namatabel set field1=ekspresi1,field2=ekpresi2 ....

[WHERE kondisi];

Contoh:

- Mengubah judul=Pemrograman Web menjadi Pemrograman Berbasis Web update posting set judul="Pemrograman Berbasis Web" where judul="Pemrograman Web";

- Mengubah tglposting menjadi 2010-08-01 08:00 untuk id=2 update posting set tglposting="2010-08-01 08:00" where id=2;

Page 46: Php Penting

Menghapus Data Perintah untuk menghapus data adalah DELETE. Format umum perintah ini adalah:

DELETE FROM namatabel [WHERE kondisi];

Contoh:

- Menghapus record dengan judul=”Pemrograman Desktop”; delete from posting where judul=”Pemrograman Desktop”;

- Menghapus semua record delete from posting;

Akses MySQL dari PHP Mari kita lihat contoh berikut: (sebelumnya berikan perintah berikut untuk membuat sebuat user mysql baru dengan nama webuser@localhost password = x. User ini hanya dapat select,update,insert,delete ke database blog. mysql>> grant all privileges on blog.* to webuser@localhost identified by “x”; mysql>> glush privileges; ).

<?php

mysql_connect("localhost", "webuser", "x") or die ("Koneksi Gagal");

mysql_select_db("blog");

$query = "select * from posting order by tglposting desc;";

$result = mysql_query($query);

while($row = mysql_fetch_array($result)) {

echo "<b>" . $row["judul"] . "</b><br />";

}

?>

Jika kita tampilkan di browser:

Page 47: Php Penting

Tipikal program PHP yang berinteraksi dengan MySQL adalah sebagai berikut: 1. Lakukan koneksi. 2. Pilih Database 3. Lakukan Query 4. Tampilkan hasilnya.

Untuk melakukan koneksi ke database MySQL digunakan perintah: mysql_connect(“host”,”user”,”password”; Untuk memilih database digunakan perintah: mysql_select_db(“namadatabase”); Untuk melaksanakan query digunakan perintah: mysql_query(“query”); Untuk membaca hasil query dapat digunakan perintah-perintah berikut:

mysql_fetch_array : Mengambil baris-baris hasil query sebagai array asosiatif, array numerik, atau keduanya

mysql_fetch_row : Mengambil baris-baris hasil query sebagai array numerik

mysql_fetch_object : Mengambil baris-baris hasil query sebagai obyek mysql_fetch_assoc : Mengambil baris-baris hasil query sebagai array asosiatif.

mysql_num_rows : Mendapatkan informasi berapa jumlah baris hasil query mysql_insert_id : Mendapatkan informasi field id auto increment yang dihasilkan dari

query terakhir.

Proram diatas dapat dijelaskan sebagai berikut: 1. Program melakukan koneksi ke server MySQL yang ada di localhost, menggunakan user

webuser dan password x. Perintah die akan dijalankan jika ternyata koneksi gagal dilakukan. Misal password yang kita berikan salah, atau server MySQL sedang tidak berjalan. Perintah die(pesan) akan menyebabkan pesan ditampilkan dilayar dan menghentikan eksekusi program.

2. Program memilih database blog

Page 48: Php Penting

3. Menyimpan query (perintah sql) ke dalam variabel $query; 4. Menjalankan perintah query dengan mysql_query($query). 5. Menampilkan hasil looping while terhadap array hasil dari perintah

mysql_fetch_array($result). Mari kita lihat contoh berikut yang merupakan modifikasi dari program sebelumnya untuk melihat bagaimana perintah-perintah lain digunakan untuk mendapatkan hasil dari sebuah query.

<?php

//koneksi ke server

$conn = mysql_connect("localhost", "webuser", "x");

//jika tidak berhasil

if(!$conn) {

echo "Gagal melakukan koneksi ke Database System.";

exit;

}

if(!mysql_select_db("blog")){

echo "Gagal menggunakan database yang diinginkan";

exit;

}

$query = "select * from posting order by tglposting desc;";

if(!$result = mysql_query($query)) {

echo "Query gagal dilakukan";

exit;

}

//menampilkan jumlah baris yang didapatkan

echo "Jumlah Posting : " . mysql_num_rows($result) . "<br />";

echo "<hr />";

//menampilkan hasil query sebagai array asosiatif menggunakan mysql_fetch_array

echo "mysql_fetch_array<br />";

while($row = mysql_fetch_array($result)) {

echo "<b>" . $row["judul"] . "</b><br />";

echo "Posting tanggal : " . $row["tglposting"] . "<br />";

}

echo "<hr />";

//kembalikan pointer ke 0

mysql_data_seek($result, 0);

//menampilkan hasil query sebagai array asosiatif menggunakan mysql_fetch_assoc

echo "mysql_fetch_assoc<br />";

while($row = mysql_fetch_assoc($result)) {

Page 49: Php Penting

echo "<b>" . $row["judul"] . "</b><br />";

echo "Posting tanggal : " . $row["tglposting"] . "<br />";

}

echo "<hr />";

//kembalikan pointer ke 0

mysql_data_seek($result, 0);

//menampilkan hasil query sebagai array numerik

echo "mysql_fetch_row<br />";

while($row = mysql_fetch_row($result)) {

echo "<b>" . $row[1] . "</b><br />";

echo "Posting tanggal : " . $row[4] . "<br />";

}

echo "<hr />";

//kembalikan pointer ke 0

mysql_data_seek($result, 0);

//menampilkan hasil query sebagai object

echo "mysql_fetch_object<br />";

while($row = mysql_fetch_object($result)) {

echo "<b>" . $row->judul . "</b><br />";

echo "Posting tanggal : " . $row->tglposting . "<br />";

}

?>

Jika kita tampilkan dibrowser:

Page 50: Php Penting
Page 51: Php Penting

Bab 5

MEMBUAT BLOG SEDERHANA Persiapan Pada bab ini kita akan membuat sebuah program blog sederhana. Tampilan akhir dari program ini adalah sebagai berikut : - Halaman Awal.

Dihalaman awal akan ditampilkan daftar posting diurutkan berdasarkan tanggal terbaru. Untuk membaca posting secara terinci, user harus memilih dengan klik di judul posting.

- Tampilan rinci posting dan komentar terkait serta form untuk mengisi komentar.

Page 52: Php Penting

- Pemilik blog mempunyai accout untuk login. Berikut tampilan halaman login

Page 53: Php Penting

- Berikut tampilan halaman daftar posting setelah login.

Dihalaman ini terdapat link untuk logout, edit, delete dan show posting serta link untuk membuat posting baru.

Page 54: Php Penting

- Berikut tampilan edit posting

- Tabel yang perlu dibuat adalah tabel posting, komentar dan user.

Tabel posting dan komentar telah dibuat pada bab sebelumnya, jadi kali ini kita hanya perlu membuat sebuah tabel lagi yaitu tabel user. Struktur tabel tersebut adalah sebagai berikut:

- Tambahkan data ke tabel user:

Username : adminuser Password : md5(‘x’) Lastlogin : masukkan tanggal dan jam saat ini.

- Buat struktur folder baru seperti berikut :

Page 55: Php Penting

Program Mari kita mulai membuat programnya. 1. Buat file config.php simpan di folder include

Berikut listing program-nya.

<?php

define(ROOT,"/blog/");

define(CSS_FOLDER, ROOT . "public/css/");

define(IMAGES_FOLDER, ROOT . "public/images/");

define(MYSQL_HOST,'localhost');

define(MYSQL_USER,"webuser");

define(MYSQL_PASSWORD,"x");

define(MYSQL_DB,"blog");

define(TITLE,"MySimple Weblog");

define(AUTHOR,"S&amp;R");

define(VERSION,"1.00");

define(YEAR,date("Y"));

define(META_DESCRIPTION,"S&amp;R Blog, Blog tentang apapun");

define(META_KEYWORD,"PHP, MySQL,APACHE, HTML, CSS, Anything about IT Stuff");

$kon = mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD);

if (!$kon) {

echo "Koneksi gagal dilakukan";

exit;

}

$db = mysql_select_db(MYSQL_DB);

if (!$db) {

echo "Database t idak ditemukan";

exit;

}

?>

2. Buat file tanggal.php simpan di folder include

Berikut listring programnya.

<?php

function convert_to_longdate_id($tanggal) {

$array_hari = array("","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu","Minggu");

$array_bulan = array("01" => "Januari",

"02" => "Pebruari",

Page 56: Php Penting

"03" => "Maret",

"04" => "April",

"05" => "Mei",

"06" => "Juni",

"07" => "Juli",

"08" => "Agustus",

"09" => "September",

"10" => "Oktober",

"11" => "Nopember",

"12" => "Desember");

//cari hari terlebih dahulu

$date = date_create($tanggal);

$hari = $array_hari[date_format($date,"N")];

$bulan = $array_bulan[date_format($date,"m")];

return $hari . ", " . date_format($date,"d") . " " . $bulan . " " . date_format($date,"Y");

}

?>

3. Buat file layout.php simpan di folder include

Berikut listing programnya.

<?php

function html_header() {

echo '

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"

/>

<meta name="description" content="' . META_DESCRIPTION . '" />

<meta name="keyword" content="' . META_KEYWORD . '" />

<title>' . TITLE . '</tit le>

<link rel="stylesheet" type="text/css" href="' . CSS_FOLDER . 'style.css" />

</head>

<body>

<div id="container">

<div id="header">

<div id="logo">&nbsp;</div>

Page 57: Php Penting

</div>

<div id="content">';

}

function footer_text() {

return "CopyRight &copy; " . AUTHOR . " " . YEAR . " Version: " . VERSION;

}

function html_footer() {

echo '

</div>

<div id="clear"></div>

<div id="footer">' . footer_text() . '</div>

</body></html>';

}

function br($jumlah=1) {

for($i=0;$i<=$jumlah;$i++) {

echo "<br />";

}

}

function form_komentar() {

echo "<form name='komentar' method='post' action=''>";

echo " Nama<br /><input tye='text' name='nama' size='20' /><br />";

echo " Email<br /><input tye='text' name='email' size='20' /><br />";

echo " Komentar<br /><textarea cols='60' rows='6' name='komentar'></textarea><br />";

echo "<input type='submit' value='Kirim' />";

echo "</form>";

}

?>

4. Buat file style.css simpan di folder public/css

Berikut listing file-nya:

* {

font-family: verdana, sans-serif;

font-size: 12px;

color: black;

}

html {

min-height: 100%;

}

body {

Page 58: Php Penting

margin:auto;

background:#3484d2 url("../images/bg.jpg") repeat-x 110px bottom;

background-repeat: repeat-x;

}

#container {

filter:alpha(opacity=90);

opacity:0.9;

background-color: white;

width:700px;

margin: auto;

padding:10px;

}

#header {

width: 700px;

height: 205px;

}

#logo {

top:10px;

left:250px;

height: 192px;

width:339px;

posit ion: relative;

background-image: url(../images/logo2.png);

background-position: top left;

background-repeat: no-repeat;

}

#nulis{

top:10px;

left:300px;

height: 300px;

width:339px;

posit ion: absolute;

background-image: url(../images/nulis.jpg);

background-position: top left;

background-repeat: no-repeat;

}

#content {

width: 700px;

padding-bottom: 20px;

Page 59: Php Penting

}

#sidecontent {

width: 200px;

float: left;

}

#clear {

clear: both;

}

#footer {

width: 700px;

padding-top:40px;

text-align: right;

font-size: 10px;

}

h1{

font-size:15px;

text-decoration: none;

font-family:"Lucida Sans";

font-style: italic;

}

h1 a {

font-size:15px;

color: #319db5;

text-decoration: none;

font-family:"Lucida Sans";

font-style: italic;

}

h1 a:hover {

color: red;

}

a {

color:blue;

text-decoration:none;

}

.tanggal {

font-size:9px;

}

.pengantar {

font-style: italic;

Page 60: Php Penting

display: block;

font-size: 10px;

}

input, textarea {

border: 1px solid silver;

}

5. Buat file index.php di folder blog

Berikut listring program-nya:

<?php

include "include/config.php";

include "include/layout.php";

include "include/tanggal.php";

html_header();

//query ke posting

$query = "select * from posting order by tglposting desc;";

$result = mysql_query($query);

//loop result

while($row = mysql_fetch_object($result)) {

echo "<h1><a href='" . ROOT . "show.php?post_id=" . $row->id . "'>" . stripslashes($row-

>judul) . "</a></h1>";

echo "<span class='tanggal'>Ditulis pada :" . convert_to_longdate_id($row->tglposting) .

"</span><br />";

echo stripslashes(nl2br($row->pengantar));

}

html_footer();

?>

6. Buat file show.php di folder blog

Berikut listing program-nya:

<?php

include "include/config.php";

include "include/layout.php";

include "include/tanggal.php";

html_header();

//query ke posting

if($_GET["post_id"] and !empty($_GET["post_id"])) {

$query = "select * from posting where id=" . $_GET["post_id"] . ";";

$result = mysql_query($query);

Page 61: Php Penting

if(!$result) {

echo "Query Gagal dilakukan";

}

else {

if(mysql_num_rows($result) == 0) {

echo "Tidak ada Posting tersebut<br />";

echo "Hmm.... <a href='" . ROOT . "'>kembali ke home saja ya...</a>";

}

else{

$row = mysql_fetch_object($result);

echo "<h1>$row->judul</h1>";

echo "<span class='tanggal'>" . convert_to_longdate_id($row->tglposting) . "</span><br

/>";

echo "<span class='pengantar'>". stripslashes(nl2br($row->pengantar)) . "</span><br />";

echo stripslashes(nl2br($row->isi));

echo br(2);

//jika ada komentar masuk

if ($_POST) {

$error = array();

$posting_id = $_GET["post_id"];

if(isset($_POST["nama"]) and !empty($_POST["nama"])) {

$nama = stripslashes($_POST["nama"]);

}

else {

array_push($error, "Nama harus diisi");

}

if(isset($_POST["email"]) and !empty($_POST["email"])) {

$email = stripslashes($_POST["email"]);

}

else {

array_push($error,"Email harus diisi");

}

if(isset($_POST["komentar"]) and !empty($_POST["komentar"])) {

$komentar = stripslashes($_POST["komentar"]);

}

else {

array_push($error,"Komentar harus diisi");

}

//jika t idak ada kesalahan

Page 62: Php Penting

if (empty($error)) {

//dapatkan tanggal hari ini

$date = date("Y-m-d H:m:s");

$query = "insert into komentar (nama,email,isi,tglkomentar,posting_id) values (

'". $nama . "','" . $email . "','" . $komentar . "','" . $date . "','" .

$posting_id . "')";

if(!$result = mysql_query($query)) {

echo "Gagal input komentar";

}

else {

echo "Terima kasih atas kunjungan dan komentar anda";

br(2);

}

}

}

//tampilkan komentar terkait

$query = "select * from komentar where posting_id=" . $_GET["post_id"];

$result = mysql_query($query);

//jika belum ada komentar

if (mysql_num_rows($result) == 0) {

echo "Belum ada komentar masuk";

echo br(2);

}

else {

//tampilkan komentarnya

echo "Jumlah komentar : <b>" . mysql_num_rows($result) . "</b><br />";

while($row = mysql_fetch_object($result)) {

echo "<h1>$row->nama</h1>";

echo "<span class='tanggal'>" . convert_to_longdate_id($row->tglkomentar) .

"</span><br />";

echo "<span class='tanggal'>" . $row->email . "</span><br />";

echo stripslashes(nl2br($row->isi));

echo br(1);

}

}

echo "<b>Silahkan Isi Komentar</b><br />";

if (!empty($error)) {

Page 63: Php Penting

foreach($error as $e) {

echo $e . "<br />";

}

}

form_komentar();

echo br(2) . "<a href='" . ROOT . "'>Back to Home</a>";

}

}

}

else {

echo "Hmm....<a href='" . ROOT . "'>kembali ke home saja ya...</a>";

}

html_footer();

?>

7. Buat file index.php di folder admin

Berikut listing program-nya:

<?php

include "../include/config.php";

include "../include/layout.php";

include "../include/tanggal.php";

session_start();

html_header();

//jika ada data login

$error = array();

if ($_POST) {

if($_POST["username"] && !empty($_POST["username"])) {

$username = mysql_real_escape_string($_POST["username"]);

}

else {

array_push($error,"Username...?");

}

if($_POST["password"] && !empty($_POST["password"])) {

$password = md5(mysql_real_escape_string($_POST["password"]));

}

Page 64: Php Penting

else {

array_push($error,"Password...?");

}

//jika t idak ada error

if (empty($error)) {

//check ke db

$query = "select * from user where username='" . $username . "' and password='" .

$password . "';";

$result = mysql_query($query);

if (mysql_num_rows($result) == 0) {

array_push($error,"Invalid Username dan Password ");

}

else {

$row = mysql_fetch_object($result);

$_SESSION['id'] = $row->id;

$_SESSION['username'] = $row->username;

//echo "Login Sukses";

header("Location:". ROOT . "admin/postinglist.php");

}

}

}

//login page

?>

<h3>Login Page</h3>

<?php

if(!empty($error)) {

foreach($error as $e) {

echo $e . "<br />";

}

}

?>

<form name="login" action="" method="post">

Username<br />

<input type="text" name="username" size="20" /><br />

Password<br />

<input type="password" name="password" size="20" /><br />

<input type="submit" value="Login" />

</form>

Page 65: Php Penting

<?php

html_footer();

?>

8. Buat file postinglist.php di folder admin

Berikut listring program-nya

<?php

include "../include/config.php";

include "../include/layout.php";

include "../include/tanggal.php";

session_start();

if(empty($_SESSION["id"])) {

header("Location:" . ROOT ."admin");

}

html_header();

echo "Welcome " . $_SESSION["username"];

echo "&nbsp;&nbsp;<a href='" . ROOT ."admin/logout.php'>Logout</a>";

//query ke posting

$query = "select * from posting order by tglposting desc;";

$result = mysql_query($query);

//loop result

while($row = mysql_fetch_object($result)) {

echo "<h1><a href='show.php?post_id=" . $row->id . "'>" . $row->judul . "</a></h1>";

echo "<span class='tanggal'>Ditulis pada :" . convert_to_longdate_id($row->tglposting) .

"</span><br />";

echo stripslashes(nl2br($row->pengantar)) . "<br />";

echo "<a href='edit.php?post_id= " . $row->id . "'>Edit</a>&nbsp;&nbsp;";

echo "<a href='delete.php?post_id=" . $row->id . "'>Delete</a>&nbsp;&nbsp;";

echo "<a href='show.php?post_id= " . $row->id . "'>Show</a>";

}

br(2);

echo "<a href='postnew.php'>Buat Baru</a>";

html_footer();

?>

9. Buat file postnew.php di folder admin

Berikut listring program-nya:

<?php

include "../include/config.php";

include "../include/layout.php";

Page 66: Php Penting

include "../include/tanggal.php";

session_start();

if(empty($_SESSION["id"])) {

header("Location:" . ROOT ."admin");

}

html_header();

if($_POST) {

$error = array();

if(isset($_POST["judul"]) and !empty($_POST["judul"])) {

$ judul = addslashes($_POST["judul"]);

}

else {

array_push($error, "Judul harus diisi");

}

if(isset($_POST["pengantar"]) and !empty($_POST["pengantar"])) {

$pengantar = addslashes($_POST["pengantar"]);

}

else {

array_push($error, "Pengantar harus diisi");

}

if(isset($_POST["isi"]) and !empty($_POST["isi"])) {

$ isi = addslashes($_POST["isi"]);

}

else {

array_push($error, "Isi harus diisi");

}

if (empty($error)) {

//dapatkan tanggal hari ini

$date = date("Y-m-d H:m:s");

$query = "insert into posting (judul,pengantar,isi,tglposting) values('" .

$ judul . "', '" . $pengantar . "', '" . $isi . "','" . $date . "');";

if(!$result = mysql_query($query)) {

echo "Gagal menyimpan posting";

}

else {

header("Location:postinglist.php");

}

}

}

Page 67: Php Penting

if($error) {

foreach($error as $e) {

echo $e . "<br />";

}

}

?>

<form action="" method="post" name="new">

Judul<br >

<input type="text" name="judul" size="70" /><br />

Pengantar<br />

<textarea name="pengantar" rows="3" cols="70"></textarea><br />

Isi<br />

<textarea name="isi" rows="10" cols="70"></textarea><br />

<input type="submit" value="Simpan" />

<a href="postinglist.php">Batal</a>

</form>

<?php

html_footer();

?>

10. Buat file edit.php di folder admin

Berikut listing program-nya:

<?php

include "../include/config.php";

include "../include/layout.php";

include "../include/tanggal.php";

session_start();

if(empty($_SESSION["id"])) {

header("Location:" . ROOT ."admin");

}

html_header();

if($_GET["post_id"] and !empty($_GET["post_id"])) {

$query = "select * from posting where id=" . $_GET["post_id"] . ";";

$result = mysql_query($query);

if(!$result) {

echo "Query Gagal dilakukan";

}

else {

if(mysql_num_rows($result) == 0) {

Page 68: Php Penting

echo "Tidak ada Posting tersebut<br />";

echo "Hmm.... <a href='" . ROOT . "'>kembali ke home saja ya...</a>";

}

else {

$row = mysql_fetch_object($result);

//jika ada komentar masuk

if ($_POST) {

$error = array();

$posting_id = $_GET["post_id"];

if(isset($_POST["judul"]) and !empty($_POST["judul"])) {

$ judul = addslashes($_POST["judul"]);

}

else {

array_push($error, "Judul harus diisi");

}

if(isset($_POST["pengantar"]) and !empty($_POST["pengantar"])) {

$pengantar = addslashes($_POST["pengantar"]);

}

else {

array_push($error,"Pengantar harus diisi");

}

if(isset($_POST["isi"]) and !empty($_POST["isi"])) {

$ isi = addslashes($_POST["isi"]);

}

else {

array_push($error,"Isi harus diisi");

}

//jika t idak ada kesalahan

if (empty($error)) {

//dapatkan tanggal hari ini

$date = date("Y-m-d H:m:s");

$query = "update posting set judul='" . $judul . "',

pengantar='" . $pengantar . "',isi='" . $isi . "',tglposting='" .

$date . "' where id=" .

$_GET["post_id"] . ";";

if(!$result = mysql_query($query)) {

echo "Gagal Edit Posting";

echo $query;

Page 69: Php Penting

}

else {

header("Location:postinglist.php");

}

}

}

if (!empty($error)) {

foreach($error as $e) {

echo $e . "<br />";

}

}

?>

<form action="" method="post" name="new">

Judul<br >

<input type="text" name="judul" size="70" value="<?php echo stripslashes($row->judul)

?>"/><br />

Pengantar<br />

<textarea name="pengantar" rows="3" cols="70"> <?php echo stripslashes($row-

>pengantar) ?></textarea><br />

Isi<br />

<textarea name="isi" rows="10" cols="70"><?php echo stripslashes($row->isi)

?></textarea><br />

<input type="submit" value="Simpan" />

<a href="postinglist.php">Batal</a>

</form>

<?php

}

}

}

else {

echo "Hmm....<a href='" . ROOT . "'>kembali ke home saja ya...</a>";

}

html_footer();

?>

Page 70: Php Penting

11. Buat file delete.php di folder admin Berikut listing program-nya:

<?php

include "../include/config.php";

include "../include/layout.php";

include "../include/tanggal.php";

session_start();

if(empty($_SESSION["id"])) {

header("Location:" . ROOT ."admin");

}

html_header();

echo "Welcome " . $_SESSION["username"];

echo "&nbsp;&nbsp;<a href='" . ROOT ."admin/logout.php'>Logout</a><br /><br />";

if(empty($_SESSION["id"])) {

header("Location:" . ROOT ."admin");

}

if($_GET) {

if($_GET["post_id"] and !empty($_GET["post_id"])) {

$post = intval($_GET["post_id"]);

if ($post) {

//hapus

$query = "delete from posting where id=" . $_GET["post_id"];

$res = mysql_query($query);

if($res) {

//hapus komentar terkait

$query = "delete from komentar where posting_id=" . $_GET["post_id"];

$res = mysql_query($query);

echo "Record telah dihapus<br />";

echo "<a href='postinglist.php'>Back</a>";

}

else {

echo "Gagal melakukan penghapusan<br />";

echo "<a href='postinglist.php'>Back</a>;";

}

}

else {

echo "Hm... apa yang mau dihapus... ";

echo "<a href='postinglist.php'>Back to List</a>";

Page 71: Php Penting

}

}

else {

echo "Hm... apa yang mau dihapus... ";

echo "<a href='postinglist.php'>Back to List</a>";

}

}

else {

echo "Hm... apa yang mau dihapus... ";

echo "<a href='postinglist.php'>Back to List</a>";

}

html_footer();

?>

12. Buat file logout.php di folder admin

Berikut listing program-nya:

<?php

include "../include/config.php";

session_start();

$_SESSION = array();

session_destroy();

header("Location:" . ROOT );

?>

13. Selamat mencoba....