1.1 Sejarah PHP
Pada awalnya PHP digunakan sebagai bahasa pemrograman
untuk sebuah server-side HTML-embedded dengan nama Personal
Home Pages. PHP pertama kali dibuat oleh Rasmus Lerdorf pada
tahun 1995. Pada waktu itu PHP masih bernama FI (Form
Interpreted), yang wujudnya berupa sekumpulan script yang
digunakan untuk mengolah data form dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum
dan menamakannya PHP/FI, kependekan dari Hypertext
Preprocessing'/Form Interpreter. Dengan perilisan kode sumber ini
menjadi open source, maka banyak programmer yang tertarik untuk
ikut mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini
interpreter PHP sudah diimplementasikan dalam program C. Dalam
rilis ini disertakan juga modul-modul ekstensi yang meningkatkan
kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis
ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih
cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis
interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai
PHP 3.0.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP
baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi
PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini
banyak dipakai disebabkan kemampuannya untuk membangun
aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas
yang tinggi.
2
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari
interpreter PHP mengalami perubahan besar. Versi ini juga
memasukkan model pemrograman berorientasi objek ke dalam PHP
untuk menjawab perkembangan bahasa pemrograman ke arah
paradigma berorientasi objek.1
1.2 Keunggulan PHP dari Bahasa Pemrograman Lain.
Beberapa keunggulan yang ditawarkan PHP dibandingkan
beberapa bahasa pemrograman lainnya adalah :
Bahasa pemrograman PHP adalah sebuah bahasa script yang
tidak melakukan sebuah kompilasi dalam penggunaanya.
Web Server yang mendukung PHP dapat ditemukan dimana -
mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan
configurasi yang relatif mudah.
Dalam sisi pengembangan lebih mudah, karena banyaknya
milis - milis dan developer yang siap membantu dalam
pengembangan.
Dalam sisi pemahamanan, PHP adalah bahasa scripting yang
paling mudah karena memiliki referensi yang banyak.
PHP adalah bahasa open source yang dapat digunakan di
berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat
dijalankan secara runtime melalui console serta juga dapat
menjalankan perintah-perintah sistem.
1.3 Instalasi PHP
Sebelum kita masuk ke dalam bagian penginstalasian PHP,
maka pastikan kita telah memiliki software :
dan kedua software tersebut dapat didownload pada situs :
http://www.apache.org
http://www.php.net
http://www.mysql.com
http://www.phpmyadmin.net.
1Diperoleh dari "http://id.wikibooks.org/wiki/ Pemrograman_PHP/
Pendahuluan/Sejarah_PHP."
3
Appserv2 merupakan software paket instalasi open source yang
di dalamnya memuat :
Apache Web Server Version 2.2.8
PHP Script Language Version 5.2.6
MySQL Database Version 5.0.51b
phpMyAdmin Database Manager Version 2.10.3.
Sedangkan PHP designer3 merupakan software yang
memfasilitasi penyuntingan berbagai kode pemrograman PHP.
Langkah-langkah yang diperlukan dalam menginstalasi PHP adalah
sebagai berikut :
1. Klik 2x pada file
2. Setelah muncul tampilan berikut :
klik button [Next].
2 Program dapat dipesan gratis melalui email Fadlisyah@ymail.com.
3 idem
4
3. Tampilan sekarang akan berupa :
selanjutnya klik button [I Agree].
4. Tampilan berikutnya :
dan klik button [Next].
5
5. Setelah muncul tampilan :
klik button [Next].
6. Lengkapi nama server [Localhost] dan Administrator’s Email
Address [sesuaikan dengan email anda] untuk tampilan :
dan klik button [Next].
6
7. Masukkan password root [root] untuk server MySQL.
klik button [Install], dan tunggu hingga proses instalasi selesai.
7
8. Setelah proses instalasi selesai, maka muncul tampilan :
dan akhiri dengan mengklik button [Finish].
Sekarang pada direktori C:\ dalam harddisk anda terdapat
folder :
dengan folder www sebagai
tempat penyimpanan berkas-
berkas pemrograman PHP yang
akan kita buat.
8
Coba jalankan salah satu software browser web seperti :
Internet Explorer, Opera, atau Mozilla Firefox. Lalu ketikkan
localhost pada dialog browser tersebut, maka akan muncul tampilan
AppServ hasil dari instalasi yang kita lakukan tadi.
Sekarang jika kita mengklik pada item menu :
dan jika muncul dialog konfirmasi password, seperti tampilan
berikut :
maka isikan User Name dan Password, keduanya dengan root.
9
Tampilan yang muncul selanjutnya adalah,
dan tampilan inilah nantinya kita perlukan untuk mendesain
database yang akan dikoneksikan ke PHP. Sampai di sini, tugas
instalasi dan penjelajahan secara sederhana telah selesai kita
lakukan. Sekarang kita dapat keluar dari browser web kita.
1.4 Instalasi PHP Designer
PHP Designer kita gunakan sebagai tempat untuk menulis dan
menyunting berbagai kode program kita. Untuk menginstalasi PHP
Designer, maka kita ikuti langkah-langkah berikut :
1. Klik 2x pada file berikut :
2. Setelah muncul tampilan :
10
selanjutnya klik button [Next].
3. Lalu muncul form konfirmasi untuk meminta persetujuan
pemakai.
dan klik button [Next].
11
4. Dan muncul tampilan,
selanjutnya klik button [Next].
5. Tampilan sekarang akan berupa,
masih klik button [Next].
12
6. Tampilan berikut merupakan tampilan konfirmasi,
jika kita ingin tampilan icon PHP Designer pada desktop dan
pada quicklaunch maka check pada menuitem berikut,
dan jika tidak diperlukan, biarkan kosong dan langsung ke form
konfirmasi instalasi dengan mengklik button [Install].
klik button [Next].
7. Setelah proses instalasi selesai klik [Finish] pada tampilan
berikut,
dan tak lama kemudian muncul IDE PHP Designer.
Sampai di sini tugas penginstalasian PHP Designer telah selesai.
1.5 Sejarah MySQL
MySQL dikembangkan oleh sebuah perusahaan Swedia
bernama MySQL AB, yang kala itu bernama TcX DataKonsult AB,
sejak sekitar 1994–1995, meski cikal bakal kodenya bisa disebut
sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL pada
waktu itu juga memang untuk mengembangkan aplikasi Web untuk
klien—TcX adalah perusahaan pengembang software dan konsultan
database. Kala itu Michael Widenius, atau “Monty”, pengembang
satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang
dibuat sendiri dan sedang mencari antarmuka SQL untuk
ditempelkan di atasnya. Mula-mula TcX memakai mSQL, atau “mini
SQL”. Barangkali mSQL adalah satu-satunya kode database open
source yang tersedia dan cukup sederhana saat itu, meskipun sudah
ada Postgres. Namun ternyata, menurut Monty, mSQL tidaklah cukup
cepat maupun fleksibel. Versi pertama mSQL bahkan tidak memiliki
indeks. Setelah mencoba menghubungi David Hughes—pembuat
mSQL—dan ternyata mengetahui bahwa David tengah sibuk
mengembangkan versi dua, maka keputusan yang diambil Monty
yaitu membuat sendiri mesin SQL yang antarmukanya mirip dengan
15
mSQL tapi memiliki kemampuan yang lebih sesuai kebutuhan.
Lahirlah MySQL.
Nama MySQL (baca: mai és kju él) tidak jelas diambil dari
mana. Ada yang bilang ini diambil dari huruf pertama dan terakhir
nama panggilan Michael Widenius, Monty. Ada lagi yang bilang kata
My diambil dari nama putri Monty, yang memang diberi nama My—
karena Monty memang aslinya seorang Finlandia. Tapi sebetulnya
kalau source code MySQL dilirik, prefiks my memang sudah
terbubuhi di mana-mana—prefiks ini sering menjadi prefiks umum
kalau seseorang membuat kode kustom tersendiri untuk sesuatu.
Kalau Anda betul-betul penasaran mana yang benar, mungkin bisa
bertanya langsung kepada Monty.
MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat
orang. Baru di bulan Oktober versi 3.11.0 dilepas ke publik. Namun
mula-mula kode ini tidak diberikan di bawah lisensi General Public
License, melainkan lisensi khusus yang intinya kurang lebih begini:
“Source code MySQL dapat dilihat dan gratis, serta server MySQL
dapat dipakai tanpa biaya tapi hanya untuk kebutuhan nonkomersial.
Untuk kebutuhan komersial (mis: mengemas dan menjual MySQL,
atau menyertakan MySQL dalam program komersial lain) Anda harus
bayar lisensi.” Sementara distribusi Windows MySQL sendiri dirilis
secara shareware. Barulah pada Juni 2000 MySQL AB mengumumkan
bahwa sejak versi 3.23.19, MySQL adalah software bebas berlisensi
GPL. Artinya, “Source code MySQL dapat dilihat dan gratis, serta
server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa pun.
Tapi jika Anda memodifikasi source code, Anda juga harus
melepasnya di bawah lisensi yang sama, yaitu GPL.” Kini perusahaan
MySQL AB, yang beranggotakan sekitar 10 programer dan 10
karyawan lain itu, memperoleh pemasukan terutama dari jasa
konsultasi seputar MySQL.
Versi publik pertama, yang hanya berjalan di Linux dan Solaris
serta sebagian besar masih belum terdokumentasi itu, dengan
berangsur-angsur diperbaiki dan ditambah fitur demi fiturnya—tapi
tetap dengan fokus utama pengembangan pada kelangsingan dan
kecepatan. Artinya, fitur yang menyebabkan MySQL menjadi lambat
tidaklah ditambahkan, atau ditunda dulu, atau ditambahkan tapi
menjadi fitur yang opsional.
Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi
Web sederhana, belumlah memadai sama sekali untuk aplikasi bisnis.
Contohnya, JOIN sederhana sudah ada, tapi tidak ada HAVING—baru
di bulan Desember ditambahkan. Sudah ada tipe data TIMESTAMP
16
dan kolom autoupdate, tapi tidak ada system-generated number
(sequence)—baru di akhir 1996 juga ditambahkan modifier kolom
AUTO_INCREMENT. Sudah ada LIMIT tapi GROUP BY dan ORDER BY
memiliki keterbatasan. Dan seterusnya.
Barulah di versi-versi akhir 3.22—sepanjang 1998–1999—
MySQL menjadi semakin popular dan dilirik orang. Stabilitasnya
sudah baik. Kecepatannya meningkat. Sudah tersedia di berbagai
platform, termasuk Windows. Seri 3.22 ini banyak dipakai di
berbagai instalasi, mungkin hingga sekarang, sehingga MySQL AB
tetap memberikan dukungan technical support untuk seri ini.
Kalau di seri 3.22 MySQL mulai diadopsi banyak orang dan
meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-lah
terjadi banyak peningkatan dari sisi teknologi. Ini tidak terlepas dari
tuntutan pemakai yang semakin mengandalkan MySQL, namun
membutuhkan fitur-fitur yang lebih banyak lagi. Sejak dari sebelum
3.22 dan awal 3.23, MySQL terus dikritik praktisi database maupun
penggunanya mengenai tidak adanya fasilitas transaksi (COMMIT
dan ROLLBACK). Pengembang MySQL menyarankan penggunaan
LOCK TABLES untuk mengatasi masalah update atomik, tapi ini tentu
saja bukan pengganti transaksi, karena tidak adanya kemampuan
membatalkan efek perubahan di tengah jalan. Di seri 3.23-lah MySQL
mulai memiliki kemampuan transaksi, row-level locking, dan foreign
key constraint. Meski beberapa fasilitas popular lainnya masih belum
ada—seperti subselect, view, dan trigger—ini sudah direncanakan
dan akan mulai ditambahkan di seri 4.x.
Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel
baru: pertama MyISAM, yang sampai sekarang menjadi tipe tabel
default; kedua BerkeleyDB, yang pertama kali menambahkan
kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona
baru yang potensial. MySQL memang memiliki arsitektur yang
memungkinkan tiap tabel ditangani oleh handler yang berbeda.
Handler ini menerima perintah akses dan modifikasi dari lapisan
MySQL yang lebih atas dan mewujudkannya secara fisik dari dan ke
disk. Tabel tipe MyISAM merupakan tabel yang lebih cepat dari tabel
ISAM, karena pola aksesnya telah disesuaikan dan dioptimasi untuk
pola akses SQL. Selain itu MyISAM mendukung indeks pada kolom
bertipe TEXT dan BLOB, serta mendukung tipe indeks FULLTEXT.
Tabel tipe BerkeleyDB, atau BDB, menggunakan database embedded
BerkeleyDB yang sudah terkenal itu untuk memanfaatkan
kemampuan transaksinya. Sejak memiliki handler BDB, MySQL naik
statusnya menjadi database yang ACID compliant, sesuatu yang amat
17
penting bagi keamanan data. Namun BerkeleyDB tidaklah terlalu
optimal untuk sebuah database SQL, sehingga akhirnya sebuah
perusahaan Finlandia Innobase Oy membuat handler table baru bagi
MySQL yang menggunakan database embedded InnoDB-nya—kala
itu bernama Innobase, namun berganti nama karena masalah
trademark produk Innobase yang sudah ada sebelumnya.
InnoDB membuat MySQL menarik karena peningkatan
kecepatan dan kemampuan tambahan yang dimungkinkannya.
Pertama-tama, InnoDB memiliki fitur transaksi dengan sistem
multiversi. Artinya, jika sebuah klien memulai transaksi, maka
perubahan yang dilakukan klien tersebut tidak akan terlihat oleh
klien lain. Klien lain akan melihat kondisi tabel sebelum transaksi.
Barulah jika transaksi oleh klien pertama dicommit, perubahan ini
menjadi terlihat di semua klien lain. Bandingkan ini dengan tabel
BDB misalnya, di mana klien yang ingin mengakses sebuah tabel yang
sedang dipakai dalam sebuah transaksi akan diblok. Dengan kata
lain, multiversi menghindari bloking yang tidak perlu. Ini ditambah
lagi dengan row-level locking yang disediakan InnoDB, sehingga
mempertinggi konkurensi dan mencegah terlalu banyak bloking.
Handler tabel MySQL yang lain hanya mendukung table-level locking,
sehingga sebuah klien hanya bisa memblok dengan tingkat granulasi
tabel dan berpotensi memblok banyak klien lain yang ingin
mengakses tabel yang sama. PostgreSQL dan beberapa database
komersial sudah memiliki kemampuan-kemampuan ini. Berkat
InnoDB, MySQL pun kini memiliki keduanya. Selain itu, InnoDB
menambahkan foreign key constraint, sesuatu yang sering
didambakan pengguna MySQL karena bisa menyederhanakan logika
pemrograman dan menjaga kekonsistenan database mereka.
Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini,
pengembang MySQL berjanji akan menjadikan MySQL satu derajat
lebih tinggi lagi. Fitur-fitur yang sejak dulu diminta akan dikabulkan,
seperti subselect (di 4.1), union (4.0), foreign key constraint (4.0 atau
4.1—meski InnoDB sudah menyediakan ini di 3.23.x), stored
procedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1).
MySQL AB tetap berdedikasi mengembangkan dan memperbaiki
MySQL, serta mempertahankan MySQL sebagai database open source
terpopuler.
Di versi 3.23 dan selanjutnya MySQL semakin menarik untuk
dilirik oleh pengguna non-Web. Situs mysql.com di halaman
depannya dengan bangga memajang profil para pengguna MySQL
yang terkenal, seperti Yahoo! Finance (yang mulai mengaku
18
menggunakan MySQL beberapa waktu lalu di milis mysql), NASA
(yang membuang Oracle demi memotong budget), atau perusahaan
sekuritas Jepang Aizawa. MySQL tidak lagi sekedar dipercaya
menyimpan data posting komentar pengunjung situs Web (seperti di
slashdot.org, pengguna veteran MySQL) atau hit atau log Web, tapi
juga kini sebagai tempat menyimpan data keuangan dan transaksi
bisnis. Meskipun demikian, karakteristik pengguna database—yang
biasanya terdiri dari perusahaan—adalah cenderung konvensional
dalam mengadopsi produk baru. Jadi jangan terkejut kalau misalnya
sampai sekarang Anda akan masih menjumpai orang yang
menganggap MySQL belum ACID-compliant atau belum bisa
melakukan transaksi. Padahal sudah dua tahun fitur ini ada di
MySQL.
Sebetulnya babak baru pengembangan MySQL—yaitu saat
MySQL dirilis sebagai produk open source sejati—dimulai saat
perusahaan kecil MySQL AB ini menjalin kerja sama dengan sebuah
perusahaan database Amerika bernama Progress Software di tahun
2000. Progress membantu meyakinkan Monty dkk agar mengganti
lisensi produk MySQL menjadi GPL. Selain itu, Progress juga
memasuki bisnis open source dengan membentuk NuSphere, yang
akan menjual distribusi MySQL khusus. Model bisnis mengemas
software open source nampaknya cukup laik di mata Progress,
melihat kesuksesan distro-distro Linux dan perusahaan seperti Red
Hat. Karena itu Progress juga berencana menyuntikkan dana hingga
$2,5 juta dolar kepada MySQL AB, dengan tujuan agar MySQL bisa
menjadi lebih baik lagi. Satu lagi, Nusphere juga akan membuat table
handler baru bernama Gemini, yang didasarkan pada software
database Progress. Gemini akan menambahkan row-level locking dan
transaksi pada MySQL.
So far so good. Tapi ternyata, beberapa tindakan yang
dilakukan oleh Nusphere membuat MySQL AB kesal. Pertama,
Nusphere mengambil domain mysql.org (MySQL AB sendiri memiliki
mysql.com hasil pemberian Patrick Lynch) dan tidak membuat
pernyataan yang jelas di situs tersebut bahwa MySQL dikembangkan
oleh MySQL AB, bukan oleh Nusphere. Dengan kata lain Nusphere
memakai nama MySQL dan seolah mengaku menjadi pengembang
MySQL, padahal MySQL sejak awal dikembangkan oleh MySQL AB.
Kedua, Nusphere dengan distribusinya yang bernama “Nusphere
MySQL Advantage” melanggar GPL. Ini ironis, karena perusahaan
induknya Progress-lah yang setahun sebelumnya membantu MySQL
menjadi GPL. Distribusi binary Nusphere ini megandung kode Gemini
19
yang dilink statik ke MySQL. Menurut lisensi GPL, ini memang berarti
kode Gemini pun harus dirilis sebagai GPL. Nyatanya, Nusphere tidak
memberikan source code Gemini, tapi hanya berjanji akan
melepasnya nanti. MySQL AB mencoba meminta kembali domain
mysql.org dan mendesak Nusphere merilis source code Gemini,
tanpa hasil.
Perselisihan kemudian menjadi memanas ketika pada tanggal
15 Juni 2001 Nusphere dan Progress mengajukan tuntutan ke
pengadilan atas David Axmark (salah satu karyawan awal dan
“penginjil” MySQL), Monty, dan MySQL AB, dengan tuduhan
melanggar kontrak perjanjian. MySQL AB tidak mau kalah, ia
menuntut balik Nusphere atas tuduhan pelanggaran trademark,
perjanjian, dan lisensi GPL. Hingga buku ini ditulis, proses pengadilan
masih berlangsung. Oleh beberapa pihak keputusan akhir pengadilan
akan sangat dinanti, karena jika MySQL AB menang maka supremasi
dan validitas lisensi GPL akan benar-benar terbukti “di lapangan.”
Di luar masalah ini, MySQL terus dikembangkan secara aktif
oleh MySQL AB. Dan untung bagi para pemakai, Gemini kini praktis
telah digantikan oleh InnoDB yang memberikan kemampuan serupa.
Saat ini domain mysql.org juga telah diambil alih oleh MySQL AB.4
∞
4 Dikutip dari file:///C:/Downloads/fokus.html.
20
This page is intentionally left blank
Mu l a i M en g g u n a k a n PHP
21
BBaabb 22
MMUULLAAII MMEENNGGGGUUNNAAKKAANN PPHHPP
2.1 Sintaks PHP
Ada beberapa jenis pasangan tag PHP yang dapat digunakan
untuk menandai blok script PHP, antara lain :
<?
?>
dan
<?php
?>
tetapi untuk kekompabilitasan maksimum, maka penulis
merekomendasikan jenis <?php … ?> yang baiknya digunakan di
dalam pemrograman PHP, dan juga jenis standar yang digunakan di
dalam buku ini.
Sebuah file PHP secara normal akan berisikan tag HTML,
seperti sebuah file HTML, dan ditambah beberapa kode script PHP.
Sekarang kita mulai mencoba program pertama kita, untuk itu ikuti
langkah-langkah berikut :
1. Jalankan PHP Designer.
2. Sebelum memulai menuliskan kode program, pastikan anda
telah membuat folder baru di dalam folder C:\AppServ\
www\, misal : C:\AppServ\www\1. Di dalam folder inilah file
PHP yang akan kita buat disimpan.
3. Lalu pada menu utama PHP Designer, pilih File-New-PHP.
22
4. Setelah muncul halaman kosong, selanjutnya tuliskan script
berikut :
<html>
<body>
<?php
echo "Hello World";
?>
</body>
</html>
Listing dalam bentuk tampilan pada PHP Designer, kira-kira
akan seperti :
Mu l a i M en g g u n a k a n PHP
23
simpan ke direktori C:\AppServ\www\1 dengan nama kasus1
(file akan disimpan otomatis sebagai kasus1.php).
5. Untuk eksekusi, jalankan browser web anda, misal Mozilla
Firefox, lalu tuliskan pada dialog browser,
http://localhost/1/kasus1.php
maka akan tampil keluaran berikut :
6. Ok, sekarang kita telah berhasil mengeksekusi kasus pertama
kita. Program yang baru kita buat adalah program untuk
menampilkan kata “Hello World” pada web anda, dan
statement yang bertugas untuk menampilkan string tersebut
adalah statement echo yang diikuti dengan tanda “ ”.
2.2 Variabel dalam PHP
Variabel digunakan untuk menampung data sementara, baik
string atau bilangan, yang selanjutnya data tersebut diolah dengan
cara tertentu untuk menghasilkan suatu ouput.
Di dalam pemrograman PHP, variabel tidak perlu terlebih
dahulu dideklarasikan seperti beberapa bahasa pemrograman yang
membutuhkan kompiler untuk pengeksekusian programnya. PHP
akan secara otomatis menentukan tipe data variabel yang anda
24
gunakan ke tipe data yang sesuai, tergantung dari sekumpulan nilai
yang diberikan oleh perancang program. Semua nama variabel di
dalam PHP harus dimulai dengan tanda $ (baca : dollar). Misalnya :
$Nama_Pendaftar = Fadlisyah;
ket : antara tanda $ dan nama variabel tidak ada spasi, dan
setiap akhir dari suatu sintaks selalu diberikan tanda ;.
2.3 Operator dalam PHP
Berbagai operator yang digunakan di dalam PHP meliputi :
Operator Aritmatika
Operator Deskripsi Contoh Hasil
+ Penambahan
x=2
x+2
4
- Pengurangan
x=2
5-x
3
* Perkalian
x=4
x*5
20
/ Pembagian
15/5
5/2
3
2.5
% Modulus (Sisa Pembagian)
5%2
10%8
10%2
1
2
0
++ Increment
x=5
x++
x=6
-- Decrement
x=5
x--
x=4
Operator Assignment
Operator Contoh Ekivalen dengan
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
.= x.=y x=x.y
%= x%=y x=x%y
Mu l a i M en g g u n a k a n PHP
25
Operator Perbandingan
Operator Deskripsi Contoh
== Sama dengan 5==8 (false)
!= Tidak sama dengan 5!=8 (true)
> Lebih besar dari 5>8 (false)
< Lebih kecil dari 5<8 (true)
>=
Lebih besar dari atau sama
dengan
5>=8 (false)
<=
Lebih kecil dari atau sama
dengan
5<=8 (true)
Operator Logika
Operator Deskripsi Contoh
&& AND
x=6
y=3
(x < 10 && y > 1) (true)
|| OR
x=6
y=3
(x==5 || y==5) (false)
! NOT
x=6
y=3
!(x==y) (true)
2.4 Berbagai Operasi pada String
Variabel string digunakan untuk menyimpan berbagai karakter
string yang selanjutnya dimanipulasikan untuk menghasilkan output
tertentu. Untuk contoh perhatikan listing program berikut :
<?php
$txt="Hello World";
echo $txt;
?>
26
atau dalam bentuk tampilan PHP Designer berupa :
akan menghasilkan ouput :
string “Hello World.”
Sekarang kita mencoba untuk memanipulasi string di atas
tersebut dengan berbagai fungsi berikut.
Operator penyambung (Concatenation). Untuk menyatukan
dua buah string yang terpisah menjadi satu kalimat, kita dapat
menggunakan operator penyambung atau (.)5. Contoh kasus,
perhatikan kode di bawah ini :
kode di atas akan menghasilkan output :
5 Baca dot
Mu l a i M en g g u n a k a n PHP
27
string “Hello World 1234.”
Fungsi strlen(). Fungsi strlen() digunakan untuk menentukan
panjang string input. Contoh penggunaannya, perhatikan kode
berikut :
kode di atas akan menghasilkan output :
12
panjang string dari “Hello World!.”
Fungsi strpos(). Fungsi strpos() digunakan untuk mencari
sebuah string atau karakter di dalam sekumpulan string induk, dan
jika ditemukan, maka program akan menghasilkan sebuah nilai yang
berupa posisi awal string yang dicari pada sekumpulan string induk.
Sebaliknya program akan mengembalikan nilai false, jika tidak
ditemukannya satupun string atau karakter yang sesuai. Perhatikan
contoh berikut :
<?php
echo strpos("Hello world!","world");
?>
kode di atas akan menghasilkan nilai :
6
posisi awal world di dalam Hello world!.6
∞
6 file:///C:/Downloads/php_string.asp.htm
28
This page is intentionally left blank
P e r n y a t a a n K o n d i s i o n a l
29
BBaabb 33
PPEERRNNYYAATTAAAANN KKOONNDDIISSIIOONNAALL
3.1 if … else … dalam PHP
Pernyataan if, else if, dan pernyataan else digunakan untuk
melakukan suatu aksi yang berbeda berdasarkan suatu kondisi
tertentu. Ada berbagai bentuk pernyataan If … Else, di antaranya :
Pernyataan if … else …,
Format sintaks :
if {Kondisi}
Eksekusi kode jika True
else {Kondisi}
Eksekusi kode alternatif jika False
Contoh kasus :
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
else
echo "Have a nice day!";
?>
</body>
</html>
30
Hasil eksekusi :
Jika hari ini jumat, maka hasil eksekusi program di atas adalah
“Have a nice weekend.” Dan sebaliknya “Have a nice day!.”
Jika kode yang harus dieksekusi berdasarkan suatu kondisi,
memiliki beberapa baris, maka beri pasangan tanda {} pada awal dan
akhir baris kode yang akan dieksekusi. Contoh :
<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
{
echo "Hello!<br />";
echo "Have a nice weekend!";
echo "See you on Monday!";
}
?>
</body>
</html>
Pernyataan if … else if … else …,
Jika kita dihadapkan pada berbagai kondisi yang lebih dari satu
kondisi bernilai true, maka kita dapat menggunakan pernyataan if …
else if … else ….
Format sintaks :
if {Kondisi}
Eksekusi kode jika True
else if {Kondisi}
Eksekusi kode jika True
else {Kondisi}
Eksekusi kode alternatif jika False
Contoh :
<html>
P e r n y a t a a n K o n d i s i o n a l
31
<body>
<?php
$d=date("D");
if ($d=="Fri")
echo "Have a nice weekend!";
elseif ($d=="Sun")
echo "Have a nice Sunday!";
else
echo "Have a nice day!";
?>
</body>
</html>
3.2 Pernyataan switch dalam PHP
Untuk menghindari kekompleksitasan penggunaan fungsi If,
maka diperkenalkanlah fungsi Switch. Fungsi Switch digunakan
untuk menentukan salah satu keputusan dari berbagai kondisi
tertentu.
Format sintaks :
switch (ekspresi)
{
case label1:
eksekusi kode jika ekspresi = label1;
break;
case label2:
eksekusi kode jika ekspresi = label2;
break;
default:
eksekusi kode jika ekspresi berbeda dengan label1 atau label2;
}
Contoh :
32
<html>
<body>
<?php
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
Hasil output dari dari program di atas adalah : No number
between 1 and 3. Sebaliknya dengan memodifikasi sedikit program di
atas, sehingga program keseluruhan akan berupa :
<html>
<body>
<?php
$x=2;
switch ($x)
{
case 1:
echo "Number 1";
break;
case 2:
echo "Number 2";
break;
case 3:
echo "Number 3";
P e r n y a t a a n K o n d i s i o n a l
33
break;
default:
echo "No number between 1 and 3";
}
?>
</body>
</html>
atau dalam bentuk tampilan pada PHP Designer berupa :
34
hasil eksekusi program adalah :
∞
P e r u l a n g a n
35
BBaabb 44
PPEERRUULLAANNGGAANN
4.1 Perulangan dalam PHP
Pernyataan perulangan digunakan untuk mengeksekusi satu
atau lebih baris kode sebanyak beberapa kali. Di dalam PHP ada
beberapa bentuk pernyataan perulangan, di antaranya : while, do
while, for, dan foreach.
4.2 while
Pernyataan while melakukan eksekusi sebarisan kode program
jika dan sepanjang kondisi yang telah ditentukan tetap terpenuhi.
Sintaks :
while {kondisi}
kode yang akan dieksekusi;
Contoh :
<html>
<body>
<?php
$i=1;
while($i<=5)
{
echo "The number is " . $i . "<br />";
$i++;
}
?>
</body>
</html>
hasil eksekusi :
The number is 1
The number is 2
The number is 3
36
The number is 4
The number is 5
4.3 do … while
Pernyataan do … while akan mengeksekusi sebarisan kode
sedikitnya sekali, kemudian mengulang blok perulangan tersebut
sepanjang kondisi yang ditentukan tetap terpenuhi.
Sintaks :
do
kode yang dieksekusi
while {kondisi}
Contoh :
<html>
<body>
<?php
$i=0;
do
{
$i++;
echo "The number is " . $i . "<br />";
}
while ($i<5);
?>
</body>
</html>
hasil eksekusi :
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
4.4 Pernyataan for
Bentuk lain penggunaan perulangan di dalam PHP adalah
pernyataan for.
Sintaks :
for (nilai awal; kondisi; increment)
{
kode yang akan dieksekusi
}
P e r u l a n g a n
37
Contoh :
<html>
<body>
<?php
for ($i=1; $i<=5; $i++)
{
echo "Hello World!<br />";
}
?>
</body>
</html>
akan menghasilkan ouput “Hello World” sebanyak lima kali.
4.5 Pernyataan foreach
Pernyataan foreach bertugas mengulangi sebuah array
sebanyak jumlah array yang memiliki nilai.
Sintaks :
foreach (array as value)
{
kode yang akan dieksekusi
}
Contoh :
<html>
<body>
<?php
$arr=array("one", "two", "three");
foreach ($arr as $value)
{
echo "Value: " . $value . "<br />";
}
?>
</body>
</html>
dan output yang dihasilkan adalah :
Value: one
Value: two
Value: three
∞
38
This page is intentionally left blank
Ar r a y
39
BBaabb 55
AARRRRAAYY
5.1 Array dalam PHP
Sebuah array dapat menyimpan satu atau lebih nilai-nilai di
dalam satu variabel. Di dalam PHP array dapat digolongkan menjadi
tiga jenis : array numerik, array asosiatif, dan array multidimensi.
5.2 Array Numerik
Array numerik merupakan tipe array yang menyimpan masing-
masing elemen berdasarkan indeks numerik tertentu. PHP
memungkinkan beberapa cara dalam menyajikan array numerik
tersebut, di antaranya :
Cara 1
$names = array("Peter","Quagmire","Joe");
Cara 2
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
Cara 1 mempersilahkan PHP menentukan indeks secara
otomatis, dan sementara cara 2, indeks ditentukan dengan campur
tangan langsung oleh user.
Contoh program yang berhubungan dengan array numerik
adalah :
<?php
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
echo $names[1] . " and " . $names[2] .
" are ". $names[0] . "'s neighbors";
?>
dengan output :
40
Quagmire and Joe are Peter's neighbors.
5.3 Array Asosiatif
Pada array asosiatif, masing-masing indeks dikaitkan langsung
dengan nilai yang dikandungi array tersebut.
Misalkan :
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
dapat juga disajikan ke dalam bentuk :
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
dan contoh program yang berkenaan ditampilkan sebagai :
<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
echo "Peter is " . $ages['Peter'] . " years old.";
?>
output yang dihasilkan adalah “Peter is 32 years old.”
5.4 Array Multidimensi
Di dalam array multidimensi, masing-masing elemen di dalam
array utama dapat juga berfungsi sebagai array, dan masing-masing
elemen di dalam sub-array juga berfungsi sebagai array, dan
seterusnya.
Ambil kasus berikut :
$families = array
(
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
Ar r a y
41
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
);
atau dengan pernyataan yang setara, dapat dituliskan sebagai berikut
:
Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)
dan jika kita ingin menampilkan salah satu nilai array di atas, maka
dapat ditambahkan kode :
echo "Is " . $families['Griffin'][2] .
" a part of the Griffin family?";
atau dalam bentuk kode PHP utuh, berupa :
42
program akan menghasilkan output :
Is Megan a part of the Griffin family?.
∞
Fun g s i & F o rm
43
BBaabb 66
FFUUNNGGSSII && FFOORRMM
7.1 Fungsi dalam PHP
Kekuatan PHP sebenarnya adalah karena fungsi yang terdapat
padanya. Lebih dari 700 fungsi yang dibangun di dalamnya. Pada
bab kali ini, kita akan mencoba membahas bagaimana membangun
fungsi-fungsi tersebut secara sederhana.
Sintaks :
Functions nama_fungsi()
{
}
Untuk contoh perhatikan program di bawah ini.
<html>
<body>
<?php
function writeMyName()
{
echo "Fadlisyah";
}
writeMyName();
?>
</body>
</html>
Program akan menghasilkan output “Fadlisyah.”
Contoh lainnya adalah :
<html>
<body>
<?php
function writeMyName()
{
echo "Fadlisyah";
}
44
echo "Hello world!<br />";
echo "Apakah";
writeMyName();
echo ".<br />Apakah, ";
writeMyName();
echo " adalah nama saya.";
?>
</body>
</html>
akan menghasilkan output :
Hello world!
Apakah Fadlisyah.
Apakah, Fadlisyah adalah nama saya.
Beberapa contoh program di atas, menerapkan penggunaan
fungsi secara sederhana, dan hanya mampu menuliskan berbagai
string yang telah ditentukan. Agar lebih dinamis, perlu ditambahkan
satu atau lebih parameter pada fungsi yang dideklarasikan, dan
untuk itu perhatikan contoh program berikut :
<html>
<body>
<?php
function writeMyName($fname)
{
echo $fname . " Informatika.<br />";
}
echo "My name is ";
writeMyName("Bustami");
echo "My name is ";
writeMyName("Rizal");
echo "My name is ";
writeMyName("Dahlan");
?>
</body>
</html>
akan menghasilkan ouput :
My name is Bustami Informatika.
My name is Rizal Informatika.
My name is Dahlan Informatika.
Fun g s i & F o rm
45
Contoh lainnya, fungsi menggunakan dua buah parameter.
<html>
<body>
<?php
function writeMyName($fname,$punctuation)
{
echo $fname . "Unimal" . $punctuation . "<br />";
}
echo "My name is ";
writeMyName("",".");
echo "My name is ";
writeMyName("Nurdin","!");
echo "My name is ";
writeMyName("Ikhwanus","...");
?>
</body>
</html>
output yang dihasilkan :
My name is Unimal.
My name is NurdinUnimal!
My name is IkhwanusUnimal...
Fungsi dapat juga digunakan untuk mengembalikan suatu nilai
yang dikalkulasikan di dalam tubuh fungsi, keluar dari fungsi. Contoh
:
<html>
<body>
<?php
function add($x,$y)
{
$total = $x + $y;
return $total;
}
echo "76 + 55 = " . add(76,55);
?>
</body>
</html>
output yang dihasilkan :
46
7.2 Bekerja dengan Beberapa Form
Pada pembahasan kita kali ini, kita akan mencoba membuat
program antara form menggunakan PHP.
Tulis program berikut :
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
dan simpan dengan nama file kasus20.php. Program di atas akan
menghasilkan output berupa :
Selanjutnya buat program ke-2, dan simpan dengan nama
Welcome.php.
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
Fun g s i & F o rm
47
</body>
</html>
Sekarang coba eksekusi kembali program kasus20.php.
Setelah kita menekan button Submit Query, maka akan keluar
tampilan :
7.3 $_GET
Fungsi &_GET digunakan untuk mengambil suatu nilai dari
suatu form pengirim dengan menggunakan metode=”get.” Informasi
kiriman dari form akan terlihat oleh setiap orang yang mengakses
dan jumlah informasi pengiriman memiliki keterbatasan, tidak lebih
dari 100 karakter. Contoh :
<form action="welcome.php" method="get">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
simpan dengan file kasus21.php. Lalu buat program ke-2 sebagai
berikut :
<html>
<body>
Welcome <?php echo $_GET["name"]; ?>.<br />
You are <?php echo $_GET["age"]; ?> years old.
48
</body>
</html>
dan simpan dengan nama welcome.php.
setelah dieksekusi, tampilan program akan berupa :
setelah menekan button Submit Query, pada dialog akan muncul
tulisan :
http://localhost/1/welcome.php?fname=Fadli&age=31.
7.4 $_POST
Fungsi &_GET digunakan untuk mengambil suatu nilai dari
suatu form pengirim dengan menggunakan metode=”post.” Informasi
kiriman dari form tidak terlihat oleh siapapun yang mengakses dan
jumlah informasi pengiriman memiliki tidak terbatas. Contoh :
<form action="welcome.php" method="get">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
simpan dengan nama file kasus22.php. Lalu modifikasi program
Welcome.php di atas sehingga berbentuk :
<html>
<body>
Welcome <?php echo $_POST["fname"]; ?>!<br />
You are <?php echo $_POST["age"]; ?> years old.
</body>
</html>
ketika program dieksekusi dan user telah menginput data, URL yang
terlihat di atas adalah :
http://localhost/1/welcome.php
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
49
BBaabb 77
PPEEMMRROOGGRRAAMMAANN DDAATTAABBAASSEE
MMEENNGGGGUUNNAAKKAANN MMyySSQQLL
7.1 Pengenalan MySQL
MySQL merupakan sebuah sistem database open-source yang
saat ini sangat populer digunakan. Berbagai data di dalam MySQL
disimpan ke dalam objek database yang disebut tabel. Sebuah tabel
akan terdiri dari berbagai entri yang saling berhubungan yang
disajikan dalam bentuk hubungan kolom dan baris.
Sekarang, coba buat tabel dengan struktur berikut :
Nama Varchar 20
Nip Varchar 9 *
Mata_Kuliah Varchar 20
Dengan menggunakan database MySQL.
Isi tabel dengan data atau record berikut :
Nama Nip Mata_Kuliah
Fadlisyah 132321540 Pengolahan Citra
Rizal 132321541 Pemrograman Web
Arhami 132321542 Kecerdasan Buatan
Bustami 132321543 Metode Numerik
Nurdin 132321544 Basis Data
Untuk membuat dan mengisi tabel menggunakan MySQL, ikuti
langkah-langkah berikut :
1. Jalankan browser seperti Mozilla Firefox.
50
2. Lalu pada dialog URL, tuliskan http://localhost/ dan akhiri
dengan menekan tombol enter pada keyboard.
3. Setelah muncul tampilan :
klik sekali pada
dan isi :
User Name : root, dan Password : root.
4. Tidak lama kemudian muncul tampilan :
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
51
dan pada item,
isikan misal : Data_Dosen, seperti tampilan berikut :
lalu tekan button Create. Tidak lama kemudian muncul
tampilan berikut :
5. Isikan nama tabel, misal Tabel_Dosen, dengan jumlah field 3
buah.
lalu klik button Go.
6. Selanjutnya tentukan nama-nama field yang diperlukan,
tipe field, dan panjang field. Pada tampilan di atas hanya kolom
Field, Type, dan Length/Values yang ditentukan, dan pada
Radiobutton Primary untuk Field Nip diklik sekali untuk
memberitahukan kepada MySQL, bahwa Nip adalah kunci
utama (Primary Key).
Jika telah selesai mendesain struktur tabel, silahkan klik button
Save. Tidak lama kemudian muncul tampilan :
52
dengan kode pada SQL query :
CREATE TABLE `Tabel Dosen` (
`Nama` VARCHAR( 20 ) NOT NULL ,
`Nip` VARCHAR( 9 ) NOT NULL ,
`Mata_Kuliah` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `Nip` )
) ENGINE = MYISAM ;
dan struktur tabel seperti tampilan berikut.
7. Untuk mengisi data dalam tabel, klik pada tab .
Setelah muncul tampilan :
Isi data yang diperlukan pada sisi kanan bagian atas kolom
Value. Misal :
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
53
dan akhiri dengan menekan button Go. Ulangi terus-menerus
langkah ke-7 sampai keseluruhan record terpenuhi.
Nama Nip Mata Kuliah
Fadlisyah 132321540 Pengolahan Citra
Rizal 132321541 Pemrograman Web
Arhami 132321542 Kecerdasan Buatan
Bustami 132321543 Metode Numerik
Nurdin 132321544 Basis Data
Dalam bentuk tampilan pada browser keseluruhan record
direpresentasikan seperti :
8. Tuliskan kode program berikut, menggunakan PHP Designer.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
54
}
mysql_select_db("data_dosen", $con);
$result = mysql_query("SELECT * FROM tabel_dosen");
while($row = mysql_fetch_array($result))
{
echo $row['Nama'] . " " . $row['Nip'] . " " .
$row['Mata_Kuliah'];
echo "<br />";
}
mysql_close($con);
?>
9. Output program, akan berupa tampilan :
Fadlisyah 132321540 Pengolahan Citra
Rizal 132321541 Pemrograman Web
Arhami 132321542 Kecerdasan Buatan
Bustami 132321543 Metode Numerik
Nurdin 132321544 Basis Data
7.2 Koneksi Database MySQL
Sebelum kita dapat mengakses data di dalam database, terlebih
dahulu kita harus melakukan koneksi ke database. Di dalam PHP,
koneksi ke database dapat dilakukan melalui perintah :
mysql_connect(servername,username,password);
untuk kasus kita, misalnya :
mysql_connect("localhost","root","root");
di mana, nama server yang kita gunakan adalah localhost, username
= root, dan password = root.
Contoh program :
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// Kode program
?>
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
55
atau dengan modifikasi program di atas,
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// Kode program
mysql_close($con);
?>
Keterangan : mysql_close($con); berfungsi untuk menutup koneksi
database.
7.3 CREATE DATABASE
Instruksi CREATE DATABASE digunakan untuk menciptakan
sebuah database di dalam MySQL. Kasus berikut adalah contoh
penerapan instruksi CREATE DATABASE untuk menciptakan
database my_db.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
if (mysql_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}
mysql_close($con);
?>
56
7.4 CREATE TABLE
Pernyataan CREATE TABLE digunakan untuk menciptakan
sebuah tabel di dalam database pada MySQL.
Sintaks :
CREATE TABLE nama_tabel
(
nama_field1 tipe_data(lebar_data),
nama_field2 tipe_data(lebar_data),
nama_field3 tipe_data(lebar_data),
…
)
Sebelum melakukan CREATE TABLE, kita terlebih dahulu harus
menambahkan fungsi mysql_query() untuk pengecekkan status dari
koneksi database yang telah dilakukan menggunakan perintah :
mysql_connect(servername,username,password);.
Pada contoh berikut, kita mencoba membuat tabel biodata,
dengan tiga field, nama_awal, nama_akhir, dan usia.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// Create database
if (mysql_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}
// Create table
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE biodata
(
nama_awal varchar(15),
nama_akhir varchar(15),
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
57
usia int
)";
// Execute query
mysql_query($sql,$con);
mysql_close($con);
?>
Jika eksekusi sukses, lihat pada folder C:\AppServ\MySQL\data, akan
terdapat folder baru .
Sekarang bagaimana kita dapat menentukan field kunci,
melalui kode program PHP?. Untuk itu, perhatikan penggal program
berikut :
$sql = "CREATE TABLE biodata
(
NIP int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(NIP),
nama_awal varchar(15),
nama_akhir varchar(15),
usia int
)";
mysql_query($sql,$con);
di mana field NIP memiliki sifat unik dan auto increment. Untuk
keseluruhan kode programnya disajikan berikut :
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// Create database
if (mysql_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
58
echo "Error creating database: " . mysql_error();
}
// Create table dan menentukan Primary key
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE biodata
(
NIP int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(NIP),
nama_awal varchar(15),
nama_akhir varchar(15),
usia int
)";
// Execute query
mysql_query($sql,$con);
mysql_close($con);
?>
7.5 INSERT INTO
Perintah INSERT INTO digunakan untuk menambahkan record
baru ke dalam suatu tabel database.
Pernyataan INSERT INTO, dapat ditulis ke dalam 2 bentuk :
INSERT INTO table_name
VALUES (value1, value2, value3,...)
atau
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
dan lagi-lagi instruksi INSERT INTO harus didahului oleh fungsi
mysql_query(). Fungsi mysql_query() diperlukan untuk mengirimkan
query atau perintah ke koneksi MySQL.
Masih menggunakan database my_db dan tabel biodata, kita
mencoba merancang sebuah program menginput data menggunakan
instruksi INSERT INTO.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
59
}
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO biodata (NIP, nama_awal, nama_akhir,
usia)
VALUES ('132321555', 'Quraish','Shihab' ,'35')");
mysql_query("INSERT INTO biodata (NIP, nama_awal, nama_akhir,
usia)
VALUES ('132321556', 'Alwi','Shihab' ,'37')");
mysql_close($con);
?>
7.6 Menginput Data dari Form ke Database
Pada sub materi kali ini, kita mencoba membuat program yang
mampu menyimpan data yang dimasukkan melalui sebuah form.
Untuk itu ikuti langkah-langkah berikut :
Melalui PHP Designer, tuliskan kode program berikut :
<html>
<body>
<form action="insert.php" method="post">
NIP :<input type="text" name="NIP" />
Nama awal: <input type="text" name="nama_awal" />
Nama akhir: <input type="text" name="nama_akhir" />
Usia: <input type="text" name="usia" />
<input type="submit" />
</form>
</body>
</html>
dan simpan dengan nama file, misal : kasus28.php. Lalu buat
program ke-2 dengan nama insert.php.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
60
$sql="INSERT INTO biodata (NIP, nama_awal, nama_akhir, usia)
VALUES
('$_POST[NIP]','$_POST[nama_awal]','$_POST[nama_akhir]','$_POST[
usia]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
Tampilan eksekusi kasus28.php, kira-kira berupa :
lalu misalkan kita input nilai :
NIP : 132333333
Nama awal : Fadli
Nama akhir : Muhammad
Usia : 50
Dan akhiri dengan menekan button Submit Query, maka akan
muncul pesan :
1 record added,
pernyataan bahwa data yang diinput telah berhasil disimpan.
7.7 SELECT
Pernyataan SELECT digunakan untuk memilih sekumpulan
data dari sebuah database.
Sintaks :
SELECT column_name(s)
FROM table_name
Kode program berikut akan menampilkan seluruh data pada
nama_awal dan nama_akhir saja dalam tabel biodata.
<?php
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
61
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM biodata");
while($row = mysql_fetch_array($result))
{
echo $row['nama_awal'] . " " . $row['nama_akhir'];
echo "<br />";
}
mysql_close($con);
?>
Hasil eksekusi yang diperoleh :
Fadli Muhammad
Salbiah Hanum
Jika kita ingin menampilkan data-data yang dipilih di dalam
tabel HTML, maka kita dapat membuat program seperti berikut :
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM biodata");
echo "<table border='1'>
<tr>
<th>nama_awal</th>
<th>nama_akhir</th>
</tr>";
while($row = mysql_fetch_array($result))
62
{
echo "<tr>";
echo "<td>" . $row['nama_awal'] . "</td>";
echo "<td>" . $row['nama_akhir'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
Tampilan output yang dihasilkan akan berupa :
7.8 WHERE
Klausa WHERE digunakan untuk mengekstraksi suatu record
berdasarkan kriteria atau parameter tertentu.
Sintaks :
SELECT column_name(s)
FROM table_name
WHERE column_name operator value.
Untuk contoh, program berikut akan menampilkan seluruh
baris pada field nama_awal yang bernilai Fadli di dalam tabel biodata.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
63
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM biodata
WHERE nama_awal='Fadli'");
while($row = mysql_fetch_array($result))
{
echo $row['nama_awal'] . " " . $row['nama_akhir'];
echo "<br />";
}
?>
Output yang dihasilkan :
Fadli Muhammad.
7.9 ORDER BY
Keyword ORDER BY digunakan untuk mengurutkan suatu data
di dalam kumpulan berbagai record. Secara default instruksi ORDER
BY akan melakukan pengurutan data secara ascending. Jika kita ingin
mengurutkan data secara descending, PHP telah menyediakan
keyword DESC.
Sintaks :
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
Contoh program berikut adalah program mengurutkan data
pada tabel biodata berdasarkan field usia.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM biodata ORDER BY usia");
64
while($row = mysql_fetch_array($result))
{
echo $row['NIP'];
echo $row['nama_awal'];
echo " " . $row['nama_akhir'];
echo " " . $row['usia'];
echo "<br />";
}
mysql_close($con);
?>
Output yang dihasilkan akan berupa :
132321544 Salbiah Hanum 29
132333333 Fadli Muhammad 50.
7.10 UPDATE
Istruksi UPDATE digunakan untuk memperbaharui data yang
telah ada di dalam sebuah tabel.
Sintaks :
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value.
Program berikut merupakan program memperbaharui usia
Fadli, dari 50 menjadi 25.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("UPDATE biodata SET usia = '25'
WHERE nama_awal = 'Fadli' AND nama_akhir = 'Muhammad'");
mysql_close($con);
?>
P em r o g r am a n D a t a b a s e M en g u n a k a n MySQL
65
Keadaan data setelah diperbaharui sekarang menjadi :
132321544 Salbiah Hanum 29
132333333 Fadli Muhammad 25.
7.11 DELETE
Instruksi DELETE digunakan untuk menghapus satu record
yang terdapat di dalam tabel.
Sintaks :
DELETE FROM table_name
WHERE some_column = some_value.
Contoh program berikut akan menghapus seluruh data Salbiah.
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("DELETE FROM biodata WHERE
nama_awal='Salbiah'");
mysql_close($con);
?>
Setelah eksekusi, data yang ada pada tabel hanya akan berisikan :
132333333 Fadli Muhammad 25.
∞
66
This page is intentionally left blank
Meng i n t e g r a s i k a n B e b e r a p a S t a s i u n T e l e v i s i d i S i t u s P r i b a d i
67
BBaabb 88
MMEENNGGIINNTTEEGGRRAASSIIKKAANN
BBEEBBEERRAAPPAA SSTTAASSIIUUNN TTEELLEEVVIISSII
DDII SSIITTUUSS PPRRIIBBAADDII
8.1 Pendahuluan
Menonton televisi langsung melalui internet bukanlah hal yang
baru. Banyak situs-situs lokal dan dunia yang menyediakan berbagai
fasilitas TV online yang dapat dinikmati langsung secara gratis.
Beberapa situs yang menyediakan fasilitas TV online diantaranya
adalah :
URL Channel
Jumlah
Channel
http://www.ongoz.co.cc/ Lokal dan Luar ±20
http://televisi-fadli.blogspot.com Lokal dan Luar ±25
http://www.jakartacityview.com/ Lokal ±4
http://www.tvone.co.id/ Lokal 1
http://www.indoweb.tv/ Lokal ±4
http://indotv-online.tk/ Lokal dan Luar >11
http://www.imediabiz.tv/ Lokal ±5
http://www.unduhan.com/ Lokal ±4
Keseluruhan situs memiliki tampilan yang menarik, yang
nantinya dapat kita ambil untuk menghiasi situs pribadi kita.
68
Beberapa pilihan tampilan yang akan kita gunakan :
Tampilan web pada domain http://indotv-online.tk/.
Tampilan web pada domain http://www.unduhan.com/.
Tampilan web pada domain http://www.ongoz.co.cc/.
Meng i n t e g r a s i k a n B e b e r a p a S t a s i u n T e l e v i s i d i S i t u s P r i b a d i
69
8.2 Embed Kode untuk Televisi
Jika anda belum memiliki situs atau domain, maka anda dapat
mencoba beberapa situs gratis yang disediakan di internet. Penulis
sendiri memanfaatkan fasilitas blogger gratis dengan nama domain
www.senyumvision.blogspot.com, untuk memasang televisi online di
situsnya.
Jika anda telah memiliki situs, maka anda dapat mencoba
mengikuti langkah-langkah pemasangan TV online di situs anda.
1. Jika anda pemakai situs gratis berekstensi “blogspot.com”, anda
dapat langsung sign in.
2. Lalu setelah muncul tampilan :
70
klik pada .
3. Tidak lama kemudian muncul tampilan :
dan tuliskan kode berikut pada halaman posting.
<center><iframe marginheight="0" marginwidth="0"
src="http://unduhan.com/" scrolling="no" width="80%"
align="middle" frameborder="0" height="440"></iframe>
Lalu klik .
4. Jika muncul tampilan :
maka berikan tanda check pada :
dan akhiri dengan mengklik .
Meng i n t e g r a s i k a n B e b e r a p a S t a s i u n T e l e v i s i d i S i t u s P r i b a d i
71
Tidak lama kemudian muncul tampilan :
sekarang kita telah sukses memposting televisi di situs pribadi
kita
∞