Selasa, 26 Agustus 2008

Belajar PHP siapa takut 1

PHP? Siapa Takut!


Bagian 1: Captain's Log Stardate 41153.7

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

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.

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.

Cara yang lebih singkat adalah:

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



Test Penyisipan PHP Pada HTML


Kapal Asing, Silakan identifikasikan diri Anda!


// Berikut ini adalah kode PHP yang disisipkan
echo "Ini adalah kapal Federasi Planet USS Enterprise.
";

echo "Saya Piccard, Jean Luc Piccard, kapten kapal.
";
?>

Setelah Anda panggil file ini lewat browser, Anda dapat mencoba melihat kode asal dokumen HTML yang kurang lebih akan nampak seperti ini. est Penyisipan PHP Pada HTML
Kapal Asing, Silakan identifikasikan diri Anda!

Ini adalah kapal Federasi Planet USS Enterprise.

Saya Piccard, Jean Luc Piccard, kapten kapal.


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.

// 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.



Test Penyisipan PHP Pada HTML

Kapal Asing, Silakan identifikasikan diri Anda!

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

?>

Ini adalah kapal Federasi Planet USS Enterprise.

echo "Saya $namab, $namad $namat $namab, kapten kapal.";

?>


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.


Test Penyisipan PHP Pada HTM

Kapal Asing, Silakan identifikasikan diri Anda!

// Berikut ini adalah inisiasi beberapa variabel

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

?>

Ini adalah kapal Federasi Planet USS Enterprise.

print("Saya $namab, $namad $namat $namab, kapten kapal.");

?>


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


// Contoh variabel $a
$a = "Testing";

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

$a = 55;

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

$a = 7.5;

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

?>

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.

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

?>

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.

// 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 . ".";

?>

String yang pertama adalah:

String yang kedua adalah:


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. Persenjataan dan Perlengkapan Perang Enterprise

// 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");

?>


LCAR: Cek kesiapan perlengkapan perang USS Enterprise NCC-1701-D


  1. Torpedo :

  2. Laser :

  3. Perisai :

  4. Mesin Impuls :

  5. Mesin Warp :



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


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]

$torpedo = "Four Bays Photon Torpedo";

?>

[laser.php]

$laser = "Six Laser Canons";

?>

[shielding.php]

$shielding = "EM Polarization Shielding";

?>

[impuls.php]

$impuls = "Federation Impulse Power System";

?>

[warp.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 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.


Title Halaman

include("header.html");

?>

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


include("footer.html");

?>


Dengan misalnya header.html berisi:




LCAR : USS Enterprise
dan footer.html berisi misalkan:





(c) United Federation of Planets.

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.

Tidak ada komentar:

Posting Komentar

Silahkan komentar disini :