Rabu, 19 Mei 2010

Instalasi PHP

Instalasi PHP
1. Ekstrak file distribusi PHP ke sebuah direktori, misalnya c:\php.
2. Salin file php.ini-dist ke direktori windows dan ubah namanya menjadi php.ini. Direktori windows biasanya adalah c:\windows untuk Windows 95/98 dan c:\winnt atau c:\winnt40 untuk Windows NT.
3. Edit file php.ini :
 Ubah setting extension_dir sehingga mengacu ke direktori PHP atau dimana kita menyimpan file-file PHP_*.DLL. Misalnya di c:\php.
 Ubah doc_root sehingga menunjuk ke document root web server. Bila menggunakan web server Xitami lokasinya document root biasanya terletak di c:\xitami\webpages\.
 Untuk memakai suatu modul yang disediakan oleh PHP, yaitu dengan meletakkan baris perintah sebagai berikut extension=PHP_*.DLL. Beberapa modul meminta library tambahan yang harus terinstall di sistem anda.

Instalasi Web Server Xitami
1. Jalankan file instalasi web server xitami. Biasanya proses instalasi akan berjalan lancar tanpa ada halangan, ikuti semua petunjuk yang dianjurkan.
2. Setelah selesai proses instalasi, jalankan web server dengan menge-klik ikon xitami. Xitami dapat berjalan dengan tanpa konfigurasi, tapi kita perlu menambahkan perintah untuk mendukung file-file PHP.
3. Jalankan web browser, ketikan http://127.0.0.1/admin.
4. Akan diperlukan nama user dan password, yang telah kita dimasukan sewaktu proses instalasi, untuk masuk ke halaman administrasi.
5. Pada tombol-tombol menu, pilih menu Configuration, lalu klik pada tombol filter yang terletak pada sisi kiri atas.
6. pada halaman filter masukkan .php pada kolom isian sebelah kiri dan c:\php\php.exe pada kolom sisi kanannya. Hal ini akan mengakibatkan file-file yang menggunakan ekstensi .php akan dijalankan melewati PHP. Tekan tombol save di bagian atas.
7. Pada halaman awal Configuration mengijinkan kita untuk mendeklarasikan default dokumen yang akan ditampilkan pertama kali. Dapat ditambahkan disini sebagai default index.php. Tekan tombol save.
8. Restart web server agar hasil konfigurasi dapat berjalan.
9. Supaya halaman web yang akan dipublikasikan dapat ditampilkan, letakkan direktori halaman web tersebut di direktori webpages Xitami, sebagai contoh di c:\xitami\webpages\myweb\.
10. Atau kita dapat meletakan direktori halaman web tapi harus memetakan lokasinya, dengan cara seperti langkah-langkah diatas untuk filter tapi kita untuk memetakan gunakan tombol aliases. Melalu halaman ini tuliskan nama alias-nya pada kolom pertama dan lokasi direktori yang diberi alias.

Instalasi MySQL
1. Download file instalasi MySQL dari homepage-nya atau dari mirror- mirrornya. Tapi biasanya MySQL versi Windows kita perlu membeli atau kita dapat menggunakan versi shareware-nya. Berbeda dengan versi Linux, kita dapat memperolehnya secara free, tentu saja dengan agreement bukan untuk di'jual' kembali.
2. Jalankan file instalasinya, ikuti semua petunjuknya. Proses instalasi akan berjalan sendiri tanpa hambatan.
3. Setelah selesai, untuk mengaktifkan MySQL terlebih dahulu jalankan daemonnya, yaitu MySQLd.exe.
4. Baru setelah itu kita dapat menjalankan MySQL.

Rabu, 14 April 2010

Pengenalan MySQL

MySQL

MySQL adalah multi user database yang menggunakan bahasa Structured Query Language (SQL). MySQL dalam operasi client-server melibatkan server daemon MySQL disisi server dan berbagai macam program serta library yang berjalan disisi client. MySQL mampu untuk menangani data yang cukup besar. Perusahaan yang mengembangkan MySQL yaitu TcX, mengaku mampu menyimpan data lebih dari 40 database, 10.000 tabel dan sekitar 7 juta baris, totalnya kurang lebih 100 Gigabytes data. Informasi selengkapnya tentang MySQL dapat dilihat di www.mysql.com.
SQL adalah bahasa standar yang digunakan untuk mengakses server database. Bahasa ini pada awalnya dikembangkan oleh IBM, namun telah diadopsi dan digunakan sebagai standar industri. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan menggunakan dBASE atau Clipper yang masih menggunakan perintah-perintah pemrograman.

Database, tabel, baris, dan kolom
Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data, sedangkan kolom sering disebut sebagai attributes atau field. Keseluruhan tabel itu dihimpun dalam satu kesatuan yang disebut database.



Tipe Data pada MySQL
Berikut ini tabel tipe data yang dapat digunakan untuk field-field tabel pada database MySQL.

Tabel Tipe Data pada MySQL
Tipe Data Keterangan Ukuran
TINYINT[(M)] [UNSIGNED] [ZEROFILL] Integer yang sangat kecil.
Signed range –128 – 127
Unsigned range 0 –255. 1
SMALLINT[(M)] [UNSIGNED] [ZEROFILL] Integer yang kecil.
Signed range –32768 – 32767
Unsigned range 0 –65535. 2
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] Integer dengan ukuran sedang.
Signed range –8388608 –8388607
Unsigned range 0 – 16777215. 3
INT[(M)] [UNSIGNED] [ZEROFILL] Data numeris yang tidak memiliki komponen desimal atau disebut juga bilangan bulat. Signed range –2147483648 – 2147483647
Unsigned range 0 – 4294967295. 4
BIGINT[(M)] [UNSIGNED] [ZEROFILL] Integer dengan ukuran yang besar.
Signed range –9223372036854775808 – 9223372036854775807
Unsigned range 0 – 18446744073709551615. 8
FLOAT(Precision) Bilangan pecahan. FLOAT (4) adalah single precision dan FLOAT (8) adalah double precision (lihat juga DOUBLE).
Range –3.402823466E+38F – -1.175494351E-38, 0,
-1.175494351E-38 – 3.402823466E+38F. 4
FLOAT[(M,D)] Bilangan floating point/pecahan kecil. Tidak boleh unsigned.
Range –3.402823466E+38F – -1.175494351E-38, 0,
-1.175494351E-38 – 3.402823466E+38F. 4
DOUBLE PRECISION[[M,D]] Bilangan floating point/pecahan normal atau bilangan real.Tidak boleh unsigned 8
REAL[(M,D)]
DECIMAL[(M,D)] Sama seperti DOUBLE. Tidak boleh unsigned. Range sama seperti DOUBLE. Berkelakuan seperti CHAR. 8
M+D
NUMERIC[(M,D)] Sama seperti DECIMAL. M+D
TIMESTAMP[(M)] Timestamp/tanda waktu otomatis. Berisi waktu pada saat tabel diakses, dalam UNIX time. 4
DATE Untuk menyimpan informasi tanggal.
Format : ‘YY-MM-DD’, ‘YYYY-MM-DD’, dan ‘YYMMDD’.
Range 0000-00-00 to 9999-12-31. 4
TIME Untuk menyimpan informasi waktu.
Format : ‘HH:MM:SS, ‘HHMMSS’, ‘HHMM’, ‘HH’ 3
DATETIME Untuk menyimpan informasi tanggal dan waktu.
Format : “YYYY-MM-DD HH:MM:SS”.
Range ‘0000-01-01 00:00:00’ – ‘9999-12-31 23:59:59’. 8
YEAR Informasi tahun. 1
CHAR(M)[binary] String dengan panjang tetap, selalu tersimpan sesuai dengan panjang yang ditentukan. Range 1 – 255 karakter. Seluruh space akhiran dibuang saat di-retriev. Di-sortir dan dibandingkan secara case insentive kecuali jika diberikan binary keyword. M
VARCHAR(M)
[binary] String dengan panjang variable, tersimpan sesuai dengan panjangnya saat itu. Range 1 – 255 karakter. Seluruh space akhiran dibuang saat di-retriev. Di-sortir dan dibandingkan secara case insentive kecuali jika diberikan binary keyword L+1
TINYBLOB
TINYTEXT Teks dengan ukuran yang pendek.
Dengan panjang maksimum 255 karakter L+1
BLOB
TEXT Deretan karakter yang panjang. Biasa dipakai sebagai pengganti format data text karena keterbatasan ukuran format text. Dengan panjang maksimum 65535 karakter L+2
MEDIUMBLOB
MEDIUMTEXT Teks dengan ukuran yang sedang. Dengan panjang maksimum 16777216 karakter L+3
LONGBLOB
LONGTEXT Teks dengan ukuran yang panjang.
Dengan panjang maksimum 4294967295 karakter L+4
ENUM Objek string yang hanya boleh mempunyai satu nilai dari nilai yang dimungkinkan (atau NULL). 1 / 2
SET Objek string yang dapat mempunyai lebih dari satu nilai dari nilai yang dimungkinkan (atau NULL). 1 - 8



Menjalankan MySQL
Sebelum kita dapat menjalankan MySQL terlebih dahulu kita pastikan apakah daemon MySQL sudah di-start apa belum. Untuk menjalankan MySQL gunakan perintah berikut:

# MYSQL -U user -P
# password :

user disini adalah nama user kita pada MySQL, setelah di-enter maka kita diminta untuk memasukan password-nya. Jika berhasil maka akan tampil promt mysql
Welcome to the MySQL monitor. Command end with ; or \g.
Your MySQL connection id is 403 to server version 3.22.10-beta

Type ‘help’ for help.

mysql>

Membuat Database
Untuk membuat database gunakan perintah berikut ini :
mysql>CREATE DATABASE nama_database;

Membuka Database
Untuk membuka suatu database gunakan perintah berikut ini :
mysql>USE nama_database

Membuat Tabel
Setelah database terbuat dan kita telah membukanya, kita seharusnya membuat tabel yang akan menyimpan data yang kita butuhkan. Setiap perintah SQL pada MySQL harus diakhiri dengan titik koma (;). Pada promt mysql ketikkan perintah berikut untuk membuat tabel.
mysql>CREATE TABLE nama_tabel
mysql>(
mysql>nama_field1 tipe_data1,
mysql>nama_field2 tipe_data2,
. . .
mysql>);

Insert Query
Untuk mengisi data pada suatu tabel, kita gunakan perintah INSERT. Sintaks penulisannya adalah sebagai berikut :
mysql>INSERT INTO nama_tabel (field1, field2, ... ) VALUES (nilai_field1,
nilai_field2, ... );

Select Query
Perintah ini digunakan untuk melihat data dari satu atau beberapa tabel. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel;

Untuk melihat semua kolom/field pada suatu tabel, sintaks penulisannya adalah sebagai berikut :
mysql>SELECT * FROM nama_tabel;

Menyaring Hasil Select Query dengan WHERE
Kita dapat membatasi hasil select query dengan keyword WHERE sehingga record-record yang dikeluarkan hanyalah record yang sesuai dengan kriteria yang diinginkan. Sintaks penulisannya adalah sebagi berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel WHERE kriteria;

Operator yang digunakan dalam kriteria WHERE
Operator Equality dan Inequality
Operator Keterangan
= Operan kiri sama dengan operan kanan
<> atau != Operan kiri tidak sama dengan operan kanan
> Operan kiri lebih besar dari operan kanan
>= Operan kiri lebih besar atau sama dengan dari operan kanan
< Operan kiri lebih kecil dari operan kanan
<= Operan kiri lebih kecil atau sama dengan dari operan kanan

Operator Logic
Operator Keterangan
and Operator logika ‘dan’
or Operator logika ‘atau’

Mensortir Data
Hasil query dapat disortir sesuai dengan kebutuhan dengan keyword ORDER BY. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel ORDER BY kriteria;

Untuk mensortir dengan urutan terbalik, gunakan keyword tambahan DESC. Sintaks penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM nama_tabel ORDER BY kriteria DESC;

Delete Query
Berfungsi untuk menghapus suatu record dengan kriteria tertentu. Sintaks penulisannya adalah sebagai berikut :
mysql>DELETE FROM nama_tabel WHERE kriteria;

Untuk menghapus seluruh record pada suatu tabel, gunakan perintah DELETE tanpa menentukan kriterianya.
mysql>DELETE FROM nama_tabel WHERE kriteria;

Update Query
Berfungsi untuk memodifikasi nilai kolom/field dari suatu record. Sintaks penulisannya adalah sebagai berikut :
mysql>UPDATE nama_tabel SET nama_field1=nilai_baru1, nama_field2=nilai_baru2,
... WHERE kriteria;

Untuk memodifikasi nilai suatu kolom/field secara keseluruhan gunakan perintah UPDATE tanpa menentukan kriterianya.
mysql> UPDATE nama_tabel SET nama_field1=nilai_baru1, ...;

Sabtu, 10 April 2010

MENGAKSES FILE

MENGAKSES FILE

Pada bagian ini akan dibahas bagaimana cara kita untuk menyimpan suatu data ke dalam suatu file. Pembahasan dimulai dengan menggunakan fungsi yang telah disediakan oleh PHP untuk membuka dan menulis ke file. Kemudian kita akan membahas bagaimana cara menggunakan fungsi untuk membaca isi file dan bagaimana harus mengakhirinya.

Menulis ke File
Bekerja dengan sebuah file memerlukan penanganan tersendiri. Hal pertama yang harus kita lakukan adalah membuka file tersebut. PHP telah menyediakan fungsi untuk membuka file. Fungsi tersebut adalah fopen dan standar penulisannya adalah:
integer fopen(string filename, string mode)

Mode adalah string pilihan operasi yang akan dilakukan terhadap file. Bisa hanya untuk membaca saja, menulis saja atau kedua-duanya. Berikut ini adalah daftar mode yang telah disediakan dalam bahasa PHP.
Mode Operasi yang diizinkan
r{b} Hanya diperbolehkan untuk membaca {binary}.
w{b} Menulis saja, membuat file jika belum ada, mengabaikan isi file sebelumnya {binary}.
a{b} Menambah isi file(append) pada end of file(eof), membuat file jika belum ada {binary}.
r+{b} Membaca dan menulis {binary}.
w+{b} Membaca dan menulis, membuat file jika belum ada dan mengabaikan isi file pada end of file (eof).
a+{b} Membaca dan menulis, membuat file jika belum ada dan menambah isi file pada end of file (eof) {binary}.

Perhatikan contoh ini:


Membuka File


if(!($data=fopen("pokemon.txt","r")))
{
print("File gagal dibuka");
exit;
}
while(!feof($data))
{
$isi_data=fgets($data,255);
print("$isi_data");
}
fclose($data); //file ditutup
?>



Pada contoh tadi dapat kita lihat beberapa fungsi seperti fclose, feof dan fgets yang belum dijelaskan kegunaanya. Untuk sementara abaikan terlebih dulu. Setelah berhasil membuka file, kini saatnya untuk menulis data ke dalam file tersebut. Kita bisa menggunakan fungsi fputs, yang standar penulisannya yaitu:
boolean fputs(int file_handle, string output)

Fungsi ini akan mengembalikan nilai true (1) jika proses menulis berjalan sukses dan sebaliknya false (0) jika gagal. Lihat contoh berikut:


Fungsi fputs


//membuka file
$data=fopen("data.txt","w");
//proses membuka dicek berhasil atau tdak
if (!($data))
{
print("proses membuka gagal");
}
for($count=0; $count<10; $count++)
{
//menulis ke file
fputs($data, "aku bisa nomer $count\n");
}
//menutup file
fclose($data);
?>



Membaca Isi File
Fungsi untuk membaca file adalah fgets. Panjang string yang yang dibaca sebesar panjang pada argumen dikurang satu. Standar penulisannya adalah:

String fgets(integer file_handle, integer lenght)

Contoh yang dapat kita pelajari adalah:


Fungsi fgets


$data=fopen("data.txt","r"); //membuka file
//proses membuka dicek berhasil atau tidak
if (!($data))
{
print("proses membuka gagal");
exit;
}
while(!feof($data))
{
//membaca isi file
$isi_data = fgets($data, 255);
print("$isi_data
\n");
}
fclose($data); //menutup file
?>


ARRAY DALAM PHP

ARRAY

Array merupakan salah satu fasilitas untuk menyimpan data secara berurutan. Dalam array data tersimpan dengan menggunakan indeks untuk memudahkan pencarian kembali data tersebut. Array berbeda dengan variabel. Array dapat mempunyai sejumlah nilai, sedangkan variabel hanya mempunyai sebuah nilai saja.

Pendeklarasian Array
Data dalam array disebut elemen-elemen array. Letak urutan dari suatu elemen array ditunjukkan oleh suatu indeks. Array mempunyai batas atas dan batas bawah, di mana data akan tersimpan di antara kedua batas tersebut. Semua elemen array yang tersimpan mempunyai tipe data yang sama. Array dapat berdimensi satu, dua, tiga atau lebih. Array dimensi satu (one-dimensional array) mewakili bentuk suatu vektor. Array dimensi dua (two-dimensional array) mewakili bentuk dari suatu matrik. Array dimensi tiga (three-dimensional array) mewakili bentuk suatu ruang. Coba amati contoh berikut ini:
Contoh 1.


Penggunaan Array


$warna=array("merah","kuning","hijau","biru");
print($warna[4]);
?>



Contoh 2.


Penggunaan Array


$kota[0]="Jakarta";
$kota[1]="Yogyakarta";
$kota[2]="Semarang";
$kota[3]="Surabaya";
$kota[4]="Solo";

print("Saat ini saya sedang kuliah di kota $kota[1] BR>\n");
print("Tapi saya ini wong $kota[4] lho !!!
\n");
?>






Contoh berikut merupakan program yang menggunakan array multi dimensi:



Array multidimensi


$propinsi = array(
"Jatim"=>array("Surabaya","Malang","Jember","Bondowoso"),
"Jabar"=>array("Bandung","Bogor","Tangerang")
"Yogya"=>array("Bantul","Kulon Progo","Sleman") );

print("Hai Jack!!, kamu orang ");
print($propinsi["Yogya"] [3]);
print(" ya …?");
?>


FUNGSI DALAM PHP

FUNGSI DALAM PHP

Peranan fungsi sangat berguna dalam program yang akan kita buat. Dengan penggunaan fungsi program yang kita buat akan mudah dibaca dan tidak perlu menuliskan perintah yang sama berkali-kali. Fungsi bisa menggunakan argumen dan bisa juga tanpa argumen.

Membuat Fungsi
Dalam pembuatan program seringkali kita membutuhkan sekumpulan perintah yang akan digunakan berkali-kali. Hal ini dapat kita hindari dengan menggunakan subrutin. Subrutin adalah sekumpulan perintah yang diberi nama dan kemudian dapat kita panggil sewaktu-waktu. Dalam pemrograman dikenal dua macam subrutin, yaitu prosedur dan fungsi.
Perbedaan antara kedua macam subrutin ini adalah, fungsi mengembalikan nilai tertentu, sedangkan prosedur tidak. Bahasa PHP hanya mengenal perintah untuk membuat fungsi, yaitu function. Kita dapat membuat prosedur dengan mengunakan perintah yang sama tapi tidak dengan menggunakan perintah return. Perintah return digunakan untuk mengembalikan nilai tertentu. Standar penulisan fungsi adalah:
Function nama_fungsi(argumen)
{
kode perintah
}

Dibawah ini contoh penggunaan fungsi. Contoh yang pertama tidak menggunakan perintah return sedangkan yang kedua menggunakan perintah return, perhatikan perbedaan yang nampak pada hasilnya.

Contoh program tanpa perintah return


Membuat fungsi tanpa perintah return


function amikom()
{
print("www.amikom.ac.id,
portal kampus nomor 1 di Indonesia");
}

amikom();
?>




Contoh program dengan perintah return


Membuat fungsi dengan perintah return


function cetak_tebal($input)
{
$teks = "";
$teks .= "$input";
$teks .= "
";
return($teks);
}
print("Kalimat ini belum dicetak tebal
\n");
print(cetak_tebal("Kalau yang ini sudah dicetak tebal"));
?>



Fungsi dengan Argumen
Argumen adalah suatu nilai tertentu yang dimasukkan ke dalam sebuah fungsi. Secara default sebuah argumen bersifat pass by value, yang berarti hanya nilainya saja yang dibutuhkan sehingga nilai pada variabel tersebut tidak mengalami perubahan. Perhatikan contoh berikut:
Contoh 1.


Fungsi dengan argumen pass by value


function XpangkatY($X, $Y)
{
if($Y == 0)
{
$hasil = 1;
}
elseif($Y > 0)
{
$hasil = $X;
for($I = 1;$I < $Y; $I++)
{
$hasil *= $X;
}
}
elseif($Y < 0)
{
$hasil = 1;
for($I = 1;$I < $Y; $I ++)
{
$hasil /= $X;
}
}

return($hasil);
}

print(XpangkatY(2,10));
?>




Contoh 2.


Fungsi dengan argumen


function cetaktebal($kata)
{
print("" . $kata . "");
}
print("Baris ini belum dicetak tebal
\n");
cetaktebal("Baris ini sudah dicetak tebal, khan ?….");
?>



Selain argumen yang telah dijelaskan diatas, ada juga yang bersifat pass by reference, yang digunakan ketika kita ingin mengubah nilai sebuah argumen. Untuk membuat argumen pass by reference kita akan menggunakan karakter “&” di depan nama argumennya. Untuk lebih jelasnya perhatikan contoh berikut:


Fungsi dengan argumen pass by reference


function konkat(&$unit)
{
$unit .= "tempat orang kuliah berdasi";
}
$kata = "AMIKOM ";
konkat($kata);
print($kata);
?>



Fungsi Rekursif
Adalah fungsi yang memanggil dirinya sendiri secara berulang-ulang. Rekursif merupakan konsep yang agak sulit dipelajari. Untuk itu kami memberikan contoh berikut ini dengan harapan dapat dimengerti oleh rekan-rekan semua:


Fungsi Rekursif


function cekInteger($nilai)
{
if($nilai > 1)
{
return(cekInteger($nilai - 1));
}
elseif($nilai < 0)
{
return(cekInteger((- 1)* $nilai - 1));
}
else
{
if(($nilai > 0)and ($nilai < 1))
{
return("Bukan");
}
else
{
return("Tepat");
}
}
}
print("Apakah 0 bilangan Integer ? " . cekInteger(0). "
\n" );
print("Benarkah 5 bilangan Integer ? " . cekInteger(5). "
\n" );
print("Apakah -5 juga bilangan Integer ? " . cekInteger(-5). "
\n" );
print("Bagaimana dengan 2.5 bilangan Integer ? " . cekInteger(2.5).
"
\n" );
?>



PENGULANGAN

Pengulangan
Digunakan untuk mengulang suatu perintah sebanyak yang diinginkan tanpa harus menulis ulang. Bahasa PHP mengenal tiga jenis perintah pengulangan, yaitu:



1. for
Digunakan untuk mengulangi perintah dengan jumlah pengulangan yang sudah diketahui. Pada perintah ini tidak perlu menuliskan suatu kondisi untuk diuji. Kita hanya perlu menuliskan nilai awal dan akhir variabel penghitung. Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan. Sintaks penulisannya sebagai berikut :
for (nilai_awal; nilai_akhir; penambahan/penurunan)
{
pernyataan yang akan dijalankan
}

contoh struktur pengulangan dengan for


struktur pengulangan dengan for


for($i=3; $i<= 7; $i++)
{
print(" Indonesia Tanah Airku
");
}
?>



2. while
Perintah ini digunakan untuk mengulangi suatu perintah sampai jumlah tertentu. Pengulangan akan terus berjalan selama kondisi masih bernilai benar. Sintaks penulisannya sebagai berikut :
while (kondisi)
{
pernyataan yang akan dijalankan
}

contoh struktur pengulangan dengan while


struktur pengulangan dengan while


$i=1;
while ($i <= 5)
{
print("$i
");
$i++;
}
?>







3. do … while
Proses pengulangan akan berjalan jika kondisi yang diperiksa di while masih bernilai benar dan pengulangan akan dihentikan jika kondisinya sudah bernilai salah. Sintaks penulisannya sebagai berikut :
do
{
pernyataan yang akan dijalankan
}
while (kondisi)

Perbedaan antara perintah while dengan do … while adalah terletak dari kondisi yang diperiksa. Pada perintah while, kondisi yang diperiksa terletak diawal perulangan, sehingga sebelum masuk ke dalam perulangan while kondisi harus bernilai benar. Sedangkan pada perintah do … while, kondisi diperiksa di akhir perulangan. Ini berarti bahwa paling sedikit sebuah perulangan akan dilakukan oleh perintah do … while, karena untuk masuk ke dalam perulangan tidak ada kondisi yang harus dipenuhi. Contoh struktur pengulangan dengan do … while :



struktur pengulangan dengan do…while


$i = 1;
do
{
print("$i
");
$i++;
}while($i <= 5);
?>



STRUKTUR PERCABANGAN IF DI PHP

Percabangan
Adalah perintah yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu.
Ada tiga macam perintah percabangan dalam PHP, yaitu if, if … else, dan switch.
1. if
Perintah ini digunakan untuk menjalankan satu atau lebih perintah yang menyatakan keadaan. Sintaks penulisannya sebagai berikut :
if (kondisi)
{
pernyataan yang akan dijalankan bila kondisi bernilai benar
}

contoh struktur kendali if :


struktur kendali if


$X=100;
$Y=10;
if ($X > $Y)
{
print("X lebih besar dari Y");
}
?>



2. if … else
Perintah ini mirip dengan diatas, hanya saja dapat digunakan untuk banyak pernyataan berkondisi. Sintaks penulisannya sebagai berikut :
if (kondisi 1)
{
pernyataan 1 akan dijalankan bila kondisi 1 bernilai benar
}

elseif (kondisi 2)
{
pernyataan 2 akan dijalankan bila kondisi 2 bernilai benar
dan kondisi 1 bernilai salah
}
else
{
pernyataan ini akan dijalankan bila kondisi 1 dan 2 bernilai salah
}

contoh struktur kendali dengan satu else :


struktur kendali dengan satu else


$X=100;
$Y=10;
if ($X > $Y)
{
print("X lebih besar dari Y");
}
else
{
print("X lebih kecil atau sama dengan Y");
}
?>



contoh struktur kendali dengan else lebih dari satu :


struktur kendali dengan else lebih dari satu


$waktu = getdate();
if($waktu[hours] <= 10)
{
print("Selamat Pagi");
}
elseif($waktu[hours] <= 15)
{
print("Selamat Siang");
}
elseif($waktu[hours] <= 18)
{
print("Selamat Sore");
}
else
{
print("Selamat Malam");
}
?>



3. switch
Perintah ini digunakan sebagai alternatif pengganti dari sintaks if … else dengan else lebih dari satu. Dengan perintah ini program percabangan akan semakin mudah dibuat dan dipelajari.
Sintaks penulisannya sebagai berikut :

switch (kondisi)
{
case konstanta 1:
pernyataan 1;
break;
case konstanta 2:
pernyataan 2;
break;
default:
pernyataan default;
}

Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta-konstanta yang berada di case. Pembandingan akan dimulai dari konstanta 1 sampai konstanta terakhir. Jika hasil dari kondisi sama dengan nilai konstanta tertentu, misalnya konstanta 1, maka pernyataan 1 akan dijalankan sampai ditemukan break. Pernyataan break akan membawa proses keluar dari perintah switch. Jika hasil dari kondisi tidak ada yang sama dengan konstanta-konstanta yang diberikan, maka pernyataan pada default akan dijalankan. Berikut ini contoh struktur kendali dengan switch :



struktur kendali dengan switch


$english_day = date("l");
switch($english_day)
{
case "Monday":
$indonesian_day = "Senin";
break;
case "Tuesday":
$indonesian_day = "Selasa";
break;
case "Wednesday":
$indonesian_day = "Rabu";
break;
case "Thursday":
$indonesian_day = "Khamis";
break;
case "Friday":
$indonesian_day = "Jumat";
break;
case "Saturday":
$indonesian_day = "Sabtu";
break;
default:
$indonesian_day = "Minggu";
}
print("Hari ini adalah hari $indonesian_day")
?>