ALLNiteCafe Site

Ikon

Allnitecafe Global Tips & Guide! | Tips Chatting MIRC & Yahoo! Messenger | Hacking | Browsing | All The best Solution. It's all here!

Kisah Sang PHP Bag 3

Bagian 3: Esok Adalah Kemarin *)

*) Salah satu judul episode Star Trek: The Next Generation (Tomorrow is Yesterday).

Berputar-putar, Berulang-ulang

Oke, saya mengerti kebingungan Anda ketika membaca judul di atas. Saya punya sedikit saran untuk Anda untuk tidak mencoba terlalu serius memahami arti dari sub judul di atas. Lebih baik kita berkonsentrasi kepada bahasannya, karena saya memiliki sedikit rahasia untuk Anda; saya tidak pernah terlalu peduli pada judul yang saya buat sendiri. Apalah arti sebuah judul.

Pada bagian yang terdahulu, kita telah mempelajari pernyataan kondisional dan operator, baik operator aritmatik maupun operator logika dalam PHP.Anda juga telah belajar bagaimana PHP dapat memproses data yang dimasukkan melalui form HTML. Sekarang kita akan mempelajari lebih dalam lagi dalam topik pemrosesan form dengan fokus bagaimana PHP menangani elemen-elemen form seperti list (daftar), radio button (tombol radio) dan checkbox (kotak cek), termasuk pemahaman mengenai variabel array (larik).

Tanpa banyak pengantar lagi, langsung saja kita mulai dengan melihat bentuk-bentuk perulangan (loop) dalam PHP. Warp Nine and engaged!.

Kembali ke Masa Depan, Menuju Masa Lampau

Perulangan (loop) adalah sebuah struktur kontrol dalam program yang memungkinkan kita untuk mengulangi eksekusi kumpulan pernyataan/kode/perintah PHP yang sama. Pengulangan ini dapat terjadi secara tidak terbatas, namun tentu kita masih cukup sehat untuk tidak membuat aplikasi yang tidak pernah selesai karena tidak pernah berhenti mengulangi suatu bagian kode PHP. Oleh karena itu, kita akan mempelajari cara pembatasan perulangan bagian kode dalam PHP.

Kita dapat membatasi perulangan eksekusi perintah PHP ini dengan kondisi yang kita tetapkan sendiri, atau dengan memberikan jumlah perulangan yang kita ingin lakukan. Model/bentuk perulangan dalam PHP tidak hanya satu macam, kita akan mencoba membahas satu per satu.

Bentuk paling sederhana dari perulangan dalam PHP adalah perulangan dengan perintah “while“. Berikut adalah notasinya.

while ( kondisi )
{
lakukan hal ini!;
}

Contoh nyata dalam kegiatan harian Anda misalnya.

while ( bak mandi belum penuh )
{
timbalah air untuk mengisi bak mandi!;
}

Dalam bentuk perulangan while, sepanjang kondisi yang dievaluasi menghasilkan nilai true, maka seluruh perintah PHP yang berada di antara tanda kurung kurawal (blok perintah PHP) akan dieksekusi secara berulang. Perulangan eksekusi perintah ini baru berakhir jika kondisi yang dievaluasi memberikan nilai false, dan perintah PHP setelah blok perulangan akan dijalankan.

Untuk contoh kegiatan harian Anda di atas, sepanjang bak mandi masih berada dalam kondisi belum penuh (evaluasi kondisi menghasilkan true), maka Anda wajib terus menimba air mengisi bak mandi. Anda baru diperkenankan berhenti menimba air jika bak mandi yang Anda isi telah penuh (evaluasi kondisi menghasilkan false). Anda dapat berdoa semoga bak mandi Anda tidak terlalu besar ukurannya dan sumur Anda tidak terlalu dalam.

Mari kita coba mengoperasikan sebuah mesin waktu sederhana yang memberikan gambaran penerapan perulangan while.

<?php// jika form tidak dalam kondisi submit, tampilkan form awal.
if (!$proses)

{

?>

<html>

<head>
</head>

<body>
<h2>Federasi Planet - Mesin Waktu Versi 1.0</h2>
<form action="<? echo $PHP_SELF; ?>" method="POST">
Selamat Datang di Mesin Waktu Versi 1.0.<br>
Mesin ini bekerja dengan menggunakan partikel chronometer,<br>
dan akan membawa Anda ke masa mana pun yang Anda inginkan.<br>
Jika Anda menemukan <i>bug</i> saat mencoba mesin waktu ini,<br>
segera laporkan masalah tersebut ke Pusat Penelitian Federasi Planet,<br>
begitu Anda berhasil kembali ke masa Anda seharusnya.<br>
Jika Anda tidak berhasil kembali, berdoalah agar kami mengembalikan Anda.
<p>
Pilih Tahun Tujuan Anda :
<input type="text" name="tahun" size="4" maxlength="4">
<input type="submit" name="proses" value="Berangkat">
</p>
</form>
</body>

</html>

<?php

}
else
// jika form dalam kondisi submit, proses isian form.
{
?>

<html>

<head>
</head>

<body>

<?php

// tahun ini adalah ...
$tahun_ini = 2002;

// cek tahun tujuan
if ($tahun > $tahun_ini)

{
echo "<b>Menuju ke masa depan...</b><br>";
// gunakan while untuk mencetak urutan angka tahun dari
// masa kini ke masa depan yang dituju.

while ($tahun_ini < $tahun)

{
echo "Saat ini tahun : $tahun_ini.<br>";
$tahun_ini++;
}
echo "Anda sampai ke masa depan, tahun : $tahun, selamat menikmati.<br>"; }

else
{
echo "<b>Menuju ke masa lampau...</b><br>";
// gunakan while untuk mencetak urutan angka tahun dari
// masa kini ke masa lampau yang dituju.

while ($tahun_ini > $tahun)

{
echo "Saat ini tahun : $tahun_ini.<br>";
$tahun_ini--;
}
echo "Anda sampai ke masa lampau, tahun : $tahun, selamat menikmati.<br>"; }

?>

</body>
</html>

<?php
}
?>

Dalam kasus di atas, pertama program mesin waktu akan menanyakan tahun tujuan perjalanan kepada pengguna. Tahun tujuan ini disimpan dalam variabel $tahun dan akan dikirimkan oleh form HTML ke untuk diproses dalam skrip PHP. Skrip PHP akan menguji jika tahun yang dituju adalah di masa depan, maka bentuk perulangan while akan bekerja menghitung maju angka tahun, dengan menambah variabel $tahun_ini (yang awalnya $tahun_ini=2002) sampai nilai $tahun_ini sama dengan $tahun, jika tidak, maka bentuk perulangan while akan bekerja menghitung mundur angka tahun, dengan mengurangi variabel $tahun_ini sampai nilai $tahun_ini sama dengan $tahun.

Catatan di sini, kita menggunakan variabel $proses agar kita dapat menyatukan form isian awal dengan skrip PHP untuk memproses masukan form dalam satu file skrip. Mengenai hal ini, telah dibahas di bagian sebelum ini.

Paling Tidak, Lakukan Sekali Saja…

Bentuk perulangan while akan mengulang eksekusi kumpulan perintah-perintah PHP sampai kondisi yang disyaratkan terpenuhi. Pertanyaannya, bagaimana jika dari awal perulangan (iterasi pertama) kondisi yang disyaratkan telah terpenuhi? Dalam contoh di atas, sebagai contohnya, jika Anda memasukkan tahun tujuan 2002, maka perulangan while di atas tidak akan dilaksanakan walau sekali pun. Bagaimana jika kita ingin memaksa program PHP kita melakukan perulangan atau eksekusi blok while walaupun hanya sekali saja?

Anda bisa merasa lega, karena PHP menyediakan bentuk perulangan do-while untuk memenuhi keinginan Anda. Notasi dari bentuk perulangan ini adalah sebagai berikut.

do
{
lakukan ini!;
} while (kondisi);

Mari kita coba skrip di bawah ini.

<?php

$hitung = 255;

while ($hitung == 350)

{
echo "Perhitungan Tercapai";
break;
}
?>

Berapa kali pun kita menjalankan skrip di atas, tidak akan pernah kita dapatkan hasil yang tampil di layar/browser. Hal ini terjadi karena pada saat while melakukan evaluasi kondisi untuk pertama kali hasilnya adalah false, sehingga blok while tidak pernah akan dieksekusi. Berbeda dengan jika kita menulis skrip PHP sebagai berikut.

<?php

$hitung = 255;

do

{
echo "Perhitungan Tercapai";
break;
} while ($hitung == 350);
?>

Ketika skrip ini dijalankan, maka kita akan mendapatkan tampilan satu baris “Perhitungan Tercapai”, karena dengan bentuk do-while, bagian/blok yang akan dieksekusi secara berulang akan dijalankan terlebih dahulu untuk kemudian di akhir bagian/blok, kondisi yang disyaratkan akan dievaluasi. Hasil evaluasi menentukan apakah bagian/blok tersebut akan dieksekusi ulang atau tidak. Hal ini mengakibatkan bagian/blok perulangan dalam bentuk do-while akan selalu dijalankan, setidaknya sekali saja.

Berikut ini, kita akan memodifikasi mesin waktu kita dengan mengganti bentuk perulangan while menjadi bentuk do-while.

<?php// jika form tidak dalam kondisi submit, tampilkan form awal.
if (!$proses)

{

?>

<html>

<head>
</head>

<body>
<h2>Federasi Planet - Mesin Waktu Versi 1.0</h2>
<form action="<? echo $PHP_SELF; ?>" method="POST">
Selamat Datang di Mesin Waktu Versi 1.0.<br>
Mesin ini bekerja dengan menggunakan partikel chronometer,<br>
dan akan membawa Anda ke masa mana pun yang Anda inginkan.<br>
Jika Anda menemukan <i>bug</i> saat mencoba mesin waktu ini,<br>
segera laporkan masalah tersebut ke Pusat Penelitian Federasi Planet,<br>
begitu Anda berhasil kembali ke masa Anda seharusnya.<br>
Jika Anda tidak berhasil kembali, berdoalah agar kami mengembalikan Anda.
<p>
Pilih Tahun Tujuan Anda :
<input type="text" name="tahun" size="4" maxlength="4">
<input type="submit" name="proses" value="Berangkat">
</p>
</form>
</body>

</html>

<?php

}
else
// jika form dalam kondisi submit, proses isian form.
{
?>

<html>

<head>
</head>

<body>

<?php

// tahun ini adalah ...
$tahun_ini = 2002;

// cek tahun tujuan
if ($tahun > $tahun_ini)

{
echo "<b>Menuju ke masa depan...</b><br>";
// gunakan while untuk mencetak urutan angka tahun dari
// masa kini ke masa depan yang dituju.

while ($tahun_ini < $tahun)

{
echo "Saat ini tahun : $tahun_ini.<br>";
$tahun_ini++;
}
echo "Anda sampai ke masa depan, tahun : $tahun, selamat menikmati.<br>"; }

else
{
echo "<b>Menuju ke masa lampau...</b><br>";
// gunakan do-while untuk mencetak urutan angka tahun dari
// masa kini ke masa lampau yang dituju.

do

{
echo "Saat ini tahun : $tahun_ini.<br>";
$tahun_ini--;
} while ($tahun_ini > $tahun);
echo "Anda sampai ke masa lampau, tahun : $tahun, selamat menikmati.<br>"; }

?>

</body>
</html>

<?php
}
?>

Bagian yang kita modifikasi adalah bagian yang ditampilkan dengan huruf tebal (bold). Modifikasi hanya dilakukan pada bagian yang berfungsi menghitung mundur (kembali ke masa lampau), karena bagian inilah yang akan dijalankan jika isian tahun tujuan sama dengan tahun ini (2002).

Bermain Dengan Bilangan Tertentu

Bentuk perulangan while dan do-while membatasi perulangan berdasarkan kondisi yang dievaluasi, sementara dalam kenyataannya seringkali kita membutuhkan perulangan dalam jumlah yang tertentu. Jika kita ingin mencetak deretan angka dari 1 sampai 100, atau ingin mencetak tag untuk tabel secara berulang dan teratur dalam jumlah pasti. Untuk kebutuhan ini, maka PHP menyediakan bentuk perulangan for yang lebih praktis bagi Anda, programmer PHP yang handal.

Berikut ini adalah notasi dari bentuk perulangan for.

for (nilai awal dari pencacah; kondisi batas; update pencacah)
{
lakukan hal ini!;
}

Pencacah (counter) adalah sebuah variabel PHP yang akan diinisiasi dengan nilai awal, kemudian diupdate nilainya sampai kondisi batas tercapai. Sebagai contoh, jika Anda ingin melakukan perulangan dengan variabel pencacah $ulang, dari nilai pencacah awal = 0 sampai nilai pencacah = 5 dengan kenaikan pencacah = 1, maka notasinya perulangan menjadi sebagai berikut.

for ($ulang = 0; $ulang <= 5; $ulang++)
{
lakukan hal ini!;
}

Perulangan akan berlangsung selama variabel $ulang <= 5 dan pada setiap perulangan variabel tersebut akan diupdate dengan pertambahan nilai sebesar 1 (notasi $ulang++). Jika nilai variabel $ulang telah lebih besar dari 5, maka perulangan berakhir dan program akan diteruskan untuk mengeksekusi baris perintah setelah blok for.

Mari kita lihat bagaimana bentuk perulangan ini dapat berguna.

<html>
<head>
<title>Perulangan Dengan For</title>
</head>

<body>
<center>
Menghitung Perkalian 9 dari bilangan 1 sampai 20.<br>
</center>

<?php

// Tentukan bilangan pengali
$faktorpengali = 9;
// Gunakan perulangan for dari 1 sampai 20
for ($ulang = 1; $ulang <= 20; $ulang++)

{
echo "$faktorpengali x $ulang = ".($faktorpengali * $ulang)."<br>";
}
?> </body>
</html>

Skrip di atas akan membuat daftar perkalian bilangan 1 sampai 20 dengan faktor pengali 9. Pengendalian jumlah perulangan ini akan sangat bermanfaat ketika kita akan membuat tabel pada halaman HTML. Misalkan sekarang kita ingin membuat tabel yang terdiri dari 5 kolom dan 4 baris, maka dengan menggunakan dua buah perintah perulangan for yang bertumpuk (nested) segalanya akan menjadi lebih mudah. Lihatlah contoh skrip berikut ini.

<html>
<head>
<title>Perulangan Dengan For (2)</title>
</head>

<body>
<center>
Membuat Tabel 5 kolom x 4 baris.<br>

<table border=1>

<?php

// Membuat tabel 5 kolom x 4 Baris memerlukan dua buah.
// bentuk perulangan For yang bertumpuk.
// Perulangan For yang pertama akan digunakan untuk
// Membuat baris dengan perintah <tr> yang
// pada setiap baris tersebut akan diisi dengan kolom
// yang dibuat dengan menggunakan perulangan For yang
// kedua dengan perintah <td>.

for ($baris=1; $baris<=4; $baris++)

{
// perulangan pertama untuk baris
?>
<tr>

<?php

for ($kolom=1; $kolom<=5; $kolom++)

{
// perulangan kedua untuk kolom
?>
<td>

<?php
echo "baris $baris, kolom $kolom";
?>

</td>

<?php
}

?></tr>

<?php
}

?> </table>
</center>

</body>
</html>

Hasilnya skrip di atas adalah sebagai berikut

Membuat Tabel 5 kolom x 4 baris.

baris 1, kolom 1 baris 1, kolom 2 baris 1, kolom 3 baris 1, kolom 4 baris 1, kolom 5
baris 2, kolom 1 baris 2, kolom 2 baris 2, kolom 3 baris 2, kolom 4 baris 2, kolom 5
baris 3, kolom 1 baris 3, kolom 2 baris 3, kolom 3 baris 3, kolom 4 baris 3, kolom 5
baris 4, kolom 1 baris 4, kolom 2 baris 4, kolom 3 baris 4, kolom 4 baris 4, kolom 5

Sampai di sini, Anda perlu diberikan ucapan selamat, karena telah mendapat lagi tambahan bekal penting untuk menjadi seorang programmer PHP. Pada perancangan halaman HTML, tabel memegang peranan yang sangat penting untuk menentukan tata letak komponen dan informasi. Sekarang Anda telah dapat membuat tabel di halaman HTML tidak dengan cara-cara yang menjemukan, namun dengan pemrograman melalui PHP. Siap untuk melanjutkan?

Ada Yang Mau Es Jeruk?

Selain dengan bentuk perulangan for seperti yang telah Anda kenal, PHP juga dengan baik hatinya menawarkan bentuk perulangan foreach, yang didesain untuk digunakan dengan peubah/variabel array/larik. Variabel array, makhluk apa lagi ini?

Baiklah, secara logis memang sebelum membahas mengenai foreach, kita harus mempelajari dahulu mengenai variabel array, dan hal itu yang memang akan kita lakukan. Sebuah bukti bahwa kita semua benar-benar diperbudak oleh logika pemikiran standar. Apa boleh buat.

Sampai saat ini, Anda mungkin baru mengenal variabel yang hanya memiliki satu nilai saja, misalnya $minuman = "Es Teh". Bagaimana jika kita ingin memiliki variabel yang menampung berbagai jenis dari minuman? Di sinilah baru kita perlu memohon bantuan kepada variabel array/larik. Berikut adalah contohnya.

$minuman = array("Es Teh", "Es Jeruk", "Es Cendol", "Es Degan", "Es Kolak");

Kini variabel $minuman adalah variabel array, yang berisi nilai “Es Teh”, “Es Jeruk”, “Es Cendol”, “Es Degan”, dan “Es Kolak”. Anda tentu bisa membuat contoh lain dari variabel array, misalkan untuk mendaftar nama-nama mantan pacar dahulu.

Setiap nilai dari variabel array dapat diakses melalui nomor indeksnya, di mana secara alamiah elemen/nilai pertama dimulai dengan 0 (nol). Sehingga jika kita ingin mengakses nilai “Es Teh”, maka notasinya adalah

$minuman[0]

dan nilai “Es Kolak” dapat diakses dengan notasi

$minuman[4]

Sama seperti variabel tunggal biasa, penamaan variabel array juga harus dimulai dengan tanda $ sebagai tanda variabel dan harus diawali dengan huruf dan dapat diikuti dengan huruf dan angka.

Seperti telah Anda lihat, kita dapat mendefinisikan variabel array sekaligus memberi elemen/nilai dengan perintah/fungsi array(), namun Anda juga memiliki alternatif lain dalam mendefinisikan setiap elemen/nilai untuk setiap notasi indeks, seperti cara berikut.

$minuman[0] = "Es Teh";
$minuman[1] = "Es Jeruk";
$minuman[2] = "Es Cendol";
$minuman[3] = "Es Degan";
$minuman[4] = "Es Kolak";

Nah, apakah masih ada yang mau es jeruk?

Tambahkan Yang Baru atau Ganti Saja

Suatu saat bisa saja Anda ingin menambah jenis minuman dalam variabel array kita, contohlah Anda ingin menambahkan “Es Blewah”, maka Anda dapat menambahkannya sebagai elemen/nilai dengan indeks yang baru, seperti pada contoh berikut.

$minuman[5] = "Es Blewah";

Maka variable array kita akan menjadi seperti ini.

$minuman = array("Es Teh", "Es Jeruk", "Es Cendol", "Es Degan", "Es Kolak", "Es Blewah");

Untuk memodifikasi atau mengganti nilai/element dari variabel array secara mudah dan sederhana Anda tinggal memberikan nilai baru untuk indeks array yang ingin kita ganti. Misalkan Anda ingin mengganti “Es Cendol” menjadi “Es Dawet”, maka tinggal ada tulis sebagai berikut.

$minuman[2] = "Es Dawet";

Sehingga susunan variabel array menjadi seperti di bawah ini.

$minuman = array("Es Teh", "Es Jeruk", "Es Dawet", "Es Degan", "Es Kolak", "Es Blewah");

Variabel array dalam PHP dapat menyimpan baik data string maupun numerik, bahkan dalam sebuah variabel array yang sama dapat ditampung dua jenis data tersebut. Tidak setiap bahasa pemrograman memiliki kemewahan seperti ini.

Indeks elemen pada variabel array yang telah kita bahas di atas semuanya berbentuk numerik, namun sesungguhnya PHP menawarkan lebih dari itu. Kita dapat secara bebas menentukan bentuk indeks dari elemen, misalnya seperti berikut ini.

$minuman['satu'] = "Es Teh";
$minuman['dua'] = "Es Jeruk";
$minuman['tiga'] = "Es Cendol";
$minuman['favorit'] = "Es Degan";
$minuman['tidaklaku'] = "Es Kolak";

Lebih jauh mengenai variabel array akan dibahas lagi artikel khusus mengenai operasi variabel array.

Sekarang Anda dapat mencoba membuat skrip PHP yang memanfaatkan variabel array, masih dengan film favorit kita, Star Trek.

<html>
<head>
<title>Kapal Perang Dalam Star Trek</title>
<base font face="Arial">
</head>
<body>

<?php
// Definisikan Variabel Array
$ufp_ship = array("USS Enterprise", "USS Voyager", "USS Reliant", "USS Defiant");
$klingon_ship = array("B'rel","K't'inga","K'tanco","K'Vort");
?>

<p>
Kapal Perang milik United Federation of Planets (UFP) antara lain:
<ul>

<?php

for ($i=0; $i<sizeof($ufp_ship); $i++)
{
echo "<li>".$ufp_ship[$i];
}
?> </ul>

<p>
Kapal Perang milik Kerajaan Klingon antara lain:
<ul>

<?php

for ($j=0; $j<sizeof($klingon_ship); $j++)
{
echo "<li>".$klingon_ship[$j];
}
?> </ul>

</body>
</html>

Dalam skrip PHP di atas, mula-mula kita mendefinisikan dua buah variabel array dan menggunakan perulangan for terhadap masing-masing variabel array tersebut, mengekstrak dengan menggunakan notasi indeks dan menampilkan satu-persatu isi variabel array tersebut. Untuk membatasi jumlah perulangan agar sesuai dengan jumlah elemen pada variabel array, digunakan fungsi sizeof() yang menghasilkan jumlah elemen dari sebuah variabel array.

Hmm, Suara Apa Itu?

Baiklah, jika Anda sudah mulai lelah belajar array, sekaranglah saatnya untuk mengenal perintah perulangan foreach yang konon khusus digunakan untuk jenis variabel array. Hikayat lain mengenai foreach ini adalah bahwa fungsi ini tiruan dari fungsi dengan nama yang sama di bahasa Perl yang menakutkan itu. Struktur dari perulangan ini adalah sebagai berikut.

foreach ($array as $temp)
{
lakukan hal ini!;
}

Bingung? Jangan khawatir, banyak yang mengalami hal yang serupa. Coba kita terjemahkan maksud struktur di atas dalam bahasa kita, maka bunyinya kurang lebih adalah “ambil setiap element dari variabel array $array, letakkan dalam variabel $temp, lakukan kumpulan perintah-perintah di antara tanda kurung kurawal ({ ... }) dengan menggunakan variabel $temp“.

Mari kita modifikasi skrip PHP terakhir kita dengan menggunakan perulangan foreach untuk menggantikan perulangan for. Skrip kita akan tampak seperti berikut ini.

<html>
<head>
<title>Kapal Perang Dalam Star Trek</title>
<base font face="Arial">
</head>
<body>

<?php
// Definisikan Variabel Array
$ufp_ship = array("USS Enterprise", "USS Voyager", "USS Reliant", "USS Defiant");
$klingon_ship = array("B'rel","K't'inga","K'tanco","K'Vort");
?>

<p>
Kapal Perang milik United Federation of Planets (UFP) antara lain:
<ul>

<?php

foreach ($ufp_ship as $ship)
{
echo "<li>".$ship;
}
?> </ul>

<p>
Kapal Perang milik Kerajaan Klingon antara lain:
<ul>

<?php

foreach ($klingon_ship as $ship)
{
echo "<li>".$ship;
}
?> </ul>

</body>
</html>

Entah Anda rasakan atau tidak, tapi dengan perulangan foreach ini, skrip PHP kita terlihat lebih sederhana dan lebih rapi, sehingga jika tidak dibutuhkan bilangan pencacah dalam perulangan yang Anda lakukan, Anda dianjurkan menggunakan perulangan foreach jika bekerja dengan variabel array.

Berikan Pilihan, Atau Tidak Sama Sekali

Dunia ini penuh dengan pilihan, Anda setuju dengan saya bukan? Namun pilihan yang terlalu bebas kadang kala dapat menjadi suatu hal yang sulit. Jika seluruh mobil mewah di dunia ini bisa Anda miliki dengan gratis, tentu Anda akan sulit memilih antara BMW, Mercedes, Ferrari, Audi, atau bahkan Rolls-Royce. Untunglah, pilihan kita umumnya terbatas, sehingga kemungkinan saat ini Anda cuma memiliki pilihan beberapa mobil saja yang dapat Anda beli, atau mungkin malah tidak ada sama sekali. Jika Anda ada pada kondisi terakhir, berarti hidup Anda sangat tidak rumit dan pelik. Bersyukurlah.

Dalam membuat sebuah aplikasi maupun halaman berbasis web yang dinamis, sering Anda harus memberikan pilihan yang terbatas. Selain untuk membantu pengguna dalam mengoperasikan fungsi aplikasi, juga dimaksudkan agar integritas dan keseragaman data dapat terpenuhi.

Bayangkan jika Anda tidak memberikan pilihan terbatas waktu bertanya makanan favorit kepada pengguna aplikasi, untuk jawaban “nasi soto” saja, Anda mungkin akan variasi masukan pengguna berupa “nasi + soto”, “soto dan nasi”, “nasi dengan soto”, “soto pakai nasi”, atau mungkin “soto campur nasi”. Padahal maksud sama. Bayangkan jika jawaban ini akan disimpan dalam basis data, betapa sulitnya pencarian orang-orang yang menggemari nasi soto.

Anda dapat menyederhanakan masalah ini dengan menyediakan pilihan bagi pengguna. Pilihan dapat diberikan dalam bentuk komponen dari <form> antara lain:

  • Tombol Radio (radio button), untuk jawaban tunggal dari beberapa pilihan, dengan tag html:
    <input type="radio" ..... >
  • Kotak Cek (check box), untuk jawaban jamak dari beberapa pilihan, dengan tag html:
    <input type="checkbox" ..... >
  • Kotak Kombo (combo box), untuk jawaban tunggal dari beberapa pilihan, dengan tag html:
    <select ... >
    <option ... > ... </option>
    ......
    </select>
  • Kotak Daftar (list box), untuk jawaban jamak dari beberapa pilihan. <select ... size="x" multiple>
    <option ... > ... </option>
    ......
    </select>

    Dengan x adalah jumlah daftar yang tampak di layar, atau tinggi dari kotak daftar, multiple menunjukkan bahwa pilihan jamak atau lebih dari satu diperbolehkan.

Mari kita coba lihat contoh penerapan untuk tombol radio. Dalam hal ini, kita tidak membutuhkan sama variabel array dan perulangan.

<html>
<head>
<title>Contoh Penggunaan Tombol Radio</title>
</head>

<body>
<?php
if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action="<?php echo $PHP_SELF ?>" method="GET">
Apakah Minuman Favorit Captain Jean Luc Piccard?<br>
<input type="radio" name="minfav" value="Wedang Ronde">Wedang Ronde<br>
<input type="radio" name="minfav" value="Wedang Ronde">Earl Green Tea<br>
<input type="radio" name="minfav" value="Wedang Ronde">Scotch<br>
<input type="radio" name="minfav" value="Wedang Ronde">Red Wine<br>
<br>
<input type="submit" name="kirim" value="Pilih">
</form>
<?php
}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Minuman Favorit Captain Jean Luc Piccard menurut pilihan Anda adalah: <br>
<b><?php echo $minfav ?></b>
<?php
}
?>
</body>
</html>

Penggunaan kotak cek membutuhkan variable array dan berikut ini adalah contoh penerapannya untuk jawaban jamak dari pilihan yang ada.

<html>
<head>
<title>Contoh Penggunaan Kotak Cek</title>
</head>

<body>
<?php
if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action="<?php echo $PHP_SELF ?>" method="GET">
Siapa Tokoh Favorit Anda dalam Star Trek: The Next Generation?<br>
<input type="checkbox" name="charfav[]" value="Jean Luc Piccard">Jean Luc Piccard<br>
<input type="checkbox" name="charfav[]" value="William T. Riker">William T. Riker<br>
<input type="checkbox" name="charfav[]" value="Data">Data<br>
<input type="checkbox" name="charfav[]" value="Deanne Troi">Deanne Troi<br>
<input type="checkbox" name="charfav[]" value="Worf">Worf<br>
<br>
<input type="submit" name="kirim" value="Pilih">
</form>
<?php
}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Tokoh Favorit dalam Star Trek: The Next Generation menurut pilihan Anda adalah: <ul>
<?php
foreach ($charfav as $tokoh)
{
echo "<li>$tokoh";
}
?>

</ul>
<?php
}
?>
</body>
</html>

Cara pengunaan kotak kombo, sebenarnya telah diulas pada bagian kedua artikel ini, namun jika Anda tidak berkeberatan, maka lihatlah skrip berikut ini untuk menyegarkan ingatan Anda, ketimbang kembali membuka bagian kedua artikel ini. Pada skrip ini kita tidak menggunakan variabel array.

<html>
<head>
<title>Contoh Penggunaan Kotak Kombo</title>
</head>

<body>
<?php
if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action="<?php echo $PHP_SELF ?>" method="GET">
Apakah Minuman Favorit Captain Jean Luc Piccard?<br>
<select name="minfav">
<option value="Wedang Ronde">Wedang Ronde</option>
<option value="Wedang Ronde">Earl Green Tea</option>
<option value="Wedang Ronde">Scotch</option>
<option value="Wedang Ronde">Red Wine</option>
</select>
<br><br>
<input type="submit" name="kirim" value="Pilih">
</form>
<?php
}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Minuman Favorit Captain Jean Luc Piccard menurut pilihan Anda adalah: <br>
<b><?php echo $minfav ?></b>
<?php
}
?>
</body>
</html>

Bagaimanakah cara penggunaan kotak daftar untuk menampilkan pilihan yang dapat dipilih secara multiple? Serupa dengan penggunaan kotak cek, maka kita dapat membuat skrip semacam ini.

<html>
<head>
<title>Contoh Penggunaan Kotak Daftar</title>
</head>

<body>
<?php
if (!$kirim)
{
// Tampilkan form dan pilihan
?>

<form action="<?php echo $PHP_SELF ?>" method="GET">
Siapa Tokoh Favorit Anda dalam Star Trek: The Next Generation?<br>
<select name="charfav[]" size="5" multiple>
<option value="Jean Luc Piccard">Jean Luc Piccard</option>
<option value="William T. Riker">William T. Riker</option>
<option value="Data">Data</option>
<option value="Deanne Troi">Deanne Troi</option>
<option value="Worf">Worf</option>
</select>
<br>
<input type="submit" name="kirim" value="Pilih">
</form>
<?php

}
else
{
// jika telah dipilih, tampilkan yang dipilih
?>
Tokoh Favorit dalam Star Trek: The Next Generation menurut pilihan Anda adalah: <ul>
<?php
foreach ($charfav as $tokoh)
{
echo "<li>$tokoh";
}
?>

</ul>
<?php
}
?>
</body>
</html>

Berhenti Atau Lanjutkan

Dalam perulangan, ada dua kata kunci penting yang harus Anda cermati penggunaannya, yaitu break dan continue.

Perintah break dapat digunakan untuk keluar dari perulangan jika didapati kondisi yang tidak diharapkan. Setelah perintah break, maka sisa perulangan yang belum dijalankan akan diabaikan. Contoh penggunaannya adalah pada pengecekan bilangan pembagi sebelum dilakukan pembagian berulang untuk menghindarkan kesalahan divided by zero.

Kebalikannya, perintah continue digunakan untuk melompati suatu iterasi dalam perulangan dan eksekusi program langsung menuju pada iterasi berikutnya. Contoh penggunaan perintah continue dapat dilihat pada skrip berikut ini.

<?php
for ($i=1; $i<=10; $i++)
{
if ($i == 7) { continue; }
echo $i;
}
?>

Ketika skrip diatas dijalankan, maka semua bilangan bulat dari 1 sampai 10 akan ditampilkan kecuali bilangan 7 karena pada $i = 7 eksekusi program dalam perulangan dilompati langsung ke perulangan berikutnya ($i = 8).

Jangan Ke Mana-mana

Bagian ketiga artikel PHP? Siapa Takut! ini telah berakhir. Kabar buruk bagi yang sudah bosan membaca artikel ini, karena bagian keempat akan segera menyusul untuk mulai membicarakan penggunaan basis data MySQL dengan skrip PHP. Ini merupakan fondasi terpenting dalam membangun aplikasi berbasis web atau situs web dinamis dengan PHP. Jadi pastikan Anda jangan ke mana-mana, karena kita akan segera kembali setelah ini.

Filed under: Belajar PHP

Kisah Sang PHP Bag 2

Bagian 2: Holodeck di USS Enterprise NCC-1701D

Pada bagian 1 dari artikel ini, kita telah belajar mengenai variabel dan operasi matematika sederhana terhadap variabel di PHP. Konsep dasar require() dan include() juga sudah kita kenal. Kali ini kita akan mencoba untuk melanjutkan sedikit mengenai cakupan variabel, sebelum berlanjut pada pengolahan form HTML.

Bar Ten-Fourty

Dalam pemrograman, seringkali kita ingin menggunakan variabel dengan cakupan yang berbeda-beda. Ada variabel yang kita inginkan untuk digunakan di seluruh program atau sering disebut variable global, ada variabel yang hanya ingin kita gunakan di dalam cakupan sebuah fungsi atau prosedur.

Variabel dalam PHP memiliki cakupan dalam konteks variabel itu didefinisikan. Umumnya variabel PHP hanya memiliki cakupan tunggal saja. Anda tidak perlu khawatir dengan keterbatasan ini, karena ternyata kita dapat memperluas cakupan variabel dengan memanfaatkan fungsi require() dan include() yang telah kita pelajari. Untuk lebih jelas, mari kita lihat contohnya pada program coba7.php di bawah ini.

<?php

$bartender = "Guinan";

include ("ten_fourty_bar.inc");

?>

Dalam contoh di atas, variabel $bartender akan memiliki cakupan pada file skrip ten_fourty_bar.inc (atau dapat pula dilihat secara sebaliknya). Jika kita membuat file skrip ten_fourty_bar.inc berisi perintah php seperti di bawah ini.

<?php

echo "Bartender di Bar Ten-Fourty saat ini adalah : $bartender";

?>

Maka, hasil eksekusi program coba7.php adalah sebagai berikut

Bartender di Bar Ten-Fourty saat ini adalah : Guinan

Namun jika pada program ten_fourty_bar.inc dibuat sebuah fungsi, maka variabel $bartender tidak dapat mencakup ke dalam fungsi tersebut, kecuali jika $bartender dimasukkan sebagai argumen dalam fungsi tersebut atau $bartender dalam fungsi tersebut dideklarasikan sebagai variabel global dengan perintah deklarasi global atau lewat variabel $GLOBALS[]. Lebih detail mengenai penggunaan variabel dalam fungsi akan kita bahas lagi pada saat kita membicarakan mengenai perancangan fungsi.

Kode program PHP disimpan sebagai sebuah file skrip. Jika aplikasi web yang kita bangun memperlakukan file-file skrip itu sebagai modul dari aplikasi, maka mungkin kita akan mendapatkan masalah jika kita ingin menggunakan variabel lintas file skrip tersebut.

Kita dapat saja membuat sebuah file yang berisi nilai variabel yang akan dipanggil lintas file. File ini kemudian selalu di-include() pada modul-modul yang membutuhkan variabel tersebut. Namun solusi semacam ini tidak memungkinkan kita untuk melakukan perubahan dinamis pada variabel tersebut. Cara ini lebih tepat digunakan untuk konstanta global.

Cara lain adalah dengan melewatkan (passing thru) nilai variable dari satu file skrip/dokumen ke file skrip/dokumen lain yang dipanggil setelahnya. Terdapat dua cara untuk melakukan ini yaitu dengan:

  • Menambahkan langsung variabel dan nilainya pada URL file skrip atau dokumen yang dipanggil. Contohnya kita memiliki host localhost dan file yang akan dipanggil adalah deep_space_9_bar.php terletak pada direktori root. Variable $bartender dapat dikenali nilainya oleh file deep_space_9_bar.php jika kita memanggil file tersebut dengan URL : http://localhost/deep_space_9_bar.php?bartender=Guinan. Jika kita ingin melewatkan variabel lain selain $bartender, misalkan $pengisiacara="Data", maka kita dapat menambahkan URL tersebut sehingga menjadi http://localhost/deep_space_9_bar.php?bartender=Guinan&pengisiacara=Data. Antar variabel dipisahkan dengan karakter “&“.
  • Menggunakan cara form HTML baik dengan metode POST/GET yang akan melewatkan nilai dari tag <INPUT> untuk ditangkap sebagai variabel oleh file yang dituju dalam ACTION. Lebih jelas lagi mengenai hal ini akan kita bicarakan pada saat membahas tentang form HTML.

PHP memiliki keunikan lain karena dapat membuat nama variabel dari nilai variabel yang lain. Lihatlah contoh berikut ini.

<?php

$bartender = "Guinan";

$$bartender = "Bartender Misterius";

echo "$bartender, ${$bartender}\n";

echo "$bartender, $Guinan\n";

?>

Baris pertama adalah deklarasi variabel $bartender sekaligus pengisian nilainya dengan “Guinan”, sedangkan baris yang kedua sebenarnya adalah deklarasi variabel dengan nama $Guinan yang diisi nilai “Bartender Misterius”. Sekalipun perintahnya berbeda, baris ketiga dan keempat memberikan hasil keluaran yang sama yaitu.

Guinan, Bartender Misterius

Penulisan $$bartender dan ${$bartender} adalah variasi cara untuk menyebut variabel yang sama (dalam konteks ini adalah variabel $Guinan). Tanda kurung kurawal “{...}” akan banyak gunanya jika kita telah mulai menggunakan nama variabel dari nilai variabel lain dalam larik (array) variabel. Misalnya variabel ${$bartender[1]} artinya variabel dengan nama dari isi variabel indeks 1 dari larik variabel $bartender, sedangkan variabel ${$bartender}[1] adalah variabel indeks 1 dari larik variabel dengan nama dari isi variabel $bartender.

Ketika saya menuliskan paragraf di atas, saya menjadi sedikit mengkhawatirkan kondisi Anda setelah membaca kalimat terakhir saya. Pegang kening Anda, dan jika panas, Anda dapat mencoba lagi membaca dan mengerti paragraf tersebut di kesempatan yang lain atau bisa juga Anda membaca keterangan berikut ini.

Notasi ${$bartender[1]} artinya kita memiliki larik variabel $bartender, misalkan isi $bartender[1]=”Guinan”, $bartender[2]=”Q”, $bartender[3]=”Riker”, dan seterusnya. Maka notasi ${$bartender[1]} yang kita maksudkan adalah variabel $Guinan bukan $Q atau pun $Riker. Pada notasi kedua yakni ${$bartender}[1] artinya kita memiliki variabel non larik $bartender yang misalkan berisi nilai “Guinan”, sehingga notasi ${$bartender}[1] secara implisit berarti kita memiliki variabel larik $Guinan[1], $Guinan[2], dan seterusnya.

Apakah Anda telah cukup puas dengan pembahasan mengenai variabel? Jika belum puas maka dengan sangat menyesal saya katakan bahwa saat ini tiba-tiba mood saya untuk membahas variabel telah hilang. Mood saya sekarang adalah membicarakan masalah form.

Pintu Masuk Holodeck di USS Enterprise

Form merupakan cara termudah, terumum, dan tercepat untuk membuat situs web Anda lebih hidup dan mampu berinteraksi dengan pengunjung yang mengaksesnya. Banyak keuntungan yang bisa Anda dapatkan dari penggunaan form dalam dokumen HTML, misalkan Anda dapat menanyakan apakah pengunjung situs Anda menyukai produk Anda atau bahkan Anda dapat meminta kepada pengunjung wanita yang cantik untuk menuliskan nomor teleponnya bagi Anda. Tentu saja jika mereka bersedia. Mungkin tidak banyak hasilnya, namun tidak ada salahnya berharap akan ada yang jatuh dalam perangkap Anda.

PHP membuat hidup kita menjadi lebih mudah karena PHP dapat membuat pemrosesan form untuk mengambil data masukan dari pengguna menjadi lebih sederhana dan cepat. Jangan pernah membayangkan Anda saat ini dapat menemukan kemudahan ini pada bahasa Perl atau C/C++, misalnya. Jika kebetulan suatu saat Anda menemukan kemudahan ini pada Perl, sebenarnya ini bukan salah PHP, namun hanya karena kebetulan Perl yang berkembang terlalu pesat.

Sebagai permulaan, Anda dapat mencoba membuat file HTML berikut ini yang dapat Anda simpan dengan nama login.html.

<html>

<head>
<basefont face="Arial">
</head>

<body>

<center>
<form method="GET" action="proseslogin.php">
<table cellspacing="5" cellpadding="5" border="1">

<tr>
<td colspan="2" align="center">
NCC-1701D USS Enterprise<br>
Fasilitas Holodeck
</td>
</tr>

<tr>
<td>
<font size="-1">Silakan Masukkan Nama Anda
</td>
<td>
<input type="text" name="namaofficer" size="20">
</td>
</tr>

<tr>
<td colspan="2" align="center">
<input type="submit" name="loginofficer" value="Login">
</td>
</tr>

</table>
</form>

</center>

</body>

</html>

Hal kritikal pada file di atas yang akan kita bahas adalah adalah tag <FORM>.

<form method="GET" action="proseslogin.php">

........

</form>

Atribut action pada tag <FORM> menunjukkan nama dari file skrip di sisi server, yang dalam kasus kita ini akan bertugas untuk memproses informasi yang dimasukkan ke form. Sementara itu atribut method akan menentukan tata cara informasi akan dilewatkan ke file skrip yang ditunjuk oleh atribut action.

Dalam standar HTML, dikenal dua macam method untuk memproses informasi yang dimasukkan ke form agar dapat diproses oleh file skrip yang dituju, yaitu GET dan PUT. Penggunaan GET akan menyebabkan seluruh isian form dilewatkan ke file skrip yang dituju dengan cara ditambahkan pada URL file skrip yang dituju, sementara PUT tidak akan menambahkan URL file skrip yang dituju dengan hasil isian form. Untuk lebih jelasnya, Anda bisa kembali membuka referensi standar HTML yang Anda miliki.

File ini jika dipanggil lewat browser akan memberikan tampilan sebagai berikut.

NCC-1701D USS Enterprise
Fasilitas Holodeck
Silakan Masukkan Nama Anda

Untuk kasus kita saat ini, kita baru setengah jalan. Kita harus membuat file proseslogin.php yang akan menerima data isian dari file login.html. File skrip yang akan kita buat ini akan bertugas melakukan pengecekan nama officer yang akan memasuki ruang holodeck. Berhubung sampai saat ini kita belum mempelajari mengenai pernyataan kondisional (conditional statement) dan operator logika, maka sementara ini file proseslogin.php hanya akan kita buat untuk menunjukkan kepada Anda bagaimana data dikirimkan oleh form pada file login.html dan diproses atau digunakan pada file proseslogin.php.

Inilah file proseslogin.php yang kita akan kita buat.

<html>
<head>
<basefont face="Arial">
</head>

<body>
<center>
<font face="Arial" size="-1">
Hmm, pernahkah Anda berimajinasi, <? echo $namaofficer; ?> ?
<P>
Holodeck mampu membuat Anda berimajinasi dan menjalaninya hampir tanpa batas.
<P>
Anda siap memasuki holodeck?
</font>
</center>
</body>

</html>

Misalkan Anda mengisikan data pada form, misalkan saja “Parto”, kemudian anda tekan tombol “Login”, maka tampak pada browser Anda sebagai berikut.

Hmm, pernahkah Anda berimajinasi, Parto ? Holodeck mampu membuat Anda berimajinasi dan menjalaninya hampir tanpa batas.

Anda siap memasuki holodeck?

Seperti yang Anda lihat, pada saat sebuah form dikirimkan ke sebuah skrip PHP, semua pasangan variabel dan nilainya yang ada pada form tersebut secara otomatis tersedia untuk digunakan oleh skrip PHP tersebut. Dalam contoh di atas, saat form yang ada pada login.html dikirim, variabel $namaofficer otomatis terbentuk pada skrip PHP proseslogin.php dan variabel ini langsung terisi dengan data yang diisikan pada form oleh pengguna.

Jika Anda mencoba melakukan hal yang sama dengan Perl, maka Anda perlu secara eksplisit menulis kode untuk melakukan ekstrak dan mengambil nilai dari variabel-variabel dalam form. PHP telah secara otomatis melakukan semua ini untuk Anda, sehingga kode program Anda akan lebih sederhana dan proses development aplikasi menjadi lebih cepat.

Kehati-hatian Dalam Memilih

Saya tidak akan mengelak jika Anda memprotes contoh di atas terlalu sederhana. Memang saat ini kita belum mulai melakukan seleksi calon pengguna holodeck. Untuk dapat melakukannya, mari kita mempelajari pernyataan kondisional dan operator logika. Bentuk paling dasar dari pernyataan kondisional adalah perbandingan, misalnya “jika ini sama dengan itu maka lakukan hal ini, dan seterusnya”.

PHP memiliki operator-operator logika yang sangat berguna untuk menyusun pernyataan kondisional. Berikut ini adalah daftarnya.

Misalkan $alpha=7 dan $beta=4.

Operator Arti Ekspresi Hasil Evaluasi Nilai
== sama dengan $alpha == $beta False
!= tidak sama dengan $alpha != $beta True
> lebih besar daripada $alpha > $beta True
< lebih kecil daripada $alpha < $beta False
>= lebih besar atau sama dengan $alpha >= $beta True
<= lebih kecil atau sama dengan $alpha <= $beta False

PHP4 juga memperkenalkan sebuah operator logika baru, yang melakukan pengecekan baik kesamaan nilai maupun jenis nilai dari variabel. Operator ini adalah ===. Pada bagian akhir bagian ini akan ditunjukkan ilustrasi penggunaan operator ini.

Officer Yang Berhak Masuk Holodeck

Bentuk paling sederhana dari pernyataan kondisional dalam PHP adalah pernyataan “if“, yang kurang lebih adalah seperti di bawah ini:

if (kondisi)

{
lakukan hal ini!;
}

Bagian kondisi adalah merupakan ekspresi kondisional yang akan dievaluasi apakah hasilnya true (benar) atau false (salah). Jika hasil pengecekan kondisi bernilai true, maka seluruh kode PHP yang ada dalam blok if (di antara dua kurung kurawal) akan dieksekusi. Jika tidak (hasil pengecekan false), maka seluruh kode PHP dalam blok if akan dilewati dan eksekusi program akan dilanjukan ke baris setelah blok if.

Sekarang kita coba memodifikasi program proseslogin.php dengan membuat sistem validasi/otentikasi sederhana untuk nama officer yang diperkenankan memasuki holodeck. Misalkan akses ke holodeck hanya diperbolehkan untuk officer “Riker”.

<html>
<head>
<basefont face="Arial">
</head>

<body>
<center>

<?php
// validasi nama officer dan tampilkan pesan yang sesuai
if ($namaofficer == "Riker")

{
?>
<font face="Arial" size="-1">
Hmm, pernahkah Anda berimajinasi, <? echo $namaofficer; ?> ?
<P>
Holodeck mampu membuat Anda berimajinasi dan menjalaninya hampir tanpa batas.
<P>
Selamat datang di holodeck USS Enterprise. <BR>
Anda siap memasuki holodeck?
</font>

<?php
}
?>

<?php
// jika nama officer tidak sesuai
if ($namaofficer != "Riker")

{
?>
<font face="Arial" size="-1">
Hmm, Anda ingin berimajinasi, <? echo $namaofficer; ?> ?
<P>
Sayang sekali, Anda dalam tugas.
<P>
Anda tidak diperkenankan memasuki holodeck.
</font>

<?php
}
?>

</center>
</body>

</html>

Anda dapat menyusun beberapa blok if secara bertumpuk (nested) untuk melakukan penyeleksian lebih ketat terhadap beberapa kondisi. Misalkan Anda ingin mencari Leutenant Worf, Anda dapat menyusun pengkondisian seperti di bawah ini.

<?

if ($pekerjaan == "Officer Starfleet")

{
if ($pesawat == "USS Enterprise")
{
if ($ras == "Klingon")
{
$nama = "Worf";
}
}
}
?>

Jika Tidak, Maka …

Selain bentuk “if” seperti yang telah kita pelajari, PHP juga memiliki bentuk pernyataan kondisional “if-else“, yang selain memiliki blok perintah PHP yang dieksekusi jika kondisi bernilai true juga memiliki blok perintah PHP yang akan dijalankan jika kondisi bernilai false.

Konstruksi “if-else” adalah seperti ini.

if (kondisi)

{
lakukan hal ini!;
}
else
{
lakukan hal itu!;
}

Dengan konstruksi ini, maka kita dapat membuat program proseslogin.php menjadi lebih efisien daripada menggunakan dua buah blok if.

<html>
<head>
<basefont face="Arial">
</head>

<body>
<center>

<?php
// validasi nama officer dan tampilkan pesan yang sesuai
if ($namaofficer == "Riker")

{
?>
<font face="Arial" size="-1">
Hmm, pernahkah Anda berimajinasi, <? echo $namaofficer; ?> ?
<P>
Holodeck mampu membuat Anda berimajinasi dan menjalaninya hampir tanpa batas.
<P>
Selamat datang di holodeck USS Enterprise. <BR>
Anda siap memasuki holodeck?
</font>

<?php
}
else
{
// jika nama officer tidak sesuai ?>

<font face="Arial" size="-1">
Hmm, Anda ingin berimajinasi, <? echo $namaofficer; ?> ?
<P>
Sayang sekali, Anda dalam tugas.
<P>
Anda tidak diperkenankan memasuki holodeck.
</font>

<?php
}
?>

</center>
</body>

</html>

Menu Harian Holodeck USS Enterprise

PHP juga menyediakan bentuk pernyataan kondisional “if-elseif-else” untuk menangani kemungkinan yang lebih banyak dari pemilihan kondisi. Bentuk pernyataan kondisional ini adalah seperti di bawah ini.

if (kondisi pertama benar)

{
lakukan tindakan 1;
}
elseif (kondisi kedua benar)
{
lakukan tindakan 2;
}
elseif (kondisi ketiga benar)
{
lakukan tindakan 3;
}
...... dan seterusnya .......

else

{
lakukan tindakan yang lain;
}

Mari kita lihat contoh penerapannya untuk membuat pilihan menu harian di holodeck USS Enterprise.

<html>
<head>
<style type="text/css">
td {font-family: Arial;}
</style>
</head>

<body>

<font face="Arial" size="+2">
Pilihan Menu Harian Holodeck USS Enterprise
</font>

<form method="GET" action="prosesmenu.php">
<table cellspacing="5" cellpadding="5" border="0">

<tr>
<td align="center">
Pilih Hari
</td>
<td align="right">
<select name="hari">
<option value="Senin">Senin
<option value="Selasa">Selasa
<option value="Rabu">Rabu
<option value="Kamis">Kamis
<option value="Jumat">Jumat
<option value="Sabtu">Sabtu
<option value="Minggu">Minggu
</select>
</td>
</tr>

<tr>
<td colspan="2" align="center">
<input type="submit" value="Klik Di Sini!">
</td>
</tr>

</table>
</form>
</body>

</html>

Dengan skrip di atas kita bermaksud membuat pilihan menu harian di holodeck. Simpanlah skrip di atas dengan nama menu.php. Untuk dapat bekerja, perlu kita buat skrip di bawah ini, yang akan kita simpan dengan nama prosesmenu.php.

<?php

if ($hari == "Senin")

(
$topik = "Romeo dan Juliet (Shakespeare)";
}
elseif ($hari == "Selasa")
(
$topik = "Petualangan Robin Hood";
}
elseif ($hari == "Rabu")
(
$topik = "Jurassic Park";
}
elseif ($hari == "Kamis")
(
$topik = "Indiana Jones";
}
elseif ($hari == "Jumat")
(
$topik = "Final Fantasy";
}
else
(
$topik = "Maaf, Holodeck USS Enterprise tutup saat weekend.";
}
?>

<html>
<head>
<basefont face="Arial">
</head>

<body>
Menu Petualangan Holodeck USS Enterprise<br>
Hari <? echo $hari; ?> : <br>
<b><? echo $topik; ?><b>

</body>
</html>

Dengan dua skrip di atas, maka kita dapat memilih nama hari pada skrip pertama dan menekan tombol untuk mengaktifkan skrip kedua yang akan memilihkan topik holodeck untuk hari yang dipilih. Patut diingat, bahwa begitu sebuah kondisi dalam bentuk “if-elseif-else” ditemukan bernilai true maka seluruh kode dalam blok kondisi yang tersebut akan dieksekusi, dan berikutnya aliran program akan dilanjutkan pada baris kode setelah blok “if-elseif-else“. Jadi dalam bentuk penyataan kondisional seperti ini tidak ada dua buah blok kondisi yang akan dijalankan secara bersamaan. Hanya kondisi yang pertama kali ditemukan bernilai true yang akan dijalankan, selebihnya akan dilewatkan. Kode berikut ini akan memberi ilustrasi secara lebih baik.

<?php

$alpha = 12;
$beta = 15;
$delta = 19;
$gamma = 24;

$kondisi = "";

if ($alpha < $beta)

{
$kondisi .= "Alpha Lebih Kecil Daripada Beta <br>";
}
elseif ($alpha < $delta)
{
$kondisi .= "Alpha Lebih Kecil Daripada Delta <br>";
}
elseif ($alpha < $gamma)
{
$kondisi .= "Alpha Lebih Kecil Daripada Gamma <br>";
}
else
{
$kondisi .= "Tidak Ada Kondisi Yang Sesuai <br>";
}
?>

<html>
<head>
<basefont face="Arial">
</head>

<body>

<?php

echo $kondisi;

?>

</body>
</html>

Jika skrip di atas dijalankan, sebenarnya ada 3 kondisi yang bernilai true, namun pada kenyataannya hanya kode pada blok kondisi pertama ($alpha < $beta) saja yang dijalankan. Dua kondisi lainnya yang juga bernilai true tidak dijalankan, karena bentuk “if-elseif-else” hanya mengeksekusi blok kondisi pertama yang ditemukan bernilai true. kemudian akan dilanjutkan dengan mengeksekusi baris perintah/kode setelah bentuk pernyataan kondisional.

Notasi $kondisi .= "bla-bla-bla" adalah notasi penyambungan sebuah untai (string). Notasi ini mirip dengan di bahasa pemrograman C/C++, dan berlaku juga untuk operator aritmatika. Tabel berikut ini menunjukkan notasi normal dan notasi singkatannya yang berlaku di PHP.

Notasi Normal Notasi Singkat Keterangan
$a = $a + 1 $a++ Tambahkan 1 ke $a dan simpan hasilnya di $a
$a = $a + $x $a += $x Tambahkan $x ke $a dan simpan hasilnya di $a
$a = $a - 1 $a-- Kurangkan 1 dari $a dan simpan hasilnya di $a
$a = $a - $x $a -= $x Kurangkan $x dari $a dan simpan hasilnya di $a
$a = $a . $x $a .= $x Sambungkan string $x ke string $a dan simpan hasilnya di $a

Dan, Atau, Tidak

Masih ingatkah dengan skrip mencari Worf? Mari kita lihat lagi skrip tersebut.

<?

if ($pekerjaan == "Officer Starfleet")

{
if ($pesawat == "USS Enterprise")
{
if ($ras == "Klingon")
{
$nama = "Worf";
}
}
}
?>

Anda bisa tidak setuju dengan saya, namun sebenarnya skrip di atas terlalu kompleks dan sedikit mengerikan. PHP menawarkan juga operator logika yang dapat digunakan untuk menyederhanakan skrip di atas. Tabel berikut ini akan menunjukkan operator logika dalam PHP.

Operator Arti Ekspresi Hasil Evaluasi Nilai
&& AND $alpha == $delta && $alpha > $beta True
$alpha && $beta < $beta False
|| OR $alpha == $delta || alpha < $beta True
$alpha > $delta || alpha < $beta False
! NOT !$alpha False

Dengan pengetahuan logika ini, maka kita bisa menulis kembali skrip pencarian Worf dengan lebih sederhana.

<?

if ($pekerjaan == "Officer Starfleet" && $pesawat == "USS Enterprise" && $ras == "Klingon")

{
$nama = "Worf";
}
?>

Bukankah skrip di atas lebih sederhana?

Sekali Lagi, Memilih Di Antara Banyak Pilihan

PHP juga menyediakan alternatif pernyataan kondisional selain dengan keluarga “if-else” yaitu bentuk “switch-case“, dengan bentuk pernyataan seperti berikut ini.

switch (variabel_penentu)

{ case (kondisi_pertama_benar)
Lakukan Tindakan Untuk Kondisi Pertama;

case (kondisi_kedua_benar)
Lakukan Tindakan Untuk Kondisi Kedua;

case (kondisi_ketiga_benar)
Lakukan Tindakan Untuk Kondisi Ketiga;

.............. dan seterusnya ............

}

Kini kita akan mencoba menulis kembali kode program prosesmenu.php yang digunakan untuk menampilkan menu harian holodeck. Dengan menggunakan bentuk “switch-case“, skrip program akan menjadi seperti di bawah ini.

<?php

// variabel penentu dalam hal ini adalah $hari yang dipilih pengguna
switch ($hari)

{ // kondisi pertama
case "Senin":
$topik = "Romeo dan Juliet (Shakespeare)";
break;

// kondisi kedua
case "Selasa":
$topik = "Petualangan Robin Hood";
break;

// kondisi ketiga
case "Rabu":
$topik = "Jurassic Park";
break;

// kondisi keempat
case "Kamis":
$topik = "Indiana Jones";
break;

// kondisi kelima
case "Jumat":
$topik = "Final Fantasy";
break;

// jika selain kondisi yang di atas
default:
$topik = "Maaf, Holodeck USS Enterprise tutup saat weekend.";
break;

}

?>

<html>
<head>
<basefont face="Arial">
</head>

<body>
Menu Petualangan Holodeck USS Enterprise<br>
Hari <? echo $hari; ?> : <br>
<b><? echo $topik; ?><b>

</body>
</html>

Ada beberapa kata kunci yang penting dalam penggunaan pernyataan “switch-case“. Pertama adalah perintah break yang digunakan untuk keluar dari blok “switch” dan melanjutkan ke baris perintah sesudah blok tersebut setelah ditemukan sebuah kondisi true yang pertama. Tanpa penggunaan break, maka case berikutnya akan kembali dievaluasi walaupun telah case sebelumnya telah ditemukan bernilai true. Kata default digunakan untuk “menangkap” kondisi dimana nilai variable penentu tidak memenuhi semua kriteria/kondisi pada case-case yang ada.

Bersatu Kita Teguh

Sampai sejauh ini, program pengolahan form yang kita buat selalu menggunakan dua halaman web yaitu satu halaman HTML yang berisi form dan satu lagi adalah halaman skrip PHP untuk memproses masukan form dan menghasilkan keluaran yang sesuai. PHP sesungguhnya menyediakan cara yang lebih baik untuk dapat menggabungkan dua halaman tersebut menjadi satu halaman saja, dengan cara menangkap nilai dari variabel yang dikirimkan oleh tombol pemroses di form.

Telah kita ketahui bahwa saat form dikirimkan ke skrip PHP, seluruh variabel form akan menjadi tersedia dalam lingkungan skrip PHP. Tombol pemroses, juga akan mengirimkan nilai dari variabel sesuai namanya, jika tombol pemroses ini ditekan dengan tujuan mengirimkan isian form. Dengan melakukan pengecekan terhadap ada tidaknya nilai variabel dari tombol pemroses, maka programmer dapat menggunakan file PHP tunggal untuk menghasilkan baik form isian maupun keluarannya jika isi form dikirimkan.

Mari kita coba menggabungkan dua halaman menjadi satu halaman skrip PHP dalam kasus menu harian holodeck. Berikut ini adalah skrip gabungannya, misalkan kita simpan dalam nama menu.php.

<?php

if (!$proses)

{
// jika $proses tidak memiliki nilai, artinya adalah
// form tidak dalam proses pengiriman, maka skrip akan
// menampilkan form isian.
?>

<html>
<head>
<style type="text/css">
td {font-family: Arial;}
</style>
</head>

<body>

<font face="Arial" size="+2">
Pilihan Menu Harian Holodeck USS Enterprise
</font>

<form method="GET" action="<? echo $PHP_SELF; ?>">
<table cellspacing="5" cellpadding="5" border="0">

<tr>
<td align="center">
Pilih Hari
</td>
<td align="right">
<select name="hari">
<option value="Senin">Senin
<option value="Selasa">Selasa
<option value="Rabu">Rabu
<option value="Kamis">Kamis
<option value="Jumat">Jumat
<option value="Sabtu">Sabtu
<option value="Minggu">Minggu
</select>
</td>
</tr>

<tr>
<td colspan="2" align="center">
<input type="submit" name="proses" value="Klik Di Sini!">
</td>
</tr>

</table>
</form>
</body>

</html>

<?php

}else

{
// jika $proses memiliki nilai, berarti data isian
// form sedang dikirim, maka skrip akan memproses
// isian form.
// variabel penentu dalam hal ini adalah $hari yang dipilih pengguna
switch ($hari)

{ // kondisi pertama
case "Senin":
$topik = "Romeo dan Juliet (Shakespeare)";
break;

// kondisi kedua
case "Selasa":
$topik = "Petualangan Robin Hood";
break;

// kondisi ketiga
case "Rabu":
$topik = "Jurassic Park";
break;

// kondisi keempat
case "Kamis":
$topik = "Indiana Jones";
break;

// kondisi kelima
case "Jumat":
$topik = "Final Fantasy";
break;

// jika selain kondisi yang di atas
default:
$topik = "Maaf, Holodeck USS Enterprise tutup saat weekend.";
break;

}

?>

<html>
<head>
<basefont face="Arial">
</head>

<body>
Menu Petualangan Holodeck USS Enterprise<br>
Hari <? echo $hari; ?> : <br>
<b><? echo $topik; ?><b>

</body>
</html>

<?php

}?>

Dengan skrip di atas, maka baik form maupun proses untuk dapat menghasilkan keluaran dapat disatukan dalam satu halaman skrip PHP. Variabel $proses adalah variabel yang dihasilkan jika tombol pemroses ditekan. Ada tidaknya nilai variabel ini yang akan menentukan apakah skrip ini memberikan keluaran berupa form ataukah akan memproses hasil isian form.

Untuk agar form yang dikirim dapat menghasilkan variabel $proses pada lingkungan skrip PHP, maka perlu dilakukan perubahan pada tag HTML untuk tombol submit, yaitu dari:

<input type="submit" value="Klik Di Sini!">

menjadi perlu ditambah atribut name seperti berikut ini.

<input type="submit" name="proses" value="Klik Di Sini!">

Hal lain yang patut dicermati adalah pada tag <form>. Alih-alih menggunakan atribut action="menu.php", kita dapat menggunakan variabel pre-defined PHP yaitu $PHP_SELF yang akan secara tepat menunjukkan bahwa skrip yang dituju adalah skrip itu sendiri. Dengan demikian, perubahan nama file menu.php menjadi nama yang lain, tidak menyebabkan kita perlu memodifikasi atribut action pada tag <form>. Bentuk dari tag <form> menjadi seperti berikut ini.

<form method="GET" action="<? echo $PHP_SELF; ?>">

Catatan Tambahan

Operator ===

Berikut ini adalah contoh penggunaan operator === yang berfungsi untuk melakukan pengecekan variabel apakah memiliki nilai dan jenis yang sama.

<?php

if (!$proses)

{
// jika nilai variabel $proses tidak ada, maka
// tampilkan halaman pertama (form isian)

?> <html>
<head>
<style type="text/css">
td {font-family: Arial;}
</style>
</head>

<body>

<form method="GET" action="<? echo $PHP_SELF; ?>">
<table cellspacing="5" cellpadding="5" border="0">

<tr>
<td align="center">
Masukkan Sesuatu!
</td>
<td align="right">
<input type="text" name="var1">
</td>
</tr>

<tr>
<td align="center">
Masukkan Yang Lainnya!
</td>
<td align="right">
<input type="text" name="var2">
</td>
</tr>

<tr>
<td colspan="2" align="center">
<input type="submit" name="proses" value="Test Variabel">
</td>
</tr>

</table>
</form>
</body>

</html>

<?php

}
else
{
// jika nilai variabel $proses ada, maka lakukan pemrosesan
// terhadap isian form
if ($var1 === $var2)

{
$hasil = "Kedua variabel identik dan berjenis sama."
}

else
{
$hasil = "Kedua variabel tidak identik dan/atau tidak berjenis sama."
}

?>

<html>
<head>
<basefont face="Arial">
</head>

<body>
<b><? echo $hasil; ?></b>

</body>
</html>

<?php
}
?>

Alternatif Penulisan

PHP juga mendukung alternatif cara penulisan (syntax) untuk struktur kontrol yang telah kita bicarakan. Anda dapat menuliskan kode dengan cara seperti ini.

<?php

if ($warp == 0)

{
echo "Mesin Warp Tidak Diaktifkan.";
}
else
{
echo "Mesin Warp Sedang Diaktifkan.";
}
?>

atau Anda dapat menuliskan seperti ini

<?php
if ($warp == 0):

echo "Mesin Warp Tidak Diaktifkan.";
else:
echo "Mesin Warp Sedang Diaktifkan.";
endif; ?>

Alternatif kedua sama saja dengan yang pertama, dan secara sederhana dibuat dengan mengganti tanda kurung kurawal pertama pada setiap pasangan dengan tanda colon/titik dua [:], menghapus tanda kurung kurawal kedua, dan mengakhiri seluruh blok dengan sebuah perintah “endif“.

Baiklah, cukup dahulu bagian kedua dari pelajaran dasar PHP ini. Selanjutnya, kita akan belajar melakukan perulangan, sedikit tentang array, dan lebih jauh mengenai form. Jangan sampai ketinggalan!

Filed under: Belajar PHP

Kisah Sang PHP Bag 1

Kisah Sang PHP

Web pada kisah awalnya sangat menjemukan bagi orang-orang yang dinamis. Bagaimana tidak, pemakainya hanya dicekoki oleh isi (content) halaman web yang meskipun bersifat saling terhubung dengan halaman web yang lain (hyperlink) tetap saja tidak memberikan saluran bagi pengguna yang ingin mengemukakan pendapatnya. Tidak ada demokrasi, karena pengguna hanya bersifat pasif dan tidak bisa berinteraksi secara aktif dalam web.

Ketika akhirnya ditemukan tag <FORM> barulah kejemuan dan kebuntuan yang ada menjadi sirna. Pengguna menjadi bisa secara aktif berinteraksi dengan halaman web, dan mulailah era aplikasi berbasis web yang dinamis. Secara tradisi, bahasa script Perl menjadi bahasa utama yang digunakan oleh programmer web untuk menangani pemrosesan form dalam berinteraksi dengan pengguna web. Tidak diragukan lagi kedigjayaan dari Perl dalam menangani urusan ini, hal ini juga didukung dengan begitu dominannya bahasa ini digunakan di situs-situs web yang ada.

Perl bisa menjadi alat bantu yang sangat hebat di tangan ahlinya, namun akan berubah menjadi mimpi paling buruk bagi seorang programmer web pemula yang dikejar waktu dan bosnya untuk segera merilis halaman webnya. Tidak mudah memang, mempelajari bahasa Perl, dan seringkali dibutuhkan langkah panjang dan rumit untuk sebuah maksud yang sederhana saja. Pendek kata, dibutuhkan suatu bahasa yang lebih praktis dan mudah dipelajari serta adidaya untuk memudahkan dalam membangun sebuah aplikasi yang berbasis web.

Di rimba belantara web, tersebutlah dua bahasa yang paling kondang yang mampu menggantikan tugas-tugas Perl namun dengan tingkat kesulitan belajar yang rendah, ASP (Active Server Page) dan PHP (PHP: Hypertext Preprocessor). ASP yang dijagokan oleh Pak Bill Gates tentu saja berjalan di lingkungan sistem operasi Windows dan sampai saat ini belum terlihat akan di-porting ke platform yang lain. Padahal dunia web saat ini masih didominasi oleh platform UNIX dan variant-nya termasuk sistem operasi like UNIX seperti Linux. Selain itu, untuk dapat menggunakan ASP yang resmi, kita juga harus merelakan sebagian uang kita untuk menambah isi kantong Pak Bill Gates.

PHP sebagai alternatif lain memberikan solusi sangat murah (karena gratis digunakan) dan dapat berjalan di berbagai jenis platform. Awalnya memang PHP berjalan di sistem UNIX dan variant-nya, namun kini dapat berjalan dengan mulus di lingkungan sistem operasi Windows. Suatu nilai tambah yang luar biasa karena proses development program berbasis web dapat dilakukan lintas sistem operasi. Pak Fulan, misalnya, bisa mencuri waktu memrogram aplikasi untuk usaha pribadinya di kantor yang menggunakan sistem operasi Windows dan meneruskannya di rumahnya dengan komputer yang menggunakan sistem operasi Linux.

Dengan luasnya cakupan sistem operasi yang mampu menjalankan PHP dan ditambah begitu lengkapnya fungsi-fungsi program (tersedia lebih dari 400 fungsi di PHP yang sangat berguna) tidak heran jika PHP ini semakin menjadi trend di kalangan programmer web. Konon, saat ini lebih dari satu juta situs web menggunakan PHP sebagai script pemrogramannya.

Pak Rasmus Lerdorf adalah bapak penemu awal bahasa PHP ini, yang bermula dari keinginan sederhana Pak Lerdorf untuk mempunyai alat bantu (tools) dalam memonitor pengunjung yang melihat situs web pribadinya. Inilah sebabnya pada awal pengembangannya, PHP merupakan singkatan dari Personal Home Page tools, sebelum akhirnya dipaksakan menjadi singkatan rekursif dari PHP: Hypertext Preprocessor. Pertengahan tahun 1995 dirilis PHP/FI (FI adalah singkatan dari Form Interpreter) yang memiliki kemampuan dasar membangun aplikasi web, memproses form, dan mendukung database mSQL.

Antusias komunitas internet terhadap bahasa PHP ini begitu besar, sehingga Pak Rasmus Lerdorf akhirnya menyerahkan pengembangan PHP ini kepada sebuah team pemrograman dalam kerangka gerakan open source. Team ini membangun kembali PHP dari awal dengan menulis ulang program parser PHP Hasilnya adalah PHP 3.0 yang memiliki dukungan lebih luas lagi terhadap database yang ada termasuk MySQL dan Oracle. PHP 4.0 sebagai versi lanjutan dari PHP 3.0 dirilis setelah itu dengan menggunakan mesin scripting Zend (akronim dari pengembangnya, Zeev Suraski dan Andi Gutmans) untuk memberikan kinarja yang lebih cepat dan lebih baik Versi terakhir ini mampu mendukung server web selain Apache dan secara built-in telah mampu menangani manajemen session.

Nah, dongeng ini kita cukupkan di sini dulu. Singkat kata, PHP kita pilih sebagai bahasa untuk pengembangan web yang akan kita pelajari di bagian selanjutnya. Sebelum memulainya, ada baiknya Anda mengetahui kebutuhan-kebutuhan dasar yang akan membantu Anda memahami tulisan ini. Anda diasumsikan telah memiliki sebuah sistem yang telah terinstalasi dan terkonfigurasi dengan baik Apache Web Server, PHP 4, dan database MySQL. Ketiganya adalah program open source yang tersedia secara gratis di Internet dan dapat berjalan di berbagai platform (Windows maupun UNIX/Linux). Anda juga harus merupakan seorang pemula di dunia PHP, karena kalau tidak Anda akan mengalami keadaan mirip anak SMA yang masuk ke kelas 1 SD. Tulisan ini tidak membahas pengenalan format HTML, sehingga diharapkan Anda telah memiliki pengetahuan dasar mengenai hal ini, karena bagaimana pun Anda akan menggunakan PHP untuk membangun aplikasi web yang pasti tidak lepas dari urusan tag HTML. Satu hal lagi, Anda juga perlu memiliki rasa humor yang cukup tinggi, dan menyukai Star Trek.

Apakah Anda sudah siap dan memenuhi syarat? Baik, mari kita teruskan.

Saya Piccard, Jean Luc Piccard

Jika sistem Apache Web Server, PHP4, dan MySQL kita telah siap dan terkonfigurasi dengan benar, sekarang adalah saatnya yang paling tepat untuk memulai perjalanan ini. Program “Hello World!” yang legendaris untuk memulai belajar sebuah bahasa pemrograman, sengaja tidak dipakai karena kita tidak ingin meneruskan tradisi kuno ini. Ada hal yang lebih berguna yang dapat kita pakai sebagai contoh. Anda bisa mulai memilih text editor favorit Anda (yang jelas vi bukan sebuah program nyaman bagi pemula). Jika Anda bekerja di sistem operasi Windows, Anda bahkan dapat memilih Lingkungan Pengembangan Terpadu/IDE (Integrated Development Environment) khusus untuk PHP seperti :

Silakan coba kode di bawah ini dan simpan sebagai file dengan ekstension .php, misalkan coba.php.

<?php

phpinfo();

?>

Untuk menjalankannya, kita bisa mulai membuka browser web kesukaan kita, kemudian arahkan alamat pada file coba.php yang telah kita buat, misalkan alamatnya adalah http://localhost/coba.php, maka Anda akan mendapatkan tampilan browser Anda berisikan parameter-parameter yang diset untuk PHP yang kita miliki. Anda dapat mengubah parameter ini dengan memodifikasi file php.ini. Jika Anda memang benar-benar masih pemula, jangan kaget melihat begitu banyaknya parameter yang harus diset untuk PHP Anda, karena akan saya beri tahu sebuah rahasia kecil bahwa nilai parameter yang default sebenarnya sudah sangat lebih dari cukup untuk memulai belajar pemrograman PHP 4.

Konsep pemrograman dengan PHP ini sedikit berbeda dengan pemrograman dengan menggunakan script CGI yang memaksa kita untuk selalu menulis kode yang menghasilkan keluaran dalam format HTML. Pada PHP, kita diberikan kebebasan untuk menyisipkan kode PHP di mana pun pada halaman HTML biasa dan menjalankan kode PHP tersebut setiap ada permintaan terhadap halaman tersebut.

Interpreter PHP dalam mengeksekusi kode PHP pada sisi server (disebut server-side) dan berbeda dengan mesin maya Java yang mengeksekusi program pada sisi client (client-side). Proses eksekusi kode PHP yang disisipkan pada halaman HTML secara diagram dapat digambar sebagai berikut.

Berikut ini adalah cara menyisipkan kode PHP pada halaman HTML biasa.

<script language="php">

. . . . kode PHP . . . .

</script>

Cara yang lebih singkat adalah:

<?php

. . . . kode PHP . . . .

?>

Atau bisa juga

<?

. . . . kode PHP . . . .

?>

Bahkan jika Anda memiliki waktu yang cukup mengubah parameter pada php.ini, Anda bisa membuat kode penyisipan PHP menjadi mirip seperti pada ASP yaitu dengan:

<%

. . . . kode PHP . . . .

%>

Sampai di sini ada keraguan? Jika tidak, mari kita lanjutkan dengan contoh nyata cara mengkombinasikan kode PHP dengan file HTML biasa. Cobalah Anda ketik kode di bawah ini, lalu simpan dengan nama misalnya coba1.php. Panggil melalui browser dan amati hasilnya.

<html>
<head>
<title>Test Penyisipan PHP Pada HTML</title>
</head>
<body>
Kapal Asing, Silakan identifikasikan diri Anda! <br>
<?php
// Berikut ini adalah kode PHP yang disisipkan
echo "<b>Ini adalah kapal Federasi Planet USS Enterprise.<br>";
echo "Saya Piccard, Jean Luc Piccard, kapten kapal.</b>";
?>
</body>
</html>

Setelah Anda panggil file ini lewat browser, Anda dapat mencoba melihat kode asal dokumen HTML yang kurang lebih akan nampak seperti ini.

<html>
<head>
<title>Test Penyisipan PHP Pada HTML</title>
</head>
<body>
Kapal Asing, Silakan identifikasikan diri Anda! <br>
<b>Ini adalah kapal Federasi Planet USS Enterprise.<br>
Saya Piccard, Jean Luc Piccard, kapten kapal.</b>
</body>
</html>

Terlihat bahwa dokumen yang tampil di browser pengguna adalah murni HTML tanpa kode PHP satu pun. Pengguna tidak dapat melihat kode PHP yang ditulis oleh programmer karena kode tersebut telah diproses menjadi format HTML oleh interpreter PHP pada server asal kode PHP.

Pada setiap akhir perintah PHP selalu diakhiri dengan tanda titik-koma (“;“), seperti juga Perl dan C. Bagi seorang pemula, keharusan ini seringkali dilupakan dan menjadi sebuah kesalahan umum terjadi. Programmer PHP dapat menyisipkan komentar yang tidak akan dieksekusi oleh mesin PHP dengan dua cara seperti pada contoh dibawah ini.

<?php

// Ini adalah komentar dalam satu baris

/* Kalau yang ini, komentar
dalam banyak baris, yang baru
akan selesai setelah diakhiri
dengan */

?>

Pencarian Jati Diri

Variabel/Peubah adalah bagaikan garam dan sayur dalam bahasa pemrograman, dan kabar baiknya adalah PHP pun memilikinya. Variabel dapat dibayangkan sebagai sebuah tempat penyimpanan data bagi nilai numeris maupun non numeris, agar dapat digunakan pada bagian lain dari script program PHP.

PHP mendukung berbagai jenis variabel yaitu:

  • integer(bilangan bulat),
  • bilangan floating point (presisi tunggal, ganda)
  • boolean
  • null (untuk variabel yang belum diset).
  • string
  • array
  • object
  • resource
  • unknown.

Jika Anda terbiasa menggunakan C atau Pascal, maka Anda harus bersiap-siap kehilangan sebuah kewajiban, karena pada PHP Anda tidak perlu mendefinisikan terlebih dahulu jenis variabel sebelum menggunakannya. PHP memiliki kepandaian untuk membedakan jenis variabel secara otomatis berdasarkan konteks yang sedang berlaku bagi variabel tersebut.

Setiap variabel dalam PHP selalu dimulai dengan tanda dolar (“$“) dan harus dimulai dengan huruf dan dapat diikuti oleh huruf dan angka. Dengan demikian, $warpspeed, $impuls_speed, $LCAR dan $Dilithium1 adalah contoh penamaan variabel PHP yang valid.

Setiap variabel dalam PHP peka terhadap perbedaan huruf kapital dan non kapital, sehingga $subspace, $SubSpace, dan $SUBSPACE adalah tiga buah variabel yang berbeda.

Mari kita coba latih sedikit penggunaan variabel PHP dengan contoh di bawah ini yang merupakan modifikasi dari contoh coba1.php.

<html>
<head>
<title>Test Penyisipan PHP Pada HTML</title>
</head>
<body>

Kapal Asing, Silakan identifikasikan diri Anda! <br>

<?php

// Berikut ini adalah inisiasi beberapa variabel
$namad = "Jean";
$namat = "Luc";
$namab = "Piccard";

?>

<b>Ini adalah kapal Federasi Planet USS Enterprise.<br>

<?php

echo "Saya $namab, $namad $namat $namab, kapten kapal.</b>";

?>

</body>
</html>

Variabel $namad, $namat, $namab adalah variabel yang dari awal diset sebagai variabel string dan kemudian isinya digunakan pada pemanggilan fungsi PHP echo(). Fungsi echo() merupakan fungsi yang sangat populer di PHP dan umumnya digunakan untuk membentuk keluaran tampilan. Saudara kembar dari fungsi echo() ini adalah fungsi print(). Kode berikut ini dapat digunakan sebagai contoh penggunaan fungsi print() untuk menggantikan fungsi echo(). Anda bisa menyimpan kode ini dengan nama coba2.php.

<html>
<head>
<title>Test Penyisipan PHP Pada HTML</title>
</head>

<body>

Kapal Asing, Silakan identifikasikan diri Anda! <br>

<?php

// Berikut ini adalah inisiasi beberapa variabel

$namad = "Jean";
$namat = "Luc";
$namab = "Piccard";

?>

<b>Ini adalah kapal Federasi Planet USS Enterprise.<br>

<?php

print("Saya $namab, $namad $namat $namab, kapten kapal.</b>");

?>

</body>
</html>

Berikut ini adalah sebuah contoh mengenai betapa luwesnya penggunaan variable dalam PHP. Simpan kode ini dalam nama coba3.php.

<?php
// Contoh variabel $a
$a = "Testing";

// Kini $a adalah variable jenis String
echo "Nilai a adalah $a (string)<br>";

$a = 55;

// Kini $a adalah variable jenis Integer
echo "Nilai a berubah menjadi $a (Integer)<br>";

$a = 7.5;

// Kini $a adalah variable jenis floating point
echo "Nilai a sekarang menjadi $a (floating point)<br>";

?>

Daftar Peralatan Geordi LaForge Yang Akan Dibeli

Kita telah mengenal dasar-dasar penggunaan variabel dalam PHP. Sekarang kita teruskan perjalanan kita dengan mempelajari penggunaan beberapa operator matematika yang paling berguna untuk menyusun sebuah daftar, katakanlah Geordi LaForge akan menyusun daftar belanja peralatan di markas Federasi Planet untuk ekspedisi di Deep Space 9.

Geordi berencana membeli peralatan:

  • Senjata Phaser 2 buah
  • Tricorder 5 buah
  • Visor Cadangan 1 buah
  • Analyzer Photonik 3 buah

Senjata phaser berharga 7.500 dolar, Tricorder 12.500 dolar, Visor 16.000 dolar dan Analyzer Photonik berharga 2.300 dolar. Sebagai langganan, Geordi mendapatkan diskon 5% dari seluruh jenis peralatan yang dibeli. Bagaimanakah kita menyusun halaman HTML untuk menampilkan tabel daftar peralatan Geordi beserta harga dan total harganya? Anda bisa mencoba mempelajari kode di bawah ini yang dapat Anda simpan dengan nama coba4.php.

<?php

// inisiasi variable yang digunakan

// nama peralatan
$alat_geordi1 = "Phaser";
$alat_geordi2 = "Tricorder";
$alat_geordi3 = "Visor";
$alat_geordi4 = "Analyzer Photonik";

// harga per unit peralatan
$harga_alat_geordi1 = 7500;
$harga_alat_geordi2 = 12500;
$harga_alat_geordi3 = 16000;
$harga_alat_geordi4 = 2300;

// jumlah peralatan yang ada
$jumlah_alat_geordi1 = 2;
$jumlah_alat_geordi2 = 5;
$jumlah_alat_geordi3 = 1;
$jumlah_alat_geordi4 = 3;

// total harga per jenis peralatan
$total_alat_geordi1 = $jumlah_alat_geordi1 * $harga_alat_geordi1;
$total_alat_geordi2 = $jumlah_alat_geordi2 * $harga_alat_geordi2;
$total_alat_geordi3 = $jumlah_alat_geordi3 * $harga_alat_geordi3;
$total_alat_geordi4 = $jumlah_alat_geordi4 * $harga_alat_geordi4;

// hitung grand total nilai peralatan Geordi
$total_ harga = $total_alat_geordi1 + $total_alat_geordi2
+ $total_alat_geordi3 + $total_alat_geordi4;

// besar diskon untuk Geordi
$diskon = 5;

// jumlah total diskon yang diberikan kepada Geordi
$nilai_diskon = ($diskon * $total_harga)/100;

// jumlah yang harus dibayar Geordi
$total_harga_dibayar = $total_harga - $nilai_diskon;

?>

<html>
<head>
<title>Geordi dan Daftar Peralatan Yang Dibeli</title>
</head>
<body>
<center>

<table border="1" cellspacing="0" cellpadding="3">

<tr>
<td colspan="4" align="center" valign="middle">
<b>Daftar Pemesanan Peralatan Geordi La Forge - NCC1701D</b>
</td>
</tr>

<tr>
<td><b>Nama Peralatan</b></td>
<td><b>Jumlah</b></td>
<td><b>Harga Satuan</b></td>
<td><b>Jumlah Harga</b></td>
</tr>

<?php

// Mulai untuk mengisi tabel daftar dengan data yang ada

?>

<tr>
<td align="left"><?php echo $alat_geordi1; ?></td>
<td align="right"><?php echo $jumlah_alat_geordi1; ?></td>
<td align="right"><?php echo $harga_alat_geordi1; ?></td>
<td align="right"><?php echo $total_alat_geordi1; ?></td>
</tr>

<tr>
<td align="left"><?php echo $alat_geordi2; ?></td>
<td align="right"><?php echo $jumlah_alat_geordi2; ?></td>
<td align="right"><?php echo $harga_alat_geordi2; ?></td>
<td align="right"><?php echo $total_alat_geordi2; ?></td>
</tr>

<tr>
<td align="left"><?php echo $alat_geordi3; ?></td>
<td align="right"><?php echo $jumlah_alat_geordi3; ?></td>
<td align="right"><?php echo $harga_alat_geordi3; ?></td>
<td align="right"><?php echo $total_alat_geordi3; ?></td>
</tr>

<tr>
<td align="left"><?php echo $alat_geordi4; ?></td>
<td align="right"><?php echo $jumlah_alat_geordi4; ?></td>
<td align="right"><?php echo $harga_alat_geordi4; ?></td>
<td align="right"><?php echo $total_alat_geordi4; ?></td>
</tr>

<tr>
<td colspan="3" align="right">Total Harga</td>
<td align="right"><?php echo $total_harga; ?></td>
</tr>

<tr>
<td colspan="3" align="right">
Diskon <?php echo "( $diskon % )"; ?></td>
<td align="right"><?php echo $nilai_diskon; ?></td>
</tr>

<tr>
<td colspan="3" align="right">Jumlah harus dibayar</td>
<td align="right"><?php echo $total_harga_dibayar; ?></td>
</tr>

</table>

</center>
</body>
</html>

Kelihatan seperti program yang panjang dan kompleks? Sebenarnya program ini sederhana saja, hanya karena kita belum menginjak pada cara mengatur aliran dan pengulangan program maka program ini menjadi panjang. Pada saatnya nanti kita akan mampu membuat program dengan maksud yang sama namun dengan cara yang lebih singkat. Sampai di sini, terpaksa Anda relakan saja harus mengetik kode yang cukup panjang terlebih dahulu. Hitung-hitung latihan membiasakan diri dalam struktur kalimat dan penyisipan kode PHP pada format HTML.

Tampilan hasil kode di atas adalah seperti di bawah ini.

Daftar Pemesanan Peralatan Geordi La Forge – NCC1701D
Nama Peralatan Jumlah Harga Satuan Jumlah Harga
Phaser 2 7500 15000
Tricorder 5 12500 62500
Visor 1 16000 16000
Analyzer Photonik 3 2300 6900
Total Harga 100400
Diskon ( 5 % ) 5020
Jumlah harus dibayar 95380

Dalam contoh di atas, kita telah belajar cara melakukan operasi matematis untuk bilangan. Kita telah mencoba mengalikan, menjumlahkan, membagi dan mengurangi. Untuk jenis data string, kita dapat menggabungkan/menyambung dua buah string dengan operator titik (“.”). Contoh berikut ini akan membantu kita untuk lebih mengerti.

<?php

// inisiasi variabel
$a = "USS Enterprise";
$b = "Menurut catatan kapten";
$c = "Mengunjungi Planet Vulcan;

// alternatif pertama
$alt1 = $a . " " . $c . ", " . $b . ".";

// alternatif kedua
$alt2 = $b . ", " . $a . " " . $c . ".";

?>

<html>
<head>
<title>Menggabungkan String</title>
</head>

<body>

String yang pertama adalah: <br>

<?php echo $alt1; ?>

<br><br>

String yang kedua adalah: <br>

<?php echo $alt2; ?>

</body>
</html>

Simpan kode di atas sebagai coba5.php, dan cobalah menjalankannya dari browser. Maka di layar akan muncul hasil seperti ini:

String yang pertama adalah:
USS Enterprise Mengunjungi Planet Vulcan, Menurut catatan kapten.

String yang kedua adalah:
Menurut catatan kapten, USS Enterprise Mengunjungi Planet Vulcan.

USS Enterprise menghadapi Romulan Warbird

Jika Anda berpengalaman dalam bahasa pemrograman C, Anda pasti familiar dengan perintah include yang hampir selalu muncul di awal kode program C. PHP memiliki dua macam fungsi untuk maksud yang sama, namun dengan karakteristik yang khas untuk masing masing fungsi. Fungsi yang pertama adalah fungsi include() dan yang kedua adalah fungsi require(). Anda dapat mencoba contoh berikut ini sebagai gambarannya.

<html>
<head>
<title>Persenjataan dan Perlengkapan Perang Enterprise</title>
</head>

<?php

// Standar Senjata Kapal Perang Kelas Galaxy
require("torpedo.php");
require("laser.php");

// Standar Perisai Kapal Perang Kelas Galaxy
include("shielding.php");

// Standar Mesin Penggerak Kapal Perang Kelas Galaxy
include("impuls.php");
include("warp.php");

?>

<body>
LCAR: Cek kesiapan perlengkapan perang USS Enterprise NCC-1701-D
<ol type="1">
<li> Torpedo : <?php echo $torpedo; ?>
<li> Laser : <?php echo $laser; ?>
<li> Perisai : <?php echo $shielding; ?>
<li> Mesin Impuls : <?php echo $impuls; ?>
<li> Mesin Warp : <?php echo $warp; ?>
</ol>

<br>
Commander La Forge, segera laporkan semua sistem persenjataan telah dicek dan berfungsi dengan baik.
USS Enterprise siap menghadapi Kapal Romulan. <br>

</body>
</html>

Simpan kode di atas dengan nama coba6.php dan panggil melalui browser. Hopla, akan kita dapatkan begitu banyak pesan kesalahan (error). Tentu saja, karena kita belum membuat file-file torpedo.php, laser.php, shielding.php, impuls.php, dan warp.php. Berikut ini adalah kode program untuk file-file tersebut.

[torpedo.php]

<?php

$torpedo = "Four Bays Photon Torpedo";

?>

[laser.php]

<?php

$laser = "Six Laser Canons";

?>

[shielding.php]

<?php

$shielding = "EM Polarization Shielding";

?>

[impuls.php]

<?php

$impuls = "Federation Impulse Power System";

?>

[warp.php]

<?php

$warp = "Matter/Antimatter Reactor (Warp Core)";

?>

Setelah Anda menuliskan semua file yang dibutuhkan seperti contoh di atas, maka jika Anda memanggil program utamanya (coba6.php), PHP secara otomatis akan mengikutsertakan program-program lain yang ditentukan melalui require() dan include(), membaca variabel $torpedo, $laser, $shielding, $impuls, dan $warp, serta menampilkan isi atau nilai dari variabel tersebut pada halaman yang kita panggil.

Apakah require() dan include() itu benar-benar sama cara kerjanya? Tentu saja tidak, sebab jika sama fungsinya tentu tidak selayaknya dibedakan fungsinya. Perbedaan mendasar antara kedua fungsi ini adalah:

  • Fungsi require() akan selalu digantikan oleh isi dari file yang ditunjuk dalam fungsi ini dan tidak dapat digunakan dalam percabangan/perkondisian (seperti perkondisian “jika ini maka require file anu”) , karena file yang ditunjuk akan selalu direferensi tanpa peduli kondisi struktur/aliran script.
  • Fungsi include() akan mengatur pembacaan file yang ditunjuk dapat sesuai dengan kondisi struktur/aliran script, sehingg fungsi ini dapat digunakan pada percabangan/perkondisian.

Melihat ciri-ciri di atas, require() akan sesuai digunakan untuk mereferensi file yang berisikan variabel dan fungsi-fungsi global yang digunakan pada seluruh bagian dari script utama. Sementara include() umumnya digunakan untuk menyisipkan kode program/script atau tag HTML pada program/script utama, misalkan untuk header atau footer setiap halaman dalam sebuah situs.

Catatan yang penting untuk kedua fungsi ini, parser PHP akan meninggalkan mode PHP dan kembali ke mode HTML standar pada saat membaca file yang ditunjukkan oleh kedua fungsi ini. Itu sebabnya pada contoh di atas, semua file yang ditunjuk oleh fungsi-fungsi ini selalu dimulai dengan tag <?php dan diakhiri dengan tag ?> untuk mengembalikan mode file ke mode script PHP.

Contoh penggunaan fungsi include() yang umum untuk header dan footer pada halaman HTML.

<html>
<head>
<title>Title Halaman</title>
</head>

<body>

<?php

include("header.html");

?>

. . . . . isi halaman HTML . . . . .

<br>

<?php

include("footer.html");

?>

</body>
</html>

Dengan misalnya header.html berisi:

<table width="100%" bgcolor="#A0A0A0">
<tr>
<td bgcolor="#0000F0" align="center">LCAR : USS Enterprise</td>
</tr>
</table>

dan footer.html berisi misalkan:

<table width="100%" bgcolor="#A0A0A0">
<tr>
<td bgcolor="#0000F0" align="center">
<font size="-1">(c) United Federation of Planets.</font>
</td>
</tr>
</table>

Dengan struktur halaman web seperti dicontohkan ini, maka kita dapat dengan mudah membuat keseragaman pada halaman-halaman situs/aplikasi yang kita bangun. Perubahan pada header dan footer dapat dilakukan dengan mengedit kedua file ini saja, tanpa perlu mengganti semua halaman situs/aplikasi yang telah dibangun. Bayangkan jika ada 100 halaman, tentu akan sangat memberikan kita waktu luang untuk bersantai daripada jika kita harus melakukan update halaman satu persatu untuk perubahan ini.

Sampai di sini, kita telah belajar konsep membangun blok PHP, sedikit perintah dasar PHP untuk tampilan layar di browser, dasar-dasar variabel, operasi matematis sederhana, cara penyisipan file pada script PHP. Pengetahuan ini akan dipakai sebagai dasar untuk melanjutkan pelajaran bagaimana membuat dan mengoperasikan masukan lewat form HTML. Anda perlu bersabar menantikan bagian kedua dari tulisan ini.

Filed under: Belajar PHP

Cara mudah belajar PHP

peluche-phpBerikut cara belajar PHP seperti yang pernah dilakuan oleh penulis. Dan perlu diketahui, penulis tidak punya background pendidikan teknologi informasi. Begitu banyaknya resource di internet tentunya tidak sulit untuk memulai belajar sesuatu. Dan dengan adanya fasilitas pencarian yang bagus (google, yahoo) proses pembelajaran akan menjadi lebih mudah. Ditambah lagi blog-blog yang tumbuh subur dan dengan senang hati sharing ilmu.. belajar PHP sama mudahnya dengan berhitung satu dua tiga ( sampai 500 deh… )

Silahkan simak tips belajar PHP menurut pengalaman penulis berikut resource-resource yang mendukung.

Hal yang patut digaris bawahi, belajar madiri lebih bagus daripada belajar seperti kalau kita kursus PHP. Dan kebanyakan orang yang pinter PHP bisa karena belajar mandiri. Tidak percaya? Silahkan adakan survey sendiri .
akrabkan diri dengan HTML,
Walaupun Anda menggunakan PHP Anda tidak akan terlepas dari tag-tag HTML.
Berikut referensi berbahasa Indonesia yang bisa digunakan:
http://www.webmaster-tutorial.com/tutorial/What_is_HTML/1/4
http://www.freewebs.com/buatsite/buatsite02.htm
-http://unilanet.unila.ac.id/index.php?option=displaypage&Itemid=73&op=page&SubMenu=
http://lecturer.eepis-its.edu/~riyanto/web1.html
http://werbach.com/barebones/barebone_id.html

akrabkan diri aplikasi web authoring: dreamweaver, NVU dan kompozer portable
– tutorial dreamweaver
– kompozer, sebuah tool web authoring gratis mirip dreamweaver

perdalam HTML yang berhubungan dengan form,
Mengapa form? karena banyak transaksi di PHP nantinya menggunakan form, misalnya untuk memasukkan data ke dalam database
Referensi:
http://werbach.com/barebones/barebone_id.html#forms

Berkenalan lebih dekat dengan PHP,
baca referensi ini :
http://www.rumahweb.com/journal/berkenalan-dengan-php.htm
http://www.rumahweb.com/journal/php-mysql-tutorial-dasar.htm
– ebook php

mengenal variabel-variabel PHP:
http://phpug.freeservers.com/manual/variabel.htm

berkenalan dengan php dan form,
– form dan php
– membuat login form

bergabung dengan forum diskusi,
Berikut forum diskusi yang bisa diikuti:
http://www.diskusiweb.com
http://www.kaskus.us
http://myquran.org/forum/

aktif di mailing list:
– milis PHPUG

jangan malu bertanya, japri lebih enak
Jangan ragu untuk memulai thread di forum dan coba kirim private message atau email privat ke orang yang Anda rasa bisa dimintai tolong

download PHP manual
– manual PHP berbahasa Inggris
– manual PHP berbahasa Indonesia , http://phpug.freeservers.com/

install webserver di komputer Anda
– install web dan database server di komputer Anda

menulis aplikasi sederhana
belajarlah menulis aplikasi sederhana, misal membuat hit counter, mencari bilangan prima atau lainnya.

tidak harus menghafal script
Syntax-syntax yang ada tidak harus dihafalkan. Tapi untuk difahami. Apabila lupa bisa melihat ke php manual. Atau siapkan contekan khusus syntax-syntax apa saja yang sering Anda gunakan.
– PHP cheat sheet

menginstall aplikasi sederhana
– Cara menginstal sNews CMS di local server
Atau cari script-script PHP dari http://www.hotscripts.com/php kemudian coba install di komputer lokal Anda
Resource lain ada di sini:
– referensi 10 situs penyedia resource PHP

mengedit aplikasi sederhana
Coba untuk mengedit script-script yang ada. Misalnya coba edit CMS sederhana misalnya sNews kemudian tambahkan mod yang tersedia di forumnya.

berkenalan dengan MySQL
http://cs.uad.ac.id/riadi/2006/03/30/belajar-mysql/
– dasar-dasar php dan mysql pdf
– dasar pemrograman php dan mysql pdf

Daftar ke penyedia hosting gratis
daftar ke penyedia hosting gratis. Pilih yang tanpa banner dengan fasilitas PHP dan MySQL.
Pilih salah satu di sini:
http://www.absolutely-free-hosting.com/free-php-hosting.php
– hosting gratis 2 minggu di rumahweb

Upload lewat FTP
– pdf cara upload lewat ftp
Anda bisa memeperoleh software ftp secara gratis di sini:
http://www.filehippo.com/software/ftp/
kalau penulis menggunakan core ftp yang downloadnya di sini

jangan pernah puas, baca yang lebih banyak.
Gunakan google untuk mencari Semua hal ada di situ. Aktif di forum, milis, kalau perlu gabung dengan forum yang berbahasa inggris.Banyak yang Anda bisa dapat dari situ.

selanjutnya terserah Anda…
kalu sudah pinter bisa ikut jadi freelancer di sini.

kalau sudah pintar jangan lupa berbagi.
Kirim artikel ke sini atau ke http://blog.phpug.or.id

jangan terlalu asyik.. jangan lupa jaga ibadah, jaga kesehatan, banyak minum, banyak makan sayur dan buah.
Serius …

Tips belajar PHP yang lain:
http://blog.phpug.or.id/2006/09/07/belajar-php-cara-mudah-cepat/

image40

Proses eksekusi kode PHP

Filed under: Belajar Internet Marketing, ,

Belajar membuat blog/web dengan mudah menggunakan wordpress

Saat ini pembuatan blog atau web site terbilang cukup mudah, hal ini karena adanya suatu sistem yang disebut Content Management System (CMS), yang bisa dikatakan sebagai template web site. Dengan CMS kita tinggal mengupload (copy) CMS ini ke server, menginstallnya setelah selesai tinggal masuk ke administrator untuk mengatur dan mengisi artikel yang diinginkan. Banyaknya CMS opensource yang tersedia kadang membuat kita bingung untuk memilihnya. Tetapi jika masih awam dengan CMS, apalagi belum banyak tahu tentang web programming seperti saya, maka sebaiknya memilih yang sederhana dan mudah, seperti wordpress.

wordpress-login

Jika para blogger / pengguna wordpress ditanya mengapa kok menggunakan wordpress? Mungkin sebagian akan menjawab karena kemudahannya dan konfigurasi yang relatif sederhana. Bagi pengguna awal biasanya tidak memerlukan waktu lama untuk bisa menguasai dan memahaminya. Sederhana bukan berarti minim fasilitas. Memang fasilitas bawaan wordpress sendiri mungkin masih belum mencukupi jika anda ingin web dengan berbagai fasilitas yang wah, tetapi dengan besarnya komunitas dan dukungan plugins yang begitu banyak, kita tinggal menambahkan fasilitas apa yang diinginkan. Mulai dari konfigurasi administrasi, statistik, forum, iklan, artikel, kalender, dan sebagainya.

Bagaimana belajar membuat blog/web site dengan wordpress secara off-line ? Untuk melakukan hal itu diperlukan beberapa komponen yaitu : Apache ( berfungsi sebagai server ), MySQL (Database) dan PHP (bahasa pemrograman web). Coba ikuti langkah-langkah berikut :

A. Menginstall Apache, MySQL dan PHP

  1. Download Apache dan MySQL dalam satu paket Apache friends yaitu xampplite (basic package) dari situs www.apachefriends.org, www.xampp.org atau dari http://sourceforge.net (ukuran sekitar 46 MB) yang bentuk zip atau exe (diinstall terlebih dulu). Untuk mudahnya pilih saja yang zip.
  2. Extract xampplite ke drive yang diinginkan, misalnya C:\xampplite ( memerlukan space hardisk sekitar 115 MB ). Jika download yang exe, install terlebih dahulu.
  3. Untuk mengetest apakan xampplite berhasil, buka folder C:\xampplite, jalankan xampp-control.exe dan klik start di baris Apache dan MySql, tunggu sampai ada tanda
    bahwa keduanya berjalan dengan keterangan tulisan running.xampp-control
  4. Setelah keduanya berjalan ( ada keterangan running ) kemudian buka web browser anda ( mozilla firefox atau internet explorer ) dan ketikkan localhost lalu tekan enter. Maka jika instalasi berhasil akan ditampilkan pesan :
    Welcome to XAMPP for Windows Version …..
    Congratulations:
    You successfully installed XAMPP on this system!xampp-success

B. Menginstall WordPress

  1. Download wordpress terbaru dari alamat resmi wordpress, yaitu : http://wordpress.org, atau langsung download file ini http://wordpress.org/latest.zip ( terkadang tidak bisa download dengan download manager seperti flashget, DAP, IDM dan sebagainya, jadi gunakan saja download standard bawaan browser, misalnya dengan klik kanan dan pilih menu Save As.. atau Save Link As.. ukuran sekitar 1 MB ).
  2. Extract latest.zip tersebut di folder htdocs, dari langkah diatas berarti di folder C:\xampplite\htdocs ( copykan file latest.zip ke folder htdocs, kemudian klik kanan dan pilih extract here dengan program 7zip, Winzip atau Winrar), akan dihasilkan folder wordpress yang berisi tiga folder, yaitu : wp-admin, wp-content dan wp-includes . Juga beberapa file *.php lainnya.
  3. Folder wordpress itulah yang nantinya menjadi nama web yang akan dibuka melalui URL, sehingga bisa kita rename terlebih dahulu, misalnya dari wordpress di ganti menjadi ebsoft sehingga kita nanti membuka web lokal kita dengan mengetikkan http://localhost/ebsoft ( tapi hal itu nanti ).
  4. Agar bisa dijalankan, maka wordpress harus diinstall terlebih dulu. Sebelumnya ada beberapa konfigurasi yang harus dilakukan ( pastikan Apache dan MySQL telah dijalankan, seperti langkah A nomor 3 diatas )
    1. Buka browser dan ketik localhost, kemudian pilih menu sebelah kiri bagian bawah phpMyAdmin ( atau langsung ketikkan di alamat browser http://localhost/phpmyadmin/
    2. Buat database baru dengan mengetikkan nama database di bawah keterangan Create new database, misalnya ebsoftdb kemudian klik Create.
  5. Setelah berhasil dibuat database baru, buka file wp-config-sample.php ( di folder C:\xampplite\htdocs\ebsoft ) dengan text editor seperti Notepad, dan ubah
    datanya seperti berikut ( ini berdasarkan langkah diatas ) : putyourdbnamehere diganti ebsoftdb ( nama database
    yang telah dibuat sebelumnya ) lalu usernamehere diganti root dan hapus text yourpasswordhere sehingga tinggal titik dua (”), kemudian simpan dan close.
  6. Ubah nama file wp-config-sample.php menjadi wp-config.php .
  7. Langkah selanjutnya menginstall wordpress. Buka web browser kemudian isikan alamat URL : http://localhost/ebsoft/wp-admin/install.php akan
    ditampilkan tampilan welcome oleh wordpress.wordpress-welcome
  8. Isikan Blog Title dan alamat email, kemudian klik Install WordPress >>
  9. Jika berhasil akan ditampilkan tampilan wordpress, success! Dan ingat password yang tampil , atau catat.                                     wordpress-success
  10. Untuk memulai pengaturan, mengisi artikel dan sebagainya, bisa langsung masuk ke admin panel, dengan mengklik link log in ( dari tampilan sebelumnya) atau wp-login.php. Atau bisa juga langsung mengetikkan alamat http://localhost/ebsoft/wp-login.php di web browser.                                                                                                        wordpress-login
  11. Ketikkan username : admin dan isikan password yang tampil sebelumnya, kemudian klik login>>
  12. Selesai… selanjutnya kita dapat mulai menulis artikel, menjelajahi dan mempelajari menu-menunya, jangan lupa mengganti passwordnya melalui menu User dan klik edit untuk username admin.                                                                                           wordpress-admin

Filed under: Belajar Internet Marketing, , ,

Seks Aman untuk Perempuan Hamil

pregancyHamil tidak harus berarti stop berhubungan seks lagi. Pasangan suami istri masih dapat melakukan hubungan seks, kecuali jika ada alasan medis dan atas saran dari dokter untuk tidak melakukannya.

Akan tetapi pada saat kehamilan sudah semakin membesar maka perut akan semakin besar pula, sehingga disarankan agar perempuan hamil perlu melakukan dan mencari posisi seks yang nyaman.

Beberapa pakar kesehatan menegaskan, pada kehamilan muda usia tiga bulan atau trimester pertama, pasutri masih harus waspada dan sebaiknya tidak melakukan hubungan intim dulu. Hal ini berlandaskan pada alasan karena tiga bulan pertama merupakan masa rawan di mana janin mulai terbentuk. Kalau terkena benturan sedikit, janin rawan keguguran.

Namun demikian, berhubungan seks saat hamil tidaklah membahayakan bila dilakukan dengan sangat hati-hati. Bahkan, beberapa pakar kandungan mengatakan bahwa melakukan hubungan intim sangat dianjurkan untuk memperlancar proses persalinan.

Berikut ini adalah posisi seks yang aman dilakukan pada kehamilan trimester II:

1. Woman on Top; Posisi ini yang paling nyaman untuk banyak perempuan hamil terutama karena dapat menghindari tekanan yang berlebihan pada bagian perut dan sekaligus dapat mengontrol kedalaman penetrasi.
2. Sitting Style; Posisi ini biasanya pada kehamilan pertengahan atau lanjut di mana tidak memerlukan banyak gerakan. Pria duduk dan perempuan duduk di atasnya saling berhadapan atau membelakangi sang pria, bila perut sudah sangat besar. Posisi ini juga memungkinkan perempuan untuk mengontrol kedalaman penetrasi.
3. Posisi laki-laki di atas tetapi berbaring hanya sepatuh tubuh.
4. Standing Style.

Mengenai ‘strategi’ pemilihan posisi saat berhubungan seks ini sangat beragam, semua tergantung pada kesiapan fisik dan psikis yang bersangkutan. Bagi sebagian perempuan, kehamilan justru meningkatkan dorongan seksual, tetapi bagi sebagian lain tidak berpengaruh. Sementara bagi perempuan yang lain, kehamilan justru menekan atau menurunkan dorongan seksual.

Sementara itu, seks ketika hamil dipengaruhi oleh beberapa hal yang berbeda-beda. Hal-hal yang mempengaruhi aktivitas seksual seseorang ketika sedang hamil, yaitu:

* Kepercayaan yang telah dimiliki tentang seks
* Kepercayaan yang pasangan miliki tentang seks
* Kondisi fisik pada saat kehamilan
* Kondisi emosional pada saat kehamilan

Di luar dari faktor-faktor tersebut, sebenarnya seks pada saat kehamilan bisa lebih nikmat. Cairan vagina lebih meningkat dan perubahan pada area genital membuat beberapa orang justru lebih bisa merasakan orgasme.

Sekedar mengingatkan, apapun jenis posisinya, usahakan bahwa yang paling penting dari semua posisi seks selama kehamilan ini hendaknya TIDAK memberikan tekanan ke bagian perut perempuan hamil. (xbl/ perempuan.com)

Filed under: Sex Education, , ,

Perempuan Cerdas Sulit Orgasme

71406Perempuan-perempuan yang cerdas kebanyakan lebih sulit mencapai orgasme saat berhubungan intim. Ini dikarenakan mereka terlalu sibuk berpikir.

Setidaknya demikian menurut hasil survei yang dilakukan di Jerman seperti dilansir harian Telegraph, Rabu (30/4).

Menurut hasil riset tersebut, semakin tinggi pendidikan seorang perempuan, semakin kecil kemungkinan perempuan itu mencapai kepuasan seks.

Studi tersebut melibatkan 2 ribu perempuan di Jerman yang berumur antara 18 tahun dan 49 tahun. Survei ini dilakukan oleh situs gaya hidup Jerman.

Hasilnya, 62 persen perempuan yang telah menyelesaikan pendidikan mereka mengakui bahwa mereka kerap mengalami masalah untuk mencapai orgasme.

Sebaliknya, hanya 38 persen perempuan dengan kualifikasi pendidikan lebih rendah yang mengakui memiliki masalah orgasme. (xbl; sumber: detikcom)

Filed under: Sex Education,

Internet Marketing

Rahasia Tersembunyi Cara Menghasilkan Duit Per Hari Dari Bisnis Sederhana Di Internet Dengan Memanfaatkan Produk Sendiri Maupun Produk Orang Lain

Melalui halaman ini, saya akan membongkar sebuah rahasia tentang “bagaimana cara menghasilkan Duit per hari dari Internet, atau rata-rata Rp 13 s/d 20 juta per bulan” hanya dengan memanfaatkan produk buatan orang lain.
Rekan netter…
Mungkin anda adalah salah satu orang yang masih mencari peluang untuk mendapatkan penghasilan tambahan dari Internet. Tapi masalahnya, apa yang ingin di jual?
Jika Anda masih belum menemukan ide “PRODUK APA YANG INGIN DI JUAL”, Solusinya adalah, manfaatkan produk buatan orang lain. Tentunya produk-produk Resell, Master Resell dan Private Label Rights. Produk-produk tersebut bisa berupa Software, eBook, Script, dll.

Apa yang di maksud dengan Resell, Master Resell dan Private Label Rights ?

Resell Rights : Produk yang anda beli, boleh anda jual kembali dengan keuntungan 100% milik anda, tetapi konsumen anda tidak dapat menjualnya kembali.

Master Resell Rights : Produk yang anda beli, boleh anda jual kembali dengan keuntungan 100% milik anda. Anda dapat menjualnya dengan lisensi Resell Rights. Anda juga dapat memberikan lisensi Master Resel Rights kepada konsumen anda, sehingga konsumen anda memiliki hak yang sama seperti anda.

Private Label Rights : Jika anda membeli produk Private Label Rights, maka produk tersebut sepenuhnya sudah menjadi milik anda, dan anda akan mendapat source code-nya / file mentah. Anda boleh merubah isi-nya, merubah gambarnya, merubah halaman penjualannya, merubah total produk tersebut menjadi produk baru, bahkan anda bisa mengklaim bahwa produk tersebut adalah buatan anda. Anda dapat menjualnya dengan lisensi Resell, Master Resell, Private Label Rights.Internet Marketing

Giveaway Rights : Anda di izinkan untuk memberikan produk tersebut kepada orang lain, tetapi orang lain tersebut tidak boleh menjualnya.

Branding Rights : Anda dapat merubah url website, Nama, link afiliasi produk tersebut dengan milik anda sendiri.

Untuk mendapatkan produk-produk digital dengan lisensi seperti di atas, Anda sudah tepat berada di situs ini. Karena saya sudah menyiapkannya buat anda. Untuk mendapatkan produk-produk tersebut, anda tidak perlu membelinya secara satuan ataupun secara paket yang isinya hanya 10 s/d 50 produk dari situs lain, seperti yang saya lakukan. Disini anda bisa mendapatkan lebih dari 100 produk-produk digital yang sangat laris di Internet, dan akan terus saya tambah. Produk-produk tersebut-lah yang nantinya akan terus menghasilkan uang untuk anda.

Baca Selanjutnya Klik Disini

Filed under: Peluang Bisnis, , ,

Software Isi Pulsa

Apa itu Software All Operator Isi Pulsa Elektrik Klik disini

Software Isi Pulsa untuk menggantikan tugas operator dalam melayani transaksi reseller. Software ini hampir seluruhnya berfungsi secara otomatis. Auto Start, Auto Redirect, Auto Check, Auto Reply, Auto Block, Auto Notify, Auto Parse. Software Isi Pulsa bersifat universal, bisa digunakan untuk berbagai provider pulsa.

  • Anda mempunyai usaha jual beli pulsa elektrik. Anda membeli pulsa elektrik dari distributor dalam bentuk chip Mkios, Mtronik, Simpati Autorefill, Dompet Pulsa atau dari pengusaha isi pulsa / sub distributor lewat SMS dan kemudian anda mengecerkannya kembali ke toko-toko Hp/pengecer pulsa elektrik.
  • Toko/pengecer pulsa elektrik itu menaruh deposit sebelum memulai transaksi. Dalam pemesanannya toko/pengecer pulsa elektik itu mengirimkan pulsa SMS dalam format tertentu dan Anda memprosesnya secara manual.
  • Karena proses manual tersebut mengandalkan tenaga manusia yang rentan terhadap kekeliruan maka Anda membutuhkan software yang berfungsi menggantikan operator sehingga fungsi menerima sms mencatat transaksi mengirimkan pesanan, membuat laporan bisa ditangani oleh software isi pulsa tersebut.

software isi pulsa elektrik terbaik

Baca Selanjutnya Klik Disini

Filed under: Peluang Bisnis, , , , ,

CINTA ILAHI

Cinta  diarahkan  oleh  kecerdasan.  Karena  itu  tiap  orang  memilih  obyek  cintanya  sesuai  dengan tingkat   evolusinya.   Obyek   itu   tampak   baginya   paling   berhak   atas   cinta   menurut   tingkatan evolusinya.  Di  Timur  ada  pepatah,  “Sebagaimana  jiwa,  demikianlah  malaikatnya.”  Keledai  lebih menyukai rumput berduri daripada mawar.

Kesadaran  yang  bangkit  di  alam  materi  memiliki  obyek  cinta  hanya  pada  keindahan  duniawi. Kesadaran  yang  bekerja  melalui  pikiran  menemukan  obyeknya  dalam  gagasan  dan  di  antara orang-orang yang berpikir. Kesadaran yang bangkit melalui hati menyukai cinta dan orang-orang yang mencintai. Kesadaran yang bangkit di dalam jiwa mencintai ruh dan spiritual.

Cinta  tanpa  kata,  yang  merupakan  inti  ilahi  di  dalam  manusia,  menjadi  aktif  dan  hidup  ketika melihat  keindahan.  Keindahan  dapat  dijelaskan  sebagai  kesempurnaan,  kesempurnaan  dalam setiap aspek keindahan. Cinta itu sendiri bukanlah Allah atau esensi Allah, tetapi juga keindahan, bahkan  dalam  aspek  yang  terbatas,  membeberkan  diri  sebagai  perwujudan  Keberadaan  yang sempurna.

Kerajaan    mineral    berkembang    menjadi    emas,    perak,    berlian,    dan    permata, menunjukkan keindahannya. Buah dan bunga, manis dan harumnya menunjukkan kesempurnaan kerajaan tumbuh-tumbuhan. Bentuk, corak, dan kemudaan menunjukkan kesempurnaan kerajaan hewan.

Keindahan   kepribadian   merupakan   kesempurnaan   yang   nyata   di   dalam   manusia. Beberapa orang di dunia ini hidupnya tenggelam dalam pencarian emas, perak, dan batu permata. Mereka  rela  mengorbankan  apapun  dan  siapapun  untuk  memperoleh  obyek  cinta  mereka. Beberapa  orang  lain  hidupnya  terserap  dalam  keindahan  buah-buahan,  bunga,  dan  taman. Mungkin  mereka  tak  tertarik  obyek  lain.  Beberapa  orang  terserap  dalam  mengagumi  keindahan dan  kemudaan  lawan  jenis  kelaminnya,  dan  hal-hal  lain  tampak  tak  bernilai.  Orang  lain  terpaku pada  keindahan  kepribadian  seseorang,  dan  telah  sepenuhnya  membaktikan  diri  kepada  orang yang  mereka  cintai  baik  di  sini  maupun  di  hari  kelak.

Semua  orang  mempunyai  obyek  cinta menurut  standar keindahannya  sendiri,  dan  setiap  orang  mencintai  kesempurnaan  Keberadaan ilahi dalam aspek tertentu. Ketika orang melihat ini, tak seorang pun, bijak atau bodoh, pendosa atau  orang  baik,  tak  dapat  disalahkan  dalam  pandangannya.  Ia  melihat  dalam  setiap  hati  jarum kompas   yang   mengarah   ke   Keberadaan   yang   sama.   “Allah   itu   indah   dan   Dia   menyukai keindahan,” seperti disebutkan di dalam Hadits.

Manusia  tak  pernah  mampu  mencintai  Allah  di  surga  bila simpatinya  belum  bangkit  terhadap keindahan di bumi.

Seorang  perawan  desa  sedang  pergi  untuk  menemui  kekasihnya.  Ia  melewati  seorang  Mullah yang sedang melakukan shalat. Karena tidak tahu, ia berjalan di depan Mullah itu, suatu hal yang dilarang oleh agama. Mullah itu sangat marah, hingga ketika gadis itu kembali lewat di dekatnya, ia memarahinya. Ia berkata. “Alangkah berdosanya, hai gadis muda, berjalan di depanku ketika aku sedang shalat.

” Gadis itu berkata, “Apa artinya shalat?” Dijawab, “Aku sedang memikirkan Allah, Tuhan langit dan bumi.” Gadis itu berkata, “Maafkan aku, aku belum tahu Allah dan shalat bagi- Nya, tetapi tadi aku sedang berjalan menuju kekasihku dan memikirkan kekasihku, hingga aku tak melihatmu  sedang  shalat.  Aku  heran  bagaimana  anda  yang  sedang  memikirkan  Allah  dapat melihatku?” Perkataan gadis itu sangat berkesan pada Mullah hingga ia berkata, “Sejak saat ini, hai gadis, engkau adalah guruku. Akulah yang harus belajar darimu.”

Suatu  ketika  seseorang  datang  kepada  Jami  dan  minta  agar  dijadikan  muridnya.  Jami  berkata, “Pernahkah  engkau  mencintai  seseorang  dalam  hidupmu?”  Ia  menjawab,  “Tidak.”  Jami  berkata,
“Kalau begitu, pergilah dan cintailah seseorang, dan kemudian datanglah kepadaku.”

Dengan  alasan  itulah  para  guru  besar  sering  mengalami  kesulitan  dalam  membangkitkan  cinta kepada Allah di dalam rata-rata manusia. Orang tua memberi boneka kepada anak perempuannya agar   anak   itu   tahu   bagaimana   memberi   pakaian   kepadanya,   bagaimana   menyayanginya, bagaimana menjaganya, bagaimana mencintai dan mengaguminya; hal ini melatih anak agar kelak menjadi  ibu  yang  mencintai.  Tanpa  latihan  ini,  yang  kemudian  akan  menjadi  sulit.  Cinta  ilahi merupakan  hal  yang  asing  bahwa  rata-rata  orang  karena  sentuhan  keibuan  terhadap  anak gadisnya tidak dapat dimainkan secara penuh terhadap boneka.

Seorang  murid  telah  lama  melayani  pembimbing  spiritual,  tetapi  ia  tak  membuat  kemajuan  dan tidak  menerima  inspirasi.  Ia menghadap  gurunya  dan  berkata,  “Aku  telah  melihat  banyak  sekali murid  yang  menerima  inspirasi,  tetapi  aku  ini  begitu  malang  hingga  tak  memperoleh  kemajuan sama  sekali,  maka  kini  aku  harus  menyerah  dan  meninggalkanmu.

”  Guru  itu  memintanya  agar menghabiskan hari-hari terakhir di dalam sebuah rumah tertentu, dan setiap hari ia mengirimkan makanan  yang  lezat  dan  berkata  agar  ia  menghentikan  latihan  spiritual,  agar  memperoleh kehidupan yang nyaman dan santai. Pada hari terakhir ia mengirimi murid itu sekeranjang buah melalui seorang gadis cantik.

Gadis itu menata buah-buahan dan segera pergi meskipun murid itu berusaha untuk menahannya. Kecantikan dan pesonanya sangat besar, hingga murid itu sangat mengagumi dan terpikat olehnya, dan ia tak memikirkan hal-hal lain. Setiap jam dan setiap menit murid itu hanya rindu untuk bertemu lagi dengannya.

Kerinduannya bertambah setiap saat. Ia lupa untuk  makan,  ia  dipenuhi  air  mata  dan  napas  panjang,  karena  hatinya  kini  menjadi  hangat  dan lumer  oleh  api  cinta.  Setelah  beberapa  lama,  ketika  guru  mengunjungi  murid  itu,  dengan  satu pandangan ia memberi inspirasi kepadanya. “Baja pun dapat dibentuk bila dipanasi di dalam api,” demikian pula dengan hati yang dilumerkan dengan api cinta.

Ada  anggur  cinta  yang  disebut  Sherab-i  Kauthar,  anggur  yang  terdapat  di  dalam  surga.  Ketika mabuk cinta meningkat di dalam manusia, ia disebut cinta buta atau gila dalam cinta, karena orang yang  melihat  ilusi  di  permukaan  menganggap  diri  sendiri-lah  yang  sadar  dan  terjaga.  Tetapi keterjagaan mereka adalah terhadap tipuan, bukan terhadap realita.

Meskipun pecinta disebut gila, kegilaannya  terhadap  satu  obyek  dunia  ilusi  akan  membuatnya  secara  bertahap  terbebas  dari semua tipuan di sekelilingnya. Bila ia berhasil, ia akan menikmati penyatuan dengan kekasihnya di dalam  visi  bahagianya.  Maka  dengan  seketika  tersingkaplah  selubung  [hijab]  yang  menutupi pandangannya terhadap obyek yang dicintainya. Al Qur’an menyebutkan, “Kami akan mengangkat hijab dari matamu dan pandanganmu akan menjadi tajam.”

Secara alami, seorang pecinta terobsesi oleh seseorang yang dikaguminya, yang ia ingin bersatu dengannya. Tetapi tak ada satu obyek pun di dunia ini yang sempurna hingga dapat memuaskan keinginan hati yang mencintai. Ini merupakan batu penghalang yang menyebabkan setiap pemula gagal  dalam  mencintai.

Pejalan  yang  berhasil  di  jalur  cinta  adalah  orang-orang  yang  cintanya begitu  indah  hingga  memberi  keindahan  yang  tidak  didapat  di  dalam  idaman  mereka.  Dengan melakukan  ini,  pada  saatnya  pecinta  akan  terangkat  ke  atas  keindahan  kekasih  yang  berubah- ubah dan terbatas, tetapi mulai melihat ke dalam keberadaan terdalam kekasihnya.

Dengan kata lain,  bagian  luar  kekasih  hanyalah  sarana  untuk  menarik  cinta  dari  hati  pecinta,  tetapi  cinta  itu mengantarkannya dari luar ke lapisan terdalam dari kesempurnaan cintanya. Bila di dalam idaman itu  pecinta  telah  merasakan  keberadaan  yang  tak  terbatas  dan  sempurna,  apakah  ia  mencintai manusia atau Allah, sesungguhnya ia adalah pecinta yang sempurna.

Di  sini  perjalanan  melalui  jalur  idealisme  berakhir,  dan  perjalanan  melalui  kesempurnaan  ilahi dimulai, karena kesempurnaan Allah diperlukan bagi pencapaian kesempurnaan hidup. Kemudian manusia mencari obyek cinta yang sempurna, mengidealkan Allah, Keberadaan tunggal, Yang Tak Terhingga, yang berada di atas semua cahaya dan kegelapan dunia, di atas baik dan buruk, yang bebas dari semua keterbatasan, bebas dari kelahiran dan kematian, tak berubah, tak terpisahkan dari kita, Maha meliputi (berada), selalu hadir di depan mata pecinta-Nya.

Bila cinta itu sejati, ia melenyapkan pementingan diri sendiri, karena ini merupakan satu-satunya solusi untuk menghapus ego. Ungkapan “jatuh cinta” [fall in love] membawa gagasan sifat cinta yang sesungguhnya. Benar-benar jatuh dari ketinggian ego ke tanah ketiadaan,  tetapi sekaligus kejatuhan ini akan membuatnya naik, karena seberapa dalamnya pecinta jatuh, sedemikian pula tingginya ia akan meningkat pada akhirnya. Pecinta yang jatuh dalam cinta adalah seperti benih yang  jatuh  ke  tanah.  Keduanya  tampak  rusak,  tetapi  keduannya  pada  saatnya  akan  tumbuh bersemi dan menghasilkan buah bagi dunia yang senantiasa lapar.

Musuh  terbesar  manusia  adalah  ego-nya,  gagasan  mengenai  diri  sendiri.  Ini  merupakan  kuman yang  menghasilkan  semua  keburukan  dalam  manusia.  Perbuatan  baik  seorang  egois  berubah menjadi  dosa,  dan  dosa  kecilnya  berubah  menjadi  kejahatan  besar.  Semua  agama  dan  filsafat mengajar manusia untuk menindasnya, dan tak ada alat yang dapat melumatkannya dengan lebih baik  daripada  cinta.  Tumbuhnya  cinta  adalah  kematian  ego.  Cinta  yang  sempurna  sepenuhnya membebaskan  pecinta  dari  pementingan  diri  sendiri,  karena  cinta  dapat  disebut  juga  dengan peniadaan [annihilation]. “Sesiapa yang memasuki sekolah cinta, pelajaran pertama yang diterima adalah menjadi bukan apa-apa.”

Bersatu  tidak  mungkin  tanpa  cinta,  karena  hanya  cinta  yang  dapat  mempersatukan.  Setiap ungkapan cinta menandakan pencapaian penyatuan dengan obyeknya, dan dua obyek tak dapat bersatu kecuali salah satunya menjadi bukan apa-apa. Tak seorang pun mengetahui rahasia hidup ini  kecuali  pecinta.

Iraqi  berkata,  “Ketika  aku  tanpa  cinta  pergi  ke  Ka’bah  dan  mengetuk  pintu gerbang, sebuah suara datang: ‘Apa yang engkau lakukan di rumahmu hingga engkau datang ke sini?’ Dan ketika aku pergi, karena aku lenyap dalam cinta, dan mengetuk pintu gerbang Ka’bah, datanglah suara: ‘Datanglah, datanglah hai Iraqi, engkau adalah bagian dari kami.'”

Bila ada sesuatu yang melawan kebanggaan ego, ia adalah cinta. Sifat cinta adalah berserah diri. Dunia keragaman yang membagi kehidupan menjadi bagian-bagian yang terbatas, menyebabkan setiap  yang  lebih  kecil  berserah  diri  kepada  yang  lebih  besar.  Setiap  yang  lebih  besar,  baginya masih ada sesuatu yang lebih besar darinya; dan bagi setiap yang lebih kecil masih ada yang lebih kecil   darinya.

Sebagaimana   setiap   jiwa   secara   alami   cenderung   untuk   berserah   kepada kesempurnaan  dalam  semua  tingkatan,  satu-satunya  masalah  adalah  apakah  ia  mau  atau  tidak mau berserah diri. Yang pertama datang dari cinta, yang kedua datang dari ketakberdayaan yang membuat   hidup   susah.   Para   Sufi   tersentuh   ketika   membaca   di   dalam   Al   Qur’an   bahwa Keberadaan   sempurna   bertanya   kepada   jiwa-jiwa   yang   tak   sempurna,   anak-anak   Adam, “Siapakah  Tuhanmu?”  Menyadari  ketidaksempurnaannya,  mereka  menjawab  dengan  merendah, “Engkaulah  tuhanku.

”  Maka  berserah  diri  adalah  kutukan,  bila  orang  dipaksa  untuk  menyerah dengan dingin. Tetapi hal yang sama menjadi kegembiraan yang terbesar bila dilakukan dengan cinta dan dengan sukarela.

Cinta merupakan praktek moral Suluk, jalan kebaikan. Kegembiraan pecinta berada di dalam ridha kekasihnya.  Pecinta  puas  bila  kekasih  terpuaskan.  “Siapa  yang  dalam  hidup  memberkahi  orang yang mengutuknya? Siapa yang dalam hidup mengagumi orang yang membencinya? Siapa yang dalam hidup setia kepada orang yang tak setia? Tak lain dari seorang pecinta.” Dan pada akhirnya diri pecinta lenyap dari pandangannya, hanya wajah kekasih, wajah yang dirindukan, yang ada di depannya selamanya.

Cinta adalah inti semua agama, mistisisme, dan filsafat, dan orang yang telah belajar cinta ini telah memenuhi tujuan agama, etika dan filsafat, dan pecinta itu terangkat ke atas semua ragam agama dan kepercayaan.

Suatu saat Musa memohon kepada Tuhan bani Israel di gunung Sinai, “Hai Tuhan, Engkau telah begitu besar memberi kehormatan kepadaku dengan menjadikan aku utusan-Mu. Bila masih ada kehormatan  yang  lebih  besar,  aku  mohon  Engkau  datang  ke  rumahku  dan  membelah  roti  di  mejaku.”  Maka  datang  jawaban,  “Musa,  dengan  senang  hati  Kami  akan  datang  ke  rumahmu.” Musa menyiapkan makanan yang lezat dan menunggu dengan penuh harap kedatanggan Allah. Kebetulan, di depan pintu rumahnya lewat seorang pengemis yang berkata, “Musa, aku sakit dan lelah,  aku  tidak  makan  selama  tiga  hari  dan  aku hampir  mati.  Berilah  aku  sepotong  roti  dan selamatkan nyawaku.”

Karena  sangat  berharap  atas  kedatangan  Allah,  Musa  berkata  kepada  pengemis  itu,  “Tunggu, engkau akan kuberi lebih dari sepotong, dan makanan lain yang enak. Aku menunggu kedatangan tamu yang akan datang petang ini. Bila ia telah pergi, maka semua yang tersisa akan kuberikan kepadamu  agar  engkau  dapat  membawanya  pulang.”  Orang  itu  pergi  dan  waktu  berlalu,  tetapi Allah  tidak  datang,  maka  Musa  kecewa.

Keesokan  harinya  Musa  pergi  ke  Sinai  dan  menangis, “Tuhanku,  aku  tahu  Engkau  tidak  mengingkari  janji,  tetapi  dosa  apa  yang  aku  lakukan  hingga Engkau  tidak  datang  seperti  Engkau  janjikan?”  Allah  berkata  kepada  Musa,  “Kami  datang,  hai Musa, tetapi sayang, engkau tak mengenali Kami. Siapa pengemis di depan pintumu? Apakah ia bukan  Kami?  Kami-lah  yang  berada  di  dalam  semua  bentuk  yang  hidup  dan  bergerak  di  dunia, namun kami jauh di dalam langit abadi Kami.”

Keragaman   dapat   terjadi   dalam   agama-agama,   tetapi   motif   dari   semuanya   adalah   satu: menyuburkan  dan  menyiapkan  hati  manusia  bagi  cinta  ilahi.  Kadang-kadang  ruh  pembimbing menarik perhatian manusia agar melihat dan mengagumi keindahan Allah di langit, kadang-kadang di  dalam  pohon  dan  batu,  membuatnya  menjadi  pohon  sakral,  gunung  suci,  dan  sungai  yang menyucikan.

Kadang-kadang  ia  menuntun  perhatian  manusia  agar  melihat  keberadaan  Allah  di antara  hewan  dan  burung-burung,  dengan  menyebut  mereka  hewan  suci,  burung  sakral.  Ketika
manusia menyadari bahwa tak ada ciptaan yang lebih tinggi dari dirinya, ia berhenti menyembah ciptaan  yang  lebih  rendah,  karena  mengenali  cahaya  ilahi  yang  menjelma  di  dalam  manusia. Maka, dalam tahapan evolusi manusia, dunia melihat Allah di dalam manusia, terutama di dalam orang suci yang berkesadaran Allah.

Manusia dengan diri yang terbatas tak dapat melihat Allah, keberadaan yang sempurna, dan bila ia mampu  menggambarkan-Nya,  gambaran  yang  terbaik  adalah  manusia.  Bagaimana  ia  dapat membayangkan sesuatu yang belum pernah diketahuinya? “Kami menciptakan manusia menurut gambar  Kami  sendiri.

”  Krishna  bagi  orang  Hindu,  Buddha  bagi  para  Buddhis,  adalah  Allah  bagi manusia.   Para   malaikat   tak   pernah   digambarkan   dengan   bentuk   selain   manusia.   Bahkan penyembah  Allah  yang  tak  berbentuk  telah  mengidealkan  Allah  dengan  kesempurnaan  atribut manusia, meskipun ini hanya merupakan tangga untuk mencapai cinta dari Allah yang sempurna, yang diperoleh secara bertahap.

Hal  ini  dijelaskan  dalam  kisah  masa  lalu.  Suatu  ketika  Musa  berjalan  melalui  sebuah  padang ternak dan melihat seorang anak gembala berbicara kepada diri sendiri “Ya Tuhan, Engkau begitu baik hingga aku merasa bila Engkau berada di sini, aku akan menjagamu dengan lebih baik dari pada  semua  kambingku,  lebih  dari  semua  ayamku.  Bila  hujan  aku  akan  menempatkan-Mu  di bawah  atap  ilalang,  bila  dingin  aku  akan  menutup  diri-Mu  dengan  selimutku,  dan  bila  panas matahari menyengat aku akan membawamu mandi di sungai. Aku akan membawamu tidur dengan kepala-Mu di pangkuanku, aku akan mengipasimu dengan topiku, dan akan selalu mengawasimu dan menjagamu dari serigala.

Aku akan memberimu roti untuk makan dan susu untuk minum, dan untuk menghiburmu aku akan menyanyi dan menari dan memainkan serulingku. Ya Tuhanku, bila Engkau mendengarkan ini, datanglah dan lihat bagaimana aku akan memanjakan-Mu.”

Musa  terkejut  mendengar  semua  itu,  dan,  sebagai  pengantar  pesan  ilahi,  ia  berkata,  “Alangkah kurangajarnya engkau, hai anak gembala, dengan membatasi Dia yang tak berbatas, Allah, Tuhan alam  semesta,  yang  tak  berbentuk,  tak  berwarna  dan  tak  dapat  ditangkap  dengan  pemahaman manusia.” Anak gembala itu sedih dan takut atas apa yang telah dilakukannya. Namun kemudian datang  wahyu  kepada  Musa:  “Kami  ridha  dengan  perbuatannya,  hai  Musa,  karena  Kami  telah
mengutusmu  untuk  mempersatukan  keberadaan  Kami  yang  terpisah-pisah  dengan  Kami,  bukan untuk mencerai-beraikan. Berkatalah kepada setiap orang menurut tingkatan evolusinya.”

Hidup  di  dunia  penuh  dengan  kebutuhan,  tetapi  di  antara  berbagai  kebutuhan,  kebutuhan  akan sahabat adalah yang terpenting. Tiada kesedihan yang lebih besar dari kesedihan orang yang tak berteman. Bumi ini akan berubah menjadi surga bila seseorang menginginkan teman dalam hidup. Namun surga, dengan semua kesenangan yang diberikannya, akan menjadi neraka bila tak ada teman yang dicintai.

Jiwa  yang  berpikir  selalu  mencari  persahabatan  yang  berlangsung  lama.  Orang  bijak  lebih menyukai  seorang  teman  yang  mau  berjalan  bersamanya  dalam  sebagian  besar  perjalanan hidupnya. Miniatur dari perjalanan hidup kita dapat dilihat pada perjalanan biasa. Bila ketika kita pergi   ke   Swiss,   kita   berteman   dengan   seseorang   yang  membeli   tiket   ke   Bombay,   maka kebersamaan  dengannya  akan  berlangsung  beberapa  lama,  dan  sesudah  itu,  di  sepanjang  sisa perjalanan  kita  akan  pergi  sendirian.  Setiap  persahabatan  di  dunia  hanya  akan  berlangsung sebentar   dan   akan   berhenti.

Karena   perjalanan   kita   akan   melampaui   kematian,   bila   ada persahabatan yang kekal, maka persahabatan itu hanyalah dengan Allah, yang tak berubah dan tak  berakhir.  Tetapi  bila  kita  tak  dapat  melihat  dan  tak  dapat  menangkap  keberadaan-Nya,  tak mungkin  kita  berteman  dengan  seseorang  yang  tak  kita  sadari.  Dengan  Allah  sebagai  satu- satunya  sahabat,  persahabatan  dengan-Nya  adalah  satu-satunya  persahabatan  di  dunia  yang dapat   menuntun   kita   kepada   Kekasih   ilahi.   Banyak   di   antara   para   Sufi   yang   mencapai kesempurnaan  Allah  melalui  Rasul,  manusia  ideal.

Dan  orang  mencapai  pintu  Rasul  melalui Syekh,  mursyid  atau  pembimbing  spiritual,  yang  jiwanya  terfokus  kepada  ruh  Rasul  sehingga terkesan  oleh  kualitasnya.  Jalan  ini  menjadi  jelas  bagi  para  pejalan  di  jalur  pencapaian  Kekasih ilahi.

Persahabatan dengan Syekh tak punya motif selain bimbingan dalam mencari Allah. Persahabatan
itu akan berlangsung selama anda ada, selama anda mencari Allah, selama bimbingan diperlukan. Persahabatan    dengan    Syekh    disebut    Fana-fi-Syekh,    dan    ini    kemudian    berubah    menjadi
persahabatan  dengan  Rasul.  Bila  murid  menyadari  keberadaan  kualitas  spiritual  mursyid  yang lebih dari manusia biasa, itulah saatnya ia siap untuk Fana-fi-Rasul.

Persahabatan dengan Syekh adalah persahabatan dengan bentuk, dan bentuk itu dapat lenyap. Orang mungkin berkata, “Aku punya seorang ayah, tetapi sekarang sudah tiada.” Sesungguhnya, kesan tentang ayahnya masih ada di dalam pikirannya. Kebaktiannya kepada Rasul adalah seperti itu.  Nama  dan  kualitasnya  masih  ada  meskipun  bentuk  fisiknya  telah  lenyap  dari  bumi.  Rasul adalah personifikasi dari cahaya bimbingan yang diidealkan murid menurut tingkatan evolusinya.
Kapan  pun  murid  itu  mengingatnya,  di  darat,  di  udara  air,  di  dasar  laut,  ia  hadir  bersamanya. Kebaktian  kepada  Rasul  merupakan  tahapan  yang  tak  dapat  diabaikan  dalam  pencapaian  cinta
ilahi. Tahapan ini disebut Fana-fi-Rasul.

Setelah itu datanglah Fana-fi-Allah, ketika cinta kepada Rasul tenggelam ke dalam cinta kepada Allah.   Rasul   adalah   Guru   yang   diidealkan   karena   atributnya   yang   dicintai,   kebaikannya, kesuciannya, kasihnya. Keutamaannya dapat dipahami. Bentuknya tak diketahui, hanya namanya yang menunjukkan kualitasnya. Tetapi Allah adalah nama yang diberikan kepada kesempurnaan ideal di mana semua keterbatasan lenyap, dan dalam Allah ideal itu berakhir.

Seseorang  tak  kehilangan  persahabatan  dengan  mursyid  atau  dengan  Rasul,  tetapi  ia  melihat mursyid   di   dalam   Rasul   dan   melihat   Rasul   di   dalam   Allah.   Kemudian   untuk   memperoleh bimbingan, untuk memperoleh nasihat, ia hanya mencarinya dari Allah saja.

Ada  kisah  mengenai  Rabiah,  seorang  Sufi  besar,  bahwa  ia  pernah  melihat  Muhammad  dalam visinya dan ia ditanya oleh Nabi, “Hai Rabiah, siapa yang kau cintai?” Ia menjawab, “Allah.” Nabi  berkatka,  “Bukan  Rasul-Nya?”  ia  menjawab,  “Hai  Guru  yang  diberkahi,  siapa  di  dunia  ini  yang mengetahuimu tetapi tak mencintaimu? Tetapi kini hatiku begitu tenggelam dalam Allah hingga aku tak dapat melihat sesuatu kecuali Dia.”

Bagi mereka yang melihat Allah, Rasul dan Mursyid lenyap dari pandangan. Mereka hanya melihat Allah di dalam Mursyid dan Rasul. Mereka melihat segala sesuatu sebagai Allah dan tak melihat yang lain.

Dengan kebaktian kepada mursyid, murid belajar mencintai, berdiri dengan kerendahan anak kecil, pada  wajah  setiap  makhluk  di  bumi  ia  melihat  bayangan  wajah  mursyidnya.  Bila  Rasul  yang diidealkan,  ia  melihat  semua  yang  indah  terefleksi  di  dalam  kesempurnaan  Rasul  yang  tidak tampak.Kemudian ia menjadi independen bahkan dari keutamaan, yang juga memiliki kutub yang berseberangan, dan pada kenyataannya tidak ada, karena itu hanya perbandingan yang membuat sesuatu lebih baik daripada yang lain. Ia hanya mencintai Allah, kesempurnaan yang ideal, yang tak  dapat  dibandingkan.  Kemudian  ia  sendiri  berubah  menjadi  cinta,  dan  karya  cinta  telah diselesaikan.  Kemudian  pecinta  sendiri  berubah  menjadi  sumber  cinta,  asal  cinta,  dan  ia  hidup dalam  kehidupan  Allah,  yang  disebut  Baqa  bi-Allah.  Kepribadiannya  menjadi  kepribadian  ilahi.

Kemudian pikirannya menjadi pikiran Allah, perkataannya menjadi perkataan Allah, perbuatannya menjadi perbuatan Allah, dan ia sendiri menjadi cinta, pecinta, dan kekasih sekaligus.

Filed under: Hikayat Cinta, , ,

Mau Bisnis Pulsa???

server
Bisnis Server Pulsa, mo bisnis server pulsa elektrik all operator tapi bingung cara mulainya? Lanjuuut >>

Pulsa Murah Proses Cepat

supplier pulsa
Stok Pulsa All Operator, Cari Pulsa Murah Disini Tempatnya... Lanjuuut >>

Tips Tawar Menawar Harga Rumah

Info Property
Ada seni & trik tersendiri yang diperlukan orang saat jual beli barang. Yakni, bagaimana tawar-menawar harga.

Indo Flasher

ufs3
Cara Mudah Belajar Service Handphone dengan Ahlinya ada di sini nih..
Baca Selengkapnya »

Elektronik HOBY

Elektronik Hoby
Cara Mudah Belajar ELEKTRONIK dengan Ahlinya ada di sini nih..
Baca Selengkapnya »
Master Digital

bisinis mlm
Server Pulsa

Video Tutorial IM Mau..???

"Video Tutorial" Desaind WebSite & Menghasilkan PASIVE INCOME Mau??? Password aksess :allnitecafe
Klik Disini>>

Top Clicks

  • Tidak ada

Download Skematik Elektronik

Pengunjung ke :

  • 435,269 Pengunjung
free counters

Tukeran Link Yuk Taruh Script Ini Di Blog anda & saya akan Link Balik

<a title="allnitecafe" href="https://allnitecafe.wordpress.com/" target="_blank"> <img src="https://allnitecafe.files.wordpress.com/2009/08/master-digital.gif" border="0" alt="allnitecafe" /></a>
Master Digital Software Pulsa Elektrik