KELOMPOK 5 (PHP)
DOSEN PENGAMPU : DR.FIRDAUS, S.PD,MT
NAMA ANGGOTA
DAFTAR ISI...........................................................................................................................ii
BAB I PENDAHULUAN.......................................................................................................1
1.1 Latar belakang..........................................................................................................1
1.2 Maksud dan Tujuan..................................................................................................1
1.3 Metode Penelitian.....................................................................................................1
1.4 Ruang Lingkup.........................................................................................................2
BAB II PEMBAHASAN........................................................................................................3
2.1.1. Pengertian PHP.................................................................................................3
2.1.2. Sejarah PHP......................................................................................................4
2.1.3. Cara Kerja PHP.................................................................................................5
2.1.4. Keunggulan PHP...............................................................................................5
2.1.5. Kemampuan PHP............................................................................................10
2.2 Pembuatan program web dengan PHP...................................................................11
2.2.1. Sintaks penulisan PHP....................................................................................11
2.2.2. Tipe Data di PHP............................................................................................14
2.2.3. Variabel pada PHP..........................................................................................22
2.2.4. Kontrol pada PHP...........................................................................................27
2.2.5. REQUIRE.......................................................................................................33
2.2.6. INCLUDE.......................................................................................................33
2.2.7. Operator pada PHP..........................................................................................34
2.2.8. Menangani Variabel Form, Cookies dan Environment..................................37
BAB III PENUTUP..............................................................................................................40
3.1 Kesimpulan.............................................................................................................40
3.2 Saran.......................................................................................................................40
DAFTAR PUSTAKA...........................................................................................................41
iii
iv
BAB I
PENDAHULUAN
Di era kemajuan teknologi seperti sekarang ini, Website menjadi hal yang sudah
tidak asing lagi terdengar pada telinga kita, kususnya dalam dunia internet. Meskipun sudah
banyak orang mempunyai homepage di internet baik yang menggunakan ISP maupun
server web gratis, tetapi pada umumnya homepage tersebut bersifat statis dan tidak dapat
berinteraksi dengan pengunjung web.
Kebanyakan orang pada umumnya hanya berperan sebagai pengguna dan sebagian
kecil saja yang mengetahui proses dibaliknya dikarenakan tidak menguasai pemrograman
web. Pada dasar pembuatanya, sebuah homepage yang dapat berinteraksi dengan
pengunjung website atau homepage dinamis tidak diperlukan kemampuan pemrograman
yang tinggi.
1. Untuk memberikan sebuah gambaran bahwa dalam mempelajari dan membuat web
menggunakan PHP sebenarnya tidak terlalu sulit.
2. Agar pengguna internet pada khususnya dapat lebih mengembangkan potensi diri, dan
tidak hanya sebagai pengguna saja tetapi dapat berperan sebagi pembuat suatu alamat web
(homepage) yang dinamis.
v
1.3 Metode Penelitian
Agar tidak menyimpang dari permasalahan yang dibahas, di dalam pembahasan makalah
ini penulis membatasi pokok bahasan seputar pembuatan program web dengan
menggunakan PHP.
vi
BAB II
PEMBAHASAN
vii
Kekuatan PHP yang paling utama adalah konektifitas database dengan web. Sistem
database yang telah didukung oleh PHP saat ini adalah
• Oracle • Generic ODBC • Adabas D • Sybase • PostgreSQL
• dBase
PHP juga mendukung komunikasi dengan layanan lain melalui protokol IMAP,
SNMP, NNTP, POP3 atau bahkan HTTP.
Dan sekarang sebuah web server tidak hanya berisi gambar-gambar dan susunan
teks yang berisi informasi suatu organisasi tapi dituntut untuk bisa berhubungan secara
langsung dengan database, melayani permintaan dari client, membuat dokumen yang berisi
informasi penting dan sebagainya. Dengan tuntunan semacam itu, dibutuhkan bahasa
tambahan yang benar-benar bisa berinteraksi secara luas dengan aplikasi-aplikasi
pendukung untuk kebutuhan dinamis dari web server.
viii
PHP versi 4.0 kemudian dirilis setelah itu dengan menggunakan mesin scripting
Zend (akronim dari pengembangnya Zeev suraski dan Andi Gutmas) dan telah mampu
mendukung server apache dan secara built-in telah mampu menangani manajemen session.
Ada dua macam PHP yang sekarang dikenal luas dikalangan web developmer yaitu
PHP 3 dan PHP 4. PHP 3 adalah bahasa PHP yang pertama kali dibuat dan cocok untuk
membuat website yang tidak terlalu komplek dan besar.sedangkan PHP 4 (versi-4) adalah
bahasa PHP yang didalamnya sudah dilengkapi denganZend engine sehingga lebih cepat,
kuat, stabil, mudah untuk berinteraksi dengan berbagai jenis aplikasi pendukung lainya
seperti mySQL, java, FTP client, ODBC dll.
PHP versi 4 memiliki ekstention yang lebih sederhana dan mudah dipergunakan
serta kompatibel dengan PHP versi 3. PHP 4 sering dipakai untuk membangun web content
karena dapat menangani website yang besar, kompleks dan menerima jutaan hit perhari.
ix
PHP adalah aplikasi bahasa web yang bisa diperoleh secara gratis dan kode program PHP
diberikan secara cuma-Cuma.
2. PHP mudah
PHP mudah untuk dipelajari, dibandingkan dengan produk lain yang mempunyai
fungsi yang sama. Tidak seperti Java Server Page atau C based CGI tidak membutuhkan
persyaratan untuk mendalami beberapa bahasa pemrograman lain. Tidak juga seperti Perl
yang sering disebut sebagai “write-only-language”, PHP mempunyai sintaks yang sangat
mudah dan user-friendly. Dan tidak seperti Active Server Page, PHP tidak membuat kita
untuk mempelajari dua bahasa pemrograman yang berbeda untuk dua kebutuhan.
3.PHP embedded
Penulisan script PHP menyatu dengan HTML sehingga memudahkan
pembuatannya. Dengan kata lain halaman PHP biasanya halaman HTML. Produk sejenis
adalah Microsoft Active Server Page, Allaire Cold Fusion dan Sun JavaServer Page. PHP
kadang-kadang disebut sebagai “the open source ASP” karena fungsinya mirip dengan
produk Microsoft tersebut.
Untuk membedakan antara sintaks HTML dan PHP maka dibuatlah kesepakatan : script
PHP dimulai dengan tag <? Dan diakhiri dengan ?>. Contoh :
<HTML>
<HEAD> <TITLE>A greeting</TITLE> </HEAD>
<BODY>
<P>Hi,
<?php
/*sekarang beralih ke mode PHP*/
$firstname=”Mata”;
$lastname=”Hari”;
$title=”Ms.”;
PRINT($title $lastname”);
//kembali ke HTML sekarang.
?>>
x
May I call you <?php PRINT(“$firstname”); ?>?</P>
</BODY></HTML>
Pada saat client meminta halaman ini, Web server memprosesnya. Berarti melalui halaman
dari atas ke bawah, mencari section-section PHP, dimana akan dicoba untuk
memecahkannya. Parser akan memeriksa seluruh variabel yang ditandai (dengan tanda $)
dan mencoba menambahkannya ke perintah PHP (fungsi print()). Jika berjalan lancar,
preprocessor akan kembali ke halaman HTML normal ke client browser. Jika ingin melihat
kode sumber dari clientbrowser (pilih “Source” atau “Page Source” dari menu View atau
klik kanan pada AOL), maka akan tampak seperti :
<HTML>
<HEAD><TITLE>A greeting</TITLE></HEAD>
<BODY>
<P>Hi, Ms. Hari. May I call you Mata ? </P>
</BODY> </HTML>
Kode diatas sama seperti jika kita menulis program HTML dengan tangan. HTML
embedded dengan PHP membawa beberapa konsekuensi :
• PHP dapat dengan cepat ditambahkan ke kode yang dihasilkan oleh editor WYSIWYG.
• Setiap baris dari HTML tidak perlu dituliskan kembali ke dalam bahasa pemrograman.
4. PHP berjalan di banyak Platform
PHP yang menyatu dalam dokumen HTML bisa diakses oleh seluruh browser di seluruh
platform yang ada. Dengan kata lain aplikasi yang dibangun dengan PHP berlaku secara
universal. PHP dapat dijalankan di bawah sistem operasi UNIX dan Windows. Sebagian
besar server HTTP berjalan pada satu dari dua kelas sistem operasi ini. PHP kompatibel
dengan 3 Web Server teratas : Apache HTTP Server untuk UNIX dan Windows, Microsoft
Internet Information Serverdan Netscape Enterprise Server (iPlanet Server). PHP juga
bekerja pada beberapa Server yang kurang dikenal termasuk Alex Belits’s fhttpd,
Microsoft’s Personal Web Server, AOLServer dan Omnicentrix’s Omniserver Application
Server. PHP tidak didukung platform Macintosh. Ketersediaan kode sumber dalam bahasa
C membuat PHP sangat universal dan mudah disesuaikan dengan platform yang digunakan
xi
sehingga tidak perlu keraguan untuk menginvestasikan waktu dan tenaga guna
mengembangkan aplikasi PHP.
Walaupun PHP tidak berjalan di Macintosh, BeOS atau beberapa paltform lain, kita
dapat mengembangkan pada clientini menggunakan tool dan kemudian upload script PHP
ke Server UNIX atau Windows.
6. PHP stabil
Kata stabil berarti 2 hal yang berbeda :
• Server tidak memerlukan boot ulang.
• Software tdk berubah secara radikal & kompatibel dari release ke release.
Keduanya ada pada PHP. Saat ini server Apache menjadi Web server paling stabil
dengan reputasinya. Walaupun bukan merupakan yang paling cepat ataupun yang paling
mudah, server Apache HTTP kelihatan tidak pernah crash. Dan juga tidak perlu boot ulang
server setiap saat setting diubah (setidaknya di sisi UNIX). PHP mewarisi keadaan ini plus
implementasinya yang kuat. Apache server dengan PHP melebihi IIS/Visual Studio dan
Netscape Enterprise Server/Java untuk stabilitas lingkungannya. Tim pengembang PHP
berusaha memperbaiki seperti menambahkan parser untuk dapat dijalankan lebih cepat,
komunikasi dengan database lain atau menambahkan dukungan session yang lebih baik.
Sangat sedikit fungsi yang dihapuskan dari versi PHP sebelumnya.
xii
Kebanyakan Website berkembang dari penggunaan CGI karena alasan kehandalan
dan keamanan. Saat mengkompile, PHP menjadi bagian dari http daemon. Karena tidak ada
transfer ke dan dari server aplikasi yang berbeda (seperti pada ColdFusion) permintaan
dapat dipenuhi secara labih efisien. PHP setidaknya sama cepat dengan ASP pada banyak
aplikasi.
xiii
seperti sudah dibuktikan oleh sebagian besar sample. ASP dan ColdFusion PHP
mempunyai keuntungan yang lebih dibanding pesaingnya pada kategori pengembangan.
xiv
PHP mendukung banyak database dalam mode native dan melalui ODBC.
• HTTP Authentication.
Kelebihan HTTP Authentication pada PHP hanya tersedia jika PHP berjalan sebagai modul
Web Server Apache.
• Regular Expression
Regular Expression digunakan untuk manipulasi string yang kompleks di PHP
• Error handling
Seluruh ekspresi PHP dapat dipanggil dengan prefix ‘@’ yang akan mematikan error
reporting untuk ekspresion itu.
Dalam dunia informasi yang berbasiskan internet, segala macam informasi yang
terdapat didalamnya dibuat dengan menggunakan suatu teknologi yang dinamakan HTML,
tetapi karena fungsi dari HTML itu sendiri hanyalah untuk menampilkan informasi atau
dengan kata lain hanya menampilkan hasil yang berupa tulisan biasa, maka munculah
teknologi yang dapat mengurangi kekakuan dari HTML itu, yang dinamakan server side
scripting dan client side scripting yang masing-masing mempunyai kelebihan, sebagai
contoh javascript yang merupakan client side dapat melakukan teknik-teknik animasi
tulisan pada halaman HTML, dan PHP yang merupakan server side dapat melakukan
konektifitas pada database yang dimana hal itu tidak dapat dilakukan hanya dengan
menggunakan sintaks-sintaks HTML biasa.
xv
…
?> <% …
…
…
%> <script> …
…
…
</script>
Apabila Anda membuat kode PHP dan berencana akan mendistribusikan ke
pihak/orang lain, maka usahakan untuk menggunakan sintaks <?php … ?>. Hal ini
dikarenakan untuk penggunaan kode yang menggunakan <? ?> terkadang tidak bisa
dijalankan dalam server tertentu.
xvi
b. Semicolon (;)
Apabila Anda perhatikan contoh sebelumnya, maka terdapat tanda titik koma (semicolon)
pada akhir perintah echo. Tanda semicolon merupakan penanda akhir dari statement PHP
dan harus ada.
Contoh:
<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
<body> <?php
echo “Hello World! “;
echo “Hello World! “;
echo “Hello World! “;
echo “Hello World! “;
echo “Hello World! “;
?>
</body>
</html>
c. Pindah Spasi
Seperti halnya HTML, pergantian spasi dalam PHP tidak akan mempengaruhi
tampilan hasilnya. Dengan kata lain, pergantian spasi akan diabaikan oleh PHP.
Perhatikan contoh berikut ini. Pada contoh tersebut diberikan tiga bentuk penulisan kode
PHP yang berbeda namun akan dihasilkan tampilan yang sama dalam web browser.
Contoh:
<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
xvii
<body>
<?php
echo “Hello World! “;
echo “Hello World! “;?>
</body>
</html>
<html>
<head>
<title>My First PHP Page</title>
</head>
<body>
<?php
echo “Hello World! “;
echo “Hello World! “;
?>
</body>
</html>
<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
<body>
<?php
echo “Hello World! “;
echo “Hello World! “; ?>
</body>
</html>
xviii
2.2.2. Tipe Data di PHP
Dalam PHP, nama setiap variabel diawali dengan tanda $ (dollar). Misalnya
variabel “e” maka ditulis dengan $e. PHP hanya mempunyai 6 tipe data yaitu : integer,
double, boolean, string, array dan object.
a. Integer adalah seluruh angka tanpa decimal point.
b. Double adalah floating point seperti 3.14159 atau 49.0
c. Boolean hanya mempunyai 2 nilai yaitu TRUE dan FALSE
d. String adalah urutan dari karakter seperti ‘PHP mendukung operasi string’
e. Array adalah koleksi nama dan indeks.
f. Object adalah contoh dari class yang didefinisikan programmer.
Tipe variabel ini tidak perlu ditentukan oleh programmer, melainkan ditentukan
pada saat runtime oleh PHP dengan kebergantungan pada konteks pemakaian variabel
tersebut. Tipe data sederhana dalam PHP (integer, double, boolean dan string) sudah
familiar. Beberapa bahasa pemrograman mempunyai ukuran yang berbeda untuk tipe data
numerik dengan mengijinkan nilai range yang lebih besar tapi juga membutuhkan memory
yang lebih besar. Sebagai contoh bahasa C mempunyai tipe short (small integer), tipe long
(integer yang lebih besar) dan sebuah tipe int (merupakan pertengahan antara short dan
long).
a. Integer
Adalah tipe data paling sederhana, dapat digunakan sebagai variabel atau digunakan dalam
ekspresi seperti :
$int_var = 12345;
$another_int = -12345 + 12345;
Integer dapat dibaca dalam 3 format sesuai dengan bilangan berbasis; decimal (basis 10),
octal (basis 8) dan hexa(basis 16). Format desimal sebagai default, octal dispesifikasikan
dengan diawali ‘0’ dan hexa diawali ‘0x’. Format tersebut dapat didahului tanda ‘-‘ untuk
integer negative.
$integer_10 = 1000;
$integer_8 = – 01000;
xix
$integer_16 = 0×1000;
print(“integer_10 : $integer_10<BR>”);
print(“integer_8 : $integer_8<BR>”);
print(“integer_16 : $integer_16<BR>”);
b. Double
Adalah floating point seperti :
$first_double = 123.456;
$second_double = 0.456;
$even_double = 2.0;
Integer dan double disimpan dalam format yang berbeda dan hasil dari ekspresi :
$five = $even_double + 3;
Akan menjadi double, bukan integer, walaupun tercetak ‘5’. Sebagai default double
tercetak dengan sejumlah minimum tempat yg dibutuhkan, contoh
$many = 2.2888800;
$many_2 = 2.2111200;
$few = $many + $many_2;
print (“$many + $many_2 = $few<BR>”);
Akan menghasilkan output :
2.28888 + 2.21112 = 4.5
xx
Format double adalah –X.Y dimana – dispesifikasikan optional sebagai negative dan X
serta Y sebagai digit antara 0-9
$small_positive = 0.12345;
$small_negative = -.12345;
$even_double = 2.00000;
$still_doube = 2;
Double dispesifikasikan dalam notasi scientific dengan menambahkan huruf e, sebagai
contoh 2.2e-3 akan sama dengan 2.2_10-3.
$small_positive = 5.5e-3;
print(“small_positive is $small_positive<BR>”);
$large_positive = 2.8e+16;
print(“large_positive is $large_positive<BR>”);
$small_negative = -2222e-10;
print(“small_ negative is $small_ negative <BR>”);
$large_negative = -0.00189e6;
print(“large_negative is $ large_negative <BR>”);
Akan menghasilkan output :
small_positive is 0.0055
large_positive is 2.8E+16
small_negative is –2.222E-07
large_negative is –1890
c. Boolean
Adalah nilai true atau false, digunakan sebagai kontrol seperti untuk test sebuah statement
if. Nilai “truth” boolean dapat dikombinasikan menggunakan operator logika untuk
membuat lebih lengkap ekspresi boolean.
PHP menyediakan sepasang konstanta khususnya untuk digunakan sebagai Boolean :
TRUE dan FALSE. Aturan untuk menentukan “truth” dari nilai yang tidak ada pada tipe
boolean:
1.Jika nilai adalah angka, false jika sama dengan nol dan selain itu true
xxi
2.Jika nilai adalah string, false jika string mengandung karakter kosong atau string “0”
selain itu true
3.Jika nilai adalah gabungan tipe data (array atau object) false jika tidak berisi nilai selain
itu true
Contoh :
Masing-masing variabel berikut akan mempunyai nilai Truth yang embedded dalam
namanya, digunakan dalam konteks boolean
$true_num = 3 + 0.14159;
$true_str = “tried and true”
$true_array[49] = “an array element”;
$false_num = 999 – 999;
$false_str = “ “; // karakter string kosong
d. String
Adalah kumpulan karakter, seperti dibawah :
$string_1 = “This is a string in double quotes”;
$string_2 = “This is a somewhat longer, singly quoted string”;
$string_39 = “This is a string has thirty-nine characters”;
$string_0 = “ “; //This is a string with zero characters
String dapat ditutup dalam tanda petik tunggal maupun petik ganda. Petik tunggal seperti
literalnya sedang petik ganda menggantikan variabel dengan nilainya seperti
menginterpretasikan karakter khusus.
$literally = ‘My $variable will not print!\n’;
print($litrerally);
$win_path = ‘C:\\InetPub\\PHP\\’;
print(“A windows-style pathname: $win_path<BR>”);
Akan menghasilkan output :
My $variable will not print!\n
A windows-style pathname: C:\\InetPub\PHP\
xxii
Untuk menempelkan petik tunggal (seperti apostrophe) dalam petik tunggal, beri tanda
backslash :
$singly_quoted = ‘This quote mark\’s no big deal either’;
String yang dibatasi dengan petik ganda diproses dalam 2 cara :
1.Karakter tertentu yang dimulai dengan backslash (‘\’) diganti dengan karakter khusus
2.Nama variabal (dimulai dengan $) diganti dengan string yang merepresentasikan nilainya.
kirim.php
</html>
<form action=”kosong.php” method=”post”>
Nama: <input><br> // terbentuk variabel $nama
<input value=”Kirim”>
</form>
</html>
kosong.php
<html>
<body>
<? echo $nama; ?>
</body>
</html>
Untuk menginisialisasi suatu variabel dalam PHP, secara sederhana berikan suatu
nilai pada variabelnya. Tapi untuk tipe seperti array dan objek membutuhkan mekanisme
yang berbeda
$nama = ”Hendra”;
$berat = 57.5;
$umur = 17;
e. Array
Tipe array pada PHP memudahkan programmer cara untuk mengelompokkan nilai-nilai
yang berbeda dan mengindeksnya dengan numerik (dan juga dengan nama). Elemen array
xxiii
dituliskan dengan indeks dalam tanda kurung (the[1], [2],[3]..) dan elemn dari tipe yang
berbeda dapat ditunjuk dengan array yang sama.
print(“my_array is $my_array<BR>”);
print(“my_array[0] is $my_array[0]<BR>”);
print(“my_array[5] is $my_array[5]<BR>”);
$my_array[5] = “Slot #6”;
print(“my_array is $my_array<BR>”);
print(“my_array[0] is $my_array[0]<BR>”);
print(“my_array[5] is $my_array[5]<BR>”);
Akan menghasilkan output :
my_array is
my_array[0] is
my_array[5] is
my_array is Array
my_array[0] is
my_array[5] is Slot #6
Array adalah satu dari feature yang paling berguna di PHP dan walaupun kelihatan seolah-
olah seperti array dalam bahasa pemrograman lain, implementasi sangat berbeda. Dalam
banyak bahasa pemrograman , kita mendeklasikan array dengan statement seperti :
Int int_array[10]; //NOT PHP! Men-set blok sampai variabel integer 10 dalam memori yang
dapat diakses dengan indeks int_array antara 0 – 9. Sejauh ini hanya integer yang
digunakan sebagai indeks, sebenarnya nilai string juga dapat digunakan sebagai indeks
array. Indeks string digunakan dgn cara yg sama seperti indeks numerik, seperti:
$tasty[‘Spanish’] = “paella”;
$tasty[‘Japanese’] = “sashimi”;
$tasty[‘Scottish’] = “haggis?”;
Menginisialisasi Array
Array dapat diinisialisasi dengan dua cara yaitu dengan pemberian nilai langsung dan
menggunakan konstruksi array(). Untuk memberikan nilai secara langsung pada suatu
xxiv
array, secara sederhana adalah memberikan nilai ke variabel array dengan subscript kosong.
Nilai tersebut akan ditambahkan sebagai elemen terakhir dari array. Sesuatu yang perlu
diingat adalah elemen array dimulai dari index 0 (bukan 1)
$nama[ ] = “Aden”; //$name[0] = “Aden”
$nama[ ] = “Marsa”; //$nama[1] = “Marsa”;
Contoh Array:
array.php
<html> <h1>Membuat array cara pertama</h1> <?
$a[0] = “abc”; // a adalah array skalar
$a[1] = “def”;
$b[“foo”] = 13; //b adalah array asosiatif
echo “Nilai a[0]=$a[0], nilai a[1]=$a[1], <br>
nilai b[\”foo\”]=” . $b[“foo”];
?> <h1>Cara kedua</h1> <?
$a[ ] = “hello”; // $a[2] = = “hello”
$a[ ] = “world” // $a[3] = = “world”
echo “Nilai a[2]=$a[2], Nilai a[3]=$a[3];
?></html>
multiarray.php
<html><?
$f=101
$a[1] = $f; #contoh satu dimensi
$a[“foo”] = $f;
$b[1][0] = $f; #dua dimensi
$b[“foo”][2] = $f;
$b[3][“bar”] = $f;
$c[“foo”][4][“bar”][0] = $f; #empat dimensi
echo “a[1] = $a[1] dan a[\”foo\”]=” . $a[“foo”];
echo “b[1][0] = “ . $b[1][0] . “ dan b[\”foo\”][2]=” . $b[“foo”][2];
xxv
f. Object
Object adalah sebuah tipe data yang dapat berupa sebuah bilangan, variabel atau bahkan
sebuah fungsi. Objectdibuat dengan tujuan untuk membantu programmer yang terbiasa
dengan Object Oriented Programming, meski fasilitas OOP yang disediakan oleh PHP
masih sangat kurang. Berikut sebuah contoh penggunaan tipe data object.
<? // object.php
class Test
{ var $str = “Variabel Class”;
function set_var($str)
{ $this->str = $str; }
}
$class = new Test;
echo$class->str;
$class->set_var (“Variabel Object”);
echo(“<br>$class->str”); ?>
Dalam program object.php terdapat sebuah class dengan nama test, kemudian dibuat
sebuah data object test dari class test, data ini dicetak dan keluarannya adalah “Variabel
Class“. Class test juga mempunyai mebuah method dengan nama set_var, method ini
digunakan untuk memberi nilai pada variabel $str.
Data object test yang dibuat atauinstance dari class test akan mempunyai semua
properties dari class test, termasuk method-method-nya, sehingga sebuah data bertipe
object juga dapat mengandung sebuah method (fungsi). Pada program di atas method
set_var pada object test kita pakai untuk mengubah nilai variabel $str menjadi “Variabel
Object” kemudian mencetaknya.
Menginisialisasi Objek
Untuk menginisialisasi suatu object, dapat menggunakan perintah new. Perintah ini
digunakan untuk menginisialisasi suatu objek kepada suatu variabel.
Class kosong {
Function tidak() {
xxvi
Echo “tidak melakukan apa-apa”; } }
$bar = new kosong;
$var -> tidak();
1. Jangkauan Variabel
Jangkauan suatu variabel adalah tergantung pada dimana variabel tersebut
didefinisikan. Pada umumnya semua varibel PHP hanya memiliki suatu jangkauan. Setiap
variable yang digunakan dalam suatu fungsi, maka secara defaultjangkauannya adalah
lokal. Sebagai contoh :
$a = 1; /*jangkauan global*/
Function coba() {
Echo $a; /*mengacu pada variabel jangkauan lokal*/
}
coba();
Script diatas tidak mengeluarkan apapun, karena $a dalam fungsi Coba mengacu
pada $a lokal yang mana tidak memiliki nilai apapun. Hal ini berbeda dengan bahasa C
yang mana setiap variabel global menjadi nampak bagi semua fungsi, kecuali didefinisikan
sebagai lokal. Dalam PHP, variabel global harus dideklarasikan sebagai global di dalam
suatu fungsi jika mereka akan digunakan dalam fungsi tersebut. Contoh :
$a = 1;
$b = 2;
Function hitung() {
Global $a, $b;
$b = $a + $b; }
hitung();
echo $b;
xxvii
Script diatas akan menghasilkan keluaran “3”. Dengan mendeklarasikan $a dan $b sebagai
global di dalam fungsi. Cara kedua untuk mengakses variabel sebagai acuan global adalah
dengan menggunakan definisi $GLOBAL. Contoh sebelumnya dapat juga ditulis menjadi :
$a = 1;
$b = 2;
Function hitung()
{
$GLOBALS[“b”] = $GLOBALS[“a”] + $GLOBALS[“b”];
}
hitung();
echo $b;
$GLOBALS array adalah suatu asosiasi array dengan key adalah nama dari variabel global.
Hal lain yang penting dari jangkauan adalah variabel “static”. Suatu variabel hanya ada
pada jangkauan lokal fungsi, dan nilainya akan tetap dipertahankan.
Function coba() {
$a = 0;
echo $a;
$a++; }
Pada fungsi diatas nilai $a kembali menjadi 0 utnuk setiap pemanggilan. Artinya nilai $a
akan hilang begitu program keluar dari fungsi. Contoh berikut menggunakan variabel static.
Setiap kali fungsi coba() dipanggil maka nilai $a pada pemanggilan sebelumnya.
Function coba() {
Static $a = 0;
echo $a;
$a++; }
2. Variabel-Variabel
Kadang-kadang lebih nyaman menggunakan variabel-variabel; yang mana adalah nama
variabel yang dapat digunakan secara dinamis. Secara normalnya variabel dibuat dengan :
$a = “hello”; // normal -> terbentuk variabel $a berisi “hello”
xxviii
Suatu variabel variabel akan menggunakan nilai dari suatu variabel menjadi nama variabel,
contoh :
$a = “hello”; // normal -> terbentuk variabel $a berisi “hello”
$$a = “world”; // variabel-variabel -> terbentuk variabel $hello berisi “world”
Pada contoh diatas akan terbentuk dua variabel yaitu $a dan $hello. Dimana $a berisi
“hello” dan $hello berisi “world”. Selanjutnya perintah berikut ini
Echo “$a ${$a}”; // menghasilkan “hello world”
Echo “$a $hello”; // menghasilkan “hello world”
xxix
$a = 1234; # angka decimal
$b = -123; # angka negatif
$c = 0123; # angka oktal decimal (sama dengan 83 decimal)
$d = 0×12; #angka hexa decimal (sama dengan 18 decimal)
echo “Nilai a=$a, nilai b=$b, nilai c(decimal)=$c, <br>
Nilai d(decimal)=$d <br>”;
?>
<h1>floating point</h1>
<?
$a = 1.234;
$b = 1.2e3;
echo “Nilai a=$a, nilai b=$b <br>”;
?>
Jika string diapit oleh tanda kutip ganda (“..”), maka variabel yang ada di dalam
xapitan itu akan di ekspand, artinya isi variabel itu akan dikeluarkan. Contohnya adalah
pada baris yang mengandung fungsi echo( ) pada latihan sebelumnya.
5. Tipe Casting
Tipe casting dalam PHP bekerja seperti dalam C, nama dari tipe yang di inginkan di
tulis di dalam kurung sebelum variabel yang akan di cast.
$coba = 10; //$coba adalah suatu integer
$bar = (double) $coba //$bar adalah suatu double
Cast yang diperbolehkan :
• (int), (integer) – cast ke integer
• (real), (double), (float) – cast ke double
• (string) – cast ke string
• (array) – cast ke array
• (object) – cast ke object
6. Expression
xxx
Expression adalah “segala sesuatu yang memiliki harga”. Misalnya konstanta dan
variabel. Saat mengetik “$a=5”, kita mengisikan angka ‘5’ ke dalam $a. Sesungguhnya ‘5’
memiliki nilai 5, atau dengan kata lain ‘5’ adalah sebuah ekspresi dengan nilai 5 (dalam hal
ini, ‘5’ adalah konstanta integer). Setelah assigment ini, harga $a akan menjadi 5 juga
sehingga jika Anda tuliskan $b=$a, efeknya akan sama jika ditulis $b = 5. Dengan kata
lain, $a adalah sebuah ekspresi dengan nilai 5 juga.
Contoh expression yang lebih kompleks adalah function. Misalnya, perhatikan contoh
dibawah ini :
Function foo ( )
{
return 5;
}
Menuliskan $c = foo ( ) sesungguhnya sama dengan menuliskan $c = 5, karena function
adalah ekspresi dengan nilai sesuatu yang dikeluarkannya (return value ). Karena foo ( )
mengeluarkan 5, nilai dari ekspresi foo ( ) adalah 5. Namun biasanya function tidaklah
mengeluarkan sesuatu yang statis seperti itu, melainkan sesuatu yang telah dihitung
sebelumnya.
Suatu PHP script terdiri dari sejumlah perintah yang berurutan. Suatu perintah dapat berupa
pemberi nilai, pemanggilan terhadap fungsi, perulangan, perintah kondisi dan baris kosong,
Setiap perintah diakhiri dengan sebuah titik koma (;). Dan beberapa perintah dapat
dikelompokkan menjadi satu dalam kurung kurawal { dan }. Catatan : setiap perintah
diakhiri dengan sebuah titik koma (;).
1. Konstanta
PHP memiliki sejumlah konstanta yang telah didefinisikan dan diberi kesempatan untuk
membuat konstanta sesuai dengan kebutuhan. Konstanta yang telah didefinisikan adalah
_FILE_ (nama file yang sedang diproses) _LINE_ (nomor baris dari file yang sedang
diproses)
xxxi
Contoh :
<?php
function report_error($file, $line, $message)
{ echo “Suatu kesalahan terjadi pada file $file bari $line: $message.”; }
report_error(_FILE_,_LINE_,”Telah terjadi suatu kesalahan!”);
?>
Konstanta ciptaan dapat didefinisikan dengan menggunakan fungsi define(). Contoh :
<?php
define(“CONSTANT”,”Hello world.”);
echo CONSTANT; //akan mencetak “Hello world.”
?>
2. Ekspresi
Hampir semua yang ditulis dalam PHP script adalah script. Definisi yang paling
mudah dari ekspresi adalah “segala sesuatu yang memiliki nilai”. Contoh yang paling
sederhana dari ekspresi adalah konstanta dan variabel. Ketika mengetik “$a=5” maka
artinya memberikan nilai ‘5’ ke $a.
Contoh yang lebih kompleks untuk suatu ekspresi adalah fungsi. Untuk ebih jelasnya
perhatikan contoh dibawah ini :
Function hello ()
{ Return 5; }
Maka kala ditulis $c = hello() adalah sama dengan memberikan nilai 5 ke variabel
$c, karena fungsi hello mengembalikan 5. Diatas adalah contoh fungsi yang sederhana.
PHP mendukung 3 tipe nilai skalar yaitu : nilai integer,floating point dan string. (Nilai
skalar adalah nilai yang tidak dapat dibagi menjadi bagian yang lebih kecil, seperti array).
PHP juga mendukung 2 tipe nilai bukan skalar yaitu array dan objek.
3. Percabangan
a. If
xxxii
Perintah If adalah sesuatu yang paling penting pada bahasa pemrograman
umumnya. Perintah If PHP menyerupai bentuk If pada bahasa C. If (ekspresi) Perintah
Ekspresi adalah sesuatu yang dapat dievaluasi menjadi nilai TRUE atauFALSE. Berikut ini
adalah contoh yang akan mencetak ‘a lebih besar dari b’ jika nilai $a lebih besar dari $b.
If ($a > $b)
Print “a lebih besar dari b”;
Jika perintah yang akan dijalankan ketika ekspresi TRUE lebih dari satu maka perintah-
perintah tersebut perlu dikelompokkan dengan kurung kurawal { dan } dapat juga dibentuk
if yang bersangkar (if dalam if)
If ($a > $b) {
Print “a lebih besar dari b”;
$b = $a; }
b. Else
Sering kita perlu menjalankan perintah lain kalau nilai ekspresi adalah FALSE. Untuk
keperluan tersebut dapat digunakan perintah Else.
If ($a > $b) {
Print “a lebih besar dari b”;
} else {
Print “a tidak lebih besar dari b”;
}
c. Elseif
Elseif adalah kombinasi dari suatu if dan else, dapat digunakan pada suatu pilihan multi
kondisi.
If ($a > $b) {
Print “a lebih besar dari b”;
} elseif ( $a==$b) {
Print “a sama dengan b”;
} else {
xxxiii
Print “a lebih kecil dari b”;
}
d. SWITCH
Perintah SWITCH menyerupai sejumlah perintah IF dengan ekspresi yang sama.
Sering kali kita ingin membandingkan sejumlah variabel (atau ekspresi) dengan sejumlah
nilai dan menjalankan perintah tertentu untuk masing-masing nilai.
Contoh1.php
/* contoh 1 */
if ($I == 0)
{ print “I sama dengan 0”; }
if ($I == 1)
{ print “I sama dengan 1”; }
if ($I == 2)
{ print “I sama dengan 2”; }
Perintah SWITCH dieksekusi secara baris per baris (aktualnya perintah per
perintah). Pada awalnya tidak ada kode yang dijalankan. Hanya sesaat ketika suatu perintah
CASE ditemukan dengan nilai yang sesuai dengan nilai ekspresi pada SWITCH, PHP
menjalankan perintah. PHP melanjutkan eksekusi sampai akhir dari blok SWITCH atau
pertama kali menemukan suatu perintah BREAK. Jika tidak menulis suatu perintah
BREAK pada akhir dari daftar perintah pada suatu case, PHP akan melanjutkan eksekusi
untuk case selanjutnya.
Contoh2.php
/* contoh 2 */
switch ($I) {
case 0;
print “I sama dengan 0”;
case 1;
print “I sama dengan 1”;
case 2;
print “I sama dengan 2”;
xxxiv
}
Disini jika $I sama dengan 0, PHP akan mengeksekusikan seluruh perintah print !.
Jika $I sama dengan 1, PHP akan mengeksekusikan dua perintah print terakhir, jika dan
hanya jika $I sama dengan 2 tercetak ‘I sama dengan 2’. Jadi adalah sangat penting untuk
tidak melupakan perintah BREAK. Suatu case yang khusus adalah case default. Case ini
akan sama dengan segala sesuatu yang tidak dapat disamakan dengan case – case
sebelumnya.
4. Perulangan
a. While
While adalah perulangan yang paling sederhana pada PHP. Bentuk dasar dari
perintah While adalah :
WHILE(ekspresi) statement
Statement akan diulang selama ekspresi memiliki nilai TRUE. Jika pada perulangan
ternyata ekspresi bernilai FALSEmaka perulangan tidak pernah dilakukan. Jika perintah
yang akan diulang lebih dari satu maka perintah-perintah tersebut dapat dikelompokkan
dengan mengetiknya diantara kurung kurawal { dan } atau menggunakan tata cara
penulisan alternatif :
WHILE(ekspresi) : statement… ENDWHILE;
Berikut ini adalah 2 contoh yang identik yang akan mencetak nilai 1 s/d 10 :
Contoh3.php :
/*contoh */
$I = 1;
while ($I <= 10) {
print $I++; /*nilai yg dicetak adl nilai $I sebelum ditambah 1 (post-increment)*/
}
Contoh 4.php
/*contoh */
$I = 1;
while ($I <= 10):
xxxv
print $I;
$I++;
endwhile;
b. Do … While
Perulangan DO…WHILE adalah sama saja dengan perulangan While, hanya
ekspresi diperiksa pada akhir dari perulangan. Jadi perulangan jenis ini minimal terjadi satu
kali. Tata cara penulisan untuk perulangan DO…WHILE :
$I = 0;
do
{ print $I; }
while ($I>0);
c. FOR
Perulangan FOR adalah perulangan yang paling kompleks dalam PHP, dan
menyerupai perulangan FOR pada bahasa C. Tata cara penulisan untuk perulangan FOR :
FOR (ekspresi1; ekspresi2; ekspresi3) statement
Ekspresi pertama (ekspresi1) dievaluasi (dieksekusi) secara un-kondisional pada awal
perulangan. Pada awal dari tiap iterasi, ekspresi2 akan dievaluasi. Jika hasil evaluasi adalah
TRUE maka perulangan akan diteruskan dan statement akan dieksekusi. Jika hasil evaluasi
FALSE maka perulangan diakhiri. Pada akhir dari tiap iterasi, ekspresi3 akan dievaluasi
(dieksekusi). Contoh berikut akan mencetak angka 1 s/d 10 :
Contoh5.php
For ($I = 1; $I <= 10; $I++)
{ Print $I; }
Contoh6.php
For ($I = 1;; $I++) {
If ($I > 10) { Break; }
Print $I; }
Contoh7.php
xxxvi
$I = 1;
For (;;) {
If ($I > 10) { Break; }
Print $I;
$I++; }
Contoh8.php
For ($I = 1; $I <= 10; print $I, $I++);
d. BREAK
BREAK keluar dari perulangan yang sekarang :
$I = 0;
while($I < 10) {
if ($arr[$I] == ‘berhenti’) { break; }
$I++; }
e. CONTINUE
CONTINUE akan meloncat ke awal perulangan yang sekarang
while(list($key,$value) = each($arr)) {
if ($key % 2) { //loncati anggota genap
continue; }
KerjakanYangGanjil($value); }
2.2.5. REQUIRE
Perintah REQUIRE menganti perintah tersebut dengan file tertentu dan hampir
menyerupai processor #include pada bahasa C. Hal ini berarti anda tidak dapat meletakkan
perintah required() dalam suatu struktur perulangan dan mengharapkannya untuk
mengikutsertakan file yang berbeda pada tiap iterasi. Untuk melakukan hal tersebut harus
menggunakan perintah INCLUDE.
Require (‘header.inc’);
xxxvii
2.2.6. INCLUDE
Perintah INCLUDE akan mengikutsertakan dan mengevaluasi file tertentu. Hal ini
terjadi setiap kali perintah INCLUDEditemukan, jadi dapat digunakan perintah INCLUDE
diantara suatu struktur perulangan untuk mengikutsertakan sejumlah file yang berbeda.
$files = array (‘first.inc’,’second.inc’,’third.inc’);
for ($I = 0; $I < count($files); $I++) {
include($files[$I]); }
Include() berbeda dengan require(). Pada perintah include evaluasi dilakukan
kembali setiap kali perintah tersebut ditemukan (dan hanya ketika hal tersebut dijalankan),
sedangkan perintah require() akan diganti dengan file yang diperlukan ketika pertama kali
ditemukan, terserah apakah file tersebut akan dievaluasi atau tidak. Karena
INCLUDEadalah suatu konstruksi bahasa khusus maka harus diapit diantara blok.
/* Yang ini SALAH dan tidak akan bekerja sesuai dengan yg diharapkan */
if ($conditon)
include($file);
else include($other);
/* Yang ini BENAR */
if ($condition)
{ include($file); }
else { include($other); }
xxxviii
Operator pembagian (“/”) mengembalikan suatu nilai bulat (hasil dari suatu pembagian
bulat) jika kedua operan adalah integer (atau string yang dikonversi ke integer). Jika salah
satu operan adalah nilai floating-point value, pembagian floating point dilakukan.
2. Operator String
Hanya ada satu operator string, yaitu operator concatenation (“.”).
$a = “ Hello “;
$b = $a . “ World! “; // now $b = “ Hello World! “
Operator Assignment (Pemberi Nilai)
Operator assignment adalah “=”. Artinya adalah operan yang di kiri diisi dengan nilai dari
ekspresi di sebelah kanan. Nilai dari ekspresi assignment adalah nilai yang ditentukan .
Akibatnya, nilai dari “$a = 3” adalah 3. Dengan demikian hal dibawah ini menjadi benar
adanya :
$a = ($b=4) + 5; // $a sekarang berisi 9, dan $b berisi 4.
3. Operator Bitwise
Operator Bitwise dapat digunakan untuk membuat bit tertentu dari integer menjadi on (1)
atau off (0).
Tabel Operator Bitwise
ContohNama Hasil
$a & $b And Bit yang bernilai 1 pada $a dan $b akan di-set 1.
$a | $b Or Bit yang bernilai 1 pada $a atau $b akan di-set 1.
$a ^ $bXor Bit yang bernilai 1 pada $a atau $b tetapi tidak pada keduanya akan diset 1.
~ $a Not Bit yang bernilai 1 pada $a akan diset 0, dan sebaliknya.
$a << $b Shift left Geser bit $a sebanyak $b langkah kekiri (setiap langkah
berarti “kalikan dengan dua”).
$a >> $b Shift right Geser bit $a sebanyak $b langkah kekanan ( setiap langkah
berarti “dibagikan dengan dua”).
4. Operator Logika
xxxix
Tabel Operator Logika
ContohNama Hasil
$a and $b And Benar jika $a dan $b adalah benar.
$a or $b Or Benar jika salah satu $a atau $b adalah benar.
$a xor Xor Benar jika salah satu $a atau $b adalah benar, tetapi tidak keduanya.
!$a Not Benar jika $a tidak benar.
$a && $b And Benar jika $a dan $b adalah benar.
$a || $b Or Benar jika salah satu $a atau $b benar.
5. Operator Perbandingan
Operator perbandingan memperbolehkan untuk membandingkan dua nilai
Tabel Operator Perbandingan
ContohNama Hasil
$a == $b Sama dengan Benar jika $a sama dengan $b.
$a != $b Tidak sama dengan Benar jika $a tidak sama dengan $b
$a < $b Kurang dari Benar jika $a lebih kecil $b
$a > $b Lebih dari Benar jika $a lebih besar dari $b.
$a <= $b Kurang dari atau sama dengan Benar jika $a lebih kecil atau sama
dengan $b.
$a >= $b Lebih dari atau sama dengan Benar jika $a lebih besar atau sama dengan $b.
6. Urutan Operator
Urutan operator menentukan bagaimana suatu ekspresi dikerjakan oleh PHP. Contohnya,
pada 1 + 5 * 3, jawabannya adalah 16 dan bukan 18 karena perkalian operator (*) memiliki
urutan yang lebih tinggi untuk dikerjakan terlebih dahulu daripada operator penjumlahan
(+).
Tabel Urutan Operator
Associativity Operator
Left ,
Left Or
Left Xor
xl
Left And
Right Print
Left =+=-=*=/=.=%=&=!=~=<<=>>=
Left ?:
Left ||
Associativity Operator
Left &&
Left |
Left ^
Left &
Non-associative == !=
Non-associative <<=>>=
Left <<>>
Left +-.
Left */ %
Right !~++–(int) (double) (string) (array) (object) @
Right [
Non-associative New
xli
Kirim
Ketika form disubmit, maka PHP akan membuat variabel $nama, yang mana mengandung
apa yang diketikkan pada field Nama : di form tersebut. PHP juga mendukung variabel
array dalam konteks form, tapi dibatasi hanya 1 dimensi, Contoh :
<form action=”array.html” method=”post”>
Nama : <input type = “text” name=”personal[nama]”><br>
Email : <input type = “text” name=”personal[email]”><br>
Beer : <br>
<select multiple name=”beer”[]”>
<option value=”warthog”>Warthog
<option value=”guinness”>Guinness
</select>
<input type=”submit”>
</form>
Nama :
Email :
Beer :
Warthog Submit Query
xlii
PHP secara transparan mendukung HTTP Cookies. Cookies adalah suatu
mekanisme penyimpanan data secara remote pada browser klien. Hal ini dapat digunakan
untuk mengidentifikasikan pemakai pada kunjungan berikutnya. Kita dapat menggunakan
fungsi SetCookie(). Cookie adalah bagian dari HTTP header, jadi fungsi SetCookie harus
dipanggil sebelum output lainnya dikirim ke browser. Hal ini adalah sama batasannya
untuk fungsi Header(). SemuaCookies yang dikirim pada kita dari klien akan secara
otomatis diubah ke dalam suatu variabel PHP seperti methodGET dan POST data.
Jika ingin memberikan banyak nilai pada suatu Cookie tunggal, tambahkan saja [ ]
pada nama Cookie. Sebagai contoh :
SetCookie (“MyCookie[ ]”, “Testing”, time() + 360);
Catatan : bahwa suatu cookie akan menimpa cookie sebelumnya yang memiliki nama yang
sama dalam browser, kecuali path atau domainnya berbeda. Jadi Untuk suatu aplikasi
shopping cart perlu menyimpan suatu counter dan mengirimnya bersamaan. Contoh :
$count++;
SetCookie (“Count”, $Count, time() + 3600);
SetCookie (“Csrt [$Count]”, $item, time() + 3600);
4. Variabel Environment
PHP secara otomatis membuat variabel lingkungan normalnya seperti variabel PHP.
Echo $HOME; /* Menampilkan variabel environment, jika set. */
Sejak informasi datang dengan GET, POST dan mekanisme Cookies secara otomatis
menjadi variabel HP, adalah lebih baik membaca variabel langsung dari lingkungan untuk
mendapatkan versi yang sebenarnya. Fungsi getenv() dapat digunkaan untuk melakukan hal
ini. Kita dapat juga membentuk suatu variabel lingkungan dengan fungsi putenv().
xliii
BAB III
PENUTUP
3.1 Kesimpulan
3.2 Saran
xliv
DAFTAR PUSTAKA
1. Purwanto, yudi. 2001. Pemrograman web Dengan PHP, Elex Media Komputindo,
Jakarta.
2. https://www.google.com/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjplfH4nPyAAxUx1Tg
GHTvrAP8QFnoECAsQAQ&url=https%3A%2F%2Fjournal.unmaha.ac.id
%2Findex.php%2Fjtim%2Farticle%2Fdownload
%2F35%2F35&usg=AOvVaw26rEZ6SjPY76si2aR6bE5Y&opi=89978449
3. https://www.google.com/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwitoJ
WLnfyAAxUq2DgGHWzNC_wQFnoECAsQAQ&url=https%3A%2F
%2Frepository.unimal.ac.id%2F4888%2F1%2F%255BRisawandi%255D
%2520Mudah%2520Menguasai%2520PHP%2520dan
%2520MySQL.pdf&usg=AOvVaw1FYnoN0krUE-pnnEGL8Z7a&opi=89978449
xlv