PHP 4.1 Operator 4.1.1 Operator Aritmetik Contoh $a + $b $a - $b $a * $b $a / $b $a % $b 4.1.2 Operator String Contoh $a .

$b

Nama Penjumlahan Pengurangan Perkalian Pembagian Modulus

Hasil Jumlah $a dan $b Selisih $a dan $b Hasil kali $a dan $b Bilangan bulat dari $a dibagi $b Sisa pembagian dari $a dibagi $b

Nama Concatenation

Hasil Gabung srting $a dan $b

4.1.3

Operator Increment/Decrement Contoh Nama ++$a PreIncrement

$a++ --$a

PostIncrement PreIncrement

$a--

PosIncrement

Hasil Tambah $a dengan 1, hasilnya masukkan ke dalam $a Berikan nilai $a, kemudian tambahkan 1 kepada $a Kurang $a dengan 1, hasilnya masukkan ke dalam $a Berikan nilai $a, kemudian kurangkan 1 kepada $a

4.1.4

Operator Bitwise Contoh $a & $b

Nama And

$a | $b

Or

Hasil Setiap bit akan bernilai 1 jika kedua bit pada posisi yang sama bernilai 1 Bit akan bernilai 1 jika salah satu bit pada posisi yang sama dalam $a dan $b bernilai 1

4.1.5

Operator Logika Contoh $a and $b $a or $b $a xor $b

Nama And Or Xor

Hasil Benar jika $a dan $b benar Benar jika $a atau $b benar Benar jika salah satu $a atau $b benar, tidak keduanya 1|Page

! $a $a && $b $a || $b

Not True And Or

Lawan dari $a Benar jika keduanya $a dan $b benar Benar jika salah satu $a atau $b benar

4.1.6 Operator Ternary Menggunakan tanda “?” (Ekspresi1) ? (Ekspresi2) : (Ekspresi3); Operator ini akan melakukan evaluasi ekspresi1, kemudian berdasarkan hasil evaluasi ini apabila bernilai benar (tidak sama dengan 0 atau tidak sama dengan null) maka ekspresi2 akan dikerjakan, jika salah maka ekspresi3 akan dikerjakan. 4.1.7 Operator Perbandingan Contoh Nama $a = = $b Sama dengan $a = = = $b Identik

$a != $b $a != = $b

$a < $b $a > $b $a <= $b

$a >= $b

Hasil Benar jika $a sama dengan $b Benar jika $a sama dengan $b dan mempunyai tipe yang sama (hanya PHP4) Tidak sama Benar jika $a tidak sama dengan $b Tidak Identik Benar jika $a tidak sama dengan $b dan mempunyai tipe yang tidak sama (hanya PHP4) Lebih kecil Benar jika $a lebih kecil dari $b Lebih besar Benar jika $a lebih besar dari $b Z,.,j Lebih Benar jika $a lebih kecil atau kecil sama sama dengan $b dengan Lebih besar Benar jika $a lebih besar atau sama dengan sama dengan $b

4.1.8 Operator Assignment Memiliki lambang “=” Contoh: o $a=3; => berarti a bernilai 3 o $b=2; $b+=3; => maka b bernilai 5 o $c=”Hello”; $c.=”Rifa”;=> maka c bernilai Hello Rifa 4.1.9 Operator Kontrol Error Memiliki lambang “@”

2|Page

Contoh: <? $res=@mysql_query(“select name, code from namelist”); or die (“Query failed:error was ‘$php_errormsg’”); ?> 4.1.10 Operator Eksekusi Memiliki lambang (‘ ‘) Feature ini untuk sementara hanya bisa dijalankan untuk aplikasi PHP yang digunakan pada sistem operasi LINUX dan UNIX. 4.2 Struktur Kontrol if Struktur if digunakan untuk pemeriksaan apakah perintah-perintah yang ada di dalam blok if dikerjakan atau tidak. Perintah dalam blok if akan dikerjakan apabila nilai dari ekspresi di dalam if bernilai benar (true). Sintaks: If (ekspresi){ Perintah 1; Perintah 2; Perintah 3; …. …. } else Kontrol struktur else merupakan pelengkap dari kontrol struktur if, digunakan untuk memberikan alternatif urutan perintah yang harus dilakukan apabila ada hal proses yang mempunyai dua alternatif benar atau salah. Else merupakan bagian seurutan perintah yang harus dikerjakan apabila hasil evaluasi dari ekspresi pada if bernilai salah. Sintaks: If (ekspresi){ Perintah 1; Perintah 2; Perintah 3; …. }else{ Perintah a; Perintah b; Perintah c; Blok pada bagian else merupakan blok perintah yang harus dikerjakan apabila …. nilai ekspresi dari suatu if bernilai salah (false). }

3|Page

elseif Nilai hasil suatu ekspresi bisa jadi bukan merupakan dua nilai, Benar atau salah, true atau false, tetapi bisa banyak nilai. Bentuk if..else digunakan untuk memutuskan suatu blok perintah yang harus dikerjakan berdasarkan dua macam nilai yang dihasilkan, benar atau salah saja. Jika lebih dari dua maka harus digunakan struktur kontrol yang dapat memenuhi kebutuhan ini. Struktur kontrol if … elseif menyederhanakan model struktur kontrol if … else. Sintaks: If (ekspresi1){ Perintah 1; Perintah 2; Perintah 3; …. …. }elseif (ekspresi2) { Perintah a; Perintah b; Perintah c; …. …. } Struktur kontrol elseif mengharuskan proses pemeriksaan kembali ekspresi apabila nilai ekspresi pada if bernilai salah, karena belum tentu nilai salah dalam if pasti benar nilai ekspresinya untuk bagian else. Untuk itu perlu diperiksa lagi apakah benar nilai salah pada bagian if adalah benar untuk bagian else. Switch Switch merupakan bentuk struktur kontrol yang dapat lebih menyederhanakan bentuk dari pada if … else ataupun bentuk elseif. Pada bentuk switch ini digunakan untuk mengganti seurutan pemeriksaan if pada suatu hasil ekspresi dengan beberapa nilai. Kontrol switch digunakan untuk mengevaluasi suatu ekspresi dengan kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi berdasarkan ekspresi dan nilainya. Blok default pada sintaks di atas tidak harus ada, default sama dengan else dalam bentuk if .. else atau elseif, tempat blok perintah yang harus dilakukan tanpa harus diperiksa lagi hasil dari suatu ekspresi.

4|Page

Sintaks: Switch($var) { Case nilai 1 : Perintah_nilai 1; Break; Case nilai2: Perintah_nilai2; Break; Case nilai3: Perintah_nilai3; Break; [default: Perintah_nilai_default; ] } While While adalah salah satu bentuk pengulangan. Struktur kontrol ini memungkinkan seurutan perintah untuk dieksekusi berulang-ulang. Jumlah pengulangan yang harus dilakukan ditentukan oleh nilai dari suatu ekspresi. Sintaks: While (ekspresi) { Perintah_1; Perintah_2; … } Perintah-perintah dalam while akan dikerjakan apabila nilai dari ekspresi dalam while bernilai benar. Dalam blok perintah ini harus ada proses yang melakukan perubahan nilai agar ekspresi yang diperiksa oleh while menjadi salah, apabila tidak ada perubahan nilai pada bagian ekspresi maka akan terjadi pengulangan tidak henti (never ending loop – atau loop forever). Hati-hati dengan kondisi ini dapat menyebabkan komputer menjadi tidak dapat dikendalikan hanya karena satu proses ini. Do … while Do … while berfungsi sama yaitu membuat suatu blok perintah di dalamnya untuk diulang-ulang eksekusi perintahnya. Perbedaannya adalah pada do … while proses pemeriksaan ekspresi dilakukan pada bagian akhir dari blok pengulangan. Perintah dalam blok akan dikerjakan selama kondisinya masih benar.

5|Page

Sintaks: Do { Perintah_1; Perintah_2; …. } while(ekspresi) Perintah-perintah dalam blok do … while akan dikerjakan paling sedikit satu kali, karena proses pemeriksaan dari blok do … while ini dilakukan pada akhir blok. For For merupakan struktur kontrol pengulangan dengan jumlah pengulangan dapat ditentukan berapa kali harus dilakukan. Pengulangan dengan menggunakan bilangan sebagai penghitung. Sintak:   for ($c=nilaiawal ; $c<=batasakhir ; $c++) { Perintah_1 ; Perintah_2 ; …. } $c adalah variabel penghitung nilaiawal adalah bilangan nilai awal hitungan batasakhir adalah angka hitungan terakhir $c++ isi variabel penghitung ditambah satu apabila telah sampai akhir blok for, perintah pada bagian ini tidak harus $c++ yang berarti ditambah satu, tetapi juga dapat menggunakan $c+=n. n adalah angka pertambahan yang diinginkan. Contoh untuk program menggunakan Struktur Kontrol <?php $tanggal = $_GET['tgl']; if (!$tanggal) $tanggal = date("Y-m-d"); $waktu = strtotime($tanggal); $sekarang = time(); if ($waktu > $sekarang) { $jarak = $waktu - $sekarang; $pesan = "kurang"; } else { 6|Page

$jarak = $sekarang - $waktu; $pesan = "lewat"; } $arrdata = array("tahun" => 31104000, "bulan" => 2592000, "hari" => 86400, "jam" => 3600, "menit" => 60, "detik" => 0); $teksstr = array(); foreach($arrdata as $kata => $constant) $teksstr[] = disposisi($constant, $kata); $hasil = implode(" ", $teksstr); echo "document.write('$pesan $hasil');"; function disposisi($c, $kata) { global $jarak; $r = ($c) ? floor( $jarak / $c) : $jarak; if ($r) { $jarak -= $r * $c; return "$r $kata"; } else return ""; } ?> 4.3 Fungsi 4.3.1 Pengertian Fungsi merupakan serangkaian script/kode yang mempunyai kegunaan khusus dan tertentu; merupakan seurutan atau serangkaian kode yang sering dipakai. Dengan adanya fungsi maka pemrograman dapat dipermudah karena tidak harus menulis berulang-ulang rangkaian kode script yang sama.

7|Page

4.3.2

Fungsi Bulit-in Fungsi built in adalah fungsi yang telah disediakan oleh PHP, pemrogram dapat langsung memakainya. Macam-macam fungsi built Iin PHP dapat dikelompokan menjadi: o Fungsi untuk array o Fungsi untuk metematika o Fungsi untuk string dan pemrosesan file o Fungsi untuk tanggal o Fungsi untuk database o Fungsi untuk Web dan XML o Fungsi untuk file o dll 4.3.3 User defined function (UDF) UDF dibutuhkan untuk memudahkan proses pengembangan aplikasi. UDF dibuat untuk menambah fungsi yang belum disediakan oleh PHP. 4.3.3.1 Deklarasi UDF Function namafungsi([parameter]) { statement…; statement…; } 4.3.3.2 Pemanggilan UDF $varHasil=&namafungsi([parameter]); =>Hasil merupakan nilai yang dikembalikan 4.3.4 Fungsi External Fungsi eksternal merupakan daftar fungsi yang belum diaktifkan(dilink) dalam modul PHP, fungsinya diletakkan pada library atau file yang terpisah dari modul PHP. Function external ini dapat diaktifkan secara otomatis dengan meregristrasi pada file PHP.INI. Pemanggilannya dengan menggunakan perintah dl(“nama library”);

Modularisasi Modularisasi adalah pemrograman umum dilakukan dan sangat diperlukan untuk mempermudah debugging dan pengembangan program. Modularisasi berarti melakukan pembuatan program berdasarkan modul-modul. 4.4.1 required() Bentuk kontruksi yang digunakan untuk menggabungkan suatu script PHP atau text dari file lain dengan script PHP yang memanggilnya. Sintaks: <?required(“namafile.php”)?>

4.4

8|Page

include() Include merupakan kontruksi yang digunakan untuk menggabungkan suatu script atau file dengan script pemanggilnya. <?include(“namafile.php”)?> 4.4.3 required_once() Pada prinsipnya sama dengan required tapi dengan menggunakan required_once dapat menghindari duplikasi pemanggilan suatu fungsi. 4.4.4 include_once() Kontruksi include_once ini sama dengan required_once akan tetapi pada kontruksi include_once() setiap kali selalu ada evaluasi ulang pada saat suatu perintah include terjadi pada script yang dispesifikasikan dalam include_once(). 4.4.5 dl(namamodul) namamodul adalah nama modul yang berisi fungsi yang belum disediakan dalam PHP, disimpan dalam file library eksternal. Konstruksi dl(namamodul) memungkinkan fungsi-fungsi eksternal yang belum didukung oleh PHP yang dibuat dan disimpan dalam file library tertentu yang dapat dipanggil pada saat dibutuhkan saja. 4.5 Pemrosesan File Materi yang akan dibahas mengenai membaca, memroses, dan membuat file sebagai tempat penyimpanan data dengan menggunakan format file teks. Secara umum bekerja dengan file selalu mempunyai pola sebagi berikut: 4.5.1 Buka file Sintaks: $fp=fopen(“namafile”,”mode”) $fp = file handle namafile = string nama file.ext dilengkapi dengan path Mode akses file Mode Akses Keterangan r Membaca file r+ Membaca dan menulis ke dalam file, pointer diawal file w Menulis kedalam file, menghapus data w+ Membaca dan menulis ke dalam file, pointer diawal file a Menyimpan file, pointer diletakan diakhir file a+ Membaca dan menulis ke dalam file, pointer diakhir file b Binary digunakan agar file yang disimpan tidak dibedakan sebagai teks atau biner

4.4.2

9|Page

4.5.2 Proses file 4.5.2.1 Membaca data dari file fgets[] $var=fgets(fp,jumlah data) Membaca data file sebagai baris per baris string, sejumlah jumlah data byte, setiap baris ditandai dengan karakter ganti baris. <? $fp=fopen(“bukutelp.txt”,”r”); while ($isi=fgets($fp,25)) {echo $isi.”<br>”;} ?> fread[] $var= fread (fp,jumlahdata) Melakukan pembacaan file dalam mode binary yang aman dengan jumlah data yang dibaca per sekali baca adalah jumlahdata. <? $fp=fopen(“bukutelp.txt”,”r”); while ($isi=fread($fp,25)) {echo $isi.”<br>”;} ?> Script dengan menggunakan fread() akan membaca data per 25 byte kemudian ditampilkan ke layar, tidak perduli terdiri dari satu baris atau tidak. fscanf[] list($var1, $var2,…)=fscanf(fp,”format+delimiter”) Hasil dari fscanf() selalu dalam bentuk array yang berisi nilai-nilai untuk setiap field. List adalah fungsi yang digunakan untuk memisahkan setiap elemen array dalam variabel-variabel penampungnya. Membaca data file, langsung memasukan ke dalam variabel-variabel, setiap variabel menyimpan data dari satu field/record yang dibaca. Setiap field dipisahkan dengan menggunakan delimiter yang menggunakan escape character. <? $fp=fopen(“bukutelp.txt”,”r”); while(list($nama,$telpon)=fscanf($fp,”%s\t%s\n”)) {echo $nama.”.”.$telpon.”<br>”;} ?> feof[] Sintaks: feof(fp) Digunakan pada pembacaan file, untuk memeriksa apakah sudah habis terbaca atau belum file yang dibaca. Fungsi ini akan menghasilkan nilai False apabila belum membaca 10 | P a g e

sampai akhir dan True apabila telah selesai dibaca sampai akhir. fgetc[] $var=fgetc(fp) Membaca data file per karakter, fungsi pembacaan file dengan karakter per karakter sering kali diperlukan untuk melakukan pemrosesan data yang khusus. <? $fp=fopen(“bukutelp.txt”,”r”); $huruf=0; $baris=1; while(!feof($fp)) { $ch=fgetc($fp); if(($ch!=” “)&&($ch!=”\n”)&& ($ch!=”\t”)) $huruf++; if(($ch!=”\n”)) $baris++; } echo “<br>”; echo “Jumlah baris : $baris”; echo “<br>”; echo “Jumla huruf : $huruf”; ?> readfile Membaca dan menuliskan isi file ke standar output. Fungsi ini akan membaca seluruh file dan langsung dituliskan ke standar output. <? $isi=readfile(“bukutelp.txt”); echo $isi; ?> 4.5.2.2 Menulis data ke dalam file fputs[] fputs(fp,data) Menuliskan data file sebagai string data. <? $namafile=”outfile.txt”; mydata=”Budi, Bandung, 40132”; $fp=fopen($namafile,”w”); fputs($fp,$mydata); fclose($fp); echo $mydata; ?>

11 | P a g e

fwrite[] fwrite(fp,string,jumlahdata) Menuliskan data file sejumlah jumlah data dalam model binary, sama dengan fputs() tetapi setelah karakter string harus ditulis parameter jumlah data yang akan ditulis. <? $namafile=”outfile.txt”; mydata=”Budi, Bandung, 40132”; $fp=fopen($namafile,”w”); fwrite($fp,$mydata,30); fclose($fp); echo $mydata; ?> 4.5.2.3 Pemeriksaan file Sintaks: $hasil=file_exits(namafile); $hasil berupa nilai true atau false <? $namafile=”outfile.txt”; if(file exits($namafile)) {echo “$namafile sudah ada”;} else { echo “$namafile belum ada”;} ?> 4.5.2.4 Tutup file Sintaks: fclose($fp) $fp = file handle 4.6 Pengolahan Data dari Form Data yang dituliskan oleh user akan dikirimkan ke server jika user mengklik tombol submit. Data akan dikirim sebagai bagian dari string url atau bisa juga secara terpisah. Atribut method pada tag form mempunyai dua pilihan nilai yitu get dan post. 4.6.1 Get Method ini menyebabkan data yang dikirimkan ke server disatukan dengan string URL. URL yang dituliskan pada address book akan menampilkan data isisan pada form. Teknik ini umum digunakan sebagai model passing parameter kepada URL yang berfungsi sebagai script. Kelebihannya yaitu mudah untuk memasukan nilai untuk memlakukan query kepada situs, kekurangannya data yang digunakan sebagai method tertampilkan (seharusnya parameter tersembunyi) dan tidak dapat digunakan untuk pengiriman ke server web dengan jumlah besar.

12 | P a g e

4.6.2

Post Method post akan memisahkan data yang diisikan oleh pengunjung dengan string URL-nya pada saat mengirimkan kepada server dan data yang dikirimkan dapat lebih besar jumlahnya dibandingkan dengan get. Pembuatan Buku Tamu Buku tamu merupakan aplikasi yang umum dalam situs web, disediakan untuk mendapatkan masukan dari pengunjung situs. atau sekedar ingin mencatat identitas pengunjung agar diketahui bahwa pengunjung tersebut pernah mengunjungi suatu situs web.

4.7

formbukutamu.html <form action=”simpanbukutamu.php” method=post> <pre> Nama anda : <input type=”text” name=”nama” size=25 maxlength=50> Email addres : < input type=”text” name=”email” size=25 maxlength=50 > Komentar : <textarea name=”komentar” cols=”40” rows=”5”></textarea> </form> simpanbukutamu.php <? $fp=fopen(“bukutamu.dat”,”a+”); fputs($fp,$nama.”|”.$email.”|”.$kometar.”\n”); fclose($fp); ?> bacabukutamu.php <? $fp=fopen(“bukutamu.dat”,”r”); while(!feof($fp)) { $baris=fgets($fp,80) echo $baris; } fclose($fp); ?>

13 | P a g e

4.7.1

Upload file ke server dengan menggunakan PHP

PHP membuat semuanya menjadi lebih mudah dalam menangani upload file. Untuk membuat form upload pastikan kita menyertakan atribut enctype="multipart/form-data" dan pastikan methodnya adlaha post. Oke langsung saja kita lihat kode HTML berikut ini: <form method="post" action="<?=$PHP_SELF?>" enctype="multipart/formdata"> <input type="file" name="myfile"> <input type="submit" name="Submit" value="Submit"> </form> Seperti yang kita lihat, kita me,mberi nama pada field upload kita "myfile". Nama ini sangat penting, karena ketika file telah diupload maka file tersebut otomatis diberi nama yang unik dan disimpan di temporary direktori. Tentu saja url path ke filenya bisa diakses, karena otomatis akan muncul variabel global yang memiliki nama yang sama dengan field upload kita, dalam hal ini myfile. Akan ada 4 variabel baru yang semuanya diawali dengan myfile dan diikuti dengan garis bawah (underscore), yaitu:
• • • •

$myfile. Variabel ini berisi informasi lokasi file di server. $myfile_name. Nama file asli ketika masih dikomputer klien. $myfile_size. Ukuran dari file (dalam satuan bytes). $myfile_type. Tipe file.

4.7.1.1 Upload sederhana Langsung saja kita coba contoh upload berikut ini, simpan dengan nama upload.php: <html> <head> <title>Upload file</title> </head> <body> <? if ( isset( $upload ) ) { echo "Lokasi File: $myfile<br>"; echo "Nama File: $myfile_name<br>"; echo "Ukuran: $myfile_size bytes<br>"; echo "Tipe File: $myfile_type<br>"; copy ( $myfile, "$myfile_name") or die ("Gagal mengupload"); }

14 | P a g e

?> <form enctype="multipart/form-data" action="<?=$PHP_SELF?>" method="post"> <input type="file" name="myfile"><br> <input type="submit" value="upload" name="upload"> </form> </body> </html> Ketika tombol upload ditekan, maka url path file tersebut akan disimpan di variabel $myfile dan kita tampilkan dibrowser. Kita juga menampilkan nama file yang tersimpan pada variabel $myfile_name, ukuran file di variabel $myfile_size dan tipe file di variabel $myfile_type. Kita menggunakan fungsi copy() untuk memindahkan file dari komputer kita direktori sementara di server kita. Fungsi copy() membutuhkan dua argumen yaitu lokasi awal file dan lokasi baru diserver. Jika kita ingin mengupload nya ke suatu folder diserver (katakanlah kita simpan difolder images) maka kita perlu mengubahnya menjadi: copy ( $myfile, "images/$myfile_name") 4.7.1.2 Upload yang lebih kompleks Sekarang mari kita coba membuat fungsi upload yang jauh lebih rumit. Misalkan kita ingin membuat fungsi upload dimana file yang diupload harus file jpg, dan ukurannya tidak boleh lebih besar dari 100Kb serta panjang dan lebar gambar tidak boleh lebih dari 100 piksel. Kelihatannya rumit kan? Mari kita coba kode berikut dan simpan dengan nama upload2.php: <html> <head> <title>Upload file</title> </head> <body> <? if ( isset( $upload ) ) { echo "Lokasi File: $myfile<br>"; echo "Nama File: $myfile_name<br>"; echo "Ukuran: $myfile_size bytes<br>"; echo "Tipe File: $myfile_type<br>"; if ( $myfile_type == "image/pjpeg" ) { if ($myfile_size <= 102400 ) { list($width, $height) = @getimagesize("$myfile"); if ( $width <= 100 && $height <= 100 ){

15 | P a g e

copy ( $myfile, "$myfile_name") or die ("Couldn't copy"); echo "File anda telah sukses diupload"; } else { echo "Ukuran panjang dan lebar gambar terlalu besar"; } } else { echo "Ukuran file tidak boleh lebih dari 100Kb"; } } else { echo "File harus JPG!!"; } } ?> <form enctype="multipart/form-data" action="<?=$PHP_SELF?>" method="post"> <input type="file" name="myfile"><br> <input type="submit" value="upload" name="upload"> </form> </body> </html> PHP tidak memiliki kemampuan untuk membuat progress bar ketika file diupload. Karena PHP tidak dapat mengetahui berapa bagian yang telah diupload dan berapa yang belum. Kita perlu menggunakan CGI. Tetapi entah dengan PHP terbaru, siapa tau sudah memiliki class atau fungsi untuk membuat progress bar. Pertama-tama yang kita lakukan adalah mengecek apakah file kita jpg dengan cara mengecek $myfile_type. Jika hasil dari variabel $myfile_type adalah "image/pjpeg", maka bisa dipastikan bahwa file kita adalah jpg. Berikutnya kita melakukan pengecekan apakah ukuran filenya tidak lebih besar dari 100Kb dengan mengecek variabel $myfile_size. Ingat bahwa 100Kb = 102400Bytes(Rumusnya 1Kb=1024Bytes). Kemudian kita menggunakan fungsi getimagesize() untuk menemukan panjang dan lebar dari gambar yang kita simpan dengan array menggunakan fungsi list(). Kemudian kita cek panjang dan lebar dari gambar apakah tidak lebih dari 100 piksel.

16 | P a g e

PHP dengan Mysql Koneksi Sintak: mysql_connect($hostname,$username,$password) digunakan untuk membuat koneksi antara program dengan database Query Sintak: mysql_query($query) + digunakan untuk menjalankan query yang telah dibuat. Perintah-perintah SQL dasar: o Create - create database nama_database; = membuat database - create table nama_tabel (nama_filed type(length) not null/null, nama_filed type(length) not null/null); = membuat table serta atributnya o Select - select * from nama_tabel = menampilkan seluruh field yang ada pada table. - Select nama_field from nama table = menampilkan data field yang diinginkan secara keseluruhan. - Select nama_field from nama table where nama_field=’kondisi’; = menampilkan data field yang diinginkan secara keseluruhan dengan syarat yang telah ditentukan. o Insert - insert into nama_tabel (field1,…) values (‘nilai1’); = menambahkan/memasukan data ke dalam table. o Update - update nama_table set field1 = ‘nilai1’,…. Where field=’kondisi’; = meng-update data suatu field dalam suatu table. o Delete - delete from nama_tabel where kriteria; = menghapus data/ record dari suatu table. Counter dengan Mysql - mysql_error() = digunakan untuk memeriksa apabila kondisi error. - mysql_num_rows() = digunakan untuk memeriksa kondisi hasil query secara baris perbaris pada tabel. - mysql_fetch_array() = digunakan untuk membaca hasil query secara baris perbaris dengan konsep array, jadi peletakannya harus berurutan dengan field yang ada pada tabel. - mysql_fetch_object() = digunakan untuk membaca hasil query secara baris perbaris dengan berpatokan pada object yang digunakan pada tabel. 17 | P a g e

Guest book and Mysql Membuat buku tamu dengan database mysql. Formbukutamu.php <form action=”simpanbukutamu.php”method=post> <pre> Nama anda : < input type=”text” name=”nama” size=25 maxlength=50> Email addres : < input type=”text” name=”email” size=25 maxlength=50> Komentar : < textarea name=”komentara” cols=”40” rows=”5”></textarea> </form> Simpanbukutamu.php <? $conn=mysql_connect(“localhost”,”,”,”,”); If ($conn) { mysql_select_db(“bk_tamu”); $sql = ”insert into bukutamu (‘ “.$nama.”’,’ “.$email.” ‘,’ “.$ komentar.” ’ )”; $hsl = mysql_query($sql,$conn); mysql _close($conn); } Else { Echo “server not connected”; } ?> Bacabukutamu.php <? $conn = mysql_connect(“localhost”,” “,” “); If ($conn) { mysql_select_db(“bk_tamu”); $sql =”select * from bukutamu ; $hsl = mysql_query($sql,$conn); $row = mysql_fetch row($hsl); If ($row) { do { 18 | P a g e

List ($nama,$email,$komentar)=$row; Echo “nama : $nama”.”<br>”; Echo “e-mail : $email”.”<br>”; Echo “komentar : $komentar”; } While ( $row = mysql_fetch row($hsl)); } Else { Echo “data masih kosong”; } mysql_close($conn); } Else { Echo “server not connected” } ?> 4.8 Session dan cookies 4.8.1 Session PHP mempunyai session (catatan aktivitas) yang digunakan untuk menjaga/ memelihara informasi akses dari seseorang pengakses/ pemakai aplikasi web. Session memungkinkan pelacakan akses pemakaian, pengaturan pemakaian aplikasi oleh pemakai, dan meningkatkan layanan situs web.Fasilitas session ini ada sejak PHP versi 4.0 Setiap pengunjung akan diberi sebuah id yang unik, yang disebut dengan id session (session_id). Id ini dapat disimpan dalam suatu cookies pada sisi user atau disertakan pada URL. Dukungan session memungkinkan kita untuk mencatat sejumlah variable untuk digunakan antar permintaan (request). Pada saat seorang pengunjung mengakses situs web kita, PHP akan melakukan pemeriksaan secara otomatis (jika session.auto_start bernilai 1 ) atau pada request (secara eksplisit melalui session_start) atau( implisit melalui session_register), apakah id session telah dikirim atau belum bersamaan dengan request. Session koneksi antara klien dan server akan hilang atau putus apabila browser ditutup (selesai menggunakan browser). Apabila browser dijalankan kembali dan koneksi kepada server dilakukan maka dianggap sebagai koneksi baru. Perintah session selalu paling atas dari script, tidak boleh ada perintah yang melakukan penulisan apapun sebelum perintah session selesai dijalankan. Session_destroy() session_destroy() merupakan fungsi yang digunakan untuk melakukan reset terhadap semua nilai variabel yang ada dalam suatu session. id session

19 | P a g e

untuk koneksi suatu klien (komputer) akan tetap sampai dengan browser diclose. Contoh: 4.8.2 Cookies Cookies merupakan fasilitas seperti halnya session, cookies merupakan teknik pertama kali yang dikenalkan oleh Netscape untuk membuat adanya suatu state koneksi antara klien dan server web (session). hanya saja mekanisme pencatatan dilakukan pada setiap klien (dalam hal ini browser web). Cookies merupakan data yang disimpan dalam browser web, yang menjadi identitas yang selalu akan dikirim kepada server, apabila diminta. Data ini pertama kali dikirim oleh server, kemudian disimpan dalam browser web. Mekanisme pengenalan session dengan menggunakan cookies akan berhasil apabila browser web (klien) mendukung cookies dan kemampuan untuk menerima cookies inidihidupkan, fungsi ini sering dimatikan karena alasan keamanan oleh pemakainya. Cookies atau data kecil dari server yang disimpan dalam browser sifatnya temporer seperti halnya session. cookies secara defaultakan hilang apabila browser ditutup (close). Seperti halnya session maka perintah untuk membuat cookies harus dilakukan pertama kali, sebagai perintah pertama dalam script kita. 4.8.3 Cookies untuk counter Kita dapat menggunakan cookies untuk dijadikan sebagai parameter counter untuk menghitung jumlah pengunjung situs kita. Jumlah pengunjung harus bisa diidentifikasi bukan dari jumlah halaman yang diklik, karena bisa saja seorang pengunjung melakukan akses dokuman lebih dari satu dokumen pada saat yang bersamaan, karenanya kita harus mencatat siapa saja yang tengah melakukan akses kepada server kita. Cara sederhana dengan menggunakan cookies adalah dengan memberikan sebuah cookies berupa nomor kepada setiap pengunjung. Katakan cookies ini diberi nama “tamu”, setiap pengunjung akan diberi nomor urut tamu. Nomor urut tamu akan disimpankan kepada browser, sehingga setiap kali seseorang pengunjung mengakses situs kita, nilai cookies tamunya diperiksa, apabila belum mempunyai nomor cookies maka pengunjung diberi cookies dengan menggunakan setcookie(“tamu”,nomor). Catatan: Script di atas digunakan untuk diuji coba pada Apache+PHP4 pada linux. Jika ingin dicoba untuk windows dengan PWS/ILS+PHP4 maka pada $namafile, hilangkan nama direktori “/tmp/”-nya. Pada script use_cookies_05.php ini dilakukan proses pemeriksaan terlebih dahulu apakah variabel $tamu (dalam hal ini sebenarnya nama cookies) diperiksa terlebih dahulu dengan menggunakan fungsi isset(), fungsi yang memeriksa apakah variabel tersebut sudah didefinisikan dan ada isinya atau belum. Jika belum ada script melakukan pembacaan file dari 20 | P a g e

counter.txt, untuk membaca nomor urut pengunjung yang terakhir, jika file counter.txt belum ada maka dilakukan proses pembuatan file counter.txt dan diisi dengan nilai 0. jika telah ada maka nilai yang ada didalamnya dibaca dimaksukkan ke dalam variabel $urut. Nilainya di tambah dengan satu kemudian disimpankan lagi ke dalam file counter.txt. nilai yang telah ditambahkan dijadikan sebagai nilai cookies yang diberikan kepada browser. Pada script use_cookies_05.php ini dilakukan proses redirect yang memanggil dirinya sendiri sehingga nilai dari counter bisa langsung ditampilkan. Ada proses refresh yang dipaksakan oleh script yakni dengan menggunakan fungsi header(). Fungsi header (“location: $PHP_SELF”.”?OK=1”) akan memaksa script untuk memanggil dirinya sendiri, karena isi dari $PHP_SELF adalah nama script itu sendiri, variable global yang menyimpan nama script yang sedang diakses pengunjung. Pada perintah header ini diberikan parameter OK=1, untuk menandakan bahwa variabel/ parameter OK adalah parameter yang berasal dari pemaggil diri sendiri. 4.8.4 Penghapusan cookies Penghapusan cookies dilakukan dengan memberi nilai kosong kepada suatu cookies. Tampilan cookies yang akan diberikan sama seperti pada cara pemberian cookies. Pada kesempatan pertama nilai cookies masih ditampikan, karena browser baru mendapatkan proses penghapusan, script dijalankan pada saat masih mempunyai data cookies, jadi nilai cookies masih berlaku. Pada kesempatan ke dua pada saat di refresh atau dipanggil kembali cookies baru tidak mempunyai data, karena browser mengirimkan informasi bahwa cookiesnya telah dikosongkan. 4.8.5 Tambahan untuk cookies Life-time atau masa berlaku cookies jika tidak ada informasi tambahan sama seperti halnya session, sampai dengan browser web ditutup (close). Setcookie(“namacookie”,”datanilai”,masaberlaku,”path”,”domain”,secure) Namacookie :Nama cookie yang diinginkan. data-nilai :Data untuk cookie. Masa berlaku :Waktu berlakunya cookie dalam hitungan detik, dari jam sekarang ditambah dengan berapa detik. Data berupa integer tanggal. Path :Nama path yang valid untuk berlakunya suatu cookie. Jika script berbeda path dengan script yang melakukan pendefinisian cookie, maka cookie bisa jadi tidak berlaku. Domain :Nama domain yang digunakan untuk membuat proses kirim-mengirim cookies dilakukan apabila pada domain yang benar (membatasi domain). Secure :Digunakan agar proses pengiriman cookies dilakukan pada mode koneksi yang secure (aman). Data berupa interger. 21 | P a g e