YFA Jurusan Teknik Informatika Sekolah Tinggi Teknologi Telkom
S1/IT/WE/E2/0806
PHP Hypertext Preprocessor (PHP)
CS4713
Class dan Object
PHP mendukung Object Oriented Programming. Class: definisi umum (cara menggambarkan) suatu benda atau sekelompok objek. Object: benda nyata yang ada dalam kelas (instan kelas). Properties: variabel-variabel yang berada dalam sebuah kelas, karakteristik yang sama. Method: fungsi yang digunakan untuk mengakses properti.
YFA: Web Engineering
Class dan Object (lanjutan) Kelas Objek1
Properti / Variabel Objek2 Metode / Fungsi
Objek3
Cetakan untuk Objek
YFA: Web Engineering
Pendeklarasian Class Class namaKelas { [ var deklarasiVariabel ] [ deklarasi Fungsi ] }
YFA: Web Engineering
Contoh Class dan Object – 1 class Contact{ var $nama_lengkap; var $telp; var $alamat; } $ani = new Contact(); $ani->nama_lengkap = "Ani Malia"; $ani->telp = "085643037733"; $ani->alamat = "Ragunan";
Pembuatan Objek Pengaksesan Properti
$budi = new Contact(); $budi->nama_lengkap = "Budi Man"; $budi->telp = "08882015588"; $budi->alamat = "Bandung"; ?> YFA: Web Engineering
Contoh Class dan Object – 2 class kelas_tanggal { // Properti var $tanggal, $bulan, $tahun; // Metode function set_tanggal($tgl,$bln,$thn) { // $this berarti objek $this->tanggal = $tgl; $this->bulan = $bln; $this->tahun = $thn; }
dari kelas itu sendiri
} $tgl_merdeka = new kelas_tanggal; $tgl_merdeka -> set_tanggal(17,8,1945); printf ("Indonesia merdeka pada tanggal " ."%d/%d/%d", $tgl_merdeka -> tanggal, $tgl_merdeka -> bulan, $tgl_merdeka -> tahun); ?> YFA: Web Engineering
Cookie vs Session?
Apa perbedaan antara cookie dan session?
YFA: Web Engineering
Cookie
Cookie merupakan sepotong data yang disimpan pada hard disk lokal milik pengunjung situs web dan digunakan oleh halaman web untuk mengingat suatu informasi. Cookie sangat bermanfaat untuk menangani masalah yang memungkinkan pemakai mengakses sejumlah halaman web yang dilengkapi dengan proteksi username dan password.
YFA: Web Engineering
Session
Berbeda dengan cookie, session diimplementasikan dengan menyimpan data pada web server. Dengan demikian tidak perlu ada komunikasi bolak-balik antara web server dan client ketika web server membutuhkan data tersebut. Setiap kali suatu session dibentuk maka akan terdapat referensi yang menunjuk ke session bersangkutan, yang disebut Session Identifier (SID).
YFA: Web Engineering
Session (lanjutan)
Mengawali sebuah session: session_start();
Mengakhiri sebuah session: session_destroy();
Mengetahui SID: session_id();
Mendaftarkan variabel session: session_register(namaVariabel);
Mencabut pendaftaran variabel session: session_unregister(namaVariabel);
YFA: Web Engineering
File Handling
Script PHP dapat berinteraksi dengan file pada media penyimpanan dalam web server yang digunakan. Bekerja dengan sebuah file memerlukan penanganan tersendiri. Hal pertama yang harus kita lakukan adalah membuka file tersebut.
YFA: Web Engineering
Open, Close File
Untuk dapat mengakses dan mengubah isi file, kita membutuhkan sebuah file descriptor. File descriptor: suatu variabel yang digunakan untuk mewakili file tertentu. File descriptor didapat dengan menggunakan fungsi PHP fopen, untuk membuka file: fopen(string file_name, string access_mode)
Fungsi untuk menutup file yang telah selesai diakses: fclose(string file_handle)
YFA: Web Engineering
Mode Operasi File Mode
Operasi yang Diizinkan
r{b}
Hanya diperbolehkan untuk membaca {binary}.
w{b}
Menulis saja, membuat file jika belum ada, mengabaikan isi file sebelumnya {binary}.
a{b}
Menambah isi file(append) pada end of file(eof), membuat file jika belum ada {binary}.
r+{b}
Membaca dan menulis {binary}.
w+{b}
Membaca dan menulis, membuat file jika belum ada dan mengabaikan isi file pada end of file (eof).
a+{b}
Membaca dan menulis, membuat file jika belum ada dan menambah isi file pada end of file (eof) {binary}.
YFA: Web Engineering
Read, Write File
Setelah file berhasil dibuka/dibuat, maka entri data dapat dilakukan ke dalamnya.Perintahnya adalah sebagai berikut: fwrite(string file_handle, string file_content);
PHP dapat membaca isi file dengan statement: fread(string file_handle, integer file_lenght); fgets(string file_handle, integer file_lenght);
YFA: Web Engineering
Copy, Delete File
PHP memungkinkan untuk melakukan duplikasi terhadap suatu file maupun upload file ke media penyimpanan dalam web server. copy(string file_name, string destination_path);
PHP akan membuat duplikasi sementara dari file yang diupload ke web server. File tersebut dapat dihapus dengan perintah: unlink(string file_name); delete(string file_name);
YFA: Web Engineering
Contoh Script – Counter $filecounter="counter.txt"; $fl=fopen($filecounter,"r+"); $hit=fread($fl,filesize($filecounter)); echo("
"); echo(""); echo(""); echo("Anda pengunjung yang ke:"); echo($hit); echo(""); echo(" | "); echo("
"); fclose($fl); $fl=fopen($filecounter,"w+"); $hit=$hit+1; fwrite($fl,$hit,strlen($hit)); fclose($fl); ?> YFA: Web Engineering
Error Handling
Penanganan kesalahan dalam pemrograman berbasis web ada kalanya dibutuhkan karena beberapa alasan, karena web browser akan menampilkan pesan kesalahan yang dapat membingungkan pemakai atau justru pesan kesalahan yang tampil juga mengandung path berkas atau nama tabel data yang seharusnya bersifat rahasia. PHP menyediakan alternatif untuk menghilangkan atau mengganti pesan kesalahan yang dibangkitkan oleh PHP. Secara prinsip, kesalahan dapat dikelompokkan menjadi kesalahan kaidah (sintax error), kesalahan sematik dan kesalahan nalar.
YFA: Web Engineering
Kesalahan Kaidah
Sintax error disebabkan oleh adanya kesalahan dalam menuliskan kaidah perintah pada baris script PHP. PHP4 akan membuat seluruh kode diperiksa oleh parser terlebih dahulu sebelum dijalankan. Prosesnya disebut dengan parsing atau kompilasi. Itulah sebabnya kesalahan kaidah juga disebut kesalahan kompilasi. Contoh script dengan kesalahan kaidah: $hasil = $angka * 100 echo "Hasil yang sesuai yaitu $hasil; ?>
YFA: Web Engineering
Kesalahan Sematik
Runtime error biasa juga disebut kesalahan sewaktu eksekusi yang terjadi ketika kode dijalankan. Kesalahan sematik akan muncul meskipun secara kaidah tidak ada penulisan script yang salah, namun ketika script PHP dijalankan akan menampilkan pesan kesalahan. Contoh script dengan kesalahan sematik: $bukafile = fopen("asoi.txt","r"); // asumsi tidak ada file bernama asoi.txt
$isifile = fgets($bukafile,255); echo "$isifile";
?>
YFA: Web Engineering
Kesalahan Nalar
Kesalahan nalar tidak akan menimbulkan pesan kesalahan yang dibangkitkan oleh PHP, tetapi memberikan hasil yang salah, sehingga kesalahan nalar seringkari sulit dicari penyebabnya. Contoh kesalahan nalar untuk menghitung pembayaran yang dipotong diskon sebesar 10% sebagai berikut: $pembelian = 20000; $pembayaran = $pembelian - 10 * $pembelian; echo "Pembayaran: $pembayaran"; ?>
Contoh script di atas tetap memberikan hasil, meskipun salah. Penyebabnya yaitu kesalahan logika perhitungan yang dilakukan oleh programmer. YFA: Web Engineering
Pola Kesalahan PHP
Pesan kesalahan yang dibangkitkan oleh PHP memiliki pola sebagai berikut: Level kesalahan: pesan_kesalahan nama_kesalahan baris_kesalahan
Level kesalahan menyatakan tingkat kesalahan yang berupa: parse
error, menyatakan kesalahan karena kaidah fatal error, menyatakan kesalahan sematik yang membuat PHP menghentikan eksekusi program warning, akan membuat pesan kesalahan ditampilkan namun eksekusi program tetap dilakukan notice.
YFA: Web Engineering
Pola Kesalahan PHP (lanjutan)
Pada PHP3 kesalahan kaidah (sintax error) bisa terjadi setelah pernyataan-pernyataan yang benar dieksekusi. Sedangkan pada PHP4, bila ditemukan kesalahan kaidah maka tak satu pun pernyataan akan dijalankan.
YFA: Web Engineering
Rekayasa Aplikasi Internet: PHP Hypertext Preprocessor (PHP) YFA – Yanuar Firdaus A.W, ST., MT. August 2006 http://www.yanuar.net
[email protected] +62 888 275 1300
YFA: Web Engineering