1. Pendahuluan PHP 1.1. Pendahuluan PHP dahulunya merupakan proyek pribadi dari Rasmus Lerdorf (dengan dikeluarkannya PHP versi 1) yang digunakan untuk membuat home page pribadinya. Versi pertama ini berupa kumpulan script PERL. Untuk versi keduanya, Rasmus menulis ulang script-script PERL tersebut menggunakan bahasa C, kemudian menambahkan fasilitas untuk Form HTML dan koneksi MySql. Adapun PHP didapat dari singkatan Personal Home Pages. Setelah mengalami perkembangan oleh suatu kelompok open source (termasuk Rasmus) maka mulai versi 3, PHP telah menampakkan keunggulannya sebagai salah satu bahasa server scripting yang handal. Melalui perkembangan yang pesat ini banyak fasilitas yang ditambahkan dan oleh kelompok ini PHP disebut sebagai "PHP: Hypertext Preprocessor". Sintak yang digunakan berasal dari bahasa C ,Java maupun Perl. Untuk release terbaru dari PHP dapat anda lihat pada web site http://www.PHP.net. PHP merupakan bahasa script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. Oleh karena itu, spesifikasi server lebih berpengaruh pada eksekusi dari script PHP daripada spesifikasi client. Namun tetap diperhatikan bahwa halaman web yang dihasilkan tentunya harus dapat dibuka oleh browser pada client. Dalam hal ini versi dari html yang digunakan harus didukung oleh browser client. 1.2. Spesifikasi Untuk dapat menjalankan script PHP pada web site kita, ada beberapa hal yang perlu kita tambahkannya. Pertama tentunya kita harus mempunyai sebuah web server yang mengatur atau memberikan tempat untuk mengeksekusi script PHP. Web server ini diinstall pada komputer server kita. Saat ini PHP dapat dijalankan pada berbagai macam web server seperti pws, iis, xitami maupun apache. Kemudian hal kedua yang perlu kita miliki adalah PHP parser. Apa itu PHP parser? PHP parser adalah program yang digunakan untuk menterjemahkan (interpreter) kode script dan kemudian mengeksekusinya. PHP parser dapat berupa program yang dijalankan pada suatu shell/DOS prompt yang biasanya berupa program yang telah terkompilasi yaitu PHP.exe. Selain itu PHP parser bisa juga berupa modul-modul yang di-load oleh web server. 1.3. Tag PHP PHP juga termasuk dalam HTML-embedded, artinya kode PHP dapat kita sisipkan pada sebuah halaman HTML. Untuk mengetahui bahwa baris-baris HTML merupakan suatu script PHP maka digunakan pasangan tag. Tag yang dapat digunakan untuk menyatakan script PHP adalah
• •
Tag kedua merupakan tag yang paling aman karena memberikan tanda yang lebih jelas dan pada umumnya dimengerti oleh web server. Contoh PHP yang merupakan HTML-embedded. File test.php Example
Letakkan file ini pada direktori htdocs anda kemudian jalankan web server. Buka alamat http://nama_host/test.php. Jika PHP ter-install dengan benar maka browser akan menampilkan kalimat "Hi, I’m a PHP script!". 1.4. Statement Sebuah statemen merupakan sebuah perintah yang diakhiri dengan tanda titik koma (;). Tanda tag penutup script PHP juga dapat sebagai penutup atau menyatakan akhir dari suatu statemen PHP. Contoh : Catatan PHP merupakan bahasa campuran case-sensitive dan case-insensitive, yaitu membedakan antara huruf besar dan huruf kecil. Case-sensitive berlaku untuk semua penulisan nama variable. Sedangkan penulisan sintak program dan nama fungsi bersifat case-insensitive. Penulisan variabel $bilangan dengan $BILANGAN menghasilkan dua variable yang berbeda. Sedangkan penulisan fungsi ECHO yang ditulis dengan huruf kecil semua atau gabungan huruf kecilhuruf besar akan menunjukkan nama fungsi yang sama. 1.5. Komentar Komentar merupakan bagian program yang tidak akan dieksekusi. Fungsi dari komentar ini adalah sebagai dokumentasi program atau berupa penjelasan dari program. PHP memberikan banyak pilihan untuk menuliskan komentar. Cara berikut dapat anda gunakan, yaitu :
ECHO "Kalimat ini tidak akan dicetak";
ECHO "Kalimat ini akan dicetak";// ini hanya merupakan komentar
?>
Penjelasan : Jika tanda /* … */ digunakan maka semua kode di dalam pasangan tanda ini akan diabaikan. Untuk tanda // maka kode setelah tanda ini pada baris yang sama dengan tanda ini akan diabaikan.
2.
Variabel Variabel digunakan untuk menyimpan data sementara, dan nilainya bisa berubah-ubah setiap kali program dijalankan. Dalam PHP, setiap variabel selalu dimulai dengan tanda “$” dan diikuti dengan nama variabelnya. Tidak memandang data tersebut apakah integer, real, maupun string, PHP akan secara otomatis mengkonversi data menurut tipenya. Dalam PHP variabel tidak harus dideklarasikan terlebih dahulu. Syarat penamaan variabel: Diawali dengan $ Bersifat case-sensitive Penamaan diawali dengan huruf atau garis bawah ‘_’ Contoh : $harga = 1500; $_jumlah = 20;
3. Operator 3.1. Aritmatika Operator yang digunakan untuk melakukan operasi matematika. Operato
Operasi
Contoh
*
Perkalian
$a*$b
/
Pembagian
$a/$b
%
Modulus
$a%$b
+
Penambahan
$a+$b
-
Pengurangan
$a-$b
r
3.2. Increment/Decrement Pre/Post increment dan decrement masing-masing adalah penambahan dan pengurangan satu. Jika diletakkan sebelum variabel, maka akan ditambahkan/dikurangkan dengan 1 sebelum keseluruhan operasi dalam ekspresi dikerjakan. Dan sebaliknya akan ditambahkan/dikurangkan dengan 1 setelah operasi dalam ekspresi dikerjakan. Operator
Operasi
Contoh
++
Pre/Post
++$a atau $b++
Increment --
Pre/Post
$a-- atau $b--
Decrement
3.3. String Hanya ada satu operator string, yaitu operator concatenation ‘.’
3.4. Perbandingan
Operator perbandingan digunakan untuk membandingkan suatu nilai variabel dengan variabel lain.
3.5.
4.
Logika Operator logika digunakan untuk memberikan operasi logika terhadap variabel.
Struktur kendali Digunakan untuk mengontrol jalannya eksekusi program.
4.1. IF Pernyataan IF dikenal juga sebagai penyataan percabangan, digunakan untuk menentukan salah satu dari pilihan alur eksekusi yang tersedia menurut kondisi tertentu. Bentuk Umum : IF (kondisi) { statement; ... }
4.2. IF … Else …
Bentuk umum : IF (kondisi) { statementTrue; ... } ELSE { statementFalse; ... }
4.3. SWITCH Switch digunakan apabila ada satu ekspresi yang memiliki banyak kemungkinan nilai, dimana masingmasing nilai ada perintah yang harus dikerjakan. Bentuk Umum : SWITCH (kondisi) { CASE syarat1: Statement1; BREAK; CASE syarat1: Statement1; BREAK; DEFAULT: Statement default; }
4.4. FOR Digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui. Bentuk Umum : FOR (nilaiAwal; nilaiAkhir; penambahan/pengurangan) { Statement; ... }
4.5. WHILE Digunakan untuk mengulangi sebuah perintah sampai jumlah tertentu. Untuk menghentikan pengulangan digunakan suatu kondisi tertentu. Bentuk Umum : WHILE (kondisi) { Statement; ... }
4.6. DO … WHILE Perintah ini sama dengan perintah WHILE. Perbedaannya adalah kondisi diperiksa diakhir perulangan. Ini berarti bahwa paling sedikit sebuah perulangan akan dilakukan oleh perintah DO. Bentuk Umum : Do { Statement; } WHILE (kondisi)
Sistem Operasi komputer yang berbeda, mempunyai perbedaan dalam menterjemahkan line-ending. Jika kita ingin memberikan line break, kita harus menentukan line-ending yang tepat untuk setiap sistem operasi. Sebagai contoh
Unix/Linux menggunakan line-ending \n, Windows menggunakan line-ending \r\n dan Macintosh menggunakan line-ending \r. Untuk menghindari kesalahan dalam menterjemahkan line break pada file, sebaiknya kita memberikan ‘b’ pada setiap mode fopen, contoh : ‘rb’, ‘wb’, ‘rb+’, dll. Hal ini dimaksudkan agar fopen bekerja dalam modus b : binary, dimana data tidak akan diterjemahkan sesuai dengan OS masing-masing. 6.2. FClose()
Bentuk umum : bool FCLOSE (resource handle)
6.3. FRead()
Bentuk umum : string FREAD ( resource handle, int length )
6.4. Fwrite
Bentuk umum : int FWRITE ( resource handle, string string [, int length] )
7. Form Handling 7.1. Elemen Form 7.1.1. One-Line Text Box Digunakan untuk menampung data yang tidak membutuhkan ukuran penampung yang banyak, seperti nama, email, dsb.
7.1.2. Text Area Digunakan untuk menampung data yang membutuhkan ukuran penampung yang banyak, seperti alamat, komentar, keterangan, dsb.
7.1.3. Radio Button Digunakan sebagai tombol seleksi, kita hanya bisa memilih satu pilihan saja, seperti jenis kelamin, kelas, dsb
7.1.4. Check Boxes Digunakan sebagai tombol seleksi, kita dapat memilih lebih dari satu pilihan, misalnya hobi, dsb.
7.1.5. Drop Down Select Boxes Sama seperti radio button, drop down digunakan untuk memilih hanya satu pilihan, tetapi dengan tampilan yang berbeda.
7.1.6. Submit dan Reset Button Submit button digunakan sebagai tombol untuk mengirimkan nilai dari field,nilai akan dikirimkan sesuai dengan metode pengiriman (method : POST /GET) dan akan menuju file yang sudah ditentukan di atribut action. Reset button digunakan sebagai tombol untuk menghapus nilai dari field.Jika kita ingin menggunakan selain kedua tombol diatas, kita bisa menggunakan sebagai tombol biasa.
7.2. POST
7.3. GET
8.
Fungsi Fungsi adalah sekumpulan baris perintah yang digunakan untuk melakukan suatu perintah. Dalam penulisan program, kita bisa menuliskan perintah yang berulang-ulang, untuk mengurangi berulangnya suatu perintah dan supaya lebih efisien dalam penulisan kode, kita bisa menggunakan fungsi. Bentuk Umum : FUNCTION namaFungsi ([parameter]) { Statement; ... }
9.
Modularisasi Modularisasi adalah penyusunan/pembuatan program berdasarkan modul-modul. Dengan modularisasi ini diharapkan programmer dapat dengan mudah dan cepat untuk melakukan pengembangan aplikasi yang disusunnya. Modul dapat berupa fungsi atau prosedur. Adapun jenis modularisasi dalam PHP antara lain : Require()
Digunakan untuk menggabungkan dan mengkompilasi suatu skrip PHP atau teks dari file lain dengan skrip PHP yang memanggilnya. Include() Hampir sama dengan require() tapi bedanya adalah include digunakan untuk menggabungkan suatu skrip pemanggilnya. Require_once() Pada dasarnya sama dengan require, tapi perbedaanya adalah apabila terjadi duplikasi fungsi atau duplikasi pemanggilan maka akan terhindar. Karena secara default require_once akan memaksa PHP untuk menggunakan nama fungsi yang telah ada. Include_once() Hampir sama dengan require_once() tetapi perbedaannya adalah setiap kali dijalankan selalu ada evaluasi ulang.
MYSQL 1.
Pendahuluan MySql MySql dikembangkan oleh sebuah perusahaan Swedia bernama MySql AB, yang pada saat itu bernama TcX DataKonsult AB. Sejak sekitar tahun 1994-1995, meski cikal kodenya bisa disebut sudah ada sejak tahun 1979. Pada saat itu Michael Widenius atau “Monty” sebagai pengembang satusatunya di TcX. MySql termasuk jenis RDBMS (Relational Database Management System). Sehingga istilah seperti tabel, baris dan kolom tetap digunakan dalam MySql. Pada MySql sebuah database mengandung satu atau beberapa tabel, tabel terdiri dari sejumlah baris dan kolom.
2. Tipe data MySql 2.1. Numerik Tipe data numeric dibedakan dalam dua macam kelompok, yaitu tipe data integer untuk data bilangan bulat dan tipe data floating point untuk bilangan decimal. Tipe data numeric selengkapnya pada tabel dibawah ini: Tipe Data Kisaran Nilai
2.2. String Tipe Data Kisaran Nilai
2.3. Tanggal
3. Perintah Dasar MySql 3.1. Create Database Perintah ini digunakan untuk membuat database baru pada MySql. Bentuk Umum : CREATE DATABASE namaDatabase; contoh : CREATE DATABASE pegawai;
3.2. Create Table Perintah ini digunakan untuk membuat table pada suatu database. Bentuk Umum : CREATE TABLE dataPegawai( Field1 properties, field2 properties,...)
3.3. Drop Table Perintah ini digunakan untuk menghapus suatu tabel pada suatu database.
Bentuk Umum : DROP TABLE namaTabel; contoh : DROP TABLE dataPegawai;
4.
Mengelola MySql dengan PHPMyAdmin PHPMyAdmin merupakan salah satu tool management database MySql berbasis web, artinya interaksi pemeliharaan dilakukan oleh client dengan menggunakan antarmuka browser. Dengan PHPMyAdmin kita dapat melakukan : 1. Create dan drop database 2. Create, copy, drop dan alter tabel 3. Insert, update, delete dan select field 4. Mengeksekusi pernyataan sql 5. Me-manage keys pada field 6. dll
5.
Fungsi-fungsi MySql Berikut adalah fungsi-fungsi MySql yang digunakan untuk koneksi, DML MySql dengan PHP.
5.1. MySql_connect Digunakan untuk melakukan koneksi ke server database MySql. Koneksi ke database akan secara otomatis terputus pada saat script program selesai dieksekusi seluruhnya, kecuali diberikan perintah fungsi MySql_close(). Bentuk Umum : MYSQL_CONNECT (namaHost, namaUser, password); contoh : MYSQL_CONNECT (‘localhost’, ‘root’, ‘rahasia’);
5.2. MySql_select_db() Digunakan untuk memilih atau mengaktifkan database. Bentuk Umum : MYSQL_SELECT_DB (namaDatabase); contoh : MYSQL SELECT DB (pegawai);
5.3. MySql_query() Digunakan untuk menjalankan perintah query yang terdapat di MySql, misalnya perintah insert, update, delete dll. Bentuk Umum : MYSQL_QUERY (perintah mysql);
contoh : MYSQL_QUERY (“SELECT * FROM dataPegawai”);
PHP tidak menyediakan fungsi-fungsi khusus untuk operasi data, sehingga sintak yang dipakai adalah sintak perintah-perintah MySql. Untuk melakukan operasi-operasi data menggunakan PHP urutannya adalah sebagai berikut : 1. Koneksi ke database 2. Deklarasi sebuah variabel string yang berisi sintak perintah MySql yang akan dilakukan. 3. Laksanakan sintak MySql menggunakan fungsi menghasilkan output yang akan ditampilkan, deklarasi sebuah variabel untuk menampung hasil tersebut. 4. Mengambil hasil dari sintak MySql yang dilaksanakan menggunakan fungsifungsi MySql_fetch_array(), MySql_fetch_row() dan MySql_num_rows(). 5.4. MySql_fetch_row() Digunakan untuk menghasilkan suatu array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil.
Bentuk Umum : MYSQL_FETCH_ROW (pengenalHasil); contoh : $query = mysql_query("SELECT * FROM dataPegawai WHERE nip='’0211500173’; MYSQL_FETCH_ROW ($query); $result = mysql_fetch_row($query); $nip = $result[0]; //mengambil data pada field pertama
5.5. MySql_num_rows () Digunakan untuk menghasilkan jumlah baris pada suatu tabel. Bentuk Umum : MYSQL_NUM_ROWS (pengenalHasil); contoh : $query = mysql_query("SELECT * FROM dataPegawai"); $numrows = mysql_num_rows($query); Echo $numrows; // menghasilkan jumlah baris/record
6.
DML (Data Manipulation Language) Adalah suatu bahasa yang digunakan untuk memanipulasi data seperti menambah, menghapus, menampilkan, mengubah suatu data pada suatu table dalam database. Perintahnya adalah : contoh :
6.1. Insert Perintah ini digunakan untuk memasukkan data. Bentuk Umum : INSERT INTO namaTabel (field1, field2, ...) VALUES (data1, data2, ...); contoh : INSERT INTO dataPegawai (nip, namaPeg, alamat) VALUES(‘0211500173’, ‘indra’, ‘bintaro’);
6.2. Select Perintah ini digunakan untuk memilih data dari satu atau beberapa tabel. Bentuk Umum : SELECT field1, field2, ... FROM namaTabel WHERE [kondisi] ORDER BY [field] [ASC | DESC] LIMIT [batasan];
contoh : SELECT nip, namaPeg, alamat FROM dataPegawai WHERE alamat=’jakarta’ ORDER BY nama ASC LIMIT 10;
6.3. Update Perintah ini digunakan untuk memperbaiki atau mengubah data yang sudah ada. Bentuk Umum : UPDATE namaTabel SET field1=dataBaru1, field2=dataBaru2, ... WHERE [kondisi]; contoh : UPDATE dataPegawai SET alamat=’jakarta selatan’ WHERE nip=’0211500173’;
6.4. Delete Perintah ini digunakan untuk menghapus data. Bentuk Umum : DELETE FROM namaTabel WHERE [kondisi]; contoh : DELETE FROM dataPegawai WHERE nip=’0211500173’;
7.
Membuat Aplikasi Web Sebelum kita memulai membuat aplikasi web dinamis, sebelumnya kita harus membuat satu database yang bernama latihan, fungsi yang digunakan untuk menghubungkan MySql dengan PHP. Berikut adalah fungsi tersebut.
Function.php Disini untuk login”; EXIT(); } } ?> 7.1. Authentifikasi Login Digunakan untuk membatasi hak akses seorang user terhadap halaman web yang akan dilihat. Sebelumnya kita buat satu tabel yang bernama user. Berikut adalah struktur tabel user.
Login.php
{
$userName = $_POST['user']; $password = $_POST['password']; connect_db(); $query = MYSQL_QUERY("SELECT * FROM user WHERE user='$userName' AND password='$password'"); $result = MYSQL_FETCH_ROW($query); if (!empty($result)) { SESSION_START(); session_register("reg_userName"); $reg_userName = $result[1]; HEADER("location:login_ok.php");
} ELSE { ECHO "Login GAGAL! Periksa Username dan Password Anda Klik disini untuk login kembali"; } } ?>
7.2. Counter Digunakan untuk menghitung berapa banyak pengunjung yang telah mengunjungi situs kita. Counter ini membutuhkan satu tabel yang bernama counter. Berikut struktur tabel counter :
counter.php
?> 7.3. Guest Book Digunakan agar pengunjung yang telah mengunjungi situs kita dapat memberikan komentarnya tentang website kita. Guest book membutuhkan satu tabel yang bernama guestbook. Berikut struktur tabel guestbook :
$query = mysql query("SELECT * FROM guest ORDER BY date limit $offset, $limit"); $no = $offset + 1; WHILE ($baris = MYSQL_FETCH_ROW($query)) { ECHO "
Guest Book ke- $no
Tanggal
: $baris[1]
Dari
: $baris[2]
Isi
"; }
$no++; ECHO "
";
} ELSE ECHO "Maaf, Tidak ada Guest Book. "; ?> 7.4. Artikel Untuk membuat halaman web artikel, kita membutuhkan satu tabel yaitu tabel artikel. Struktur tabelnya adalah sebagai berikut :