Pemrograman Web dengan PHP dan MySQL

v1.0

Pemrograman Web dengan PHP dan MySQL
Achmad Solichin, S.Kom
Buku ini disusun berdasarkan materi perkuliahan Pemrograman Web sesuai dengan kurikulum standar di perguruan tinggi komputer. Di dalam buku ini tidak terlalu dibahas mengenai teori dan algoritma pemrograman, namun banyak berisi 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 (achmatim@gmail.com)

Achmad Solichin, S.Kom Universitas Budi Luhur, Jakarta http://achmatim.net – achmatim@gmail.com

1

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 (achmatim@gmail.com)

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 (achmatim@gmail.com)

3

Melalui buku ini. Buku ini sebagian besar menyajikan berbagai contoh program yang disusun secara terstruktur dari yang mudah sampai yang cukup kompleks. seperti ekonomi.net. sosial dan budaya.Pemrograman Web dengan PHP dan MySQL Kata Pengantar Internet merupakan salah satu fenomena paling berpengaruh dalam beberapa dekade terakhir ini. desain web dan database. situs web sudah demikian populer dan layanannya pun beragam. Namun lihatlah saat ini. Perkembangan internet juga berpengaruh langsung terhadap perkembangan situs web. Saran. Penggunaannya saat ini bahkan sudah mencapai 25 juta situs web. 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).com) 4 . Buku ini juga cocok digunakan sebagai panduan praktikum pemrograman web di perguruan tinggi. sampai situs pertemanan (social networking) seperti Friendster dan Facebook.com) masih juga mendominasi dalam aplikasi berbasis web. Sedangkan dari sisi database. disajikan contoh yang lebih nyata. situs penyedia email seperti Yahoo dan Gmail. Dalam kaitannya dengan situs web dan layanan di dalamnya tidak lepas dari teknologi di baliknya. penulis berusaha mengenalkan dasar‐dasar dari PHP dan MySQL untuk membangun suatu situs web. Salah satu bahasa pemrograman yang banyak digunakan untuk membangun suatu situs web adalah PHP (http://www. internet maupun situs web belum begitu populer karena layanannya yang masih terbatas. baik bagi perkembangan teknologi itu sendiri maupun bagi perkembangan disiplin ilmu lain. sekolah maupun kursus‐kursus. Di akhir buku ini. yaitu aplikasi situs berita sederhana yang dapat dikembangkan lebih lanjut.mysql. penggunaan MySQL (http://www. Di awal kemunculannya. Buku ini cocok bagi pembaca yang baru mulai belajar PHP dan MySQL secara mandiri karena contoh‐contoh dalam buku ini disajikan sesederhana mungkin.net). Dengan adanya contoh‐contoh program tersebut.com atau melalui situs penulis di http://achmatim. khususnya dalam hal pemrograman web dan internet. yaitu pemrograman web. Saran dan kritik untuk perbaikan buku ini sangat penulis harapkan. Akhirnya penulis berharap agar buku ini bermanfaat bagi perkembangan ilmu dan pengetahuan di Indonesia. politik. Penulis Achmad Solichin Achmad Solichin (achmatim@gmail. kritik dan masukan mengenai buku ini dapat disampaikan melalui email ke penulis di achmatim@gmail. mulai dari situs berita seperti Detik dan Okezone.php.

.............................. 52 Fungsi‐fungsi String dalam PHP .. 16 Konstanta ....................... 29 IV................ Pengantar Array ................................................ 2.................................................................................................. 14 Mari Mengenal PHP .... 4....7 1..................... 3.................. 21 1....... Penanganan String dan Tanggal ...................................................................................................... Struktur Dasar PHP ......................................... 7................ 14 Say Hello to PHP .. 2............................................................... 53 Fungsi‐fungsi Operasi Tanggal dalam PHP .............................................................................................................. 7 Server Side Scripting ......... 30 1...................................................... Web Server ............................ 21 Struktur Perulangan ................... 17 Operator dalam PHP ....... 4...................... 43 1... 5........................................................................ 25 Struktur Break dan Continue .............................................................. Berbagai Cara Penanganan Form .................................................................................................................... 17 Komentar Program ............................................................................................................... 47 Fungsi dalam PHP ............................................ 3...................................................... 60 VII................................................... 38 Form Input Type COMBO BOX .................................................................................................................... 50 VI............... 8................................................................................................................................................................................................................ Struktur Kondisi dan Perulangan ....................................................................................... Penanganan File .......... Pengenalan Web Server dan Server Side Scripting ... 33 Form Input Type RADIO .................................................... 15 Tipe Data .......................................com) 5 ....................................................................... 3..................................................................................................................................................... File dan Direktori .................... 3...... 43 Fungsi‐fungsi Array dalam PHP ...................................................................... 6...................................... 2............ 62 1..... 2..................... 19 III............................................................. 3...................................................................................... Struktur Kondisi....... 41 V.. Sebelum Belajar PHP ................. 15 Variabel ............ 13 II................... 2........................ 2................ 5................ Array dan Fungsi ............... 52 1............ 3............. 8 Test Instalasi XAMPP di Browser.............................................. Penanganan Form ................................................................................................... 62 Achmad Solichin (achmatim@gmail....................... 14 1......... Pengantar String...................................................................Pemrograman Web dengan PHP dan MySQL Daftar Isi I........................................................................................................................ 6........................................................................................................ 30 Form Input Type TEXT dan PASSWORD .............................................................................................. 36 Form Input Type CHECK BOX ... 39 Form Input Type TEXTAREA ...

........................................... Apa Itu SQL ? ....... 85 Instalasi MySQL di Windows ..................................... 113 Membuat File Koneksi Database...... 78 Memanfaatkan Class yang Tersedia................................................................ 69 Session dan Cookies ............................... 120 CSS sebagai Pemanis Tampilan ....................... 72 Cookies .......... Tentang Database............................................. Pemrograman Berorientasi Objek dalam PHP ....................................................................................................... 5............................................................... 78 Mendefinisikan Class........................................ 2........................................... Session........................................................................... 6.......................................................................................................................................................... 106 Menghapus Record dengan DELETE ............................. 8........................................................................ 5............................ Merancang Struktur Database .................... 114 Menampilkan Berita Terbaru di Halaman Depan ............................................................................................. 85 Koneksi ke Server MySQL dengan MySQL Client ......................................... 5.............................................................................................................................................. 113 1............................................Pemrograman Web dengan PHP dan MySQL 2.... 99 Membuat........................... 96 XI............... DBMS dan RDBMS...................................................... Pengantar Pemrograman Berorientasi Objek ... 3........................... 7........................................... 2........ 3. 84 1.......... 2........................................................... 114 Membuat Halaman Input Berita ............................................................ VIII....... 4... 4................. Mengubah dan Menghapus Table ............ 117 Membuat Halaman Edit Berita .... 101 Menambah Record dengan INSERT .......... 105 Mengedit Record dengan UPDATE ..................com) 6 .............................................................. 82 X........ Pengenalan DBMS dan MySQL ........................... 3.... 115 Membuat Halaman Arsip Berita ............................. 68 Upload File ......................... 3....................................................................................................... 95 Berbagai MySQL Client untuk Administrasi Server MySQL .... 120 Achmad Solichin (achmatim@gmail.................................. 77 Object dan Class ........................ 4....................... 2........... 4................................................ 84 Tentang MySQL .................................................... 75 IX............ 77 1........................................ 5. 99 1....................................................................... 3............................. 66 Manipulasi File ........................................... 4........................................................... Membuat dan Menghapus Direktori ................................ 72 1.................... Aplikasi Berita dengan PHP dan MySQL .............................. 118 Membuat Halaman Delete Berita ..................... 2..................................................... 77 Properties dan Method ............ 107 XII............................................................................. Pengenalan Structured Query Language ............................

Standar Web Architecture Gambar 1. Internet Information Service. Apache Web Server (http://www. Dynamic Web Architecture Beberapa Web Sever yang banyak digunakan di internet antara lain : 1.2.apache.com) 7 . IIS (http://www. R Web Documents Gambar 1.Pemrograman Web dengan PHP dan MySQL Pengenalan Web Server dan Server Side Scripting Pengenalan Web Server Instalasi dan Konfigurasi Web Server Instalasi dan Konfigurasi PHP Testing Web Server dan PHP Bab 1 Web Server Web Server merupakan sebuah perangkat lunak dalam server yang berfungsi menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali (response) hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML.com/iis) Achmad Solichin (achmatim@gmail.microsoft.1.org) 2.

com) 4. ASP (Active Server Page) dan ASP.xml) Server Side Scripting Server Side Scripting merupakan sebuah teknologi scripting atau pemrograman web dimana script (program) dikompilasi atau diterjemahkan di server. Namun demikian.net) Keistimewaan PHP Cepat Free Mudah dipelajari Multi-platform Dukungan technical-support Banyaknya komunitas PHP Aman Instalasi Apache.org.Pemrograman Web dengan PHP dan MySQL 3. tentu sering mengalami kesulitan. PHP (http://www. Achmad Solichin (achmatim@gmail.com/software/products/web_srvr/home_web_srvr. 3. Perl (http://www.com) 8 . hanya perlu next. Proses instalasinya pun dapat dilakukan dengan mudah dan cepat. ColdFusion (http://www.perl. Java Server Pages (http://java. Penulis sendiri menyarankan pemakaian XAMPP atau WAMP Server karena versi software di dalamnya menggunakan versi terbaru. Bagi belum mengerti benar. Xitami Web Server (http://www. and finish. Dengan server side scripting.org) 10.xitami. jika Anda masih tetap mempertahankan program tersebut. PHP dan MySQL seringkali menjadi kendala terutama bagi pemula yang baru belajar pemrograman web dengan PHP. XAMPP (versi Windows) dan LAMPP (versi Linux) yang dapat didownload di http://apachefriends. 2. next. Namun jangan berkecil hati.macromedia. Beberapa aplikasi paket tersebut antara lain: 1. Sun Java System Web Server (http://www.com/products/jsp/) 8. memungkinkan untuk menghasilkan halaman web yang dinamis. apalagi bagi kita yang belajar secara mandiri.sun.com/software/coldfusion) 7. Phyton (http://www. WAMP Server. PHPTriad. setelah instalasi selesai Anda dapat mengkonfigurasikan Apache secara manual dengan mengganti nomor port yang digunakan.org) 9. saat ini banyak tersedia aplikasi paket yang menyatukan ketiga software tersebut (Apache. Pastikan komputer Anda belum terinstall web server lain seperti IIS atau PWS karena dapat menyebabkan bentrok dengan web server Apache. PHP dan MySQL dengan XAMPP Proses instalasi Apache.sun.php.python. Beberapa contoh Server Side Scripting (Programming) : 5. APPServ 4.NET 6. Hal tersebut disebabkan karena software tersebut harus diinstall dan dikonfigurasikan satu per satu. PHP dan MySQL) ke dalam satu installer. Persiapan Instalasi 1.

Pilih versi sesuai dengan sistem operasi yang Anda gunakan (tersedia versi untuk Windows.x. File installer XAMPP 2.org. Download Source XAMPP versi stabil terbaru di http://apachefriends.x-installer. Akan ditampilkan window instalasi XAMPP. Gambar 1.1. 3. Gambar 1. Pastikan komputer yang Anda gunakan berjalan dengan baik dengan kapasitas memori dan hardisk yang masih mencukupi.com) 9 . Pilih Next > untuk memulai proses instalasi. Window Instalasi XAMPP Achmad Solichin (achmatim@gmail.Pemrograman Web dengan PHP dan MySQL 2.exe.2. Jalankan file installer XAMPP xampp-win32-x. Linux dan Mac). Proses Instalasi XAMPP 1.

Tekan tombol Ins X stall untuk m melanjutkan proses ins n stalasi. A Akan ditampilkan windo lokasi tuj ow juan instalasi (destinat tion folder). s Gambar 1. W Window pilih han XAMPP . Pilih tombol Next > unt B P tuk melanju utkan proses instalasi. Ga ambar 1. Folder tujuan in nstalasi XAM MPP mpilkan wind dow pilihan untuk kem n mudahan m mengakses 4.3.. tentukan lo okasi (folde er) dimana XAMPP a a akan diinst tall dengan menekan tombol n n Browse. Selanjutnya akan ditam XAMPP nantinya.4. .Pemro ograman Web dengan PHP dan MySQL L 3.

6. Gambar 1. Proses instalasi dimulai.com) 11 . Proses instalasi selesai.Pemrograman Web dengan PHP dan MySQL 5. Klik Finish untuk menutup proses instalasi.5. Gambar 1. Proses instalasi selesai Achmad Solichin (achmatim@gmail. Proses instalasi dimulai 6.

7.8. XAMPP Control Panel Achmad Solichin (achmatim@gmail. Konfirmasi Instalasi Berhasil 8. Gambar 1.com) 12 . Kita dapat mengatur XAMPP dengan mengakses XAMPP Control Panel yang dapat diakses melalui menu di Program Files atau icon di taskbar.Pemrograman Web dengan PHP dan MySQL 7. Jika proses instalasi berjalan dengan lancar makan akan ditampilkan window konfirmasi. Gambar 1.

Tampilan XAMPP di Browser Achmad Solichin (achmatim@gmail. Tampilan XAMPP di Browser Pilih bahasa yang ingin digunakan dan akan ditampilkan halaman utama XAMPP sebagai berikut: Gambar 1. Apache dan MySQL berjalan dengan baik.9.9.Pemrograman Web dengan PHP dan MySQL Test Instalasi XAMPP di Browser Untuk memastikan bahwa XAMPP beserta PHP.com) 13 . maka akan ditampilkan gambar sebagai berikut: Gambar 1. bukalah browser dan ketikkan URL sebagai berikut: http://localhost Jika semua sudah berjalan dengan baik.

Pemrograman Web dengan PHP dan MySQL

Struktur Dasar PHP
Sebelum Belajar PHP Mari Mengenal PHP Say Hello to PHP Variabel Tipe Data Konstanta Operator dalam PHP Komentar Program

Bab 2

Sebelum Belajar PHP
1. Saya asumsikan Anda telah mengenal dengan cukup baik komputer Anda, dan juga bisa mengoperasikannya. Jadi Anda seharusnya sudah mengerti perbedaan file dan direktori, bagaimana menyimpan file atau document, bagaimana meng-copy file, dan seterusnya. 2. Saya asumsikan Anda telah mengerti bagaimana membuka dan menggunakan salah satu atau salah semua dari editor seperti Notepad, EditPlus, Crimson Editor, Dreamweaver, atau yang lainnya. Saya asumsikan juga, Anda telah mengerti bagaimana membuat, mengedit, dan menyimpan suatu file dengan editor tersebut. 3. Saya asumsikan bahwa Apache, PHP, dan MySQL di komputer yang Anda pakai sudah berjalan sebagaimana mestinya. 4. Saya asumsikan Anda telah mengerti bagaimana cara menggunakan Web Browser (IE, Mozilla, Opera, dsb) 5. Saya asumsikan Anda telah mengenal dan mengerti dengan cukup baik tentang tag-tag HTML dan juga bagaimana menggunakannya. Anda tentu sudah mengambil matakuliah Pemrograman Web 1 atau Internet kan ? 6. Saya asumsikan bahwa penglihatan Anda masih normal sehingga bisa membedakan antara : Tulisan nama, Nama dan NAMA Koma (,), titik-koma (;) dan titik-dua (:) Kutip-tunggal (‘) dan kutip-ganda (“) Tulisan namamhs, nama_mhs dan nama mhs 7. Saya asumsikan Anda pernah menggunakan www.google.com

Mari Mengenal PHP
Tahukah Anda, PHP itu..... 1. Merupakan singkatan recursive dari PHP : Hypertext Prepocessor 2. Pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1994. 3. Harus ditulis di antara tag : <? dan ?> <?php dan ?> <script language=”php”> dan </script> <% dan %> 4. Setiap satu statement (perintah) biasanya diakhiri dengan titik-koma (;) 5. CASE SENSITIVE untuk nama identifier yang dibuat oleh user (berupa variable, konstanta, fungsi dll), namun TIDAK CASE SENSITIVE untuk identifier built-in dari PHP. Jadi : $nama ≠ $Nama ≠ $NAMA

Achmad Solichin (achmatim@gmail.com)

14

Pemrograman Web dengan PHP dan MySQL

hitungLuas() ≠ HitungLuas() echo = ECHO while = WHILE 6. Mudah dipelajari.

Say Hello to PHP
1. Ketikkan perintah di bawah ini di editor : Program 2.1 Nama File : hello.php Deskripsi : Program sederhana menampilkan sebuah string di layar. 1 2 3 <?php echo "Hello, Nama saya PHP "; ?>

2. Simpan dengan nama “hello.php” di document-root komputer Anda. 3. Buka browser dan ketikkan alamat http://localhost/hello.php 4. Lihat hasilnya di browser. Akan terlihat tampilan seperti pada gambar 2.1

Gambar 2.1. Tampilan Program 2.1

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 : Benar Salah - $_name - $3name - $first_name - $name? - $name3 - $first+name - $name_3 - $first.name - $first name Program 2.2 Nama File : variabel.php Deskripsi : Program mengisi dan menampilkan variabel di layar.

Achmad Solichin (achmatim@gmail.com)

15

Pemrograman Web dengan PHP dan MySQL

1 2 3 4 5 6 7

<?php $nim = "0411500400"; $nama = 'Chotimatul Musyarofah'; echo "NIM : " . $nim . "<br>"; echo "Nama : $nama"; ?>

Gambar 2.2. Tampilan Program 2.2

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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?php $nim = "0411500400"; $nama = 'Chotimatul Musyarofah'; $umur = 23; $nilai = 82.25; $status = TRUE; echo "NIM : " . $nim . "<br>"; echo "Nama : $nama<br>"; print "Umur : " . $umur; print "<br>"; printf ("Nilai : %.3f<br>", $nilai); if ($status) echo "Status : Aktif"; else echo "Status : Tidak Aktif"; ?>

Achmad Solichin (achmatim@gmail.com)

16

Tampilan Program 2. sisa pembagian Achmad Solichin (achmatim@gmail. menggunakan fungsi define() Program 2.3 Konstanta Konstanta merupakan variabel konstan yang nilainya tidak berubah-ubah. Tampilan Program 2.$b $a * $b $a / $b $a % $b Keterangan Pertambahan Pengurangan Perkalian Pembagian Modulus. NILAI. echo "<br>Nilai : " . NAMA. "Achmad Solichin").3. 1 2 3 4 5 6 7 8 <? define ("NAMA".php Deskripsi : Program penggunaan konstanta dalam PHP.Pemrograman Web dengan PHP dan MySQL Gambar 2. Untuk mendefinisikan konstanta dalam PHP.com) 17 . define ("NILAI".4. ?> Gambar 2.4 Operator dalam PHP Jenis Operator Aritmatika Operator + * / % Contoh $a + $b $a . //akan menyebabkan error echo "Nama : " . 90).4 Nama File : konstanta. //NAMA = "Muhammad".

php Deskripsi : Program beberapa Operator aritmatika dalam PHP. $thp = $gaji .1. $gaji <br>". echo "Gaji yang dibawa pulang = Rp.($gaji*$pajak). Tampilan Program 2.5 Achmad Solichin (achmatim@gmail.5 Nama File : operator. tapi tidak keduanya TRUE jika $a FALSE Penggabungan string $a dan $b Perbandingan Logika !$a $a . ?> Gambar 2. 1 2 3 4 5 6 7 8 <? $gaji = 1000000.Pemrograman Web dengan PHP dan MySQL Penugasan Bitwise = & | ^ ~ << >> == === != <> !== < > <= >= and && or || xor ! $a = 4. echo "Gaji sebelum pajak = Rp. $thp".5. Program 2. $a & $b $a | $b $a ^ $b ~$b $a << $b $a >> $b $a $a $a $a $a $a $a $a $a $a $a $a $a $a == $b === $b != $b <> $b !== $b < $b > $b <= $b >= $b and $b && $b or $b || $b xor $b $a diisi dengan 4 Bitwise AND Bitwise OR Bitwise XOR Bitwise NOT Shift Left Shift Right Sama dengan Identik Tidak sama dengan Tidak sama dengan Tidak identik Kurang dari Lebih dari Kurang dari sama dengan Lebih dari sama dengan TRUE jika $a dan $b TRUE TRUE jika $a dan $b TRUE TRUE jika $a atau $b TRUE TRUE jika $a dan/atau $b TRUE TRUE jika $a atau $b TRUE. $pajak = 0.com) 18 . $b String .

(($a != $b) || ($a > $b)).6 Komentar Program Dalam PHP. "<br>$a > $b : ".6. "<br>$a != $b : ".6 Nama File : operator2. $b = 4. "<br>($a == $b) || ($a > $b) : ". komentar program bisa menggunakan : /* dan */ // dan # Program 2. 1 2 3 4 5 6 7 8 9 10 11 <? $a = 5. "<br>($a == $b) && ($a > $b) : ". Tampilan Program 2.com) 19 .(($a != $b) && ($a > $b)). ($a < $b). "<br>$a < $b : ".php Deskripsi : Program operator logika dan perbandingan dalam PHP.Pemrograman Web dengan PHP dan MySQL Program 2.php Deskripsi : Program cara memberikan komentar dalam program PHP. ($a != $b).7 Nama File : komentar. echo echo echo echo echo echo ?> "$a == $b : ". ($a == $b). 1 2 3 4 5 6 7 8 9 10 <? /* Ini komentar tidak akan tercetak di layar yang ini juga komentar */ // Nah kalo ini komentar satu baris # Terus kalo ini juga komentar echo "Ini akan tercetak di layar". ($a > $b). Gambar 2. ?> Achmad Solichin (achmatim@gmail.

Pemrograman Web dengan PHP dan MySQL Gambar 2.com) 20 .7.7 Achmad Solichin (achmatim@gmail. Tampilan Program 2.

sebaliknya jika kondisinya FALSE maka statemen yang berada di blok else yang akan dieksekusi. } Achmad Solichin (achmatim@gmail. break... break....While + Struktur Kondisi Foreach Struktur Break dan Continue Bab 3 Struktur Kondisi Struktur Kondisi If if (kondisi) { statement-jika-kondisi-true. Keterangan : kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau FALSE-nya. Struktur Kondisi If ..com) 21 . } else { statement-jika-kondisi-false. } Keterangan : kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau FALSE-nya.Case Struktur Perulangan + Struktur Kondisi For + Struktur Kondisi While + Struktur Kondisi Do.. Jika kondisinya TRUE maka statemen yang berada di blok if akan dieksekusi. case '2' : statement-2. } Keterangan : kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau FALSE-nya.. Else if (kondisi) { statement-jika-kondisi-true. Statement pada blok benar dan salah hanya boleh satu statemen saja Struktur Kondisi Switch .Else + Struktur Kondisi Khusus ? : + Struktur Kondisi Switch... Case switch ($var) { case '1' : statement-1. Struktur Kondisi Khusus ? : (kondisi) ? benar : salah.Pemrograman Web dengan PHP dan MySQL Struktur Kondisi dan Perulangan Struktur Kondisi + Struktur Kondisi If + Struktur Kondisi If.... .

Program 3. if ($nilai >= 60) { echo "Nilai Anda $nilai. Gambar 3. maka statement pada baris ke-4 tidak akan dijalankan. Value pada case juga bisa berupa string.php Deskripsi : Program Struktur Kondisi If.. } ?> Penjelasan Program 3. if ($nilai >= 60) { echo "Nilai Anda $nilai.1 Pada program di atas. Anda GAGAL".1. Tampilan Program 3.1 Nama File : if. kondisi pada baris ke-3 bernilai FALSE karena isi variabel $nilai adalah 50.php Deskripsi : Program Struktur Kondisi If. } ?> Penjelasan Program 3. Jika kondisi ini bernilai TRUE (variabel $nilai berisi nilai yang lebih besar dari 60) maka statement pada baris ke-4 akan dijalankan.1 Program 3. terdapat pemeriksaan kondisi apakah isi variabel $nilai lebih dari 60 (baris 3). boolean. 1 2 3 4 5 6 7 8 <?php $nilai = 50. bahkan bisa berupa conditional-statement.2 Pada program di atas. integer. Anda LULUS". terdapat pemeriksaan kondisi apakah isi variabel $nilai lebih dari 60 (baris 3). } else { echo "Nilai Anda $nilai.Else. 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. Achmad Solichin (achmatim@gmail. Pada contoh program di atas.com) 22 . Sebaliknya jika kondisinya FALSE. Anda LULUS". maka statement pada baris ke-6 yang akan dijalankan. Tipe data variabel ini tidak dibatasi. Boleh memakai kutip tunggal maupun kutip ganda.2 Nama File : if_else.Pemrograman Web dengan PHP dan MySQL Keterangan : $var merupakan variabel yang akan diperiksa isi atau nilainya. 1 2 3 4 5 6 <?php $nilai = 80.

} ?> Achmad Solichin (achmatim@gmail. Jika kedua kondisi tersebut bernilai TRUE maka statement pada baris ke-5 akan dijalankan.com) 23 . Gambar 3.4 Nama File : if_var.3 Pada program di atas.3 Program 3. } ?> Penjelasan Program 3.2 Program 3.3. maka statement pada baris ke-7 yang akan dijalankan.php Deskripsi : Program Memeriksa username dan password dengan If. if (!isset($user)) { echo "Variabel tidak ada/belum terbentuk". } else { echo "Variabel ada".2.3 Nama File : if_else2. Sebaliknya jika salah satunya bernilai FALSE. 1 2 3 4 5 6 7 8 <?php $user="".Pemrograman Web dengan PHP dan MySQL Gambar 3.php Deskripsi : Program Memeriksa suatu variabel ada atau tidak. Tampilan Program 3. } else { echo "Login Gagal". $pass = "123" if ($user == "achmatim" && $pass == "123") { echo "Login Berhasil". 1 2 3 4 5 6 7 8 9 <?php $user = "achmatim".Else. terdapat pemeriksaan kondisi apakah isi variabel $nilai sama dengan “achmatim” dan apakah isi variabel $pass sama dengan “123” (baris 4). Tampilan Program 3..

4. break.php Deskripsi : Program Struktur Switch. variabel $day (baris ke-2) akan berisi 3 (tiga) digit pertama dari nama hari dalam bahasa Inggris. case 'Tue' : $hari = "Selasa". break. Fungsi ini akan diperlajari lebih lanjut pada Bab mendatang.5 Nama File : switch. Gambar 3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $day = date ("D"). Dengan fungsi date().Case untuk menampilkan nama hari dalam bahasa Indonesia. case 'Fri' : $hari = "Jum'at".com) 24 . switch ($day) { case 'Sun' : $hari = "Minggu".5 Achmad Solichin (achmatim@gmail. case 'Mon' : $hari = "Senin". Gambar 3. kita akan memperoleh informasi tanggal.5.. Fungsi akan bernilai TRUE jika variabelnya ada. case 'Wed' : $hari = "Rabu". hari dan waktu sekarang. break. Jadi jika baris ke-2 dari program di atas diremark atau dihilangkan maka statement pada baris ke-4 yang akan dijalankan. Tampilan Program 3.4 Program 3. case 'Sat' : $hari = "Sabtu". Selanjutnya isi variabel $day akan diperiksa dengan switch (baris ke-3).5 Pada program di atas.4 Pada program di atas. case 'Thu' : $hari = "Kamis". break. break.Pemrograman Web dengan PHP dan MySQL Penjelasan Program 3. break. break. ?> Penjelasan Program 3. Tampilan Program 3. } echo "Hari ini hari <b>$hari</b>". terdapat fungsi isset() yang merupakan fungsi untuk memeriksa apakah suatu variabel sudah terbentuk (ada) atau belum. default : $hari = "Kiamat". jika isinya adalah ‘Sun’ maka $hari adalah “Minggu” dan seterusnya.

6 Struktur Perulangan Struktur Perulangan For for (init_awal. $kabisat = ($tahun%4 == 0) ? "KABISAT" : "BUKAN KABISAT".com) 25 . fungsi date() dengan parameter “Y” (baris ke-2) akan menghasilkan 4 digit tahun sekarang. Struktur Perulangan While init_awal. kondisi merupakan statemen kondisi yang akan membatasi perulangan.6 Pada program di atas. Jika TRUE maka $kabisat akan berisi “KABISAT” dan jika FALSE $kabisat akan berisi “BUKAN KABISAT” Gambar 3. counter merupakan pertambahan atau pengurangan nilai variabel sehingga perulangan tetap berjalan. kondisi. } Keterangan : init_awal merupakan inisialisasi atau nilai awal variable. kondisi merupakan statemen kondisi yang akan membatasi perulangan.php Deskripsi : Program Struktur Kondisi Khusus ? untuk memeriksa tahun kabisat. Tampilan Program 3.6 Nama File : if_khusus. while (kondisi) { statement-yang-diulang. counter merupakan pertambahan atau pengurangan nilai variabel sehingga perulangan tetap berjalan. echo "Tahun <b>$tahun</b> $kabisat". 1 2 3 4 5 <?php $tahun = date ("Y"). Achmad Solichin (achmatim@gmail.6. ?> Penjelasan Program 3. } Keterangan : init_awal merupakan inisialisasi atau nilai awal variable. counter) { statement-yang-diulang. Pada baris ke-3 akan diperiksa apakah isi variabel $tahun jika dimodulus dengan 4 akan menghasilkan nilai 0. counter.Pemrograman Web dengan PHP dan MySQL Program 3.

$i <= 10. $i++) { echo "$i ". Struktur Perulangan Foreach foreach (array_expression as $value) statement. /* contoh 2 */ for ($i = 1. . ?> Achmad Solichin (achmatim@gmail. while init_awal.com) 26 . kondisi merupakan statemen kondisi yang akan membatasi perulangan. Perulangan akan berakhir jika isi array telah habis. /* contoh 4 */ for ($i = 1.. } echo "$i ". foreach (array_expression as $key => $value) statement. $i++).Pemrograman Web dengan PHP dan MySQL Struktur Perulangan Do . print "$i ".. /* contoh 3 */ $i = 1. pemeriksaan kondisi ada di bawah. } while (kondisi). $i <= 10. ) { if ($i > 10) { break.while. counter. $i++..php Deskripsi : Program Struktur Perulangan For dan beberapa variasinya.. Program 3.. Pada struktur do. } echo "$i ". for (. 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 <?php /* contoh 1 */ for ($i = 1. } echo "<br><br>". } echo "<br><br>". counter merupakan pertambahan atau pengurangan nilai variabel sehingga perulangan tetap berjalan. $i++) { if ($i > 10) { break.. } echo "<br><br>". Keterangan : Struktur foreach biasanya digunakan untuk melakukan perulangan berdasarkan isi suatu array.while setidaknya akan dieksekusi sebanyak satu kali. sehingga statement yang berada dalam block do. do { statement-yang-diulang. Keterangan : init_awal merupakan inisialisasi atau nilai awal variable.7 Nama File : for. .

Tampilan Program 3. } ?> Penjelasan Program 3. /* contoh 2 */ $i = 1. Blok perintah (baris 5) akan dijalankan selama pemeriksaan kondisi pada baris ke-4 bernilai TRUE.8 Program di atas merupakan beberapa variasi perulangan dengan while.7 Program di atas merupakan bentuk-bentuk perulangan dengan menggunakan for.7. tapi diatur dengan if dan break (baris 11-13).Pemrograman Web dengan PHP dan MySQL Penjelasan Program 3. /* contoh 3 */ $i = 1. bentuk ini jarang digunakan. $i++. Contoh kedua merupakan bentuk lain dari while. while ($i <= 10) { echo $i++. $i++. penggunaan perulangan untuk menampilkan tulisan dengan format <H1> sampai <H6> Achmad Solichin (achmatim@gmail. Pada contoh ketiga. while ($i <= 6) { echo "<h$i>Heading $i</h$i>". Contoh yang pertama (baris 3-6) merupakan bentuk yang paling umum dipakai. batas akhir perulangan tidak disebutkan dalam for. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <?php /* contoh 1 */ $i = 1.com) 27 . Contoh yang pertama (baris 4-6) merupakan bentuk yang paling umum. while ($i <= 10): echo "$i".7 Program 3. Pada contoh 2.php Deskripsi : Program Struktur Perulangan While dan beberapa variasinya. echo "<br><br>".8 Nama File : while. endwhile. Gambar 3. } echo "<br><br>".

8 Program 3.php Deskripsi : Program Struktur Perulangan dengan Do.8.while. 1 2 3 4 5 6 7 8 9 <?php $i = 1. Tampilan Program 3.While.. } while ($i <= 20). do { echo "$i ". Tampilan Program 3..while. Gambar 3.Pemrograman Web dengan PHP dan MySQL Gambar 3. ?> Penjelasan Program 3. $i+=2. Pada struktur perulangan do.9 Program di atas akan menampilkan bilangan ganjil antara 1 sampai 20 menggunakan struktur perulangan do...9 Achmad Solichin (achmatim@gmail.com) 28 ..9 Nama File : dowhile. pemeriksaan kondisi berada di bawah.9.

dapat disimpulkan bahwa perintah continue akan melanjutkan proses perulangan tanpa melewati (meng-eksekusi) baris perintah di bawahnya. $i<10. $i++) { if ($i == 5) continue.Pemrograman Web dengan PHP dan MySQL Struktur Break dan Continue Program 3.php Deskripsi : Program Struktur Break dan Continue. } ?> Penjelasan Program 3.10. echo "$i ".10 Nama File : break. Tampilan Program 3.com) 29 .10 Dari program di atas. 1 2 3 4 5 6 7 8 9 10 11 <?php for ($i=1. 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 Achmad Solichin (achmatim@gmail. if ($i == 8) break.

Pemrograman Web dengan PHP dan MySQL

Penanganan Form
Berbagai Cara Penanganan Form Form Input Type TEXT dan PASSWORD Form Input Type RADIO Form Input Type CHECKBOX Form Input Type COMBO BOX Form Input Type TEXTAREA Form inputan dibuat dengan tag-tag HTML. Halaman yang mengandung form murni (tidak ada script php) tidak harus disimpan dalam bentuk php, bisa dalam bentuk html. Untuk merancang sebuah form inputan, setidaknya ada 3 (tiga) hal penting, yi : 1. METHOD Method dari sebuah form menentukan bagaimana data inputan form dikirim. Method ini ada dua macam, yaitu GET dan POST. Method ini menentukan bagaimana data inputan dikirim dan diproses oleh PHP. 2. ACTION Action dari sebuah form menentukan dimana data inputan dari form diproses. Jika action ini dikosongkan, maka dianggap proses form terjadi di halaman yang sama. Jadi halaman form dan halaman proses bisa saja dipisah atau dijadikan satu. 3. SUBMIT BUTTON Submit button merupakan sebuah tombol (pada umumnya) yang berfungsi sebagai trigger pengiriman data dari form inputan. Jika tombol ini ditekan, maka data form akan dikirimkan (diproses) di halaman yang sudah ditentukan pada atribut action.

Bab 4

Berbagai Cara Penanganan Form
Cara 1 : Menyatukan antara Form dan Proses Proses pengolahan form dilakukan di halaman yang sama dengan form inputannya. Jika proses penanganan form berada di satu halaman, maka value atribut action pada tag form tidak perlu diisi (dikosongkan). Program 4.1 Nama File : input01.php Deskripsi : Program Contoh pengolahan form dimana antara form inputan dan proses pengolahan inputan berada dalam satu halaman. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <html> <head><title>Pengolahan Form</title></head> <body> <FORM ACTION="" METHOD="POST" NAME="input"> Nama Anda : <input type="text" name="nama"><br> <input type="submit" name="Input" value="Input"> </FORM> </body> </html> <?php if (isset($_POST['Input'])) { $nama = $_POST['nama']; echo "Nama Anda : <b>$nama</b>"; } ?>

Achmad Solichin (achmatim@gmail.com)

30

Pemrograman Web dengan PHP dan MySQL

Penjelasan Program 4.1 Beberapa hal yang perlu diperhatikan dari program 4.1 di atas, di antaranya mengenai nama setiap komponen form karena nama ini akan menjadi index array dalam PHP. Pada program 4.1 di atas, value atribut action pada tag form tidak diisi (baris 4), ini berarti bahwa proses pengolahan form berada di halaman yang sama. Selanjutnya (baris 4) method yang digunakan dalam penanganan form adalah POST. Cara ini lebih disarankan dalam penanganan sebuah form inputan. Mulai baris ke-11 hingga 16, terdapat script / program PHP yang akan menangani (mengolah) nilai yang diinputkan melalui form. Letak proses inputan ini boleh sebelum atau sesudah form, tergantung kebutuhan. Pada baris ke-12, terdapat pemeriksaan kondisi apakah tombol dengan nama “Input” (perhatikan index array $_POST dan bandingkan dengan name tombol submit pada form) benar-benar ditekan atau tidak oleh user. Selanjutnya pada baris ke-13, nilai inputan dari form akan diambil dengan cara mengakses array $_POST sesuai dengan komponen form yang akan diambil. Pada baris 13 ini, isi komponen inputan dengan nama “nama” akan diambil dan dimasukkan ke variabel $nama. Index array $_POST pada baris 13 harus sama dengan value atribut name pada baris ke-5.

Gambar 4.1. Tampilan Program 4.1 Cara 2 : Memisahkkan antara Form dan Proses Proses pengolahan form dilakukan di halaman yang terpisah dengan form inputannya. Jika proses penanganan form berada dilakukan di halaman yang berbeda, maka value atribut action pada tag form harus diisi dengan alamat halaman tempat proses pengolahan form. Program 4.2 Nama File : input02.php Deskripsi : Program menampilkan form inputan dengan method POST 1 2 3 4 5 6 7 8 9 <html> <head><title>Pengolahan Form</title></head> <body> <FORM ACTION="proses02.php" METHOD="POST" NAME="input"> Nama Anda : <input type="text" name="nama"><br> <input type="submit" name="Input" value="Input"> </FORM> </body> </html>

Achmad Solichin (achmatim@gmail.com)

31

Pemrograman Web dengan PHP dan MySQL

Program 4.3 Nama File : proses02.php Deskripsi : Program penanganan form inputan untuk Program 4.2. 1 2 3 4 5 6 <?php if (isset($_POST['Input'])) { $nama = $_POST['nama']; echo "Nama Anda : <b>$nama</b>"; } ?>

Gambar 4.2. Tampilan Program 4.2

Gambar 4.3. Tampilan Program 4.3 Program 4.4 Nama File : input03.php Deskripsi : Program menampilkan form inputan dengan method GET 1 2 3 4 5 6 7 8 9 <html> <head><title>Pengolahan Form</title></head> <body> <FORM ACTION="proses03.php" METHOD="GET" NAME="input"> Nama Anda : <input type="text" name="nama"><br> <input type="submit" name="Input" value="Input"> </FORM> </body> </html>

Achmad Solichin (achmatim@gmail.com)

32

penanganan form menggunakan method POST. Hasilnya pun sama.2 dan program 4.5. method ini menentukan bagaimana sebuah form diproses dan bagaimana variabel inputan diambil.2 dan 4.1.4 Gambar 4.3. } ?> Gambar 4.5 ! Form Input Type TEXT dan PASSWORD Program 4.php Deskripsi : Program menampilkan form inputan text dalam jumlah banyak.6 Nama File : input04.2. penangan form dilakukan dengan method GET. Tampilan Program 4. Akan tetapi. Perhatikan.Pemrograman Web dengan PHP dan MySQL Program 4. Bandingkan baris ke-2 dan ke-3 pada program 4. 1 2 3 4 5 6 <?php if (isset($_GET['Input'])) { $nama = $_GET['nama'].5 Penjelasan Program 4.com) 33 . 4.3. 4.3 pada prinsipnya sama dengan program 4.5 Nama File : proses03.5 Program 4. Tampilan Program 4.4. echo "Nama Anda : <b>$nama</b>".4 dan 4. Pada program 4.4 dan 4.php Deskripsi : Program penanganan form inputan untuk Program 4. proses penanganan form (PHP) terpisah dengan tampilan form inputannya (HTML).5. sedang pada program 4.4.3 dan program 4. 1 2 <html> <head><title>Pengolahan Form ~ Text</title></head> Achmad Solichin (achmatim@gmail.

echo $nama4. Selanjutnya variabel ini ditampilkan di layar (baris 8-11.6 dan 4. "<br>". "<br>". } ?> Penjelasan Program 4.7 Baris 3-6 program 4.Pemrograman Web dengan PHP dan MySQL 3 4 5 6 7 8 9 10 11 12 13 <body> <FORM ACTION="proses04.7 merupakan proses pengambilan nilai dari masingmasing form inputan text yang terdapat pada program 4. program 4. $nama3 = $_POST['nama3'].6. "<br>".7). Tampilan Program 4.6 Achmad Solichin (achmatim@gmail. echo $nama2. $nama2 = $_POST['nama2'].php Deskripsi : Program penanganan form inputan untuk Program 4.php" METHOD="POST" NAME="input"> Sahabat-sahabat Dekatku<br> <input type="text" name="nama1"><br> <input type="text" name="nama2"><br> <input type="text" name="nama3"><br> <input type="text" name="nama4"><br> <input type="submit" name="Input" value="Input"> </FORM> </body> </html> Program 4. $nama4 = $_POST['nama4'].com) 34 . "<br>". 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php if (isset($_POST['Input'])) { $nama1 = $_POST['nama1'].7 Nama File : proses04. echo $nama1. echo "<b>Nama Sahabat-sahabat Dekatku :</b> <br>". echo $nama3. Gambar 4.6.6.

Selanjutnya nilai yang diinput akan diproses di program 4.php" METHOD="POST" NAME="input"> <h2>Login Here..9 Nama File : proses05. } else { echo "<h2>Login Gagal</h2>".9..</h2> Username : <input type="text" name="username"><br> Password : <input type="password" name="password"><br> <input type="submit" name="Login" value="Login"> <input type="reset" name="reset" value="Reset"> </FORM> </body> </html> Program 4. $pass = $_POST['password']. Achmad Solichin (achmatim@gmail. Tampilan Program 4.8 1 2 3 4 5 6 7 8 9 10 11 <?php if (isset($_POST['Login'])) { $user = $_POST['username'].8 dan 4.php Deskripsi : Program menampilkan form login (inputan text dan password).7. } } ?> Penjelasan Program 4. 1 2 3 4 5 6 7 8 9 10 11 12 <html> <head><title>Login Here</title></head> <body> <FORM ACTION="proses05.9 Program 4.com) 35 . if ($user == "achmatim" && $pass == "123") { echo "<h2>Login Berhasil</h2>". Jika username dan password diinput dengan benar maka akan ditampilkan pesan berhasil (lihat gambar) dan jika login salah maka akan ditampilkan pesan kesalahan (lihat gambar).Pemrograman Web dengan PHP dan MySQL Gambar 4.8 akan menampilkan form login sederhana yang terdiri dari inputan username dan password.8 Nama File : input05.7 Program 4.php Deskripsi : Program sederhana untuk memeriksa inputan username dan password pada program 4.

php" METHOD="POST" NAME="input"> <h2>Pilih Jurusan Anda :</h2> Achmad Solichin (achmatim@gmail.php Deskripsi : Program menampilkan form pilihan jurusan dengan radio button 1 2 3 4 5 <html> <head><title>Pilih Jurusan</title></head> <body> <FORM ACTION="proses06.9 Jika Login Berhasil Gambar 4.8 Gambar 4.com) 36 . Program 4. user hanya bisa memilih satu pilihan di antara beberapa pilihan. Tampilan Program 4.8.Pemrograman Web dengan PHP dan MySQL Gambar 4.9.9 Jika Login Gagal Form Input Type RADIO Pada inputan jenis radio button. Tampilan Program 4.10 Nama File : input06. Tampilan Program 4.10.

10 dan 4.php Deskripsi : Program untuk mengambil dan menampilkan jurusan yang dipilih pada program 4. akan tetapi value-nya harus dibedakan.11 Program 4.10 Achmad Solichin (achmatim@gmail. bisa langsung dengan mengakses name dari form tersebut. Perhatikan program 4. echo "Jurusan Anda adalah <b><font color='red'>$jurusan</font></b>".11 baris ke-3 ! Gambar 4.10 baris 6-9 ! Untuk mengambil nilai (value) dari form jenis radio. Tampilan Program 4. Pada form inputan jenis radio button.10 1 2 3 4 5 6 7 <?php if (isset($_POST['Pilih'])) { $jurusan = $_POST['jurusan'].10 akan menampilkan form pilihan inputan jurusan dengan radio button (lihat gambar). name dari masingmasing radio button harus sama.com) 37 . Perhatikan program 4.11.Pemrograman Web dengan PHP dan MySQL 6 7 8 9 10 11 12 13 <input type="radio" name="jurusan" value="TI" checked> Teknik Informatika<br> <input type="radio" name="jurusan" value="SI"> Sistem Informasi<br> <input type="radio" name="jurusan" value="SK"> Sistem Komputer<br> <input type="radio" name="jurusan" value="KA"> Komputerisasi Akuntansi<br> <input type="submit" name="Pilih" value="Pilih"> </FORM> </body> </html> Program 4.11 Nama File : proses06. } ?> Penjelasan Program 4.

$_POST['band01'] . Achmad Solichin (achmatim@gmail.12 Nama File : input07. "<br>". $_POST['band04'] .12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php if (isset($_POST['Pilih'])) { echo "Band Favorit Anda adalah :<br>". } if (isset($_POST['band04'])) { echo "+ " .com) 38 . Tampilan Program 4.php" METHOD="POST" NAME="input"> <h2>Pilih Band Favorit Anda :</h2> <input type="checkbox" name="band01" value="Padi" checked> Padi<br> <input type="checkbox" name="band02" value="Sheila On 7"> Sheila On 7<br> <input type="checkbox" name="band03" value="Dewa 19"> Dewa 19<br> <input type="checkbox" name="band04" value="Ungu"> Ungu<br> <input type="submit" name="Pilih" value="Pilih"> </FORM> </body> </html> Program 4. if (isset($_POST['band01'])) { echo "+ " . } if (isset($_POST['band02'])) { echo "+ " . } if (isset($_POST['band03'])) { echo "+ " . "<br>".13 Nama File : proses07.Pemrograman Web dengan PHP dan MySQL Gambar 4. $_POST['band03'] .12. $_POST['band02'] . user dimungkinkan memilih lebih dari satu pilihan. "<br>".php Deskripsi : Program untuk menampilkan nama band favorit sesuai dengan inputan pada program 4. "<br>".php Deskripsi : Program menampilkan form inputan nama band favorit dengan check box.11 Form Input Type CHECK BOX Pada form inputan jenis check box. Program 4. 1 2 3 4 5 6 7 8 9 10 11 12 13 <html> <head><title>Band Favorit ~ Inputan Checkbox</title></head> <body> <FORM ACTION="proses07.

13. Jika check box di-cek (dipilih) maka ambil value dari check box tersebut (baris ke-5) Gambar 4.12 Gambar 4. dengan menggunakan fungsi isset(). Pada form inputan jenis check box. Tampilan Program 4. Achmad Solichin (achmatim@gmail.12 dan 4.14.13 Program 4.php Deskripsi : Program menampilkan form inputan film kartun favorit dengan combo box.12 akan menampilkan form pilihan inputan check box band favorit (lihat gambar).Pemrograman Web dengan PHP dan MySQL 15 16 17 } } ?> Penjelasan Program 4.12 baris 6-9 ! Untuk mengambil nilai (value) dari form jenis check box. User dapat memilih lebih dari satu pilihan. name dari masingmasing check box harus dibedakan. Perhatikan program 4. Perhatikan program 4.13 baris ke-4.14 Nama File : input08. Tampilan Program 4. sebaiknya diperiksa terlebih dahulu apakah check box dipilih atau tidak.com) 39 .13 Form Input Type COMBO BOX Program 4.

User hanya dapat memilih satu pilihan dari sejumlah pilihan yang ditampilkan dalam bentuk drop down list. } ?> Penjelasan Program 4. Pada form inputan jenis check box.14 1 2 3 4 5 6 7 <?php if (isset($_POST['Pilih'])) { $film = $_POST['kartun'].15 Nama File : proses08. Tampilan Program 4.14 akan menampilkan form pilihan inputan combo box film kartun favorit (lihat gambar). Untuk mengambil nilai (value) dari form jenis combo box.com) 40 .php" METHOD="POST" NAME="input"> <h2>Pilih Film Kartun Favorit Anda :</h2> <select name="kartun"> <option value="Sponge Bob">Sponge Bob</option> <option value="Sinchan">Sinchan</option> <option value="Conan">Conan</option> <option value="Doraemon">Doraemon</option> <option value="Dragon Ball">Dragon Ball</option> <option value="Naruto">Naruto</option> </select> <input type="submit" name="Pilih" value="Pilih"> </FORM> </body> </html> Program 4.14 dan 4. name diletakkan pada tag <select>. Lihat gambar. dapat langsung mengaksesnya sesuai dengan name-nya. echo "Film Kartun Favorit Anda adalah : <font color=blue><b>$film</b></font>".15 Program 4. Untuk membuat inputan jenis combo box. Perhatikan program 4.15 baris ke-3 ! Gambar 4.php Deskripsi : Program untuk menampilkan nama film kartun favorit sesuai dengan inputan pada program 4.15. bisa menggunakan tag <select> dan <option>.Pemrograman Web dengan PHP dan MySQL 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.14 Achmad Solichin (achmatim@gmail.

16. Lihat gambar.16 Nama File : input09. } ?> Penjelasan Program 4. pada text area. Tampilan Program 4.16 1 2 3 4 5 6 7 <?php if (isset($_POST['Proses'])) { $saran = nl2br($_POST['saran']).php Deskripsi : Program menampilkan form inputan kritik dan saran dengan text area.15 Form Input Type TEXTAREA Program 4. bisa menggunakan tag <textarea>. Berbeda dengan inputan type text yang hanya bisa diinput satu baris. Untuk membuat inputan jenis combo box.16 akan menampilkan form kritik saran menggunakan text area (lihat gambar). bisa diinput lebih dari satu baris.17 Program 4. dapat langsung mengaksesnya sesuai dengan name-nya.php" METHOD="POST" NAME="input"> <h2>Input Kritik / Saran :</h2> <textarea name="saran" cols="40" rows="5"></textarea><br> <input type="submit" name="Proses" value="Input Saran"> </FORM> </body> </html> Program 4.17 baris ke-3 ! Achmad Solichin (achmatim@gmail.16 dan 4. 1 2 3 4 5 6 7 8 9 10 11 12 13 <html> <head><title>Kritik dan Saran ~ Inputan Textarea</title></head> <body> <FORM ACTION="proses09. echo "<font color=blue><b>$saran</b></font>".Pemrograman Web dengan PHP dan MySQL Gambar 4. Perhatikan program 4. Untuk mengambil nilai (value) dari form jenis textarea.17 Nama File : proses09.com) 41 . echo "Kritik / Saran Anda adalah : <br>".php Deskripsi : Program untuk menampilkan isi kritik / saran sesuai dengan inputan text area pada program 4.

17 Achmad Solichin (achmatim@gmail. Tampilan Program 4. Tampilan Program 4.16 Gambar 4.18.17.com) 42 .Pemrograman Web dengan PHP dan MySQL Gambar 4.

php Deskripsi : Program mendeklarasikan array dengan index numeric. echo $arrWarna[0]. $arrWarna[] = "Biru". Dengan pendefinisian array seperti pada dua cara di atas. Mendeklarasikan dan Menampilkan Array Program 5. index (key) array secara otomatis akan diisi dengan bilangan bulat integer yang dimulai dari 0. Sedangkan untuk menampilkan isi array pada elemen tertentu. "Apel".1 Untuk mendeklarasikan atau mendefinisikan sebuah array di PHP bisa menggunakan keyword array(). //Mangga echo $arrBuah[3]. $arrWarna[] = "Hijau". Pendeklarasian dan pengisian array juga bisa dilakukan seperti pada baris ke-7 sampai baris ke-11. cukup dengan menyebutkan nama array beserta index array-nya (lihat baris ke-4 dan ke-5). Pada program 5. $arrWarna[] = "Merah". //Jeruk $arrWarna = array().com) 43 .1 Nama File : array01.1. Jumlah elemen array tidak perlu disebutkan saat deklarasi. //Merah echo $arrWarna[2].Pemrograman Web dengan PHP dan MySQL Array dan Fungsi Pengantar Array Mendeklarasikan dan Menampilkan Array Fungsi-fungsi Array dalam PHP Fungsi dalam PHP Bab 5 Pengantar Array Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. terdapat pendeklarasian dan pendefinisian array pada baris ke-3. Index array dapat berupa bilangan integer atau string. Achmad Solichin (achmatim@gmail. $arrWarna[] = "Putih". //Hijau ?> Penjelasan Program 5. echo $arrBuah[0]. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?php $arrBuah = array ("Mangga". yang masing-masing elemen dapat diakses tersendiri melalui index array. "Jeruk"). "Pisang". Bagian yang menyusun array disebut elemen array.

"Budi" => 85). ?> //95 //80 Penjelasan Program 5.2 Nama File : array02. echo $arrNilai['Ami']. echo $arrNilai['Ani']. Tampilan Program 5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $arrNilai = array ("Ani" => 80.2 Untuk mendeklarasikan atau mendefinisikan sebuah array assosiatif (array yang menggunakan index selain integer). //90 $arrNilai = array(). Tampilan Program 5. echo $arrNilai['Asma']. "Ana" => 75.com) 44 . $arrNilai['Asma'] = 95. $arrNilai['Ami'] = 80. Achmad Solichin (achmatim@gmail.2.3 Nama File : array03. bisa dengan menyebutkan nama array yang diikuti index arraynya (lihat baris ke-4 dan ke-5). "Otim" => 90. //80 echo $arrNilai['Otim'].1 Program 5.1. $arrNilai['Sri'] = 77.php Deskripsi : Program mendeklarasikan array dengan index string (array assosiatif).2 Program 5. dapat dengan cara menyebutkan indexnya terlebih dahulu diikuti operator => dan diikuti value atau nilai elemennya. Lihat program baris ke-3 ! Sedangkan untuk menampilkan value atau nilai dari suatu array.Pemrograman Web dengan PHP dan MySQL Gambar 5. Pendefinisian array assosiatif juga bisa dilakukan seperti pada baris ke-7 sampai baris ke-10 Gambar 5.php Deskripsi : Program menampilkan seluruh isi array dengan index numerik.

Pada contoh program di atas (baris ke-10) bisa dinyatakan dengan pernyataan bahwa “untuk setiap elemen array $arrWarna.while atau foreach. $i<count($arrWarna). 1 2 <?php $arrNilai = array ("Ani" => 80."</font> ?<br>". Achmad Solichin (achmatim@gmail. echo "Menampilkan isi array dengan for : <br>".3 bisa dilihat pada gambar 5. "Otim" => 90. Struktur foreach akan mengambil elemen array mulai dari posisi pointer sampai akhir pointer. } ?> Penjelasan Program 5."Black". $arrWarna[$i] .3 Untuk menampilkan keseluruhan isi array bisa dilakukan dengan perulangan for.4 Nama File : array04.php Deskripsi : Program menampilkan seluruh isi array assosiatif. masukkan ke variabel $warna”. for ($i=0.Pemrograman Web dengan PHP dan MySQL 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $arrWarna = array ("Blue".. Fungsi count() pada baris ke-5 berfungsi untuk mencari jumlah elemen dari array $assWarna. foreach ($arrWarna as $warna) { echo "Do you like <font color=$warna>". Tampilan Program 5. Baris 5 – 7 program di atas merupakan contoh menampilkan array dengan perulangan for."Red". "Budi" => 85)."</font> ?<br>".3 Program 5."Green"). do.com) 45 ."Yellow". "Ana" => 75. } echo "<br>Menampilkan isi array dengan foreach : <br>". $warna .3. while. $i++) { echo "Do you like <font color=$arrWarna[$i]>". Tampilan program 5. Untuk menampilkan array juga bisa menggunakan struktur foreach().3 Gambar 5.

"Black". Baris ke-5 dari program 5. Gambar 5.4 Untuk menampilkan array assosiatif bisa menggunakan perulangan foreach dan while dengan fungsi list() dan each()."Green")."Yellow". echo "<br>".com) 46 . $nilai) = each($arrNilai)) { echo "Nilai $nama = $nilai<br>".5 Nama File : array05. di atas bisa dinyatakan dengan pernyataan “untuk setiap elemen array $arrNilai. masukkan key/index-nya ke variabel $nama dan masukkan value-nya ke variabel $nilai”. } ?> Penjelasan Program 5. "Budi" => 85). } reset ($arrNilai). 1 2 3 4 5 6 7 8 9 <? $arrWarna = array ("Blue". "Ana" => 75. Pada baris ke-10. echo "</pre>". array assosiatif ditampilkan dengan struktur while yang menggunakan fungsi list() dan each(). print_r ($arrWarna). ?> Achmad Solichin (achmatim@gmail.4. foreach ($arrNilai as $nama => $nilai) { echo "Nilai $nama = $nilai<br>".4 Program 5. Pada baris ke-8 terdapat fungsi reset() yang berfungsi mengembalikan pointer array ke elemen pertama. $arrNilai = array ("Ani" => 80. while (list ($nama."Red".Pemrograman Web dengan PHP dan MySQL 3 4 5 6 7 8 9 10 11 12 13 14 echo "Menampilkan isi array dengan foreach : <br>".php Deskripsi : Program mencetak struktur array. echo "<br>Menampilkan isi array dengan while dan list : <br>". Tampilan Program 5. print_r ($arrNilai). echo "<pre>". "Otim" => 90.4.

5 di atas terdapat fungsi print_r() (baris ke-5) yang berfungsi untuk menampilkan struktur dari array.5 bisa dilihat pada gambar 5.php. Fungsi-fungsi array dalam PHP bisa dilihat di alamat http://ca. Fungsi Pengurutan Array arsort() – Pengurutan array berdasarkan value secara descending asort() – Pengurutan array berdasarkan value secara ascending krsort() .5 Pada program 5.Pengurutan array berdasarkan value secara ascending dengan mengubah index/key shuffle() – Random pengurutan array Fungsi Pengaturan Pointer Array current() – Mendapatkan elemen array yang ditunjuk oleh pointer end() – Pointer menunjuk pada elemen array terakhir key() – Mendapatkan key yang ditunjuk oleh pointer next() – Pointer menunjuk pada elemen selanjutnya prev() – Pointer menunjuk pada elemen sebelumnya reset() – Memindahkan pointer array ke awal (elemen pertama) count() – Menghitung jumlah elemen array Achmad Solichin (achmatim@gmail.Pengurutan array berdasarkan index/key secara ascending rsort() .Pengurutan array berdasarkan value secara descending dengan mengubah index/key sort() .net/manual/en/ref.com) 47 . Tampilan program 5. Tampilan Program 5.array.5 Gambar 5.php.Pengurutan array berdasarkan index/key secara descending ksort() .5.Pemrograman Web dengan PHP dan MySQL Penjelasan Program 5.5 Fungsi-fungsi Array dalam PHP PHP menyediakan lebih dari 70 fungsi untuk manipulasi array.

print_r($arrNilai).6 Nama File : array06. echo "</pre>". print_r($arrNilai).8 Nama File : array08. "Otim" => 90. Achmad Solichin (achmatim@gmail. ?> Program 5. ?> Program 5. print_r($arrNilai). asort($arrNilai). echo "</pre>".php Deskripsi : Program mengurutkan array dengan ksort() dan krsort(). echo "<b>Array setelah pengurutan dengan asort()</b>". echo "<b>Array setelah pengurutan dengan rsort()</b>". print_r($arrNilai). echo "<b>Array setelah pengurutan dengan sort()</b>". echo "<b>Array sebelum pengurutan</b>". echo "<b>Array sebelum pengurutan</b>". echo "</pre>". echo "<pre>".com) 48 . echo "<pre>". reset($arrNilai).php Deskripsi : Program mengurutkan array dengan asort() dan arsort(). rsort($arrNilai). "Sri" => 75. echo "<b>Array setelah pengurutan dengan arsort()</b>".Pemrograman Web dengan PHP dan MySQL Fungsi Pencarian pada Array array_search() – Mencari posisi (key) dari suatu value dalam array array_key_exists() – Memeriksa suatu key ada dalam array atau tidak in_array() – Memeriksa suatu elemen ada dalam array atau tidak Program 5. print_r($arrNilai). "Budi" => 85). reset($arrNilai). 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. echo "<pre>". reset($arrNilai). echo "</pre>".7 Nama File : array07. echo "</pre>". reset($arrNilai). 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. "Budi" => 85). echo "<pre>". sort($arrNilai).php Deskripsi : Program mengurutkan array dengan sort() dan rsort(). arsort($arrNilai). echo "<pre>". "Otim" => 90. print_r($arrNilai). echo "</pre>". echo "<pre>". "Sri" => 75.

echo "<pre>". krsort($arrNilai). reset($arrNilai). "Jeruk"). print_r($arrNilai). 'plane'. print_r($arrNilai). echo "<pre>". echo $mode.10 Nama File : array10. echo "</pre>". 'bike'. // $mode = $mode = current($transport). $mode = current($transport). "Sri"=>75. echo "</pre>". ?> Program 5. // $mode = $mode = prev($transport). 'bike'. echo "<pre>". 'foot'. 'bike'. echo "<b>Array setelah pengurutan dengan krsort()</b>". echo $mode. print_r($arrNilai). if (in_array ("Kedondong". "Pisang". "Apel". "Kedondong". // $mode = $mode = current($transport). echo $mode. } ?> Achmad Solichin (achmatim@gmail. 'plane'). echo "</pre>"."<br>". // $mode = $mode = end($transport). echo "<b>Array setelah pengurutan dengan ksort()</b>". $arrBuah)) { echo "Ada buah Kedondong di sini". 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <?php $transport = array('foot'. 'car'. ksort($arrNilai). echo $mode. } else { echo "Tidak ada buah Kedondong di sini"."<br>". echo "<pre>".Pemrograman Web dengan PHP dan MySQL 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. print_r ($transport)."<br>". 1 2 3 4 5 6 7 8 9 <?php $arrBuah = array ("Mangga"."<br>"."<br>". // $mode = $mode = next($transport). Program 5. reset($arrNilai). 'plane'.com) 49 . echo $mode."<br>". // $mode = ?> 'foot'.php Deskripsi : Program mengatur posisi pointer dalam array. echo "</pre>".9 Nama File : array09. echo "<b>Array sebelum pengurutan</b>". "Otim"=>90. "Budi"=>85).php Deskripsi : Program mencari elemen array. echo $mode.

11 Nama File : fungsi01. echo "Luas lingkaran dengan jari-jari $r = ".. $b = 50.php Deskripsi : Program fungsi dengan parameter. $b). } } } //pemanggilan fungsi $a = 10. } } } //pemanggilan fungsi cetak_ganjil(). 1 2 3 4 5 6 7 8 9 10 11 <?php function cetak_ganjil () { for ($i=0. echo "<b>Bilangan ganjil dari $a sampai $b : </b><br>". $i<100... ?> Program 5. } //pemanggilan fungsi $r = 10. } Program 5.com) 50 . echo luas_lingkaran($r).12 Nama File : array02.n) { statement2. $i++) { if ($i%2 == 1) { echo "$i ".php Deskripsi : Program fungsi yang mengembalikan nilai.. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php function cetak_ganjil ($awal. cetak_ganjil($a.13 Nama File : fungsi03. Achmad Solichin (achmatim@gmail.14 * $jari * $jari.php Deskripsi : Program sederhana mendefinisikan dan memanggil fungsi tanpa parameter dan tanpa return value. $i<$akhir. $i++) { if ($i%2 == 1) { echo "$i ". ?> Program 5. $akhir) { for ($i=$awal. 1 2 3 4 5 6 7 8 9 <?php function luas_lingkaran ($jari) { return 3.14 Nama File : fungsi04. ?> Program 5.Pemrograman Web dengan PHP dan MySQL Fungsi dalam PHP Bentuk umum pendefinisian fungsi dalam PHP function nama_fungsi(parameter1.php Deskripsi : Program passing by value dalam fungsi.

} // $str = "Universitas Budi Luhur".17 Nama File : fungsi07. echo "<pre>". } // $str = "Universitas Budi Luhur". echo tambah_string ($str). 1 2 3 4 5 6 7 <?php if (function_exists('exif_read_data')) { echo "Fungsi exif_read_data() ada di PHP.php Deskripsi : Program memeriksa suatu fungsi tersedia di PHP atau tidak. } ?> Achmad Solichin (achmatim@gmail. echo "\$str = $str<br>". "<br>".com) 51 . echo "\$str = $str<br>". ". 1 2 3 4 5 6 7 8 9 10 <?php function luas_lingkaran ($jari) { return 3. } $arr = get_defined_functions().14 * $jari * $jari. Jakarta". ?> Program 5. return $str.Pemrograman Web dengan PHP dan MySQL 1 2 3 4 5 6 7 8 9 10 11 <?php function tambah_string ($str) { $str = $str . ?> Program 5. echo "</pre>". return $str.15 Nama File : fungsi05. echo "\$str = $str<br>". echo tambah_string ($str). ?> Program 5. } else { echo "Fungsi exif_read_data() tidak ada di PHP.16 Nama File : fungsi06.<br />\n".php Deskripsi : Program passing by reference dalam fungsi. ". "<br>". Jakarta". echo "\$str = $str<br>". 1 2 3 4 5 6 7 8 9 10 11 <?php function tambah_string (&$str) { $str = $str .php Deskripsi : Program menampilkan defined-function yang didukung oleh PHP.<br />\n". print_r($arr).

Dalam PHP. // Outputs: This will not expand: \n a newline echo 'This will not expand: \n a newline'.*? echo 'You deleted C:\*. Achmad Solichin (achmatim@gmail. double quoted – kutip ganda ( " ) 3. */ class foo { var $foo. /* More complex example. ?> Program 6.php Deskripsi : Program string dengan heredoc sintaks.*? echo 'You deleted C:\\*. PHP tidak mendukung nativeunicode. single quoted – kutip tunggal ( ' ) 2.*?'. karakter sama dengan byte. // Outputs: You deleted C:\*. echo 'You can also have embedded newlines in strings this way as it is okay to do'.*?'.com) 52 . yaitu dengan : 1. Untuk menuliskan sebuah string dalam PHP.2 Nama File : string02. 1 2 3 4 5 6 7 8 9 10 11 <?php $str = <<<EOD Example of string spanning multiple lines using heredoc syntax. heredoc sintaks Program 6. with variables. dimana terdapat 256 karakter.1 Nama File : string01. // Outputs: You deleted C:\*. // Outputs: Variables do not $expand $either echo 'Variables do not $expand $either'.php Deskripsi : Program string dengan single quoted ( ' ). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <?php echo 'this is a simple string'.Pemrograman Web dengan PHP dan MySQL Penanganan String dan Tanggal Pengantar String Fungsi-fungsi String dalam PHP Fungsi-fungsi Operasi Tanggal dalam PHP Bab 6 Pengantar String String merupakan kumpulan dari karakter. // Outputs: Arnold once said: "I'll be back" echo 'Arnold once said: "I\'ll be back"'. EOD. bisa menggunakan 3 (tiga) cara.

This should print a capital 'A': \x41 EOT.net/manual/en/ref. \0. function foo() { $this->foo = 'Foo'. md5() – menghasilkan string terenkripsi searah. ?> Gambar 6. join() – sama dengan implode() ltrim() – menghapus karakter tertentu (“ “. Tampilan Program 6.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 var $bar.php. \t. ord() – menghasilkan kode ASCII dari suatu karakter. Now. 'Bar2'. I am printing some <b>$foo->foo</b>.php. htmlspecialchars() – mengubah semua karakter khusus menjadi HTML entities implode() – menggabungkan elemen array menjadi string dengan suatu delimiter (separator). echo() – menampilkan satu atau beberapa string. Beberapa fungsi manipulasi string yang sering digunakan.2 Fungsi-fungsi String dalam PHP PHP menyediakan lebih dari 90 fungsi untuk manipulasi string. chr() – menghasilkan karakter dari bilangan ASCII crypt() – menghasilkan string terenkripsi searah. \r. htmlentities () – mengubah semua tag html menjadi HTML entities. number_format() – mengatur format angka. explode() – memecah string berdasarkan suatu delimiter (separator).strings. Fungsi-fungsi string dalam PHP bisa dilihat di http://ca.com) 53 . \n. $name = 'Achmatim'. echo <<<EOT <u>$str</u><br> My name is "<b>$name</b>".1. 'Bar3'). antara lain : addslashes() – menambahkan backslashes (\) di setiap tanda kutip (quote) dalam string. \x0B) di awal string. } } $foo = new foo(). $this->bar = array('Bar1'. I am printing some <b>{$foo->bar[1]}</b>. nl2br() – menambahkan HTML line break (<BR>) sebelum semua baris baru dalam string. Achmad Solichin (achmatim@gmail.

i do it for YOU".3 Nama File : string03. "<br><b>strtolower()</b> : ". strstr() – mencari posisi pertama sebuah karakter dalam string. ucfirst($str). . Program 6. ucwords.3 di atas antara lain : . split() – sama dengan explode str_repeat() – mengulang string str_replace() – mengganti semua string dalam pola menjadi suatu string.strtoupper. .strtolower. ucwords() – mengubah huruf pertama tiap kata dalam string menjadi uppercase.ucwords.php Deskripsi : Program penggunaan fungsi strtolower. untuk mengubah string menjadi upper-case. \x0B) di akhir string. strtolower($str). Penjelasan Program 6. strpos() – mencari posisi pertama sebuah string dalam string. strtoupper($str). strtoupper() – mengubah string menjadi huruf kapital (upper-case) substr() – memotong string trim() .strlen. 1 2 3 4 5 6 7 8 9 10 11 <?php $str = "Everything i do. wordwrap() – memotong sejumlah karakter dalam string dengan stringbreak-character. \r.menghapus karakter tertentu (“ “. \n. strrchr() – mencari posisi terakhir sebuah karakter dalam string. "<br><b>ucwords() :</b> ". untuk mengubah string menjadi lower-case. ucwords($str). echo echo echo echo echo echo echo ?> "<b>String asli</b> : $str". \r. \x0B) di akhir dan akhir string. strrev. . \0. "<br><b>strrev() :</b> ". strrev($str). strtolower() – mengubah string menjadi huruf kecil (lower-case). strip_tags() – mengabaikan HTML dan PHP tag dalam string. untuk menghitung panjang string. ucfirst.menghapus karakter tertentu (“ “. \0. "<br><b>Jumlah karakter</b> : ". "<br><b>strtoupper()</b> : ". strlen() – menghitung panjang string. strtoupper. ucfirst() – mengubah huruf pertama dari semua string menjadi Upper-case.ucfirst. \t. Achmad Solichin (achmatim@gmail. \n. untuk membalik string. untuk mengubah huruf pertama string menjadi upper-case. strrpos() – mencari posisi terakhir sebuah string dalam string. . dan strlen dalam string.Pemrograman Web dengan PHP dan MySQL rtrim() . "<br><b>ucfirst() :</b> ". stripslashes() – menghilangkan backslashes (\) dalam string. strrev() – membalik string. .strrev. \t.com) 54 . strlen($str). untuk mengubah huruf pertama tiap kata menjadi upper-case.3 Beberapa fungsi yang digunakan dalam program 6.

4 di atas terdapat fungsi addslashes() yang akan menambahkan backslashes (\) pada setiap quote dalam string. Achmad Solichin (achmatim@gmail.3 Program 6.4 Nama File : string04.Pemrograman Web dengan PHP dan MySQL Gambar 6. Gambar 6. echo "<b>String asli</b> : $str".2 Tampilan Program 6.4 Pada program 6.php Deskripsi : Program penggunaan fungsi addslashes dan stripslashes pada string.4 Program 6.php Deskripsi : Program penggunaan fungsi chr untuk menampilkan 256 karakter ASCII.3.com) 55 . Tampilan Program 6. echo "<br><b>stripslashes()</b> : $str3". echo "<br><b>addslashes()</b> : $str2". ?> Penjelasan Program 6. $str2 = addslashes ($str). 1 2 3 4 5 6 7 8 9 <?php $str = "Is your name O'Reilly ?". $str3 = stripslashes ($str2).5 Nama File : string05. dan sebaliknya fungsi stripslashes akan menghilangkan backslashes pada string.

Pada baris ke-8. Pada baris 4. sehingga tag HTML akan ditampilkan apa adanya Gambar 6. //no tag html echo strip_tags ($str). Pada baris ke-10 dan ke12.php Deskripsi : Program penggunaan fungsi strip_tags. //allow tag <u> echo strip_tags ($str. //tampil apa adanya echo htmlspecialchars ($str). } ?> Penjelasan Program 6. $i++) { echo "<br>$i.php Deskripsi : Program penggunaan fungsi number_format untuk mengatur format tampilan angka. dan htmlentities untuk mengatur tag HTML.4."<u>"). ?> Penjelasan Program 6. Pada baris ke-6.7 Nama File : string07.6 Nama File : string06. Program 6."<br>".\t". //tampil apa adanya echo htmlentities ($str). "<br>". I do it for you</u></b>"."<br>".6 Program 6. echo $str. $i<=256. Tampilan Program 6. fungsi strip_tags dengan tambahan parameter “<u>” akan menghilangkan semua tag HTML kecuali tag <u>.6 Program 6. chr($i). fungsi strip_tags akan menghilangkan semua tag HTML. for ($i=1. terdapat fungsi chr() yang akan mengubah nilai $i (integer) menjadi karakter ASCII.5 di atas akan menampilkan 256 karakter ASCII.5 Program 6.Pemrograman Web dengan PHP dan MySQL 1 2 3 4 5 6 <?php echo "Menampilkan bilangan ASCII".com) 56 . htmlspecialchars dan htmlentities untuk menangani tag-tag HTML yang ada dalam string.6 di atas merupakan contoh penggunaan fungsi strip_tags."<br>". 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $str = "<b><u>Everything I do. htmlspecialchars. fungsi htmlspecialchars dan htmlentities akan mengubah semua tag HTML menjadi HTML special character. Achmad Solichin (achmatim@gmail.

$shell) = explode(":". $gid. // mangga echo $buahan[3].56.$nombre_format_francais.'. echo "<br>". '.com) 57 . // * ?> Penjelasan Program 6. // 1234. ''). // english notation (default) $english_format_number = number_format($number). 2. Achmad Solichin (achmatim@gmail. 2. $buahan = explode(" ". $home. $data).php Deskripsi : Program penggunaan fungsi implode untuk menggabungkan array menjadi string. echo "<br>".57 ?> Penjelasan Program 6. echo "<br>". $buah). //1. echo $buahan[0].$format_indonesia.'. echo "<br>". ' ').8 Nama File : string08. dengan fungsi explode() akan memecah string $buah berdasarkan spasi dan masingmasing akan menjadi elemen array $buahan. 2. $pass. // 1 234. Pada baris ke-4. pecahan dipisahkan dengan koma (parameter ketiga) dan setiap tiga digit dipisahkan dengan spasi (parameter keempat). '.$english_format_number.9 Nama File : string09."<br>".234.8 Program 6. fungsi number_format akan mengubah format angka dengan 2 digit pecahan (parameter kedua). // 1.5678. '. // foo echo $pass. Pada baris ke-9. fungsi number_format akan memformat angka dengan model Inggris yaitu setiap tiga digit dipisahkan dengan koma (.235 // French notation $nombre_format_francais = number_format($number.8 di atas merupakan contoh penggunaan fungsi explode untuk memecah string berdasarkan pola (aturan) tertentu. $gecos.) dan tanpa pecahan."<br>".7 di atas merupakan contoh penggunaan fungsi number_format untuk mengatur tampilan angka."<br>". // english notation without thousands seperator $english_format_number = number_format($number.php Deskripsi : Program penggunaan fungsi explode untuk memecah string menjadi array. Program 6. Secara default. list($user.Pemrograman Web dengan PHP dan MySQL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php $number = 1234.7 Program 6.'). $english_format_number.56 $number = 1234. '. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php // Contoh 1 $buah = "mangga pisang rambutan apel jeruk kedondong". // apel // Contoh 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh".'.56 //indonesian notation $format_indonesia = number_format ($number. echo $user. Program 6. $uid.

".").this.11 di atas merupakan contoh penggunaan fungsi wordwrap untuk memotong sejumlah karakter dari string. Program 6.'rambutan'. strrchr($file.jeruk. echo $ext3.10 Nama File : string10.) yang mana pencarian dilakukan dari akhir string. 15.").").this.php Deskripsi : Program penggunaan fungsi wordwrap untuk memotong sejumlah karakter dari string.apel. ?> Penjelasan Program 6.'jeruk'. 1 2 3 4 5 6 7 8 9 10 <?php $file $ext1 $ext2 $ext3 = = = = "test. Sedangkan fungsi strrchr.'apel'. "<br>"). dengan fungsi implode() akan menggabungkan setiap elemen array $buahan menjadi string $buah dengan pemisah koma di antara tiap elemen.com) 58 . echo $text.txt //.9 Program 6. Fungsi implode merupakan kebalikan dari fungsi explode. "<br>".11 Nama File : string11. $buah.txt echo $ext1. //. Pada baris ke-3. $buahan). ". strstr($file.txt".10 di atas merupakan contoh pengambilan sebagian string berdasarkan pola (karakter) tertentu.rambutan. fungsi wordwrap akan memotong string $text per-15 karakter dan dipisahkan (ditambahkan) dengan string “<br>” Achmad Solichin (achmatim@gmail.) dimana pencarian dilakukan dari awal string.txt //.11 Program 6.php Deskripsi : Program penggunaan fungsi strstr. strchr dan strrchr untuk mengambil sebagian string berdasarkan pola (karakter) tertentu.this. Program 6. echo "Saya suka buah ".Pemrograman Web dengan PHP dan MySQL 1 2 3 4 5 6 <?php $buahan = array('mangga'."<br><br>".". Fungsi strstr dan strchr pada baris ke-3 dan ke-4 akan mengambil string setelah karakter titik (.9 di atas merupakan contoh penggunaan fungsi implode() untuk menggabungkan semua isi array menjadi satu string.'nanas'). ".10 Program 6. "<br>". $newtext = wordwrap($text.". $buah = implode(". akan mengambil string setelah karakter titik (. strchr($file. ?> Penjelasan Program 6. 1 2 3 4 5 6 7 <?php $text = "The quick brown fox jumped over the lazy dog.nanas ?> Penjelasan Program 6. echo $newtext. // mangga. Pada baris ke-3. echo $ext2.

11 Program 6. 1 2 3 4 5 6 7 8 9 10 11 12 14 <form action="" method="post"> Input teks di sini :<br> <textarea name="input" cols="40" rows="4"></textarea><br> <input type="submit" name="Submit" value="Proses"> </form> <?php if (isset($_POST['Submit'])) { $txt = $_POST['input']. } ?> Penjelasan Program 6.12 Nama File : string12.13 Nama File : string13. Untuk mencoba program di atas.php Deskripsi : Program penggunaan fungsi substr untuk memotong string.12 di atas merupakan contoh penggunaan fungsi nl2br. nl2br ($txt). Fungsi nl2br() akan menambahkan karakter pindah baris (<br>) di setiap awal baris string inputan.php Deskripsi : Program penggunaan fungsi nl2br dalam string.com) 59 . echo "<u>Tanpa nl2br() :</u> <br>$txt<br><br>".Pemrograman Web dengan PHP dan MySQL Gambar 6. 1 2 3 4 5 6 7 8 9 <form action="" method="post"> NIM Anda : <input type="text" name="txtnim"><br> <input type="submit" name="Submit" value="Proses"> </form> <?php if (isset($_POST['Submit'])) { $nim = $_POST['txtnim'].5. echo "<u>Dengan nl2br :</u> <br>". Tampilan Program 6. Achmad Solichin (achmatim@gmail. inputkan string sebagai berikut : bila yang tertulis untukku adalah yang terbaik untukku kan kujadikan kau kenangan yang terindah dalam hidupku namun tak kan mudah bagiku meningalkan jejak hidupku yang tlah terukir abadi sebagai kenangan yang terindah Program 6.12 Program 6.

} echo "Nim Anda : $nim<br>". echo "Jurusan Anda : $jurusan". Fungsi ini akan menghasilkan tanggal dan waktu server sekarang. case '33' : $jurusan = "Sistem Komputer". case '22' : $jurusan = "Sistem Informasi". Beberapa pilihan parameter dari fungsi date() ini dapat dilihat pada tabel berikut ini : parameter Hari d D j Tanggal. 2. 0 (untuk Sunday) s/d 6 (untuk Saturday) 0 s/d 365 Contoh: 42 (minggu ke-42 dalam tahun ini) January s/d December 01 s/d 12 Jan s/d Dec 1 s/d 12 Keterangan Contoh nilai l (lowercase Nama hari lengkap dalam 'L') seminggu N S w z Minggu W Bulan F m M n Nama bulan lengkap Urutan bulan dalam setahun dengan nol Tiga digit nama bulan dalam setahun Urutan bulan dalam setahun. 2 karakter Urutan hari dalam seminggu Urutan hari dalam setahun Achmad Solichin (achmatim@gmail. Fungsi-fungsi Operasi Tanggal dalam PHP Fungsi dalam Operasi tanggal dalam PHP yang utama dan sering digunakan adalah fungsi date(). Urutan minggu dalam setahun Urutan hari dalam seminggu Akhiran angka English untuk tanggal.13 Program 6. case '44' : $jurusan = "Komputerisasi Akuntansi".Pemrograman Web dengan PHP dan MySQL 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 } ?> $a = substr ($nim. break. string $nim akan dipotong mulai karakter index ke-2 (index dimulai dari 0) sepanjang 2 karakter. break. 2 digit dengan nol Tiga digit nama hari dalam seminggu Tanggal tanpa nol 01 s/d 31 Mon s/d Sun 1 s/d 31 Sunday through Saturday 1 (untuk Monday) s/d 7 (untuk Sunday) st. Penjelasan Program 6. default : $jurusan = "Salah jurusan". 2).13 di atas merupakan contoh penggunaan fungsi substr (baris ke-10) untuk memotong string. switch($a) { case '11' : $jurusan = "Teknik Informatika". break.com) 60 . nd. Pada baris ke-10 tersebut. break. rd atau th.

2006. g:i a"). // April 13. date("F j. date("Ymd"). it is w Day z ').m."</b>".y"). "Selasa".php Deskripsi : Program menampilkan date/time dengan berbagai parameter.6 of day echo "Hari ini hari : <b>" .15 Nama File : date02. //0 .com) 61 . "Sabtu"). // 17:16:17 ?> Program 6. ?> Achmad Solichin (achmatim@gmail. $arrDay[$day]. "Jum'at". // 13. 1 2 3 4 5 6 7 <?php // Sekarang tanggal 13 April 2006 09:43:49 $arrDay = array("Minggu". $day = date ("w").14 Nama File : date01. // Thu Apr 13 9:43:49 KRAST 2006 echo "<br>". 9:43 am echo "<br>".php Deskripsi : Program menampilkan nama hari dalam bahasa Indonesia.'). date("d. date('j-m-y. "Rabu". date("H:i:s"). date("D M j G:i:s T Y").06 echo "<br>". date('\i\t \i\s \t\h\e jS \d\a\y.Pemrograman Web dengan PHP dan MySQL parameter tanpa nol t Tahun Y y Waktu a A g G h H i s Keterangan Jumlah hari dalam tiap bulan 4 (empat) digit tahun 2 (dua) digit tahun Contoh nilai 28 s/d 31 Contoh: 1999 atau 2006 Contoh: 99 or 06 Lowercase Ante meridiem dan Post am atau pm meridiem Uppercase Ante meridiem dan Post AM atau PM meridiem Jam format 12 tanpa nol Jam format 24 tanpa nol Jam format 12 dengan nol Jam format 24 dengan nol Menit dengan nol Detik dengan nol 1 s/d 12 0 s/d 23 01 s/d 12 00 s/d 23 00 s/d 59 00 s/d 59 Program 6. echo "<br>". "Kamis". // it is the 13th day. echo "<br>". 1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 <?php // Sekarang tanggal 13 April 2006 09:43:49 echo "<br>". 4330 4349 4 Thuam06 102 echo "<br>". date("d/m/Y H:i:s"). // 13/04/2006 09:43:03 echo "<br>". Y.04. "Senin". // 20060413 // 13-04-06.

$handle = fopen ($namafile. append. ?> Achmad Solichin (achmatim@gmail.com) 62 . pointer berada di akhir file. pointer berada di awal file Untuk baca dan tulis file. jika file belum ada maka akan di-create Untuk baca dan tulis file. $mode). Beberapa fungsi utama yang berhubungan dengan management file (create. jika file belum ada maka di-create Program 7. pointer berada di awal file Hanya untuk tulis file. Mode akses file yang bisa digunakan yaitu : Mode r r+ w w+ a a+ Keterangan Hanya untuk baca file.Pemrograman Web dengan PHP dan MySQL File dan Direktori Membuat. pointer berada di akhir file. Menulis dan Membaca Isi File + Membuka dan Membuat File + Menulis ke File + Membaca Isi File + Menutup File Membuat dan Menghapus Direktori Manipulasi File + Mendapatkan Informasi File + Copy. "r"). Keterangan : $namafile merupakan nama file yang akan dibuat. antara lain : Membuka dan Membuat File fopen ($namafile. } else { echo "<b>File berhasil dibuka</b>".1 Nama File : file01. if (!$handle) { echo "<b>File tidak dapat dibuka atau belum ada</b>". PHP menyediakan lebih dari 70 fungsi. Rename dan Delete File Upload File Bab 7 Penanganan File Dalam management file dan direktori. sedangkan $mode merupakan mode akses file.php Deskripsi : Program mengakses (membuka) file dengan mode r. jika file belum ada maka akan di-create Hanya untuk menambahkan isi file.txt". 1 2 3 4 5 6 7 8 9 10 <?php $namafile = "data. isi file lama dihapus. jika file belum ada maka di-create Untuk membaca dan menambahkan isi file. isi file lama dihapus. dan delete). write. } fclose($handle).

php Deskripsi : Program menulis ke file. "w"). 1 2 3 4 5 6 7 8 9 10 <?php $namafile = "data.txt". } else { echo "<b>File berhasil dibuka</b>". $handle = fopen ($namafile. fputs ($handle. if (!$handle) { echo "<b>File tidak dapat dibuka atau belum ada</b>". } fclose($handle).2 Tampilan Program 7.Pemrograman Web dengan PHP dan MySQL Gambar 7.com) 63 .1 Tampilan Program 7. Achmad Solichin (achmatim@gmail. "w"). $isi). $handle = fopen ($namafile. ?> Gambar 7. 1 2 3 <?php $namafile = "data.3 Nama File : file03. $isi).php Deskripsi : Program mengakses (membuka) file dengan mode w.2 Nama File : file02.2 Menulis ke File fwrite ($handle. Program 7.txt".1 Program 7.

dapat menggunakan fungsi fwrite() dan fputs(). Program 7. //$isi2 = fread ($handle. } else { fwrite ($handle. maka isi file data. 2048). "Jakarta"). $handle = fopen ($namafile. //file_put_contents ($namafile.$panjang]). File data. 20).txt". baris ke-8 akan membaca file setiap 20 byte atau 20 karakter.3 Untuk menulis ke file. bisa menggunakan fungsi fgets() dan fread(). Fungsi fgets() akan membaca isi file tiap baris. kita juga bisa menggunakan fungsi file_puts_contents() dengan parameter berupa nama file dan isi yang akan ditambahkan.3 (buka dengan WordPad). Gambar 7. ?> Penjelasan Program 7. 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $namafile = "data. } fclose($handle). echo "<b>File berhasil ditulis</b>".$panjang]). dimana mode yang digunakan harus bisa menulis ke file. Jika program di atas dijalankan.php Deskripsi : Program membaca dan menampilkan isi file. echo "Isi 1 : $isi<br>".3. fputs ($handle. "r").com) 64 . Achmad Solichin (achmatim@gmail. Sedangkan fungsi fread() akan membaca isi file setiap jumlah byte tertentu.txt akan berisi seperti pada gambar 7.Pemrograman Web dengan PHP dan MySQL 4 5 6 7 8 9 10 11 12 13 if (!$handle) { echo "<b>File tidak dapat dibuka atau belum ada</b>".4 Untuk membaca isi file. } else { $isi = fgets ($handle. } fclose($handle). if (!$handle) { echo "<b>File tidak dapat dibuka atau belum ada</b>". "Fakultas Teknologi Informasi\n"). "Universitas Budi Luhur\n"). //echo "Isi 2 : $isi2<br>". Pada program di atas.txt dibuka dengan WordPad Membaca Isi File fread ($handle [. fgets ($handle [.4 Nama File : file04. Selain itu. Variabel $handle merupakan mode pengaksesan file. Contohnya mode w dan a. ?> Penjelasan Program 7.

6 Program 7. 1 2 3 4 5 6 7 8 9 10 11 <?php $namafile = "data.Pemrograman Web dengan PHP dan MySQL Program 7. Tampilan Program 7.5 di atas akan menampilkan keseluruhan isi file."<br>".txt". Pembacaan dilakukan dari baris pertama sampai baris terakhir. 2048)) { echo "$isi<br>". Pembacaan dilakukan selama pointer file belum sampai di end-of-file.txt".4.5 Nama File : file05. } else { echo "<b>Isi file : </b><br>". Gambar 7. Achmad Solichin (achmatim@gmail. $handle = fopen ($namafile.com) 65 .6 Nama File : file06. 4096). } } fclose($handle). } ?> Penjelasan Program 7. if (!$handle) { echo "<b>File tidak dapat dibuka atau belum ada</b>". Fungsi feof() pada baris ke-5 berfungsi untuk memeriksa pointer file sudah berada di akhir file atau belum.php Deskripsi : Program membaca isi file baris tiap baris. if ($handle) { while (!feof($handle)) { $buffer = fgets($handle. echo $buffer. dimana isi file akan dibaca tiap baris. while ($isi = fgets ($handle. 1 2 3 4 5 6 7 8 9 10 11 12 13 <?php $namafile = "data. "r").5 Program 7.5 Program 7. $handle = @fopen($namafile. } fclose($handle). "r").6 di atas akan menampilkan keseluruhan isi file. dimana isi file akan dibaca tiap baris. ?> Penjelasan Program 7.php Deskripsi : Program membaca isi file baris tiap baris.

php Deskripsi : Program membuat direktori baru. Program 7. } $file = fopen($counter_file. } ?> Achmad Solichin (achmatim@gmail. echo "<h2>Anda adalah pengunjung ke . Tampilan Program 7.7 Membuat dan Menghapus Direktori Membuat Direktori Baru Program 7. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php $counter_file="counter.txt". //nama direktori $cek = mkdir ($dir).php Deskripsi : Program aplikasi user counter dengan file. fclose($file). if (!file_exists ($counter_file)) { fopen ($counter_file.com) 66 .8 Nama File : file08. if ($cek) { echo "Direktori <b>$dir</b> berhasil dibuat".10). $file = fopen($counter_file.5. $counter = fread($file. "w").Pemrograman Web dengan PHP dan MySQL Menutup File fclose ($handle).$counter). fclose($file)."r"). ?> Gambar 7.7 Nama File : file07. $counter++. fwrite($file.$counter</h2>". "w"). 1 2 3 4 5 6 7 8 9 <?php $dir = "images". } else { echo "Direktori <b>$dir</b> gagal dibuat".

} else { echo "<br>Direktori <b>$dir</b> gagal dihapus". } ?> Penjelasan Program 7. Fungsi rmdir() hanya bisa menghapus direktori kosong.9 Program 7.8 Program 7.10 Nama File : file10. if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != ". if ($del) { echo "<br>Direktori <b>$dir</b> berhasil dihapus". Sedangkan fungsi readdir() akan membaca file dalam direktori satu per satu secara urut. Fungsi untuk membuat direktori baru dalam PHP adalah mkdir(). direktori akan dihapus dengan fungsi rmdir() pada baris ke-10. semua file dan direktori yang berada dalam direktori “images”. Fungsi opendir() pada baris ke-3 adalah untuk membuka direktori.10 Program 7. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php //buat direktori $dir = "include"." && $file != ". Lihat contoh di PHP Manual.8 disimpan.9 di atas akan membuat direktori baru bernama “include” (lihat baris ke-4). Menampilkan Isi Direktori Program 7.10 di atas akan menampilkan di layar.") { echo "$file<br>". gunakan fungsi rekursif untuk menghapus isi direktori. } ?> Penjelasan Program 7. } else { echo "Direktori <b>$dir</b> gagal dibuat". Menghapus Direktori Program 7.com) 67 . if ($cek) { echo "Direktori <b>$dir</b> berhasil dibuat". } //hapus direktori $del = rmdir ($dir).php Deskripsi : Program menampilkan file dan direktori dalam suatu direktori. Achmad Solichin (achmatim@gmail. Fungsi closedir() pada baris ke-9 adalah untuk menutup pembukaan direktori.8 di atas akan membuat direktori bernama “images” di direktori tempat program 7. 1 2 3 4 5 6 7 8 9 10 11 <?php $dir = "images". //nama direktori $cek = mkdir ($dir). maka sertakan path direktori secara lengkap. Setelah itu.php Deskripsi : Program menghapus direktori. Jika direktori yang akan dibuat berada di luar tempat program disimpan.9 Nama File : file09..Pemrograman Web dengan PHP dan MySQL Penjelasan Program 7. } } closedir($handle). Jika direktori ada isinya maka.

if (file_exists($filename)) { echo "File $filename ADA". Memeriksa apakah $file termasuk file yang bisa dijalankan secara langsung atau bukan. terdapat dalam tabel sebagai berikut : Fungsi file_exists($file) is_file($file) is_dir($file) is_executable($file) is_writable($file) is_readable($file) fileatime($file) filectime($file) filemtime($file) filesize($file) filetype($file) Keterangan Memeriksa apakah $file ada atau tidak Memeriksa apakah $file adalah file atau bukan. Menghasilkan waktu modifikasi terakhir file ( dalam unix timestamp).txt". } Achmad Solichin (achmatim@gmail.11 Nama File : file11. } // if (is_writable ($file)) { echo "File <b>$file</b> bisa ditulis / diedit<br>". Memeriksa apakah $file termasuk file yang bisa ditulis atau diedit. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php $file = "data.12 Nama File : file12. } else { echo "File $filename TIDAK ADA".php Deskripsi : Program mendapatkan beberapa informasi file. } ?> Program 7. Menghasilkan ukuran besar file (dalam byte).Pemrograman Web dengan PHP dan MySQL Manipulasi File Mendapatkan Informasi File Beberapa Fungsi yang berhubungan dengan informasi dan manipulasi file. } else { echo "File <b>$file</b> TIDAK executable<br>".php Deskripsi : Program memeriksa keberadaan suatu file. } else { echo "File <b>$file</b> TIDAK bisa ditulis / diedit<br>". Memeriksa apakah $file termasuk file yang bisa dibaca atau tidak. Program 7. Menghasilkan waktu pembuatan file (unix timestamp). Menghasilkan waktu akses terakhir file (unix timestamp). // if (is_executable ($file)) { echo "File <b>$file</b> bisa dijalankan secara langsung (executable)<br>". Memeriksa apakah $file adalah direktori atau bukan. Menghasilkan jenis file. if (is_file($file)) { echo "File <b>$file</b> adalah FILE<br>".txt".com) 68 . 1 2 3 4 5 6 7 8 9 <?php $filename = "data.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $file = "data.php Deskripsi : Program meng-copy. filectime($file)). "<br>". rename dan delete file.txt". echo "Modifikasi terakhir file <b>$file</b> = ". "<br>". "<br>". sebagai server-side-scripting. $filebaru = "databaru. <br>". Fungsi copy() pada baris ke-5 akan menduplikasi file $file menjadi file $filebaru.13 Program 7. } // echo "Akses terakhir file <b>$file</b> = ".txt". } else { echo "File <b>$file</b> TIDAK bisa dibaca<br>". } ?> Penjelasan Program 7. echo "File <b>$file</b> dibuat = ". Pada Form HTML harus ditambahkan atribut : ENCTYPE="multipart/form-data" Achmad Solichin (achmatim@gmail. <br>". echo "Ukuran file <b>$file</b> = ".txt". Upload File PHP. $filebaru)) { echo "File <b>$file</b> berhasil dicopy menjadi <b>$filebaru</b>. $filebaru2 = "databaru2. } if (rename ($filebaru. } else if (is_dir($file)){ echo "File <b>$file</b> adalah DIREKTORI<br>". " bytes<br>". Selanjutnya fungsi rename() akan mengganti nama file $filebaru menjadi $filebaru2.13 di atas terdapat beberapa fungsi untuk meng-copy. } else { echo "File <b>$file</b> tidak dikenal<br>". Ada beberapa hal yang perlu diperhatikan dalam upload file ini. "<br>". sangat memungkinkan untuk menangani upload file ke server.filetype($file). Fungsi unlink() pada baris ke-11 akan menghapus file $filebaru2. rename dan delete file.". date("dm-Y H:i:s.13 Nama File : file13. if (copy ($file. } if (unlink ($filebaru2)) { echo "File <b>$filebaru2</b> berhasil dihapus. Rename dan Delete File Program 7.com) 69 . date("d-m-Y H:i:s.".Pemrograman Web dengan PHP dan MySQL 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>". } ?> Copy.". yaitu : 1. filemtime($file)). fileatime($file)). filesize($file). echo "Jenis file <b>$file</b> = ". $filebaru2)) { echo "File <b>$filebaru</b> berhasil direname menjadi <b>$filebaru2</b>. date("d-m-Y H:i:s. <br>".

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <?php if (isset($_POST['Upload'])) { $dir_upload = "images/". Index dari variabel ini antara lain : $_FILES[‘file’][‘name’] : Nama asli dari file yang diupload $_FILES[‘file’][‘tmp_name’] : Nama temporary file yang diupload $_FILES[‘file’][‘size’] : Ukuran file asli (dalam byte) $_FILES[‘file’][‘type’] : MIME type file yang diupload 4. } } } ?> Penjelasan Program 7. $dir_upload.$nama_file). 3. $nama_file = $_FILES['file']['name']. Lihat baris ke-7! Achmad Solichin (achmatim@gmail. 1 2 3 4 5 6 7 8 9 <html> <head><title>Upload File</title></head> <body> <FORM ACTION="upload. if ($cek) { die ("File berhasil diupload").php Deskripsi : Program menampilkan form upload file. } else { die ("File gagal diupload"). Untuk menangani inputan.15 Program 7.14 ke folder temporary (sementara). PHP menyediakan sebuah variabel array global yaitu $_FILES. Destination folder file upload harus bisa writable (bisa diakses).com) 70 . file yang sudah diupload ke folder temporary akan dipindahkan (move) ke direktori yang diinginkan menggunakan fungsi move_uploaded_file(). // if (is_uploaded_file($_FILES['file']['tmp_name'])) { $cek = move_uploaded_file ($_FILES['file']['tmp_name'].14 Nama File : form_upload.php" METHOD="POST" ENCTYPE="multipart/form-data"> Upload File : <input type="file" name="file"><br> <input type="submit" name="Upload" value="Upload"> </FORM> </body> </html> Program 7. Program 7. Fungsi is_uploaded_file() pada baris ke-6 akan mengupload file yang telah dipilih melalui form pada program 7.15 di atas merupakan program sederhana penanganan upload file.15 Nama File : upload. Form inputan upload file dapat menggunakan tag <input> dengan value atribut TYPE=”FILE”.Pemrograman Web dengan PHP dan MySQL 2. biasanya dengan permission 777 atau 775. Selanjutnya pada baris ke-7.php Deskripsi : Program proses upload file.

Pemrograman Web dengan PHP dan MySQL Gambar 7.14 Achmad Solichin (achmatim@gmail.6. Tampilan Program 7.com) 71 .

ID session disimpan oleh PHP di dalam variabel sistem PHP dengan nama PHPSESSID 2. jadi tidak bisa diakses secara langsung oleh client. PHP menyimpan nilai yang akan Anda simpan dalam session di dalam file yang berada di server. PHP melempar ID session ke setiap halaman. PHP mengambil nilai session dari file session untuk setiap halaman session. Perintah session_start() harus ditaruh di perintah pertama tanpa spasi di depannya. 3. kita harus login terlebih dahulu. Perintah session_start() harus ada pada setiap halaman yang berhubungan dengan session *****************************************************/ session_start(). PHP meng-generate (membentuk) sebuah ID session. namun jika salah maka user tidak bisa membuka halaman kotak surat dan biasanya akan diminta untuk login terlebih dahulu.Pemrograman Web dengan PHP dan MySQL Session dan Cookies Session Cookies Bab 9 Session Session merupakan hal yang cukup penting dalam aplikasi berbasis web.save_path dalam file php. 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. Dengan session memungkinkan programmer mengatur siapa saja yang bisa mengakses suatu halaman.php Halaman ini merupakan halaman contoh penciptaan session. untuk melihat halaman kotak surat pada email. Nama file tempat penyimpanan session tersebut sesuai (sama) dengan ID session. user tidak bisa mengakses halaman kotak surat secara langsung tanpa melakukan login. Di halaman kotak surat. session tersebut akan diperiksa.com) 72 . Dengan session memungkinkan programmer menyimpan informasi user secara semi-permanen. Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di setiap halaman. Dalam aplikasi berbasis web.ini. 4. Penyimpanan isi variabel session berada di server. 1 2 3 4 5 6 7 8 9 10 11 <?php /**************************************************** Nama file : session01. Misalnya saja. session banyak digunakan sebagai autentifikasi login. Achmad Solichin (achmatim@gmail. Jika session benar maka user dipersilahkan membuka halaman kotak surat.php Deskripsi : Program menciptakan session. if (isset ($_POST['Login'])) { $user = $_POST['user']. Itulah sebabnya. ID session ini merupakan sejumlah deret angka random yang unik untuk setiap user dan hampir tidak mungkin bisa ditebak. File disimpan dalam suatu direktori yang ditunjukkan oleh session.1 Nama File : session01. Program 9. PHP melakukan beberapa hal berikut ini : 1. artinya selama masa tertentu informasi akan tersimpan.

password dan sebuah tombol login. } } else { ?> <html> <head> <title>Login here.php'>di sini (session02. walaupun hal itu hanya berupa spasi.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']. Form terdiri dari form inputan username. Pada program di atas terdapat fungsi session_start() yang berada pada baris ke-9. artinya fungsi session_start() harus dipanggil sebelum sesuatu tampil di layar.1 akan menampilkan sebuah form login sederhana di layar. Fungsi harus dipanggil pertama kali dalam suatu halaman PHP.. Nilai username dan password tersebut diperiksa pada baris 14. program 9. //periksa login if ($user == "achmatim" && $pass = "123") { //menciptakan session $_SESSION['login'] = $user.. untuk aplikasi web yang sudah Achmad Solichin (achmatim@gmail. echo "<h2>Klik <a href='session02.. Jika tombol login ditekan maka pemeriksaan kondisi pada baris 10 akan bernilai TRUE dan perintah yang ada di blok if akan dieksekusi.</title> </head> <body> <form action="" method="post"> <h2>Login Here. //menuju ke halaman pemeriksaan session echo "<h1>Anda berhasil LOGIN</h1>".1. Jika sebelum session_start() terdapat output yang ditampilkan maka akan terjadi error seperti pada gambar 9. Pemeriksaan username dan password ini..</h2> Username : <input type="text" name="user"><br> Password : <input type="password" name="pass"><br> <input type="submit" name="Login" value="Log In"> </form> </body> </html> <? } ?> Penjelasan Program 9. Baris 11 dan 12 merupakan perintah untuk mengambil nilai pada form inputan username dan password. Fungsi session_start() berfungsi untuk memulai sebuah session. Error yang terjadi karena sebelum session_start() sudah ada output Selanjutnya.1 berikut ini : Gambar 9.php)</a> untuk menuju ke halaman pemeriksaan session".1.com) 73 .

$_SESSION['login'] .php. } ?> Penjelasan Program 9. //pemeriksaan session if (isset($_SESSION['login'])) { //jika sudah login //menampilkan isi session echo "<h1>Selamat Datang ". Program 9.php'>di sini (session03. **************************************************************/ session_start(). Misalnya harus login terlebih dahulu. bagian tersebut merupakan bagian yang bersifat private (terbatas). Fungsi die() pada baris 17 digunakan untuk menampilkan suatu pesan sekaligus men-terminate program. Dengan kata lain. maka akan ditampilkan pesan bahwa user tidak berhak masuk ke halaman ini. Blok program baris 11-14 hanya bisa diakses saat user sudah login dengan benar. program 9. terdapat pemeriksaan keberadaan variabel $_SESSION[‘login’] dengan menggunakan fungsi isset(). Untuk menampilkan isi variabel session dapat dilakukan seperti pada baris 12 program di atas.php)</a> untuk LOGOUT</h2>". echo "<h2>Halaman ini hanya bisa diakses jika Anda sudah login</h2>". Jika user belum login (tidak melewati halaman login) atau langsung mengakses halaman ini.com) 74 . terdapat perintah sebagai berikut : $_SESSION['login'] = $user.2 di atas diawali dengan pemanggilan fungsi session_start(). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <?php /************************************************************* Halaman ini merupakan contoh halaman pemeriksaan session. Pada baris 10 program di atas.Pemrograman Web dengan PHP dan MySQL menggunakan database. artinya perintah selain die() akan diabaikan.Silahkan login <a href='session01. Pemeriksaan session biasanya dilakukan jika suatu halaman memiliki akses terbatas. Cukup dengan meng-echo variabel $_SESSION[‘login’]. $_SESSION merupakan sebuah variabel array global yang didefinisikan oleh PHP. } else { //session belum ada artinya belum login die ("Anda belum login! Anda tidak berhak masuk ke halaman ini.2 Nama File : session02.php Deskripsi : Program pemeriksaan session. Hal ini berarti dalam halaman program ini terdapat operasi session. jadi variabel ini harus ditulis dengan huruf kapital (upper-case). Achmad Solichin (achmatim@gmail.2 Program 9. jika FALSE maka blok program baris 16-17 yang akan dijalankan. bisa password ke tabel database. diganti dengan pemeriksaan username dan Pada baris 16."</h1>". Pemeriksaan kondisi ini akan bernilai TRUE jika $_SESSION[‘login’] sudah terbentuk. Selanjutnya.2). pada baris 18-20 akan ditampilkan pesan bahwa login berhasil dan juga sebuah link menuju ke halaman pemeriksaan session (session02. Baris perintah tersebut merupakan perintah untuk membuat session baru (create session) dimana nama session adalah “login” dan isi dari session adalah $user. Jika bernilai TRUE maka blok program baris 11-14 yang akan dieksekusi.php'>di sini</a>"). echo "<h2>Klik <a href='session03. dan sebaliknya.

php'>di sini</a> untuk LOGIN kembali</h2>".3 merupakan contoh program penghapusan session. cookies berada di client. Hanya saja. maka program yang memanfaatkan cookies tentunya tidak akan berjalan dengan baik. } ?> Penjelasan Program 9. Selain user bisa melihat informasi yang disimpan. Dalam penanganan cookies juga terdapat beberapa proses yang perlu diperhatikan : Proses pembuatan cookies Proses pemeriksaan cookies Proses penghapusan cookies Program 9.php Deskripsi : Program membuat cookie. password dsb. $value).3. user juga bisa men-disable cookies itu sendiri.php'>session02. if (isset($_SESSION['login'])) { unset ($_SESSION). produk-produk yang dipilih oleh pengunjung pada saat berbelanja. setcookie("username". setcookie("namalengkap". Fungsi unset() digunakan untuk menghapus atau menghilangkan suatu variabel. Sedangkan session_destroy() digunakan untuk menghapus semua data yang berhubungan dengan session tersebut. echo "<h2>Anda sekarang tidak bisa masuk ke halaman <a href='session02.4 Nama File : cookie01. konsep cookies sebaiknya jangan digunakan untuk menyimpan informasi login user seperti username.php</a> lagi</h2>". 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?php /******************************************************** Halaman ini merupakan halaman logout. dimana kita menghapus session yang ada. $value2. /* expire in 1 Achmad Solichin (achmatim@gmail. session_destroy(). cookies juga merupakan sebuah konsep penyimpanan informasi user. Oleh karena itu. $value2 = 'Achmad Solichin'. // echo "<h1>Anda sudah berhasil LOGOUT</h1>". jika session tempat penyimpanan berada di server. Jika cookies di-disable. Proses penghapusan session dilakukan dengan memanggil fungsi unset() dan fungsi session_destroy(). time()+3600). echo "<h2>Klik <a href='session01. 1 2 3 4 5 6 7 8 9 <?php $value = 'achmatim'.php Deskripsi : Program menghapus session.3 Nama File : session03. Penghapusan session biasanya digunakan ketika user melalukan logout. Program 9. Cookies sendiri biasanya dipakai dalam aplikasi shooping cart.com) 75 . Biasa digunakan untuk menyimpan sementara.Pemrograman Web dengan PHP dan MySQL Program 9. *********************************************************/ session_start(). hour */ echo "<h1>Ini halaman pengesetan cookie</h1>". Cookies Seperti halnya session.

php'>di sini</a> untuk penciptaan cookies</h2>". echo "<h1>Cookie Berhasil dihapus.php Deskripsi : Program pemeriksaan cookie. 1 2 3 4 5 6 7 8 9 10 <?php // set the expiration date to one hour ago setcookie ("username". } echo "<h2>Klik <a href='cookie01. ?> Achmad Solichin (achmatim@gmail.</h1>". $_COOKIE['namalengkap']. ?> Program 9.</h1>". } if(isset($_COOKIE['namalengkap'])) { echo "<h1>Cookie 'namalengkap' ada. } else { echo "<h1>Cookie 'username' TIDAK ada. time() . Isinya : " . setcookie ("namalengkap".php Deskripsi : Program penghapusan cookie.3600). echo "<h2>Klik <a href='cookie02. "".php'>di sini</a> untuk pemeriksaan cookies</h2>".php'>di sini</a> untuk penciptaan cookies</h2>".com) 76 .php'>di sini</a> untuk penghapusan cookies</h2>". ?> Program 9. Isinya : " . $_COOKIE['username'].php'>di sini</a> untuk pemeriksaan cookies</h2>". "". echo "<h2>Klik <a href='cookie03. time() .3600).5 Nama File : cookie02.Pemrograman Web dengan PHP dan MySQL 10 11 echo "<h2>Klik <a href='cookie02.6 Nama File : cookie03. echo "<h2>Klik <a href='cookie01.</h1>". 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php if(isset($_COOKIE['username'])) { echo "<h1>Cookie 'username' ada. } else { echo "<h1>Cookie 'namalengkap' TIDAK ada.

Encapsulation (Class dan Object) 2. Dengan lahirnya PHP 5. Dalam perkembangannya. bunga. TV. Class Orang tentu setidaknya memiliki beberapa bagian seperti tangan. kaki. Sebuah object mewakili suatu bagian program yang akan diselesaikan. Demikian juga mobil. terdapat penjelasan tentang suatu object termasuk properties yang dimilikinya serta kelakuan atau method yang bisa dilakukan oleh object. pintu dsb.com) 77 . Sebagai contoh. telinga dsb. Sama halnya dengan sebuah mobil misalnya. acara TV. dimana programmer yang menggunakan class tidak perlu mengetahui isi dan jalannya class secara detail. hanya perlu tahu bagaimana cara menggunakannya. bisa bicara dsb. antara lain : 1. script yang menggunakan konsep object-oriented akan lebih cepat dan lebih efisien. Saat ini konsep OOP sudah semakin berkembang. Inheritance (Penurunan sifat). Secara mudah kita dapat memahami mengenai object ini. OOP bukanlah sekedar cara penulisan sintaks program yang berbeda. Class Orang juga setidaknya harus bisa jalan. Pemrograman yang banyak dipakai dalam penerapan konsep OOP adalah Java dan C++. Namun. Salah satu keuntungan program didefinisikan dengan konsep OOP adalah adanya pengkapsulan (encapsulation) program dalam class dan object. pohon. Dalam OOP. mesin. Class merupakan penjelasan atau deskripsi dari object. bisa lari. seperti mengisi bensin. Hal ini dimulai sejak PHP 4. Beberapa konsep OOP dasar. selanjutnya ditambahkan berbagai fitur pemrograman berorientasi objek. Seorang pemilik mobil tentunya tidak Achmad Solichin (achmatim@gmail. dan 3. Polymorphisme PHP khususnya PHP 5 sudah mendukung beberapa konsep OOP. Object dan Class Bagian dasar dari sebuah program yang berorientasi objek adalah objects. object tidak selamanya sebuah objek fisik. pesan email. Pemrograman berorientasi objek atau object-oriented programming (OOP) merupakan suatu pendekatan pemrograman yang menggunakan object dan class. class Orang. Hampir setiap perguruan tinggi di dunia mengajarkan konsep OOP ini pada mahasiswanya. seperti account bank. fitur-fitur pemrograman berorientasi objek semakin mantap dan semakin cepat. sebuah mobil adalah objek. bisa loncat.Pemrograman Web dengan PHP dan MySQL Pemrograman Berorientasi Objek dalam PHP Pengantar Pemrograman Berorientasi Objek Object dan Class Properties dan Method Mendefinisikan Class Bab 10 Pengantar Pemrograman Berorientasi Objek PHP pada awalnya hanyalah kumpulan script sederhana. Biasanya object adalah sebuah kata benda. Akan tetapi PHP 5 tidak mendukung konsep Multiple-inheritance dan polymorphisme. seperti warna. Dengan PHP 5. database. OOP merupakan cara pandang dalam menganalisa sistem dan permasalahan pemrograman. menyalakan mesin. Bisa saja sebuah benda abstrak. Sebuah mobil juga dapat melakukan sesuatu (ada sesuatu yang bisa dilakukan dengan mobil). sebuah file di komputer. Sebagai contoh. Di dalam class. bisa melihat. komputer. Sebuah mobil mempunyai properties atau bagianbagian di dalamnya. Orang adalah object. dsb. mengerem dsb. namun lebih dari itu. berjalan. buku dsb. setiap bagian dari program adalah object. mata. roda.

menjalankan mobil. sbb : 1 2 3 4 5 6 7 8 class Mobil { var $warna. Method merupakan sesuatu yang bisa dilakukan oleh object. Achmad Solichin (achmatim@gmail. Dia tidak perlu mengetahui bagaimana mesin mobil melakukan pembakaran dan bagaimana mesin mobil bisa menggerakkan roda. Penamaan properties dan method memiliki aturan yang sama dengan penamaan sebuah variabel atau fungsi.Pemrograman Web dengan PHP dan MySQL perlu mengetahui bagian-bagian mobil secara menyeluruh. Akan tetapi berdasarkan kesepakatan (convention). var $harga. $harga. dsb. var $merk = "BMW". properties dinyatakan dengan sebuah variabel. Penamaan bebas. Namun demikian. Mendefinisikan Class Bentuk umum mendefinisikan sebuah class adalah sbb : class namaClass { Deklarasikan dan definisikan properties di sini Definisikan semua method di sini } Penamaan namaClass pada dasarnya sama dengan penamaan variabel. menghentikan mobil. Method yang mungkin dipunyai dari sebuah mobil misalnya. karena dalam PHP variabel tidak perlu dideklarasikan. var $harga = "10000000". Misalnya $warna.com) 78 . pendeklarasian variabel yang digunakan sangat dianjurkan untuk kemudahan pembacaan dan pemahaman program. Method dalam PHP sama artinya dengan sebuah fungsi. bukanlah suatu keharusan. setiap kata digabung tanpa spasi atau under-score (_). Dia hanya perlu tahu bagaimana cara menjalankan mobil. harga dsb. Namun inisialisasi variabel tidak boleh mengandung operasi aritmatika maupun operasi yang lainnya. Di tubuh class terdapat pendefinisian properties (variabel) dan method-method class. //Tambahkan pendefinisian method di sini } Pendeklarasian variabel dalam class seperti pada contoh di atas. dan fungsi mobil lainnya. var $merk. Isi tubuh class terletak di antara tanda kurung kurawal buka ( { ) dan kurawal tutup ( } ). bagaimana menghentikan mobil. ukuran. Menambahkan Properties (Variabel) Perhatikan contoh pendefinisian class beserta propertiesnya. cukup digunakan saja. penamaan properties dan method harus menggunakan camel Caps. kecuali stdClass. Properties dari sebuah mobil misalnya warna. Perhatikan contoh sebagai berikut : 1 2 3 4 5 6 class Mobil { var $warna = "Biru". Properties dan Method Setiap class memiliki properties yang kadang disebut juga attributes. method untuk menghidupkan mobil. PHP sudah menggunakan nama stdClass sebagai nama class built-in. dsb. dimana tiap kata diawali dengan huruf besar kecuali kata pertama. Variabel class juga dapat langsung diinisialisasi dengan sebuah nilai. Di dalam class. dsb. boleh apa saja.

jangan menggunakan nama method yang diawali dengan dua buah under-score (__) yaitu __construct(). function gantiWarna ($warnaBaru) { $this->warna = $warnaBaru. } function tampilWarna () { echo "Warna mobilnya : " . Namun demikian. function __construct() { $this->warna = "Biru". var $harga = "10000000". yaitu $warnaBaru. Method gantiWarna() mempunyai satu parameter. $this->warna. Misalnya kita akan menambahkan fungsi atau method untuk mengganti warna mobil dan untuk menampilkan warna mobil. $this->harga = "10000000". namun dalam satu class hanya boleh ada satu konstruktor. cukup dengan mendefinisikan suatu fungsi dengan nama __construct(). Nama method pada dasarnya terserah (mengikuti aturan nama variabel). Lihat contoh menambahkan method sbb : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Mobil { var $warna = "Biru". var $merk. Konstruktor tidak harus ada. tinggal mendefinisikan method seperti halnya fungsi biasa. } } Pada listing program di atas sudah ditambahkan fungsi atau method gantiWarna() dan tampilWarna().Pemrograman Web dengan PHP dan MySQL 7 8 //Tambahkan pendefinisian method di sini } Menambahkan Method Untuk menambahkan method. var $merk = "BMW". __destruct() dan __clone() karena ketiga fungsi tersebut mempunyai arti tersendiri di PHP. var $harga.com) 79 . Achmad Solichin (achmatim@gmail. } function gantiWarna ($warnaBaru) { $this->warna = $warnaBaru. Perhatikan contoh sebagai berikut : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class Mobil { var $warna. } function tampilWarna () { echo "Warna mobilnya : " . $this->merk = "BMW". Keyword ini me-refer pada class tempatnya berada. $this->warna. Untuk mengakses properties (variabel) bisa menggunakan keyword $this. Menambahkan Konstruktor Konstruktor merupakan sebuah method khusus yang akan secara otomatis dijalankan saat object terbentuk. Untuk membuat konstruktor. Method konstruktor biasanya berisi pemberian nilai default dari masing-masing properties (variabel).

echo "<br>Mobil pertama ganti warna<br>".1 Nama File : pbo01. harus dibentuk objek dari classnya. $this->merk = "BMW". $namaObjek->namaMethod(). $a->tampilWarna(). } } $a = new Mobil(). function __construct() { $this->warna = "Biru". $a->tampilWarna(). $a->gantiWarna("Merah").php Deskripsi : Program sederhana pendefinisian class dan pemanggilan class. echo "<b>Mobil pertama</b><br>". Bentuk umum pembentukan objek adalah sbb : $namaObjek = new namaClass().php Deskripsi : Program class untuk membuat sebuah form inputan sederhana. } function tampilWarna () { echo "Warna mobilnya : " . $b = new Mobil(). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 <? class Mobil { var $warna. Program 10. Dari sebuah class bisa dibentuk beberapa objek sekaligus.2 Nama File : pbo02.Pemrograman Web dengan PHP dan MySQL 22 23 } } Membentuk Objek Class Untuk menggunakan sebuah objek. Sedangkan untuk memanggil anggota (member) dari class dapat dengan format sbb : $namaObjek->variabel. $this->harga = "10000000". $b->gantiWarna("Hijau"). // echo "<br><b>Mobil kedua</b><br>".inc. } function gantiWarna ($warnaBaru) { $this->warna = $warnaBaru. $this->warna. $b->tampilWarna(). ?> Program 10. 1 2 3 <?php /* Nama Class : Form Achmad Solichin (achmatim@gmail.com) 80 . var $merk. var $harga.

$j++) { echo "<tr><td align='right'>". } } ?> Program 10. echo "<td><input type='text' name='". ?> Penjelasan Program 10.com) 81 . $form->addField ("txtnim". hanya perlu dengan memanggil fungsi addField(). echo "</body></html>". $this->fields [$this->jumField]['label'] = $label.$this->submit."' method='POST'>".$this->action. for ($j=0.inc. "'></td></tr>"."Input Form"). $form->addField ("txtnama".php Deskripsi : Program memanfaatkan Program 10. $form->addField ("txtalamat". $submit) { $this->action = $action.$this-> fields[$j]['label']. "Alamat"). } echo "<tr><td colspan='2'>".Pemrograman Web dengan PHP dan MySQL 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Deskripsi */ : CLass untuk membuat form inputan text sederhana class Form { var $fields = array().php harus di-include-kan dengan menggunakan fungsi include(). echo "<h3>Silahkan isi form berikut ini :</h3>".1 Achmad Solichin (achmatim@gmail.3 di atas merupakan contoh pemanggilan class yang didefinisikan pada Program 10."</td>". "Nama"). echo "<html><head><title>Mahasiswa</title></head><body>". Untuk menambahkan form inputan text box. Hasil tampilan dari program di atas dapat dilihat pada gambar 10. var $action.inc. $j<count($this->fields). Untuk itu pertama kali program pbo02. $form->displayForm(). echo "<input type='submit' value='". $this->jumField ++. function __construct($action. var $submit = "Submit Form".2 (pbo02. } function displayForm() { echo "<form action='". echo "</table>". 1 2 3 4 5 6 7 8 9 10 11 <?php include "pbo02."'></td></tr>". var $jumField = 0.3 Program 10. echo "<table width='100%'>". $this->submit = $submit. $form = new Form ("".php). "Nim").3 Nama File : pbo03.php".2 untuk membuat form inputan sederhana. } function addField($name. $label) { $this->fields [$this->jumField]['name'] = $name.inc. Perhatikan program baris ke-2.$this-> fields[$j]['name'].

Jadi programmer dan web-desaigner dapat mengerjakan sebuah project aplikasi secara paralel (bersamaan). smarty juga dapat mempercepat akses ke halaman web karena smarty juga menggunakan konsep cache halaman web.tikiwiki.net 3.com.php. Selain itu. PECL dapat diakses di http://pecl. Oracle dsb). Beberapa situs yang menggunakan Smarty antara lain www. PEAR PEAR merupakan singkatan dari PHP Extension and Application Repository. Dengan Smarty memungkinkan terjadi pemisahan antara logika program (PHP) dan tampilan halaman web. PEAR berisi kumpulan class PHP yang dapat digunakan sewaktu-waktu.1. Berikut ini beberapa aplikasi PHP yang dibuat dengan konsep OOP yang banyak digunakan dalam aplikasi berbasis web : 1. Silahkan berkunjung dan ambil class yang Anda inginkan. tanpa menggunakan library PDFlib. PEAR dapat di-download dan dilihat di situs http://pear.ac. F dari FPDF merupakan singkatan dari Free: jadi Anda bisa mendapatkannya secara Achmad Solichin (achmatim@gmail. FPDF FPDF merupakan class PHP yang memungkinkan untuk membuat (generate) file PDF dengan PHP murni. Just use it! Di internet saat ini bertebaran begitu banyak class dengan fungsinya masing-masing yang tersedia secara cuma-cuma dan dapat dimodifikasi secara bebas. pada programmer PHP di seluruh dunia dapat lebih mudah berbagi teknik programming. Anda juga bisa mendapatkan banyak class PHP di kumpulan repository PHP dengan nama PECL (PHP Extention Community Library).net . www.id.blogsome.phpclasses. Tampilan Program 10.com) 82 . Kita bisa membuat suatu class dan programmer lain dapat dengan mudah menggunakannya tanpa perlu mengetahui proses jalannya class tersebut. Class yang cukup banyak digunakan dari PEAR adalah PEAR::DB yang merupakan abstraction layer antara aplikasi PHP dengan database. www.Pemrograman Web dengan PHP dan MySQL Gambar 10.php.net 2. Smarty merupakan salah satu template-engine yang banyak digunakan saat ini. PosgreSQL.org. Smarty dapat di-download di situs http://smarty.bl. Situs yang berisi kumpulan-kumpulan class PHP yang cukup terkenal antara lain http://www.org dan sebagainya. Selain memisahkan antara logika program dan layout program.php.3 Memanfaatkan Class yang Tersedia Dengan adanya konsep pemrograman berorientasi objek. Smarty Smarty merupakan sebuah template-engine untuk PHP. Dengan PEAR::DB program menjadi lebih fleksibel dan secara mudah dapat berganti jenis database apapun (MySQL.

fpdf. chart.nu/jpgraph/ Achmad Solichin (achmatim@gmail.Pemrograman Web dengan PHP dan MySQL cuma-cuma dan juga dapat memodifikasinya.org 4. Informasi mengenai FPDF bisa didapat di situsnya http://www. JpGraph dapat didownload secara gratis di http://www.aditus.com) 83 . line dsb. baik dalam bentuk grafik batang. pie. JpGraph JpGraph merupakan library PHP untuk pembuatan grafik. JpGraph membutuhkan extension PHP berupa PHP GD.

user akan lebih mudah mengontrol dan memanipulasi data yang ada.org/ MySQL – http://www.http://www.http://www.wikipedia. mengontrol.http://www.mysql.ibm.microsoft.com/interbase Teradata .org/ Dalam konsep database. DBMS.com/ Firebird .http://www.com Sybase .firebirdsql. Dengan DBMS. Urutan atau hierarki database digambarkan dalam gambar sbb : DBMS Database Database Database Tabel Tabel Tabel Tabel Tabel Field & Record Achmad Solichin (achmatim@gmail. DBMS merupakan suatu sistem perangkat lunak yang memungkinkan user (pengguna) untuk membuat. Object Oriented DBMS. dan mengakses database secara praktis dan efisien.borland.org/wiki/Database). misalnya Hierarchy DBMS. Sedangkan RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar tabel.http://www.com PostgreSQL .com) 84 . Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam aplikasi program antara lain : DB2 .com/software/data/db2/ Microsoft SQL Server . memelihara.Pemrograman Web dengan PHP dan MySQL Pengenalan DBMS dan MySQL Tentang Database.http://www-306.postgresql.oracle. Database digunakan untuk menyimpan informasi atau data yang terintegrasi dengan baik di dalam komputer. dan RDBMS Tentang MySQL Instalasi MySQL di Windows Koneksi ke Server MySQL dengan MySQL Client Berbagai Tools Administrasi Server MySQL Bab 11 Tentang Database.teradata. terdapat jenis DBMS lain.sybase. DBMS dan RDBMS Basis data (atau database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut (http://id. Untuk mengelola database diperlukan suatu perangkat lunak yang disebut DBMS (Database Management System).com/ Interbase .http://www. dsb.com/sql/ Oracle . urutan atau hierarki database sangatlah penting.http://www. Di samping RDBMS.

Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark. Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum. 2. Pada dasarnya. dan Michael "Monty" Widenius. Jalankan file Setup. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing. Allan Larsson.45.mysql.com/downloads/ MySQL versi terakhir saat materi ini dibuat adalah MySQL 5.com) 85 . Proses Instalasi MySQL 1.exe yang ada di dalam folder source MySQL.Pemrograman Web dengan PHP dan MySQL Gambar 11. Beberapa kelebihan MySQL antara lain : Free (bebas didownload) Stabil dan tangguh Fleksibel dengan berbagai pemrograman Security yang baik Dukungan dari banyak komunitas Kemudahan management database. selanjutnya Anda perlu mengekstrak file tersebut ke komputer Anda. multi-user. Hierarki Database Tentang MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread.0. Lihat gambar berikut ini ! Achmad Solichin (achmatim@gmail. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. dengan sekitar 6 juta instalasi di seluruh dunia. Setelah Anda mendapatkan source MySQL. Download Source MySQL di http://www. Mendukung transaksi Perkembangan software yang cukup cepat. Silahkan Anda download versi terakhir tersebut dan simpan di komputer Anda.1. tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. Instalasi MySQL di Windows Persiapan 1. instalasi untuk setiap versi MySQL tidak jauh berbeda. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL).

0 Setup Wizard for MySQL. Gambar 2. Klik tombol Next untuk memulai proses instalasi. Proses Instalasi Dimulai 4. Selanjutnya akan ditampilkan window MySQL Server 5. Gambar 2.com) 86 .exe 3. Memulai Proses Instalasi Achmad Solichin (achmatim@gmail.Pemrograman Web dengan PHP dan MySQL Gambar 2. File Setup.3.1. MySQL Setup akan mengekstrak file instalasi MySQL seperti pada gambar berikut ini.2.

Klik Install untuk memulai proses instalasi.5. Achmad Solichin (achmatim@gmail. Gambar 2. yaitu tipe instalasi dan folder tujuan instalasi. Window Informasi Konfigurasi Instalasi 7. Pilih tipe instalasi 6.Pemrograman Web dengan PHP dan MySQL 5.4. Selanjutnya akan ditampilkan pilihan untuk memilih cara instalasi. Selanjutnya akan ditampilkan window informasi konfigurasi MySQL. Gambar 2.com) 87 . Proses instalasi dimulai. Pilih Typical jika kita ingin menginstall MySQL yang umumnya digunakan.

Selanjutnya ditampilkan window informasi mengenai MySQL Enterprise. Window Setup Type 8. Gambar 2.6. Klik Next untuk melanjutkan.Pemrograman Web dengan PHP dan MySQL Gambar 2.com) 88 .7. Window MySQL Enterprise Achmad Solichin (achmatim@gmail.

Pemrograman Web dengan PHP dan MySQL Gambar 2. service dll) maka pilihkan checkbox Configure the MySQL Server now dan tekan tombol Finish. Jika kita ingin langsung mengkonfigurasikan server MySQL (password.8. Proses instalasi Selesai 10. Window informasi MySQL Monitoring 9. Klik Next untuk melanjutkan.com) 89 . Selanjutnya ditampilkan window MySQL Server Instance Configuration Wizard. Proses instalasi selesai dan akan ditampilkan seperti pada gambar di bawah ini. Gambar 2. Achmad Solichin (achmatim@gmail.9.

Selanjutnya terdapat pilihan tipe konfigurasi yang diinginkan. Achmad Solichin (achmatim@gmail. Pilih salah satu dan klik Next untuk melanjutkan.10. Gambar 2. Developer.Pemrograman Web dengan PHP dan MySQL Gambar 2. Pilih dan klik Next untuk melanjutkan. Window MySQL Server Instance Configuration Wizard 11. Detailed Configuration atau Standard Configuration. atau Dedicated MySQL Server. Selanjutnya terdapat pilihan tipe server yang diinginkan. Server.11.com) 90 . Window Pilihan tipe konfigurasi 12.

Pilihan tipe server MySQL 13.12. Selanjutnya terdapat setting-an InnoDB Tablespace Settings dimana diminta memilih tempat untuk tablespace InnoDB. Pilih salah satu dan klik Next untuk melanjutkan.13. Window Pilihan penggunaan Database. Achmad Solichin (achmatim@gmail. Gambar 2. 14.com) 91 . Transactional Only atau Non-Transactional Only. Selanjutnya terdapat pilihan penggunaan database MySQL. Klik Next untuk melanjutkan.Pemrograman Web dengan PHP dan MySQL Gambar 2. untuk Multifunctional.

Pemrograman Web dengan PHP dan MySQL Gambar 2. 15. Achmad Solichin (achmatim@gmail.15. Next untuk melanjutkan. Selanjutnya terdapat window untuk memilih nomor PORT yang digunakan untuk MySQL. Pilih salah satu dan klik Next untuk melanjutkan. Gambar 2.14.com) 92 . Pilihan Perkiraan Seberapa Besar Koneksi User ke Server 16. Window InnoDB Tablespace Settings. Selanjutnya terdapat pilihan perkiraan seberapa besar koneksi user ke server.

Selanjutnya terdapat pilihan nama service MySQL yang akan digunakan oleh Windows. Pilih password untuk root (user tertinggi di MySQL) dan klik Next untuk melanjutkan. Pilih salah satu dan klik Next untuk melanjutkan. Window pilihan port MySQL. Gambar 2. Selanjutnya diminta memodifikasi security. Window pilihan Nama Service MySQL.16. Achmad Solichin (achmatim@gmail.17. 17.Pemrograman Web dengan PHP dan MySQL Gambar 2. 18.com) 93 .

19. Window Security Setting. 19.com) 94 . Proses konfigurasi selesai dan klik Execute untuk menyimpan konfigurasi dan menjalankan servis MySQL. Achmad Solichin (achmatim@gmail. Proses konfigurasi server MySQL selesai.18.Pemrograman Web dengan PHP dan MySQL Gambar 2. Gambar 2.

maka akan ditampilkan window sbb : Gambar 2. Tools tersebut dapat diakses dari menu Start > All Programs > MySQL > MySQL Server 5> MySQL Command Line Client.20. Anda cukup mengetikkan password koneksi MySQL. maka akan ditampilkan prompt mysql> seperti pada gambar 12.Pemrograman Web dengan PHP dan MySQL Koneksi ke Server MySQL dengan MySQL Client MySQL menyediakan tools untuk melakukan koneksi ke server MySQL.). Jika passwordnya benar. Selanjutnya untuk keluar dari server MySQL dapat dilakukan dengan mengetikkan perintah quit atau \q pada prompt mysql>. Koneksi ke Server MySQL dengan User root Setelah koneksi ke server MySQL berhasil dilakukan. Query atau perintah-perintah MySQL dapat dituliskan pada prompt MySQL ini.13.com) 95 . Password ini didefinisikan pada saat proses instalasi. yaitu MySQL Command-Line Client. MySQL Command Line Client Untuk melakukan koneksi ke server MySQL. Achmad Solichin (achmatim@gmail. Akhiri setiap query dengan titik-koma (.14. Tampilannya kurang lebih tampak pada gambar berikut ini: Gambar 12.

Jika Anda ingin mencoba software ini. cobalah MySQL-Front versi 2.5 cukup stabil dan sudah teruji. 1. Situs resmi MySQL-Front beralamat di http://www.22.Pemrograman Web dengan PHP dan MySQL Berbagai MySQL Client untuk Administrasi Server MySQL Berikut ini beberapa tools yang biasa digunakan dalam mempermudah administrasi server MySQL. MySQL-Front MySQL-Front merupakan front-end MySQL berbasis Windows yang cukup banyak digunakan. bahkan oleh user pemula.21. Pada awalnya MySQL-Front merupakan software yang free. MySQL-Front memiliki user interface yang cukup mudah digunakan. versi 2. jadi tidak harus digunakan. Tampilan MySQL Front Achmad Solichin (achmatim@gmail. Tampilan MySQL command line client 2. Aplikasi ini dapat digunakan untuk melakukan koneksi ke MySQL melalui text-based mode. MySQL Command Line Client MySQL Command Line Client merupakan tools default MySQL yang sudah disertakan dalam file instalasi MySQL.mysqlfront.de Gambar 2. Tools berikut ini hanya digunakan untuk mempermudah administrasi MySQL. Gambar 2.5 karena selain masih bebas untuk didownload.0 ke atas.com) 96 . software ini menjadi software yang bersifat shareware dengan masa percobaan selama 30 hari. namun mulai versi 3.

PHPMyAdmin juga tersedia dalam 50 bahasa lebih. SQLYog dapat didownload di situsnya http://www. PHPMyAdmin PHPMyAdmin merupakan front-end MySQL berbasis web.com) 97 .phpmyadmin. index dan juga dapat mengeksport data ke dalam berbagai format data. tabel. Tampilan halaman PHPMyAdmin 4.webyog.23. SQL Yog tersedia versi commercial dan community (free).net Gambar 2. SQLYog SQLYog merupakan salah satu front-end MySQL yang cukup populer saat ini. PHPMyAdmin dibuat dengan menggunakan PHP.com Gambar 2. PHPMyAdmin dapat didownload secara gratis di http://www.24. PHPMyAdmin mendukung berbagai fitur administrasi MySQL termasuk manipulasi database. termasuk bahasa Indonesia. Saat ini.Pemrograman Web dengan PHP dan MySQL 3. Tampilan layar SQLYog Achmad Solichin (achmatim@gmail. Dengan dukungan fitur yang cukup banyak dan lengkap. PHPMyAdmin banyak digunakan dalam hampir semua penyedia hosting yang ada di internet.

http://www.mysql.com/products/tools/. Tampilan layar MySQL Administrator dan MySQL Control Center Achmad Solichin (achmatim@gmail.25.com). • SQL statements debugging. Gambar 2. antara lain: • Tampilan dan menu yang mudah (user-friendly). • Membuat dan manipulasi tabel.Pemrograman Web dengan PHP dan MySQL 5. Beberapa fitur MySQL Query Browser.mysql.com) 98 . • Mendukung beberapa window hasil (result preview) sekaligus. Beberapa fitur MySQL Administrator. • Kemudahan dalam menulis query dengan visual tools. • Optimatisasi MySQL • Informasi umum keadaan server • Status replication. MySQL Administrator dan MySQL Query Browser MySQL Administrator dan MySQL Query Browser merupakan tools administrasi database MySQL yang tersedia di situs resmi MySQL Keduanya dapat didownload di alamat (http://www. • Halaman monitoring server. • Manipulasi database. antara lain: • Administrasi user. • Cross-platform.

aktifkan option IF NOT EXISTS. Jadi. Hampir semua software database mengenal atau mengerti SQL. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. dimana secara umum nama database boleh terdiri dari huruf. Membuka dan Menghapus Database Membuat Database Sintaks umum SQL untuk membuat suatu database adalah sebagai berikut : CREATE DATABASE [IF NOT EXISTS] nama_database. Perintah SQL yang termasuk dalam DML antara lain : SELECT INSERT UPDATE DELETE Membuat.com) 99 . Bentuk perintah di atas akan membuat sebuah database baru dengan nama penamaan sebuah variabel.Pemrograman Web dengan PHP dan MySQL Pengenalan Structured Query Language Apa Itu SQL ? Membuat. nama_database. Beberapa perintah dasar yang termasuk DDL ini antara lain : CREATE ALTER RENAME DROP 2. Menampilkan. Menampilkan. Terdapat 2 (dua) jenis perintah SQL. maka akan muncul pesan error. angka dan under-score (_). Jika database yang akan dibuat sudah ada. Microsoft atau Oracle). DML atau Data Manipulation Language DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Aturan penamaan sebuah database sama seperti aturan Achmad Solichin (achmatim@gmail. perintah SQL pada semua software database hampir sama. Di dalam folder tersebut nantinya akan terdapat file-file yang berhubungan dengan tabel dalam database. Namun jika ingin otomatis menghapus database yang lama jika sudah ada. yaitu : 1. DDL atau Data Definition Language DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database. dalam hal ini database dan table. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. maka sebenarnya MySQL akan membuat suatu folder (direktori) sesuai dengan nama databasenya yang ditempatkan secara default di C:\mysql\data. Membuka dan Menghapus Database Membuat.Setiap kita membuat database baru. Standar ini tidak tergantung pada mesin yang digunakan (IBM. Mengubah dan Menghapus Table Menambah Record dengan INSERT Mengedit Record dengan UPDATE Menghapus Record dengan DELETE Menampilkan Record dengan SELECT Bab 12 Apa Itu SQL ? SQL merupakan singkatan dari Structured Query Language.

Jika query di atas berhasil dieksekusi dan database berhasil dibuat. berikut ini querynya : USE mahasiswa. Jika databasenya ada maka database dan juga seluruh tabel Achmad Solichin (achmatim@gmail. maka akan ditampilkan pesan sebagai berikut : Database changed Menghapus Database Untuk menghapus suatu database.Pemrograman Web dengan PHP dan MySQL Berikut ini contoh perintah untuk membuat database baru dengan nama “mahasiswa” : CREATE DATABASE mahasiswa. Bentuk perintah di atas akan menghapus database dengan nama di dalamnya akan dihapus.com) 100 .02 sec) Membuka Database Sebelum melakukan manipulasi tabel dan record yang berada di dalamnya. maka akan ditampilkan pesan error. sintaks umumnya adalah sbb : DROP DATABASE [IF EXISTS] nama_database. Untuk membuka database “mahasiswa”. Hasil dari perintah di atas akan menampilkan semua database yang sudah ada di MySQL.02 sec) Membuat Database Untuk melihat database yang baru saja dibuat atau yang sudah ada. kita harus membuka atau mengaktifkan databasenya terlebih dahulu. maka akan ditampilkan pesan sebagai berikut : Query OK. Aktifkan option IF EXISTS untuk memastikan bahwa suatu database benar-benar ada. 1 row affected (0. Berikut ini contoh perintah untuk menghapus database dengan nama “mahasiswa” : nama_database. Berikut ini contoh hasil dari query di atas : +--------------+ | Database | +--------------+ | mahasiswa | | mysql | | test | +--------------+ 3 rows in set (0. dapat menggunakan perintah sebagai berikut : SHOW DATABASES. Jadi berhati-hatilah dengan perintah ini! Jika nama database yang akan dihapus tidak ditemukan. Jika perintah atau query di atas berhasil.

-8388608 s/d 8388607 SIGNED 0 s/d 16777215 UNSIGNED -2147483648 s/d 2147483647 SIGNED 0 s/d 4294967295 UNSIGNED. Mengubah dan Menghapus Table Membuat Table Bentuk umum SQL untuk membuat suatu table secara sederhana sebagai berikut : CREATE TABLE nama_tabel ( field1 tipe(panjang). Penamaan tabel dan field memiliki aturan yang sama dengan penamaan database.com) 101 .. Bilangan pecahan presisi tunggal Bilangan pecahan presisi ganda Bilangan dengan desimal Tanggal dengan format YYYY-MM-DD Tanggal dan waktu dengan format : YYYY-MM-DD HH:MM:SS Tanggal dan waktu dengan format : YYYYMMDDHHMMSS Waktu dengan format HH:MM:SS Tahun dengan format YYYY 0 – 255 karakter 0 – 255 karakter String dengan panjang maksimum 255 karakter String dengan panjang maksimum 65535 karakter String dengan panjang maksimum 65535 Achmad Solichin (achmatim@gmail. . MySQL menyediakan berbagai tipe data dengan spesifikasi dan panjang masing-masing. -9223372036854775808 s/d 9223372036854775807 SIGNED 0 s/d 18446744073709551615 UNSIGNED.Pemrograman Web dengan PHP dan MySQL DROP DATABASE mahasiswa. field2 tipe(panjang). PRIMARY KEY (field_key) ).. Bentuk umum di atas merupakan bentuk umum pembuatan tabel yang sudah disederhanakan. fieldn tipe(panjang). Tipe data untuk field dalam MySQL diantaranya ditampilkan pada tabel berikut ini : JENIS TIPE NUMERIK TIPE TINYINT SMALLINT MEDIUMINT INT BIGINT FLOAT DOUBLE DECIMAL DATE/TIME DATE DATETIME TIMESTAMP TIME YEAR STRING CHAR VARCHAR TINYTEXT TEXT BLOB KETERANGAN -128 s/d 127 SIGNED 0 s/d 255 UNSIGNED -32768 s/d 32767 SIGNED 0 s/d 65535 UNSIGNED. Membuat.

Jangan lupa akhiri perintah dengan titik-koma (. ketikkan perintah berikut ini : Achmad Solichin (achmatim@gmail. nama varchar(30) NOT NULL. Jika query untuk membuat tabel di atas berhasil dijalankan. alamat text. 0 rows affected (0. PRIMARY KEY merupakan perintah untuk menentukan field mana yang akan dijadikan primary key pada tabel. tgllahir dan alamat merupakan nama field Varchar.Pemrograman Web dengan PHP dan MySQL MEDIUMTEXT MEDIUMBLOB LONGTEXT LONGBLOB KHUSUS ENUM SET karakter String dengan panjang 16777215 karakter String dengan panjang 16777215 karakter String dengan panjang 4294967295 karakter String dengan panjang 4294967295 karakter maksimum maksimum maksimum maksimum Tipe data dengan isi tertentu Tipe data dengan isi tertentu Sebagai contoh.16 sec) Pada perintah di atas.) Selanjutnya untuk melihat tabel mhs sudah benar-benar sudah ada atau belum. tgllahir date. 10 dan 30 di belakang tipe data merupakan panjang maksimal dari suatu field Untuk tipe data date dan text (dan beberapa tipe data lainnya) panjang karakter maksimalnya tidak perlu ditentukan. nama. mhs merupakan nama tabel yang akan dibuat. maka akan ditampilkan pesan sebagai berikut : Query OK. PRIMARY KEY(nim) ). query atau perintah SQL-nya adalah sebagai berikut : CREATE TABLE mhs ( nim varchar(10) NOT NULL. beberapa hal yang perlu diperhatikan : CREATE TABLE merupakan perintah dasar dari pembuatan table. date dan text merupakan tipe data dari field NOT NULL merupakan option untuk menyatakan bahwa suatu field tidak boleh kosong. Nim.com) 102 . kita akan membuat tabel baru dengan struktur sebagai berikut : Nama tabel : mhs No Nama Field 1 nim 2 nama 3 tgllahir 4 alamat Tipe Varchar Varchar Date Text Panjang 10 30 - Untuk membuat tabel tersebut di atas.

bentuk umum perintah SQL-nya sebagai berikut : ALTER TABLE nama_tabel alter_options. DESC merupakan singkatan dari DESCRIBE (dalam query bisa ditulis lengkap atau hanya 4 karakter pertama) dan mhs adalah nama tabel yang akan dilihat strukturnya. beberapa di antaranya sebagai berikut : » ADD definisi_field_baru » ADD INDEX nama_index Option ini digunakan untuk menambahkan field “definisi_field_baru” (nama field.00 sec) Dari struktur tabel mhs yang ditampilkan di atas. nama_tabel merupakan nama tabel yang akan diubah strukturnya. alter_options merupakan pilihan perubahan tabel. baru dengan Achmad Solichin (achmatim@gmail.com) 103 . tipe dan option lain). dapat diketahui bahwa : Terdapat 4 (empat) field dengan tipe masing-masing. Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu database. Dari perintah di atas. Untuk field nim dan nama defaultnya tidak boleh kosong.01 sec) Untuk melihat struktur tabel “mhs” secara lebih detail. Lihat kolom Key pada field nim.Pemrograman Web dengan PHP dan MySQL SHOW TABLES. Option yang bisa digunakan. dimana : ALTER TABLE merupakan perintah dasar untuk mengubah tabel. cobalah perintah atau query sebagai berikut : DESC mhs. Primary Key dari tabel mhs adalah nim. Lihatlah kolom Null dan Default pada field tgllahir dan alamat. akan ditampilkan struktur tabel mhs sebagai berikut : +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | nim | varchar(10) | | PRI | | | | nama | varchar(30) | | | | | | tgllahir | date | YES | | NULL | | | alamat | text | YES | | NULL | | +----------+-------------+------+-----+---------+-------+ 4 rows in set (0. Contoh hasil dari perintah di atas adalah sebagai berikut : +---------------------+ | Tables_in_mahasiswa | +---------------------+ | mhs | +---------------------+ 1 rows in set (0. Lihatlah kolom Null dan Default pada field nim dan nama Untuk field tgllahir dan alamat defaultnya boleh kosong. Mengubah Struktur Table dengan ALTER Untuk mengubah struktur suatu tabel.

Menambahkan primary key pada suatu tabel ALTER TABLE mhs ADD PRIMARY KEY(nim). Menambahkan field “agama” ke tabel mhs ALTER TABLE mhs ADD agama varchar(15) NOT NULL. dapat menggunakan perintah SQL sbb : RENAME TABLE mhs TO mahasiswa. Menghapus field agama dari tabel mhs ALTER TABLE mhs DROP agama. Contohnya kita akan menghapus tabel dengan nama “mahasiswa” maka perintah SQL-nya adalah : DROP TABLE mahasiswa. 4.Pemrograman Web dengan PHP dan MySQL Option ini digunakan untuk “nama_index” pada tabel. menambahkan index dengan nama » ADD PRIMARY KEY (field_kunci) Option untuk menambahkan primary key pada tabel Option untuk mengubah field_yang_diubah menjadi definisi_field_baru Option untuk mengubah suatu field menjadi definisi_field Option untuk menghapus field nama_field Option untuk mengganti nama tabel » CHANGE field_yang_diubah definisi_field_baru » MODIFY definisi_field » DROP nama_field » RENAME TO nama_tabel_baru Beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu tabel antara lain : 1. 3. 2. Achmad Solichin (achmatim@gmail. Mengubah tipe field agama menjadi char(2) dalam tabel mhs ALTER TABLE mhs MODIFY agama char(2) NOT NULL.com) 104 . Menghapus Tabel Untuk menghapus sebuah tabel. ALTER TABLE mhs RENAME TO mahasiswa. Mengubah panjang field agama menjadi 10 karakter dalam tabel mhs ALTER TABLE mhs CHANGE agama agama varchar(10). bentuk umum dari perintah SQL adalah sebagai berikut : DROP TABLE nama_tabel. 5. Perintah di atas akan mengubah tabel mhs menjadi mahasiswa. Mengubah Nama Tabel Untuk mengubah nama suatu tabel.

. Jika perintah SQL di atas berhasil dieksekusi maka akan ditampilkan pesan sebagai berikut : Query OK. kita akan menambahkan sebuah record ke dalam tabel mhs yang telah kita buat sebelumnya. atau dapat juga dengan bentuk sebagai berikut : INSERT INTO nama_tabel SET field1=’nilai1’.... maka record atau data dalam tabel mhs akan bertambah..field2.) VALUES (‘nilai1’. Dan berikut ini hasil dari perintah SQL di atas : +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | +------------+-----------------+------------+-----------------+ 1 row in set (0.'Achmad Solichin'.)..’nilai2’...19 sec) Latihan Tambahkan 10 data (record) baru ke tabel mhs sehingga isi tabel mhs menjadi sebagai berikut ! +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | | 0411500123 | Chotimatul M | 1983-03-12 | Jakarta Selatan | | 0422500111 | Bajuri | 1983-03-25 | Tangerang | | 0444500011 | Oneng | 1980-05-22 | Jakarta Utara | | 0433500115 | Unyil | 1980-08-29 | Tangerang | Achmad Solichin (achmatim@gmail. Sebagai contoh...)..’nilai2’. 1 row affected (0...'Jakarta Selatan'). atau dapat dengan bentuk sebagai berikut : INSERT INTO nama_tabel(field1. Jalankan perintah berikut ini untuk melihat isi tabel mhs ! SELECT * FROM mhs. field2=’nilai2’.Pemrograman Web dengan PHP dan MySQL Menambah Record dengan INSERT Bentuk umum perintah SQL untuk menambahkan record atau data ke dalam suatu tabel adalah sebagai berikut : INSERT INTO nama_tabel VALUES (‘nilai1’.com) 105 .00 sec) Setelah perintah SQL di atas berhasil dieksekusi. '1982-06-05'. Berikut ini perintah SQL untuk menambahkan sebuah record ke dalam tabel mhs : INSERT INTO mhs VALUES ('0411500121'.

Mengubah alamat menjadi “Tangerang” untuk mahasiswa yang mempunyai nim 0411500121 UPDATE merupakan perintah dasar untuk mengubah record tabel.Pemrograman Web dengan PHP dan MySQL | 0411500116 | Ujang | 1984-10-06 | Jakarta Barat | | 0422500316 | Jebleh | 1984-10-06 | Cengkareng | | 0433500333 | Dono | 1984-10-06 | Jakarta Selatan | | 0422500433 | Dini | 1986-12-10 | Jakarta Selatan | | 0411500331 | Dana | 1986-07-11 | Jakarta Selatan | | 0444500315 | Dani | 1985-01-01 | Jakarta Barat | +------------+-----------------+------------+-----------------+ Mengedit Record dengan UPDATE Proses update bisa sewaktu-waktu dilakukan jika terdapat data atau record dalam suatu tabel yang perlu diperbaiki. Perintah WHERE ini boleh ada boleh juga tidak.) untuk memisahkan masingmasing field.com) 106 . alamat='Jakarta Selatan' WHERE nim='0422500316'. Perhatikan beberapa contoh perintah UPDATE tabel mhs berikut ini ! 1. Achmad Solichin (achmatim@gmail. Perintah SET diikuti dengan field-field yang akan diubah yang mana diikuti UPDATE mhs SET alamat='Tangerang' WHERE nim='0411500121'.27 sec) Rows matched: 1 Changed: 1 Warnings: 0 2. Perintah WHERE diikuti oleh kondisi tertentu yang menentukan record mana yang akan diedit (diubah). Untuk mengubah nilai dari beberapa field sekaligus. tetapi memperbaiki data yang lama. Dan jika query di atas berhasil dieksekusi maka akan ditampilkan hasil sebagai berikut : Query OK. Jika WHERE tidak ditambahkan pada perintah update maka semua record dalam tabel bersangkutan akan berubah. artinya setelah perintah dijalankan tidak dapat di-cancel (undo). Pada perintah untuk update di atas : juga dengan perubahan isi dari masing-masing field. Perubahan yang terjadi dalam proses update bersifat permanen. Bentuk umum perintah SQL untuk mengedit suatu record atau data dari suatu tabel adalah sebagai berikut : UPDATE nama_tabel SET field1=’nilaibaru’ [WHERE kondisi]. nama_tabel merupakan nama tabel yang akan diubah recordnya. gunakan koma (. 1 row affected (0. Mengubah tanggal lahir menjadi “12 Maret 1983” dan alamat menjadi “Bandung” untuk mahasiswa yang mempunyai nim 0422500316 UPDATE mhs SET tgllahir='1982-06-05'. Proses update ini tidak menambahkan data (record) baru.

Namun demikian. DELETE FROM merupakan perintah dasar untuk menghapus suatu record nama_tabel merupakan nama tabel yang akan dihapus recordnya. Dengan SELECT kita bisa mengatur tampilan atau keluaran sesuai tampilan yang diinginkan. Bentuk dasar perintah SELECT data dari tabel adalah sebagai berikut : SELECT [field | *] FROM nama_tabel [WHERE kondisi]. Perintah WHERE ini boleh ada boleh juga tidak. Menampilkan Record dengan SELECT Perintah SELECT digunakan untuk menampilkan sesuatu. Perintah WHERE diikuti oleh kondisi tertentu yang menentukan record mana yang akan dihapus (didelete). Pada perintah untuk delete di atas : dari tabel.11 sec) 2. 1 row affected (0. Sesuatu di sini bisa berupa sejumlah data dari tabel dan bisa juga berupa suatu ekspresi. Perubahan yang terjadi dalam proses delete bersifat permanen. Menampilkan seluruh data atau record (*) dari tabel mhs SELECT * FROM mhs. Menghapus semua mahasiswa yang beralamat di “Bandung” DELETE FROM mhs WHERE alamat='Bandung'.Pemrograman Web dengan PHP dan MySQL Menghapus Record dengan DELETE Proses delete dilakukan jika terdapat data atau record dalam suatu tabel yang perlu dihapus atau dihilangkan.com) 107 . Jadi jangan lupa menambahkan WHERE jika kita tidak bermaksud mengosongkan tabel Perhatikan beberapa contoh perintah DELETE dari tabel mhs berikut ini ! 1. Perhatikan beberapa contoh perintah SELECT dari tabel mhs berikut ini ! 1. Achmad Solichin (achmatim@gmail. Jadi berhati-hatilah dengan perintah delete ! Bentuk umum perintah SQL untuk menghapus suatu record atau data dari tabel adalah sebagai berikut : DELETE FROM nama_tabel [WHERE kondisi]. Dan jika query di atas berhasil dieksekusi maka akan ditampilkan hasil sebagai berikut : Query OK. jika WHERE tidak ditambahkan pada perintah delete maka semua record dalam tabel bersangkutan akan terhapus. artinya setelah perintah dijalankan tidak dapat di-cancel (undo). Menghapus data mahasiswa yang mempunyai nim 0411500331 DELETE FROM mhs WHERE nim='0411500331'.

Jika query di atas berhasil dieksekusi maka akan ditampilkan hasil sebagai berikut : +------------+-----------------+ | nim | nama | +------------+-----------------+ | 0411500121 | Achmad Solichin | | 0411500123 | Chotimatul M | | 0422500111 | Bajuri | | 0444500011 | Oneng | | 0433500115 | Unyil | | 0411500116 | Ujang | | 0422500316 | Jebleh | | 0433500333 | Dono | | 0422500433 | Dini | | 0444500315 | Dani | +------------+-----------------+ 10 rows in set (0. Menampilkan field nim dan nama dari seluruh mahasiswa dalam tabel mhs SELECT nim.11 sec) 3.Pemrograman Web dengan PHP dan MySQL Dan jika query di atas berhasil dieksekusi maka akan ditampilkan hasil sebagai berikut : +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | | 0411500123 | Chotimatul M | 1983-03-12 | Jakarta Selatan | | 0422500111 | Bajuri | 1983-03-25 | Tangerang | | 0444500011 | Oneng | 1980-05-22 | Jakarta Utara | | 0433500115 | Unyil | 1980-08-29 | Tangerang | | 0411500116 | Ujang | 1984-10-06 | Jakarta Barat | | 0422500316 | Jebleh | 1982-06-05 | Jakarta Selatan | | 0433500333 | Dono | 1984-10-06 | Jakarta Selatan | | 0422500433 | Dini | 1986-12-10 | Jakarta Selatan | | 0444500315 | Dani | 1985-01-01 | Jakarta Barat | +------------+-----------------+------------+-----------------+ 10 rows in set (0. Menampilkan data semua mahasiswa yang beralamat di luar Jakarta Selatan Achmad Solichin (achmatim@gmail.06 sec) 4.25 sec) 2. nama FROM mhs. Menampilkan data mahasiswa yang mempunyai nim 0411500123 SELECT * FROM mhs WHERE nim = '0411500123'. Hasil query di atas adalah sbb : +------------+--------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+--------------+------------+-----------------+ | 0411500123 | Chotimatul M | 1983-03-12 | Jakarta Selatan | +------------+--------------+------------+-----------------+ 1 row in set (0.com) 108 .

00 sec) Berikut ini operator penghubung yang dapat digunakan untuk menghubungkan antara dua kondisi dalam MySQL : Operator && atau AND. akan menghubungkan dua kondisi dimana akan bernilai TRUE jika salah satu atau kedua kondisi bernilai TRUE. akan bernilai TRUE jika nilai yang pertama lebih besar atau sama dengan nilai kedua. akan menghubungkan dua kondisi dimana akan bernilai TRUE jika kedua kondisi bernilai TRUE.com) 109 . akan bernilai TRUE jika nilai yang pertama lebih besar dari nilai kedua. Operator !. SELECT * FROM mhs WHERE alamat = 'Jakarta Selatan' && YEAR(tgllahir) = '1982'. Hasil query di atas adalah sbb : +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | | 0422500316 | Jebleh | 1982-06-05 | Jakarta Selatan | +------------+-----------------+------------+-----------------+ 2 rows in set (0. Operator >=. akan me-reverse nilai suatu kondisi logika. Operator <. akan bernilai TRUE jika nilai yang pertama lebih kecil atau sama dengan nilai kedua. 5. akan bernilai TRUE jika nilai yang dibandingkan sama. Selain fungsi YEAR. Operator != atau <>. akan bernilai TRUE jika nilai yang pertama lebih kecil dari nilai kedua. fungsi DAY yang akan menghasilkan Achmad Solichin (achmatim@gmail.Pemrograman Web dengan PHP dan MySQL SELECT * FROM mhs WHERE alamat != 'Jakarta Selatan'.02 sec) Berikut ini operator perbandingan yang dapat digunakan untuk membandingkan dua buah nilai dalam MySQL : Operator =. Keterangan Fungsi YEAR pada query di atas akan menghasilkan nilai TAHUN dari suatu tanggal. akan bernilai TRUE jika nilai yang dibandingkan TIDAK SAMA (berbeda). Operator >. Hasil query di atas adalah sbb : +------------+--------+------------+---------------+ | nim | nama | tgllahir | alamat | +------------+--------+------------+---------------+ | 0422500111 | Bajuri | 1983-03-25 | Tangerang | | 0444500011 | Oneng | 1980-05-22 | Jakarta Utara | | 0433500115 | Unyil | 1980-08-29 | Tangerang | | 0411500116 | Ujang | 1984-10-06 | Jakarta Barat | | 0444500315 | Dani | 1985-01-01 | Jakarta Barat | +------------+--------+------------+---------------+ 5 rows in set (0. Operator <=. Menampilkan data semua mahasiswa yang beralamat di Jakarta Selatan dan lahir pada tahun 1982. Operator || atau OR. juga terdapat fungsi MONTH yang akan menghasilkan nama BULAN dari tanggal.

Untuk mengaliaskan gunakan perintah AS yang diikuti nama alias. dan masih banyak fungsi lain yang berhubungan dengan tanggal. SELECT nim.3.Pemrograman Web dengan PHP dan MySQL hari dari suatu tanggal. panjang) 8. awal. Hasil query di atas adalah sbb : +------------+-----------------+------+ | nim | nama | umur | +------------+-----------------+------+ | 0411500121 | Achmad Solichin | 24 | | 0411500123 | Chotimatul M | 23 | | 0422500111 | Bajuri | 23 | | 0444500011 | Oneng | 26 | | 0433500115 | Unyil | 26 | | 0411500116 | Ujang | 22 | | 0422500316 | Jebleh | 24 | | 0433500333 | Dono | 22 | | 0422500433 | Dini | 20 | | 0444500315 | Dani | 21 | +------------+-----------------+------+ 10 rows in set (0.2)='11'.19 sec) Keterangan Pada query di atas terdapat fungsi SUBSTRING yang berguna untuk memotong suatu string. Menampilkan semua data mahasiswa secara urut berdasarkan nama dengan perintah ORDER BY SELECT * FROM mhs ORDER BY nama. 7. YEAR(now())-YEAR(tgllahir) AS umur FROM mhs. Hasil query di atas adalah sbb : +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | | 0411500123 | Chotimatul M | 1983-03-12 | Jakarta Selatan | | 0411500116 | Ujang | 1984-10-06 | Jakarta Barat | +------------+-----------------+------------+-----------------+ 3 rows in set (0. 6. nama. Menampilkan semua mahasiswa jurusan TI SELECT * FROM mhs WHERE SUBSTRING(nim. Selanjutnya fungsi now() akan me-return tanggal dan waktu sistem saat query dieksekusi. nama dan umur dari semua mahasiswa. Format fungsi SUBSTRING adalah sebagai berikut : SUBSTRING(field. Proses perhitungan umur dialiaskan dengan nama ‘umur’. Achmad Solichin (achmatim@gmail. Menampilkan nim.05 sec) Keterangan Pada query di atas terdapat fungsi YEAR yang akan mengambil tahun dari suatu tanggal.com) 110 .

Pemrograman Web dengan PHP dan MySQL Hasil query di atas adalah sbb : +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | | 0422500111 | Bajuri | 1983-03-25 | Tangerang | | 0411500123 | Chotimatul M | 1983-03-12 | Jakarta Selatan | | 0444500315 | Dani | 1985-01-01 | Jakarta Barat | | 0422500433 | Dini | 1986-12-10 | Jakarta Selatan | | 0433500333 | Dono | 1984-10-06 | Jakarta Selatan | | 0422500316 | Jebleh | 1982-06-05 | Jakarta Selatan | | 0444500011 | Oneng | 1980-05-22 | Jakarta Utara | | 0411500116 | Ujang | 1984-10-06 | Jakarta Barat | | 0433500115 | Unyil | 1980-08-29 | Tangerang | +------------+-----------------+------------+-----------------+ 10 rows in set (0. Menampilkan 5 record (data) pertama dari tabel mhs secara urut berdasarkan nim dengan LIMIT SELECT * FROM mhs ORDER BY nim LIMIT 0. Hasil query di atas adalah sbb : +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0411500116 | Ujang | 1984-10-06 | Jakarta Barat | | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | | 0411500123 | Chotimatul M | 1983-03-12 | Jakarta Selatan | | 0422500111 | Bajuri | 1983-03-25 | Tangerang | | 0422500316 | Jebleh | 1982-06-05 | Jakarta Selatan | +------------+-----------------+------------+-----------------+ 5 rows in set (0.01 sec) 9.5. Hasil query di atas adalah sbb : +------------+-----------------+------------+-----------------+ | nim | nama | tgllahir | alamat | +------------+-----------------+------------+-----------------+ | 0444500315 | Dani | 1985-01-01 | Jakarta Barat | | 0444500011 | Oneng | 1980-05-22 | Jakarta Utara | | 0433500333 | Dono | 1984-10-06 | Jakarta Selatan | | 0433500115 | Unyil | 1980-08-29 | Tangerang | | 0422500433 | Dini | 1986-12-10 | Jakarta Selatan | | 0422500316 | Jebleh | 1982-06-05 | Jakarta Selatan | | 0422500111 | Bajuri | 1983-03-25 | Tangerang | | 0411500123 | Chotimatul M | 1983-03-12 | Jakarta Selatan | | 0411500121 | Achmad Solichin | 1982-06-05 | Jakarta Selatan | | 0411500116 | Ujang | 1984-10-06 | Jakarta Barat | +------------+-----------------+------------+-----------------+ 10 rows in set (0.00 sec) 10.13 sec) Achmad Solichin (achmatim@gmail. Menampilkan semua data mahasiswa secara urut berdasarkan nim secara DESCENDING SELECT * FROM mhs ORDER BY nim DESC.com) 111 .

LIMIT banyak digunakan untuk menampilkan data yang relatif banyak.com) 112 . jumlah_record Achmad Solichin (achmatim@gmail. Format fungsi LIMIT adalah sebagai berikut : LIMIT awal.Pemrograman Web dengan PHP dan MySQL Keterangan Pada query di atas bentuk LIMIT digunakan untuk membatasi hasil tampilan.

tanggal datetime NOT NULL default '0000-00-00 00:00:00'. ) TYPE=MyISAM. pengirim varchar(15) NOT NULL default ''. Auto Increment Foreign Key Judul berita Berita singkat Berita lengkap Pengirim berita Tanggal dan waktu kirim berita Tabel “kategori” Nama Field Tipe id_kategori Int nm_kategori Varchar deskripsi Varchar Panjang 3 30 200 Keterangan Primary Key. PRIMARY KEY (id_kategori). Auto Increment Nama kategori Deskripsi kategori Berikut ini perintah (SQL) untuk membuat tabel “berita” CREATE TABLE berita ( id_berita int(5) unsigned NOT NULL auto_increment. PRIMARY KEY (id_berita) ) TYPE=MyISAM. struktur tabel dapat dibuat dengan spesifikasi sebagai berikut : Tabel “berita” Nama Field id_berita id_kategori judul headline isi pengirim tanggal Tipe Int Int Varchar Text Text Varchar Datetime Panjang 5 3 100 15 Keterangan Primary Key. nm_kategori varchar(30) NOT NULL default ''. Secara sederhana.Pemrograman Web dengan PHP dan MySQL Aplikasi Berita dengan PHP dan MySQL Merancang Struktur Database Membuat File Koneksi Database Membuat Halaman Input Berita Menampilkan Berita Terbaru di Halaman Depan Menampilkan Berita Lengkap Membuat Halaman Arsip Berita Membuat Halaman Edit Berita Membuat Halaman Delete Berita CSS sebagai Pemanis Tampilan Bab 13 Merancang Struktur Database Untuk membuat aplikasi berita secara sederhana. langkah pertama adalah merancang tabel-tabel database yang diperlukan. Berikut ini perintah (SQL) untuk membuat tabel “kategori” CREATE TABLE kategori ( id_kategori int(3) unsigned NOT NULL auto_increment.com) 113 . judul varchar(100) NOT NULL default ''. isi text NOT NULL. Catatan : Isikan sejumlah data ke tabel kategori langsung di database Achmad Solichin (achmatim@gmail. id_kategori int(3) unsigned NOT NULL default '0'. deskripsi varchar(200) NOT NULL default ''. headline text NOT NULL.

$pengirim = addslashes (strip_tags ($_POST['pengirim'])).css"> </head> <body> <a href="index. <?php include "koneksi.'$judul'.'$isi_berita'. "pw2". $user. //insert ke tabel $query = "INSERT INTO berita VALUES(''. "root".php".'$pengirim'. if (!$buka) { die ("Database tidak dapat dibuka"). $conn = mysql_connect ($host. } else { echo "<h2><font color=red>Berita gagal ditambahkan</font></h2>". $kategori = $_POST['kategori']. } ?> Membuat Halaman Input Berita Program 2 Nama File Deskripsi 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 : input_berita.'$headline'.php : Program koneksi ke database. "localhost". $isi_berita = addslashes (strip_tags ($_POST['isi'])). //proses input berita if (isset($_POST['Input'])) { $judul = addslashes (strip_tags ($_POST['judul'])). if ($conn) { $buka = mysql_select_db ($dbnm). $pass).php">Arsip Berita</a> | <a href="input_berita.php">Input Berita</a> <br><br> Achmad Solichin (achmatim@gmail.'$kategori'. "".php : Program input berita.php">Halaman Depan</a> | <a href="arsip_berita. $sql = mysql_query ($query).Pemrograman Web dengan PHP dan MySQL Membuat File Koneksi Database Program 1 Nama File Deskripsi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php $host $user $pass $dbnm = = = = : koneksi. } } ?> <html> <head><title>Input Berita</title> <link rel="stylesheet" href="style. } } else { die ("Server MySQL tidak terhubung"). $headline = addslashes (strip_tags ($_POST['headline'])). now())".com) 114 . if ($sql) { echo "<h2><font color=blue>Berita telah berhasil ditambahkan</font></h2>".

Pemrograman Web dengan PHP dan MySQL

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

<FORM ACTION="" METHOD="POST" NAME="input"> <table cellpadding="0" cellspacing="0" border="0" width="700"> <tr> <td colspan="2"><h2>Input Berita</h2></td> </tr> <tr> <td width="200">Judul Berita</td> <td>: <input type="text" name="judul" size="30"></td> </tr> <tr> <td>Kategori</td> <td>: <select name="kategori"> <? $query = "SELECT id_kategori, nm_kategori FROM kategori ORDER BY nm_kategori"; $sql = mysql_query ($query); while ($hasil = mysql_fetch_array ($sql)) { echo "<option value='$hasil[id_kategori]'>$hasil[nm_kategori]</option>"; } ?> </select></td> </tr> <tr> <td>Headline Berita</td> <td>: <textarea name="headline" cols="50" rows="4"> </textarea></td> </tr> <tr> <td>Isi Berita</td> <td>: <textarea name="isi" cols="50" rows="10"> </textarea></td> </tr> <tr> <td>Pengirim</td> <td>: <input type="text" name="pengirim" size="20"> </td> </tr> <tr> <td>&nbsp;</td> <td>&nbsp;&nbsp;<input type="submit" name="Input" value="Input Berita">&nbsp; <input type="reset" name="reset" value="Cancel"> </td> </tr> </table> </FORM> </body> </html>

Menampilkan Berita Terbaru di Halaman Depan
Program 3 Nama File Deskripsi 1 2 3 4 5 6 : index.php : Program menampilkan 5 berita terbaru di halaman depan.

<?php include "koneksi.php"; ?> <html> <head><title>Index Berita</title>

Achmad Solichin (achmatim@gmail.com)

115

Pemrograman Web dengan PHP dan MySQL

7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

<link rel="stylesheet" href="style.css"> </head> <body> <a href="index.php">Halaman Depan</a> | <a href="arsip_berita.php">Arsip Berita</a> | <a href="input_berita.php">Input Berita</a> <br><br> <h2>Halaman Depan ~ Lima Berita Terbaru</h2> <? $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.headline, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori ORDER BY A.id_berita DESC LIMIT 0,5"; $sql = mysql_query ($query); while ($hasil = mysql_fetch_array ($sql)) { $id_berita = $hasil['id_berita']; $kategori = stripslashes ($hasil['nm_kategori']); $judul = stripslashes ($hasil['judul']); $headline = nl2br(stripslashes ($hasil['headline'])); $pengirim = stripslashes ($hasil['pengirim']); $tanggal = stripslashes ($hasil['tanggal']); // //tampilkan berita echo "<font size=4><a href='berita_lengkap.php?id=$id_berita'>$judul</a></font><br>"; echo "<small>Berita dikirimkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b></small>"; echo "<p>$headline</p>"; echo "<hr>"; } ?> </body> </html>

Menampilkan Berita Lengkap
Program 4 Nama File Deskripsi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 : berita_lengkap.php : Program menampilkan berita secara lengkap.

<?php include "koneksi.php"; if (isset($_GET['id'])) { $id_berita = $_GET['id']; } else { die ("Error. No Id Selected! "); } ?> <html> <head><title>Berita Lengkap</title> <link rel="stylesheet" href="style.css"> </head> <body> <a href="index.php">Halaman Depan</a> | <a href="arsip_berita.php">Arsip Berita</a> | <a href="input_berita.php">Input Berita</a> <br><br> <h2>Berita Lengkap</h2> <? $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.isi, A.pengirim, A.tanggal FROM berita A, kategori B WHERE

Achmad Solichin (achmatim@gmail.com)

116

Pemrograman Web dengan PHP dan MySQL

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

A.id_kategori=B.id_kategori && A.id_berita='$id_berita'"; $sql = mysql_query ($query); $hasil = mysql_fetch_array ($sql); $id_berita = $hasil['id_berita']; $kategori = stripslashes ($hasil['nm_kategori']); $judul = stripslashes ($hasil['judul']); $isi = nl2br(stripslashes ($hasil['isi'])); $pengirim = stripslashes ($hasil['pengirim']); $tanggal = stripslashes ($hasil['tanggal']); // //tampilkan berita echo "<font size=5 color=blue>$judul</font><br>"; echo "<small>Berita dikirimkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b></small>"; echo "<p>$isi</p>"; ?> </body> </html>

Membuat Halaman Arsip Berita
Program 5 Nama File Deskripsi 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 37 : arsip_berita.php : Program arsip keseluruhan berita.

<?php include "koneksi.php"; ?> <html> <head><title>Arsip Berita</title> <link rel="stylesheet" href="style.css"> <script language="javascript"> function tanya() { if (confirm ("Apakah Anda yakin akan menghapus berita ini ?")) { return true; } else { return false; } } </script> </head> <body> <a href="index.php">Halaman Depan</a> | <a href="arsip_berita.php">Arsip Berita</a> | <a href="input_berita.php">Input Berita</a> <br><br> <h2>Arsip Berita</h2> <ol> <? $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori ORDER BY A.id_berita DESC"; $sql = mysql_query ($query); while ($hasil = mysql_fetch_array ($sql)) { $id_berita = $hasil['id_berita']; $kategori = stripslashes ($hasil['nm_kategori']); $judul = stripslashes ($hasil['judul']); $pengirim = stripslashes ($hasil['pengirim']); $tanggal = stripslashes ($hasil['tanggal']); //

Achmad Solichin (achmatim@gmail.com)

117

$judul = stripslashes ($hasil['judul']).php?id=$id_berita'>$judul</a><br>".com) 118 .headline='$headline'. headline.pengirim='$pengirim' WHERE id_berita='$id_berita'". pengirim. $isi_berita = addslashes (strip_tags ($_POST['isi'])). $id_kategori = stripslashes ($hasil['id_kategori']). $sql = mysql_query ($query). $kategori = $_POST['kategori']. //proses edit berita if (isset($_POST['Edit'])) { $id_berita = $_POST['hidberita']. tanggal FROM berita WHERE id_berita='$id_berita'". $hasil = mysql_fetch_array ($sql). $pengirim = addslashes (strip_tags ($_POST['pengirim'])). if ($sql) { echo "<h2><font color=blue>Berita telah berhasil diedit</font></h2>". //update berita $query = "UPDATE berita SET id_kategori='$kategori'. isi='$isi_berita'.php?id=$id_berita' onClick='return tanya()'>Delete</a>". } else { die ("Error. <?php include "koneksi. } ?> </ol> </body> </html> Membuat Halaman Edit Berita Program 6 Nama File Deskripsi 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 37 38 : edit_berita.Pemrograman Web dengan PHP dan MySQL 38 39 40 41 42 43 44 45 46 47 48 49 50 51 //tampilkan arsip berita echo "<li><a href='berita_lengkap. id_kategori. echo "<small>Berita dikirimkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b><br>". if (isset($_GET['id'])) { $id_berita = $_GET['id']. $tanggal = stripslashes ($hasil['tanggal']). $headline = addslashes (strip_tags ($_POST['headline'])). $sql = mysql_query ($query).php". $judul = addslashes (strip_tags ($_POST['judul'])). $headline = stripslashes ($hasil['headline']). echo "<a href='delete_berita. isi. $pengirim = stripslashes ($hasil['pengirim']). echo "</small></li><br><br>". Achmad Solichin (achmatim@gmail. No Id Selected! ").php?id=$id_berita'>Edit</a> | ".judul='$judul'. $id_berita = $hasil['id_berita']. echo "<b>Action : </b><a href='edit_berita. } else { echo "<h2><font color=red>Berita gagal diedit</font></h2>".php : Program edit berita. } $query = "SELECT id_berita. $isi = stripslashes ($hasil['isi']). judul.

nm_kategori FROM kategori ORDER BY nm_kategori".php">Halaman Depan</a> | <a href="arsip_berita. echo "<option value='$hasil[id_kategori]' $selected>$hasil[nm_kategori]</option>".css"> </head> <body> <a href="index. $sql = mysql_query ($query).</td> <td>&nbsp.Pemrograman Web dengan PHP dan MySQL 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 } } ?> <html> <head><title>Edit Berita</title> <link rel="stylesheet" href="style. <input type="hidden" name="hidberita" value="<?=$id_berita?>"> <input type="submit" name="Edit" value="Edit Berita">&nbsp.com) 119 .php">Arsip Berita</a> | <a href="input_berita.&nbsp. <input type="reset" name="reset" value="Cancel"></td> </tr> </table> </FORM> Achmad Solichin (achmatim@gmail.php">Input Berita</a> <br><br> <FORM ACTION="" METHOD="POST" NAME="input"> <table cellpadding="0" cellspacing="0" border="0" width="700"> <tr> <td colspan="2"><h2>Input Berita</h2></td> </tr> <tr> <td width="200">Judul Berita</td> <td>: <input type="text" name="judul" size="30" value="<? echo $judul ?>"></td> </tr> <tr> <td>Kategori</td> <td>: <select name="kategori"> <? $query = "SELECT id_kategori. } ?> </select></td> </tr> <tr> <td>Headline Berita</td> <td>: <textarea name="headline" cols="50" rows="4"><?=$headline?></textarea></td> </tr> <tr> <td>Isi Berita</td> <td>: <textarea name="isi" cols="50" rows="10"><?=$isi?></textarea></td> </tr> <tr> <td>Pengirim</td> <td>: <input type="text" name="pengirim" size="20" value="<?=$pengirim?>"></td> </tr> <tr> <td>&nbsp. while ($hasil = mysql_fetch_array ($sql)) { $selected = ($hasil['id_kategori']== $id_kategori) ? "selected" : "".

com) 120 . body { font-family:verdana.php". } else { echo "<h2><font color=red>Berita gagal dihapus</font></h2>". <?php include "koneksi.Pemrograman Web dengan PHP dan MySQL 95 96 </body> </html> Membuat Halaman Delete Berita Program 7 Nama File Deskripsi 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 : delete_berita. } a { color:#0000ff.php">Arsip Berita</a> | <a href="input_berita. } echo "Klik <a href='arsip_berita. if ($sql) { echo "<h2><font color=blue>Berita telah berhasil dihapus</font></h2>".php">Halaman Depan</a> | <a href="arsip_berita.css"> </head> <body> <a href="index. font-size:11px.css : File CSS sebagai pemanis tampilan. } ?> </body> </html> CSS sebagai Pemanis Tampilan Program 8 Nama File Deskripsi 1 2 3 4 5 6 : style.php">Input Berita</a> <br><br> <? //proses delete berita if (!empty($id_berita) && $id_berita != "") { $query = "DELETE FROM berita WHERE id_berita='$id_berita'".php'>di sini</a> untuk kembali ke halaman arsip berita". } else { die ("Access Denied"). } ?> <html> <head><title>Delete Berita</title> <link rel="stylesheet" href="style. $sql = mysql_query ($query).php : Program untuk menghapus berita. if (isset($_GET['id'])) { $id_berita = $_GET['id']. Achmad Solichin (achmatim@gmail. } else { die ("Error. No Id Selected! ").

} a:hover { color:#ffffff.Pemrograman Web dengan PHP dan MySQL 7 8 9 10 11 12 13 14 15 16 text-decoration:underline. background-color:#8AC452.com) 121 . select. textarea. option { font-family:verdana. } input. text-decoration:none. } Achmad Solichin (achmatim@gmail.

Penulis memiliki situs utama di http://achmatim.com) 122 . Kegiatan sehari‐hari adalah sebagai Dosen di Universitas Budi Luhur (http://www.ac. web design. Achmad Solichin (achmatim@gmail. web developer. Penulis dapat dihubungi melalui email di achmatim@gmail. Saat ini sedang menempuh pendidikan S2 di Magister Teknologi Informasi Universitas Indonesia (2008). Fakultas Teknologi Informasi. Universitas Budi Luhur.ac.Pemrograman Web dengan PHP dan MySQL Tentang Penulis Achmad Solichin. Kegiatan lain aktif sebagai programmer.bl.id).id). 2005). database dan materi kuliah.net yang berisi berbagai tutorial praktis seputar pemrograman. Penulis juga terlibat dalam pengembangan E‐Learning di Universitas Budi Luhur. sekaligus sebagai Kepala Laboratorium Komputer Universitas Budi Luhur (http://labkom.bl. Adalah Lulusan Teknik Informatika. Jakarta (S1. system analyst dan memberikan pelatihan di berbagai bidang komputer serta membuat tutorial‐tutorial praktis di bidang komputer.com atau YM achmatim.

Sign up to vote on this title
UsefulNot useful