24
PHP & MySql Untuk Web Dinamis Oleh : Indra Jatmiko, S. Kom Digunakan hanya untuk pembelajaran di BiNus Center. Modul ini diambil dari berbagai sumber. Semua contoh program yang ada pada modul ini telah diuji coba pada setingan PHP, APACHE dan MySql standard. Penggunaan modul ini hanya untuk membantu proses pembelajaran di BiNus Center. Anda bebas menyebarluaskan modul ini, baik untuk tujuan individual maupun komersil, tetapi dengan seizin penulis. Untuk pertanyaan, kritik dan saran dapat mengirimkan email ke : [email protected] / [email protected] (c) 2007 Indra Jatmiko Keterangan : Untuk coding, menggunakan font Courier New. Untuk perintah PHP dan MySql, huruf dicetak KAPITAL.

Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

  • Upload
    ngokien

  • View
    242

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql

Untuk Web Dinamis

Oleh : Indra Jatmiko, S. Kom

Digunakan hanya untuk pembelajaran di BiNus Center.

Modul ini diambil dari berbagai sumber. Semua contoh program yang ada pada modul ini telah diuji coba pada setingan PHP, APACHE dan MySql standard. Penggunaan modul ini hanya untuk membantu proses pembelajaran di BiNus Center. Anda bebas menyebarluaskan modul ini, baik untuk tujuan individual maupun komersil, tetapi dengan seizin penulis.

Untuk pertanyaan, kritik dan saran dapat mengirimkan email ke : [email protected] / [email protected]

(c) 2007 Indra Jatmiko

Keterangan : Untuk coding, menggunakan font Courier New. Untuk perintah PHP dan MySql, huruf dicetak KAPITAL.

Page 2: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 1

Versi 1.2 Februari 2007

PHP & MySql Untuk Web Dinamis

PHP

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 olehbrowser pada client. Dalam hal ini versi dari html yang digunakan harus didukung olehbrowser 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) code 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 diload oleh web server.

1.3. Penginstalan Apache 2.0.55

Langkah untuk menginstall apache adalah : 1. Pastikan server IIS di komputer anda sudah di-stop 2. Klik 2x pada file Apache 2.0.55.exe 3. Maka akan muncul installation wizard, Klik Next > 4. Pilih “ I accept … “, klik Next > 5. Klik Next > 6. Masukkan : Network Domain : nama_anda.com

Page 3: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 2

Versi 1.2 Februari 2007

Server Name : www.nama_anda.com Admin email : nama_anda@nama_anda.com

Pilih “For all user … “, Klik Next > 7. Pilih Typical, Klik Next > 8. Tentukan Destination folder, biarkan di direktori defaultnya, klik Next > 9. Klik Install, untuk memulai proses intalasi. 10. Tunggu proses sampai selesai, Klik Finish. 11. Jalankan Internet Explorer, lalu ketikkan di address bar : localhost 12. Jika ada halaman awal dari apache, maka instalasi apache sudah berhasil.

1.4. Penginstalan PHP 5.0.2 Untuk mempermudah sebaiknya kita menginstall PHP di direktori Apache Group. Langkahnya adalah :

1. Ekstrak file php-5.0.2-Win32.zip ke direktori “C:\Program Files\Apache Group\php”.

2. Buka file install.txt yang ada pada direktori php. 3. Klik Start > All Programs > Apache HTTP Server 2.0.55 > Configure Apache

Server > Edit the Apache httpd.conf Configuration File. 4. Pada file install.txt cari kalimat “LoadModule php5_module“, lalu copy ketiga

baris dibawah ini : # For PHP 5 do something like this: LoadModule php5_module "c:/php/php5apache2.dll" AddType application/x-httpd-php .php

5. Pada file httpd.conf, letakkan kursor pada akhir file, paste ketiga baris perintah diatas. Ubah lokasi php5apache2.dll ke direktori penginstalan php :

# For PHP 5 do something like this: LoadModule php5_module "C:/Program Files/Apache Group/php/php5apache2.dll" AddType application/x-httpd-php .php

6. Simpan file httpd.conf, klik kiri > Apache2 > Stop. Tunggu sampai lampu indikator menjadi merah.

7. Ganti nama file php.ini-dist menjadi php.ini, copy file libmysql.dll, php5ts.dll, php.ini ke direktori “C:\WINDOWS”.

8. klik kiri > Apache2 > Start. Tunggu sampai lampu indicator menjadi hijau.

9. Jika tidak ada pesan error, maka instalasi Apache dan Php berhasil. Untuk mencobanya buat file index.php dengan isi :

<? Phpinfo(); ?>

10. Simpan file index.php di direktori “C:\Program Files\Apache Group\Apache2\htdocs\nama_anda” Jalankan file index.php pada internet explorer, ketikkan pada address bar : localhost/nama_anda/index.php.

11. Jika pada IE muncul penjelasan mengenai PHP, maka proses intalasi Apache dengan PHP telah berhasil.

1.5. Penginstalan MySql 5.0.0 Untuk mempermudah sebaiknya kita menginstall MySql di direktori Apache Group. Langkahnya adalah :

1. Ekstrak file mysql-5.0.0a-alpha-win.zip ke sembarang folder, lalu jalankan file SETUP.exe, ikuti langkah-langkahnya.

2. Klik Next >, Next >

Page 4: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 3

Versi 1.2 Februari 2007

3. Ganti destination folder menjadi “c:\program files\apache group\mysql”. Klik Next >

4. Pilih typical, klik Next > 5. Tunggu sampai proses instalasi selesai, klik Finish. 6. Buka folder “c:\program files\apache group\mysql\bin”, lalu jalankan file

winmysqladmin.exe 7. Masukkan User : root dan password : root

8. Maka akan muncul icon , jika indicator lampu berwarna hijau maka instalasi MySql berhasil dan jika menunjukkan warna merah, maka proses instalasi gagal.

9. Agar PHP dapat mengenal MySql, maka kita harus mengatur php.ini agar dapat me-load php_mysql.dll, caranya adalah :

10. Klik Start > Run, ketik “php.ini” lalu OK. 11. Cari kata “extension_dir”, lalu ganti nilainya menjadi : extension_dir = “C:/folder_instalasi_php/ext”, contoh : extension_dir = “C:/Program Files/Apache Group/php/ext” 12. Cari kata “php_mysql.dll”, lalu hapus tanda #, #extension=php_mysql.dll, ganti menjadi : extension=php_mysql.dll 13. Restart Apache, jika tidak ada peringatan error, maka MySql sudah dikenal

oleh PHP. 14. Ekstrak file phpmyadmin.zip ke direktori htdocs, lalu jalankan IE, ketik pada

addressbar : localhost/phpmyadmin. 15. Jika tampilan phpmyadmin sudah muncul maka, koneksi MySql, PHP dan

Apache sudah siap.

1.6. 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

<?PHP … ?> <? … ?>

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 <html> <head> <title>Example</title> </head> <body> <? ECHO "Hi, I'm a PHP script!"; ?> </body> </html>

Page 5: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 4

Versi 1.2 Februari 2007

Letakkan file ini pada homepages anda kemudian jalankan web server. Buka alamat http://nama_host/test.PHP. Jika PHP terinstall dengan benar maka browser akan menampilkan kalimat "Hi, I’m a PHP script!".

1.7. 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 :

<? ECHO "test"; //statemen ini diakhiri dengan titik koma ?>

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 kecil-huruf besar akan menunjukkan nama fungsi yang sama.

1.8. 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 code 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;

Page 6: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 5

Versi 1.2 Februari 2007

3. Operator

3.1. Aritmatika Operator yang digunakan untuk melakukan operasi matematika.

Operator Operasi Contoh

* Perkalian $a*$b / Pembagian $a/$b % Modulus $a%$b + Penambahan $a+$b - Pengurangan $a-$b

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 Increment ++$a atau $b++ -- Pre/Post Decrement $a-- atau $b--

3.3. String

Hanya ada satu operator string, yaitu operator concatenation ‘.’ Contoh : <? $a = “hai”; $b = “ apa kabar?” $c = $a . $b; // $c berisikan “hai apa kabar” <?

3.4. Perbandingan Operator perbandingan digunakan untuk membandingkan suatu nilai variabel dengan variabel lain.

Contoh Keterangan Hasil $a > $b Lebih dari True jika $a lebih besar dari $b $a < $b Kurang dari True jika $a kurang dari $b

$a >= $b Lebih dari atau sama dengan

True jika $a lebih besar dari $b atau $a sama dengan $b

$a <= $b Kurang dari atau sama dengan

True jika $a kurang dari $b atau $a sama dengan $b

$a == $b Sama dengan True jika $a sama dengan $b $a != $b Tidak sama dengan True jika $a tidak sama dengan $b

Page 7: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 6

Versi 1.2 Februari 2007

3.5. Logika Operator logika digunakan untuk memberikan operasi logika terhadap variabel.

Contoh Nama Hasil

$a AND $b $a && $b

And True jika $a dan $b adalah benar

$a OR $b $a || $b

Or True jika salah satu $a atau $b adalah benar

$a XOR $b Xor True jika salah satu $a atau $b adalah

benar dan tidak keduanya !$a Not True jika $a tidak benar

4. 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 :

4.2. IF … Else …

4.3. SWITCH Switch digunakan apabila ada satu ekspresi yang memiliki banyak kemungkinan nilai, dimana masing-masing nilai ada perintah yang harus dikerjakan.

Bentuk Umum : IF (kondisi) { statement; ... }

contoh : $Jk = “L”; if ($Jk == “L”) { $ket = “Laki-laki”; }

Bentuk umum : IF (kondisi) { statementTrue; ... } ELSE { statementFalse; ... }

Contoh : $Jk = “L”; IF ($Jk == “L”) { $ket = “Laki-laki”; } ELSE { $ket = “Perempuan”; }

Bentuk Umum : SWITCH (kondisi) { CASE syarat1: Statement1; BREAK; CASE syarat1: Statement1; BREAK; DEFAULT: Statement default; }

Contoh : $nilai = “A”; SWITCH ($nilai) { CASE “A”: $ket = “Sempurna”; BREAK; CASE “B”: $ket = “Bagus”; BREAK; DEFAULT: $ket = “Tidak Lulus”; }

Page 8: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 7

Versi 1.2 Februari 2007

4.4. FOR Digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui.

4.5. WHILE Digunakan untuk mengulangi sebuah perintah sampai jumlah tertentu. Untuk menghentikan pengulangan digunakan suatu kondisi tertentu.

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.

5. Fungsi

Fungsi adalah sekumpulan baris perintah yang digunakan untuk melakukan suatu perintah. Dalam penulisan program, kita bisa menuliskan perintah yang berulang-ulang,

Bentuk Umum : FOR (nilaiAwal; nilaiAkhir; penambahan/pengurangan) { Statement; ... }

Contoh : FOR ($a = 1; $a <= 5; $a++) { Echo “For ke-$a<BR>”; }

Bentuk Umum : WHILE (kondisi) { Statement; ... }

Contoh : $a = 1; WHILE ($a<=5) { Echo “While ke-$a<BR>”; $a++; }

Bentuk Umum : Do { Statement; } WHILE (kondisi)

Contoh : $a = 1; Do { ECHO “Do While ke-$a<BR>”; $a++; } WHILE ($a <=5)

Page 9: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 8

Versi 1.2 Februari 2007

untuk mengurangi berulangnya suatu perintah dan supaya lebih efisien dalam penulisan kode, kita bisa menggunakan fungsi.

6. 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 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.

Bentuk Umum : FUNCTION namaFungsi (argumen) { Statement; ... }

Contoh : FUNCTION BIU ($kalimat) { $hasil = “<B><I><U>$kalimat</U></I></B>”; return($hasil); } echo BIU(“Akan mencetak huruf Bold, Italic dan Underline”);

Page 10: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 9

Versi 1.2 Februari 2007

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 satu-satunya 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 tebel dibawah ini:

Tipe Data Kisaran Nilai TINYINT (-128) − 127 atau 0 − 255 SMALLINT (-32768) − 32767 atau 0 − 65535 MEDIUMINT (-3888608) − 3888607 atau 0 − 16777215 INT (-2147683648) − 2147683647 atau 0 − 4294967295 BIGINT (-922337203685775808) − 922337203685775807 atau 0 −

184467440737099551615 FLOAT (-3.402823466E+38) − (-1.1775494351E-38), 0 dan

1.1759431E-38 − 3.4028223466E+38 DOUBLE (-1.7976931348623157E+308) − (-2.2250738585072014E-

308), 0 dan 2.2250738585072014E-308 − 1.7976931348623157E-308)

2.2. String

Tipe Data Kisaran Nilai CHAR 1 − 255 karakter VARCHAR 1 − 255 karakter TINYBLOB, TINYTEXT 1 − 255 karakter BLOB, TEXT 1 − 65535 karakter MEDIUMBLOB, LONGTEXT 1 − 16777215 karakter LONGBLOB, LONGTEXT 1 − 4294967295 karakter ENUM(‘elemen1’,’elemen2’,…) Maksimum 65535 karakter SET(‘elemen1’,’elemen2’,…) Maksimum 64 elemen

Page 11: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 10

Versi 1.2 Februari 2007

2.3. Tanggal

Tipe Data Kisaran Nilai DATETIME 1000-01-01 00:00:00 − 9999-12-31

23:59:59 DATE 1000-01-01 − 9999-12-31 TIMESTAMP 1970-01-01 00:00:00 − 2037 TIME -838:59:59:59 − 838:59:59:59 YEAR 1901 − 2155

3. Perintah Dasar MySql 3.1. Create Database

Perintah ini digunakan untuk membuat database baru pada MySql.

3.2. Create Table Perintah ini digunakan untuk membuat table pada suatu database.

3.3. Drop Table Perintah ini digunakan untuk menghapus suatu tabel pada suatu database.

4. 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 :

Bentuk Umum : CREATE DATABASE namaDatabase;

contoh : CREATE DATABASE pegawai;

Bentuk Umum : CREATE TABLE dataPegawai( Field1 properties, field2 properties,...)

contoh : CREATE TABLE dataPegawai ( nip varchar(11) not null primary key, namaPeg varchar(30), alamat varchar(50))

Bentuk Umum : DROP TABLE namaTabel;

contoh : DROP TABLE dataPegawai;

Page 12: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 11

Versi 1.2 Februari 2007

4.1. Insert

Perintah ini digunakan untuk memasukkan data.

4.2. Select Perintah ini digunakan untuk melihat data dari satu atau beberapa tabel.

4.3. Update

Perintah ini digunakan untuk memperbaiki atau mengubah data yang sudah ada.

4.4. Delete Perintah ini digunakan untuk menghapus data.

5. Fungsi-fungsi MySql

Berikut adalah fungsi-fungsi MySql yang digunakan untuk koneksi, DML MySql dengan PHP.

Bentuk Umum : INSERT INTO namaTabel (field1, field2, ...) VALUES (data1, data2, ...);

contoh : INSERT INTO dataPegawai (nip, namaPeg, alamat)VALUES(‘0211500173’, ‘indra’, ‘bintaro’);

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;

Bentuk Umum : UPDATE namaTabel SET field1=dataBaru1, field2=dataBaru2, ... WHERE [kondisi];

contoh : UPDATE dataPegawai SET alamat=’jakarta selatan’ WHERE nip=’0211500173’;

Bentuk Umum : DELETE FROM namaTabel WHERE [kondisi];

contoh : DELETE FROM dataPegawai WHERE nip=’0211500173’;

Page 13: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 12

Versi 1.2 Februari 2007

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().

5.2. MySql_select_db() Digunakan untuk memilih atau mengaktifkan database.

5.3. MySql_query() Digunakan untuk menjalankan perintah query yang terdapat di MySql, misalnya perintah insert, update, delete dll.

PHP tidak menyediakan fungsi-fungsi khusus untuk operasi data, sehingga sintak yang dipakai adalah sintaks 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 sintaks perintah MySql yang akan

dilakukan. 3. Laksanakan sintaks MySql menggunakan fungsi menghasilkan output yang

akan ditampilkan, deklarasi sebuah variabel untuk menampung hasil tersebut. 4. Mengambil hasil dari sintaks MySql yang dilaksanakan menggunakan fungsi-

fungsi 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 CONNECT (namaHost, namaUser, password);

contoh : MYSQL CONNECT (‘localhost’, ‘root’, ‘rahasia’);

Bentuk Umum : MYSQL SELECT DB (namaDatabase);

contoh : MYSQL SELECT DB (pegawai);

Bentuk Umum : MYSQL_QUERY (perintah mysql);

contoh : MYSQL_QUERY (“SELECT * FROM dataPegawai”);

Bentuk Umum : MYSQL_FETCH_ROW (pengenalHasil);

Page 14: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 13

Versi 1.2 Februari 2007

5.5. MySql_num_rows () Digunakan untuk menghasilkan jumlah baris pada suatu tabel. 6. 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. Mananage keys pada field 6. dll

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

Bentuk Umum : MYSQL_NUM_ROWS (pengenalHasil);

contoh : $query = mysql_query("SELECT * FROM dataPegawai"); $numrows = mysql_num_rows($query); Echo $numrows; // menghasilkan jumlah baris/record

Page 15: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 14

Versi 1.2 Februari 2007

7. Membuat Aplikasi Web

Sebelum kita memulai membuat aplikasi web dinamis, sebelumnya kita harus membuat satu database yang bernama binus, fungsi yang digunakan untuk menghubungkan MySql dengan PHP. Berikut adalah fungsi tersebut.

FUNCTION.php 1. <?php 2. $db_hostname = "localhost"; 3. $db_username = "root"; 4. $db_password = ""; 5. $db_name = "binus"; 6. //menghubungkan ke database 7. FUNCTION connect_db(){ 1. global $db_hostname, $db_username, $db_password, $db_name; 8. MYSQL_CONNECT($db_hostname,$db_username,$db_password); 1. MYSQL_SELECT_DB($db_name); 9. } 10. //Cek apakah user sudah login apa belum, jika belum maka akan

dibawa ke halaman login.html untuk login 11. 12. FUNCTION cekSession() { 13. SESSION_START(); 14. IF(!SESSION_IS_REGISTERED(reg_userName)) { 15. ECHO "Anda Belum Login !. Silakan klik <A

href='login.html'>disini</A> untuk login"; 16. EXIT(); 17. } 18. } 19. ?>

Page 16: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 15

Versi 1.2 Februari 2007

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.

Nama field Properties

Id Int(2), primary key, auto_increment User Varchar(25) Password Varchar(255) Nama Varchar(50) Email Varchar(50) Alamat Varchar(255)

Login.php 1. <? 2. INCLUDE "function.php"; 3. 4. $aksi = $_POST['aksi']; 5. 6. if ( $aksi == "login" ) { 7. $userName = $_POST['user']; 8. $password = MD5($_POST['password']); 9. connect_db(); 10. $query = MYSQL_QUERY("SELECT * FROM user WHERE

user='$userName' AND password='$password'"); 11. $result = MYSQL_FETCH_ROW($query); 12. if (!empty($result)) { 13. SESSION_START(); 14. session_register("reg_userName"); 15. $reg_userName = $result[1]; 16. HEADER("location:login_ok.php"); 17. } 18. ELSE { 19. ECHO "Login GAGAL! Periksa Username dan Password

Anda<BR>Klik <A href='login.html'>disini</A> untuk login kembali";

20. } 21. } 22. ?>

Page 17: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 16

Versi 1.2 Februari 2007

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 :

Nama Field Peoperties Hitung Int(6)

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 :

Nama Field Peoperties Id Int(6), primary key, auto_increment Date datetime Nama Varchar(25) Alamat Varchar(50) Email Varchar(50) url Varchar(50) Komentar text

Counter.php 2. <? 3. INCLUDE "function.php"; 4. connect_db(); 5. $search = MYSQL_QUERY("SELECT hitung FROM counter"); 6. IF (MYSQL_NUM_ROWS($search)==0){ 7. $insert = MYSQL_QUERY("INSERT INTO counter VALUES(1)"); 8. } 9. ELSE { 10. $query = MYSQL_QUERY("UPDATE counter SET hitung=hitung+1"); 11. } 12. ?>

Login_ok.php 1. <? 2. INCLUDE "function.php"; 3. 4. SESSION_START(); //cek apakah sudah login ?? 5. cekSession(); 6. $reg_userName = $_SESSION["reg_userName"]; 7. ECHO "Selamat Datang <B>$reg_userName</B>"; 8. ECHO "<BR>Klik <A href='logout.php'>disini</A> untuk Logout"; 9. ?>

Logout.php 1. <? 2. SESSION_START(); 3. SESSION_DESTROY(); 4. HEADER("location:login.html"); 5. ?>

Page 18: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 17

Versi 1.2 Februari 2007

guest_book.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $aksi = $_POST['aksi']; 4. $date = DATE("Y-m-d H:m:s"); 5. $nama = $_POST['nama']; 6. $alamat = $_POST['alamat']; 7. $email = $_POST['email']; 8. $url = $_POST['url']; 9. $komentar = $_POST['komentar']; 10. 11. IF ($aksi == "simpan") { 12. CONNECT_DB(); 13. $query = MYSQL_QUERY("INSERT INTO guestbook

VALUES('','$date','$nama','$alamat','$email','$url','$komentar')");

14. ECHO "Data berhasil Disimpan."; 15. } 16. ELSE { 17. ECHo "Data Gagal Disimpan"; 18. } 19. ?>

Page 19: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 18

Versi 1.2 Februari 2007

View_guestbook.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $offset = $_GET['offset']; 4. connect_db(); 5. 6. $query = MYSQL_QUERY("SELECT * FROM guest ORDER BY date"); 7. $numrows = MYSQL_NUM_ROWS($query); 8. IF ($numrows != 0) { 9. $limit = 10; 10. 11. IF(EMPTY($offset)) { 12. $offset = 0; 13. } 14. 15. ECHO "<div align=center>"; 16. IF($offset != 0) { 17. $prevoffset = $offset - 10; 18. ECHO " <a

href=$PHP_SELF?offset=$prevoffset>Prev</a> "; 19. } 20. 21. $halaman = intval($numrows / $limit); 22. 23. if($numrows % $limit) { 24. $halaman++; 25. } 26. 27. FOR($i = 1;$i <= $halaman;$i++) { 28. $newoffset = $limit * ($i - 1); 29. IF($offset != $newoffset) { 30. ECHO " <a

href=$PHP_SELF?offset=$newoffset>$i</a> "; 31. } 32. ELSE { 33. ECHO "<B> $i </B>"; 34. } 35. } 36. 37. IF(!(($offset / $limit) + 1 == $halaman) &&

$halaman != 1){ 38. $newoffset = $offset + $limit; 39. ECHO "<a

href=$PHP_SELF?offset=$newoffset>Next</a> "; 40. } 41. ECHO "</div>"; 42. 43. ?> 44. <TABLE border="0" cellpadding="2" > 45. <TR> 46. <TD>&nbsp;</TD> 47. </TR> 48. <?

Page 20: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 19

Versi 1.2 Februari 2007

7.4. Artikel Untuk membuat halaman web artikel, kita membutuhkan satu tabel yaitu tabel artikel. Struktur tabelnya adalah sebagai berikut :

Nama Field Peoperties Id Int(3), primary key, auto_increment Date datetime Nama Varchar(25) Judul Varchar(100) Gambar Varchar(100) Isi text

49. $query = mysql_query("SELECT * FROM guest ORDER BY date limit $offset, $limit");

50. $no = $offset + 1; 51. WHILE ($baris = MYSQL_FETCH_ROW($query)) { 52. ECHO "<TR> 53. <TD colspan=2><B>Guest Book ke-

$no</B></TD> 54. </TR> 55. <TR bgcolor=white> 56. <TD vAlign=top>Tanggal </TD> 57. <TD>: $baris[1]</TD> 58. </TR> 59. <TR bgcolor=white> 60. <TD vAlign=top>Dari </TD> 61. <TD>: $baris[2]</TD> 62. </TR> 63. <TR bgcolor=white> 64. <TD vAlign=top>Isi </TD> 65. <TD align=justify><TEXTAREA cols=40

rows=5>$baris[3]</TEXTAREA></TD> 66. </TR> 67. <TR> 68. <TD colspan=2><HR></TD> 69. </TR> 70. "; 71. $no++; 72. } 73. ECHO "</TABLE>"; 74. } 75. ELSE 76. ECHO "Maaf, Tidak ada Guest Book.<BR>"; 77. ?>

Page 21: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 20

Versi 1.2 Februari 2007

artikel.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $aksi = $_POST['aksi']; 4. $date = date("Y-m-d H:m:s"); 5. $user = $_POST['user']; 6. $judul = $_POST['judul']; 7. $gbrSize = $_FILES['gambar']['size']; 8. $gbrTemp = $_FILES['gambar']['tmp_name']; 9. $gbrLoc = "gambar/" . $_FILES['gambar']['name']; 10. $isi = $_POST['isi']; 11. ECHO $gambar; 12. IF ($aksi == "simpan") { 13. IF (!EMPTY($gbrSize)){ 14. $result =

MOVE_UPLOADED_FILE($gbrTemp,$gbrLoc); 15. IF ($result) { 16. connect_db(); 17. $query = MYSQL_QUERY("INSERT INTO

article VALUES('','$date','$user','$judul','$gbrLoc','$isi')"); 18. ECHO "Data berhasil Disimpan."; 19. } 20. ELSE { 21. ECHO "Data Gagal Disimpan"; 22. } 23. } 24. ELSE { 25. ECHO "Anda belum memasukkan gambar."; 26. } 27. } 28. ?>

Page 22: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 21

Versi 1.2 Februari 2007

View_artikel.php 1. <? 2. REQUIRE_ONCE "function.php"; 3. $offset = $_GET['offset']; 4. connect_db(); 5. 6. $query = MYSQL_QUERY("SELECT * FROM article ORDER BY

date"); 7. $numrows = MYSQL_NUM_ROWS($query); 8. if ($numrows != 0) { 9. $limit = 10; 10. 11. if(EMPTY($offset)) { 12. $offset = 0; 13. } 14. 15. ECHO "<div align=center>"; 16. IF($offset != 0) { 17. $prevoffset = $offset - 10; 18. ECHO " <a

href=$PHP_SELF?offset=$prevoffset>Prev</a> "; 19. } 20. 21. $halaman = intval($numrows / $limit); 22. 23. IF($numrows % $limit) { 24. $halaman++; 25. } 26. 27. FOR($i = 1;$i <= $halaman;$i++) { 28. $newoffset = $limit * ($i - 1); 29. IF($offset != $newoffset) { 30. ECHO " <a

href=$PHP_SELF?offset=$newoffset>$i</a> "; 31. } 32. ELSE { 33. ECHO "<B> $i </B>"; 34. } 35. } 36. 37. IF(!(($offset / $limit) + 1 == $halaman) &&

$halaman != 1){ 38. $newoffset = $offset + $limit; 39. ECHO "<a

href=$PHP_SELF?offset=$newoffset>Next</a> "; 40. } 41. ECHO "</div>"; 42. 43. ?> 44. <TABLE border="0" cellpadding="2" > 45. <TR> 46. <TD>&nbsp;</TD> 47. </TR> 48. <? 49.

Page 23: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 22

Versi 1.2 Februari 2007

50. $query = MYSQL_QUERY("SELECT * FROM article ORDER BY date limit $offset, $limit");

51. $no = $offset + 1; 52. WHILE ($baris = MYSQL_FETCH_ROW($query)) { 53. ECHO "<TR> 54. <TD colspan=2><B>Artikel ke-$no</B></TD> 55. </TR> 56. <TR> 57. <TD vAlign=top>Tanggal </TD> 58. <TD>: $baris[1]</TD> 59. </TR> 60. <TR> 61. <TD vAlign=top>Dari </TD> 62. <TD>: $baris[2]</TD> 63. </TR> 64. <TR> 65. <TD vAlign=top>Judul </TD> 66. <TD>: $baris[3]</TD> 67. </TR> 68. <TR> 69. <TD vAlign=top> </TD> 70. <TD><IMG src='$baris[4]'></TD> 71. </TR> 72. <TR> 73. <TD vAlign=top>Isi </TD> 74. <TD align=justify><TEXTAREA cols=40

rows=5>$baris[5]</TEXTAREA></TD> 75. </TR> 76. <TR> 77. <TD colspan=2><HR></TD> 78. </TR> 79. "; 80. $no++; 81. } 82. ECHO "</TABLE>"; 83. } 84. ELSE 85. ECHO "Maaf, Tidak ada artikel"; 86. ?>

Page 24: Modul PHP MySQL - sidik. · PDF filePada file install.txt cari kalimat “LoadModule php5_module“, ... setiap kali program ... Digunakan untuk mengulangi perintah dengan jumlah pengulangan

PHP & MySql Untuk Web Dinamis 23

Versi 1.2 Februari 2007

History : September 2006 : Versi 1.0

• Awal modul ini dibuat Februari 2007 : Versi 1.1

• Penambahan cara penginstalan Apache 2.0, PHP 5.0 dan MySql 5.0.

Februari 2007 : Versi 1.2 • Perbaikan dan penambahan listing program.