Toad Jumping Up and Down

Sabtu, 23 November 2013

PHP





Pengertian PHP
PHP sendiri sebenarnya merupakan singkatan dari “Hypertext Preprocessor”, yang merupakan sebuah bahasa scripting tingkat tinggi yang dipasang pada dokumen HTML. Sebagian besar sintaks dalam PHP mirip dengan bahasa C, Java dan Perl, namun pada PHP ada beberapa fungsi yang lebih  spesifik. Sedangkan tujuan utama dari penggunaan bahasa ini adalah untuk memungkinkan perancang web yang dinamis dan dapat bekerja secara otomatis.


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;
$integer_16 = 0×1000;
print(“integer_10 : $integer_10<BR>”);
print(“integer_8 : $integer_8<BR>”);
print(“integer_16 : $integer_16<BR>”);
  

Akan menghasilkan output :

Integer_10 : 1000
Integer_8 : -512
Integer_16 : 4096
  

Integer PHP sama dengan type long pada C, tergantung pada ukuran word dari mesin komputer, maka sulit untuk menjawab secara tepat range untuk tipe ini. Pada sebagian besar platform rangenya adalah :

231 – 1 atau (2.147.483.647) s/d –(231 – 1) atau (-2.147.483.647)

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
 
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
 
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\

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 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 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];
 

f. Object
Object adalah sebuah tipe data yang dapat berupa sebuah bilangan, variabel atau bahkan sebuah fungsi. Object dibuat 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 atau instance 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() {
Echo “tidak melakukan apa-apa”; } }
$bar = new kosong;
$var -> tidak();


Variabel pada PHP

 
Adalah sebuah tempat untuk menyimpan data yang nilainya dapat berubah-ubah, variabel dalam PHP ditandai dengan tanda Dollar ($) variabel dalam PHP adalah case sensitive artinya penggunaan antara huruf  besar dan huruf kecil haruslah benar contohnya : $AbC
 
<? 
$nama=”Dani”; 
$Nilai=10; 
?>

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 default jangkauannya 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;


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”


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”





3. Penentuan Tipe Variabel
Penentuan tidak membutuhkan deklarasi variabel secara eksplisit, tipe variabel ditentukan berdasarkan konteks pemakaiannya pada saat runtime. Dengan kata lain, jika memberi nilai string ke suatu variabel var, var menjadi suatu variabel tipe string. Jika memberi nilai integer ke var, maka otomatis berubah menjadi tipe integer. Suatu contoh dari otomatisasi konversi tipe pada PHP adalah operator penjumlahan “+”. Jika salah satu operandnya adalah tipe double, maka semua operand lainnya dievaluasi sebagai double dan hasilnya adalah double


$coba = “0”; //$coba adalah string (ASCII 48)
$coba++; //$coba adalah string “1” (ASCII 49)
$coba += 1; //$coba sekarang adalah integer (2)
$coba = $coba + 1.3; //$coba sekarang adalah double (3.3)
$coba = 5 + “10 kotak”; //$coba adalah integer (15)





4. Mengetahui Tipe suatu Variabel
Karena PHP menentukan tipe variabel sesuai dengan konteks pemakaiannya, maka dapat digunakan fungsi berikut untuk memeriksa tipe
pada suatu variabel gettype(), is_long(), is_double(), is_string(), is_array() dan is_object.


Variabel.php
<h1>integer</h1>
<?
$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>”;
?>



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

Operator pada PHP  

1 Operator Aritmatika
Tabel  Operator Aritmatika

Contoh
Nama
Hasil
$a + $b
Penjumlahan
Jumlah dari $a dan $b
$a – $b
Pengurangan
Sisa dari pengurangan $a dengan $b
$a * $b
Perkalian
Perkalian dari $a dengan $b
$a / $b
Pembagian
Hasil bagi $a dibagi dengan $b
$a % $b
Modulus
Sisa hasil bagi $a dibagi dengan $b








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

Contoh
Nama
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 ^ $b
Xor
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


Tabel Operator Logika
Contoh
Nama
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
Contoh
Nama
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
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









Tidak ada komentar:

Posting Komentar