IT MERCUSUAR BLOG, Kumpulan tulisan seputar IT. Artikel, Tips dan trik, kutipan berita, dll.

Jumat, 09 Juli 2010

Pemrograman Web dengan PHP (Bag. 3)

Variabel pada PHP

PHP mendukung beberapa jenis variabel sebagai berikut:

  1. integer. Variabel berjenis integer bertujuan untuk menyimpan bilangan bulat (tidak termasuk bagian pecahan dan/atau pemangkatannya).
  2. double. Double digunakan untuk menyimpan bilangan bernilai pecahan dan juga bilangan pemangkatan.
  3. string. String merupakan jenis data karakter yang disimpan sebagai nomor pada memori komputer. Nilai yang disimpan adalah nilai ASCII karakter string tersebut.
  4. array. Array adalah sebuah set variabel yang mempunyai jenis data yang sama. Array mengandung komponen yang dinamakan elemen. Elemen-elemen sebuah array disimpan pada lokasi tertentu pada memori.
  5. object. Jenis variabel object adalah berdasarkan gambaran objek pada dunia nyata, yang mempunyai “status” dan “tingkah laku”. Sebuah variabel object menyimpan statusnya dalam bentuk variabel dan tingkah lakunya berupa parameter.
  6. pdfdoc (hanya bila dukungan PDF diaktifkan).
  7. pdfinfo (hanya bila dukungan PDF diaktifkan).

Jenis variabel biasanya tidak ditentukan oleh pemrogram, melainkan ditentukan oleh PHP saat runtime, tergantung pada konteks apa variabel itu digunakan. Misalkan variabel “coba” berisikan nilai string, atau integer bila berisi nilai integer. Contoh :


Konversi String

Ketika sebuah variabel berisikan nilai string diproses sebagai numerik, nilai dan jenis hasilnya ditentukan sebagai berikut: string tersebut akan diproses sebagai integer, kecuali bila mengandung karakter “.” , “e” , atau “E” , maka akan diproses sebagai jenis double. Bila string diawali dengan data numerik yang valid, maka nilai data numerik itulah yang digunakan, selain itu nilai string = 0 (nol). Data numerik valid adalah tanda bilangan (positif atau negatif) yang sifatnya optional diikuti oleh satu atau lebih digit (boleh mengandung desimal), diikuti oleh keterangan eksponen (juga optional). Eksponen adalah sebuah “e” atau “E”, diikuti oleh satu atau lebih digit. Contoh :



Jenis variabel tergantung kepada ekspresi yang ke dua, bila ekspresi pertama berupa sebuah string.


INISIALISASI VARIABEL

Inisialisasi Variabel pada PHP dilakukan dengan cara memberinya sebuah nilai. Namun pada jenis variabel array dan object , digunakan cara yang sedikit berbeda.


Inisialisasi Variabel Array

Sebuah array bisa diinisialisasi dengan dua cara; dengan memberikannya sebuah nilai secara berurutan, dan menggunakan construct array(). Contoh:

Seperti pada C dan Perl, elemen array diawali dengan 0, bukan 1.


Inisialisasi Variabel Object

Inisialisasi variabel berjenis object dilakukan dengan menggunakan statement “new” untuk menyisipkan object ke sebuah variabel. Contoh :


Variabel Luar

Ketika sebuah form dikirim menuju sebuah script PHP, semua variabel yang ada pada form tersebut secara otomatis juga bisa digunakan oleh PHP. Sebagai contoh adalah form berikut:

Ketika dikirim, PHP akan membuat sebuah variabel “$nama”, yang berisi apapun yang diisikan melalui field “Nama: ” pada form.

Ketika mengirim sebuah form, juga bisa menggunakan sebuah gambar daripada sekedar tombol “Kirim” dengan menggunaka tag seperti:

Ketika pengguna meng-klik dimanapun pada gambar, form yang bersangkutan akan dikirimkan ke server dengan tambahan dua buah variabel, yaitu “sub_x” dan “sub_y”. Variabel-variabel ini menyimpan koordinat tempat pengguna mengklik gambar.

Pemrograman Web dengan PHP (Bag. 2)

Dasar-dasar PHP

Seperti yang telah dikemukakan sebelumnya, kode/script yang bisa ditangani oleh PHP adalah C. Karena di-eksekusi di server, PHP disebut sebagai server-side script.

Pengertian ini penting karena browser-browser web masa kini umumnya juga telah sanggup meng-eksekusi client-side script, yaitu script yang dijalankan di sisi client. Pada awalnya C adalah client-side script, sehingga untuk membedakannya dari server-side script perlu ada suatu mekanisme khusus.

Semua script PHP harus ditandai secara khusus dengan tag tertentu agar oleh server tidak diangap sebagai client-side script yang akan diloloskan ke browser web tanpa diolah oleh nya.

Untuk itu, PHP mempunyai empat buah cara untuk membedakannya dari script HTML dan memasuki “mode PHP” :

Blok-blok script ini ditempatkan di file yang sama dengan file HTML biasa, namun untuk memudahkan pengenalan, semua file script PHP diberi ekstensi *.php, bukannya *.html. Script yang dimaksudkan agar di-eksekusi di browser (yaitu client-side script) biasanya ditandai denganbiasanya ditandai dengan biasanya ditandai dengan tag <"script"> dan <"/script">. Contohnya dapat dilihat berikut ini:

Adapun demikian script yang berada di antara <"script"> dan <"/script"> juga bisa di-eksekusi di sisi server . Untuk itu ditambahkan atribut “runat=” pada tag <"script"> ini. Contohnya:

Ini diperlukan terutama bila kita hendak menulis suatu sub-rutin atau fungsi di dalam file PHP, karena semua script yang ada di antara tag <"?" dan "?">akan langsung di-eksekusi begitu file dibaca, oleh karenanya tidak cocok bila kita hendak menempatkan fungsi atau sub-rutin yang hanya perlu dibaca bila dipanggil.

Secara gamblang, diagram di bawah ini akan menjelaskan bagaimana perbedaan antara tag-tag script <"?" dan "?"> serta <"script"> dan <"/script"> :

Pemisah antar instruksi berlaku sama seperti pada C atau Perl, yaitu menggunakan “;” (titik koma) sebagai pemisah antar statement. Tag penutup (“?>”) juga menyatakan akhir statement, sehingga kedua perintah berikut ini sama artinya:


Pemrograman Web dengan PHP (Bag. 1)

Sejarah dan Perkembangan PHP

PHP adalah teknologi yang diperkenalkan tahun 1994 oleh Rasmus Lerdorf. Beberapa versi awal yang tidak dipublikasikan digunakan pada situs pribadinya untuk mencatat siapa saja yang mengakses daftar riwayat hidup online-nya. Versi pertama digunakan oleh pihak lain pada awal tahun 1995 dan dikenal sebagai Personal Home Page Tools. Terkandung didalamnya sebuah parse engine (mesin pengurai) yang sangat disederhanakan, yang hanya mampu mengolah macro khusus dan beberapa utilitas yang sering digunakan pada pembuatan home page, seperti buku tamu, pencacah, dan hal semacamnya. Parser tersebut ditulis ulang pada pertengahan 1995 dan dinamakan PHP/FI Version 2. FI (Form Interpreter) sendiri berasal dari kode lain yang ditulis juga oleh Rasmus, yang menterjemahkan HTML dari data. Ia menggabungkan script Personal Home Page Tools dengan Form Interpreter dan menambahkan dukungan terhadap server database yang menggunakan format mSQL, sehingga lahirlah PHP/FI. PHP/FI tumbuh dengan pesat, dan orang-orang mulai menyiapkan kode-kode programnya supaya bisa didukung oleh PHP.

Sulit memberikan data statistik yang akurat, namun diperkirakan pada akhir 1996 PHP/FI sudah digunakan sedikitnya pada 15.000 situs web di seluruh dunia. Pada pertengahan 1997, angka tersebut berubah menjadi 50.000. pada saat itu juga terdapat perubahan di dalam pengembangan PHP. PHP berubah dari proyek pribadi Rasmus menjadi sebuah tim yang lebih terorganisasi. Parser-nya ditulis ulang dari bentuk rancangan awal oleh Zeev Suraski dan Andi Gutmans, dan parser baru ini adalah sebagai dasar PHP Version 3. Banyak kode utilitas yang berasal dari PHP/FI di-­port ke PHP3, dan banyak di antaranya sudah selesai ditulis ulang secara lengkap.

Pada pertengahan 1998, baik PHP/FI maupun PHP3 dikemas bersama dengan produk-produk komersial seperti server web StrongHold buatan C2 dan Linux RedHat, dan menurut survey yang dilakukan oleh NetCraft, kemungkinan PHP digunakan pada lebih dari 150.000 situs web di seluruh dunia. Sebagai pembanding, angka tersebut lebih banyak dari pada pengguna server web Enterprise Server buatan Netscape di internet.


Apa itu PHP?

PHP singkatan dari Personal Home Page Tools, adalah sebuah bahasa scripting yang di-bundle dengan HTML, yang dijalankan di sisi server. Sebagian besar perintahnya dari C, Java dan Perl dengan beberapa tambahan fungsi khusus PHP. Bahasa ini memungkinkan para pembuat aplikasi web menyajikan halaman HTML dinamis dan interaktif dengan cepat dan mudah, yang dihasilkan server. PHP juga dimaksudkan untuk mengganti teknologi lama seperti CGI (Common Gateway Interface).

PHP bisa berinteraksi dengan hampir semua teknologi web yang sudah ada. Developer bisa menulis sebuah program PHP yang meng-eksekusi suatu program CGI di server web lain. Fleksibilitas ini amat bermanfaat bagi pemilik situs-situs web yang besar dan sibuk, karena pemilik masih bisa mempergunakan aplikasi-aplikasi yang sudah terlanjur dibuat di masa lalu dengan CGI, ISAP, atau dengan script seperti Perl, Awk atau Python selama proses migrasi ke aplikasi baru yang dibuat dengan PHP. Ini mempermudah dan memperhalus peralihan antara teknologi lama dan teknologi baru.


Web Dinamis

Saat server melayani permintaan dari browser web akan suatu dokumen, server sebenarnya hanya mengambil suatu file di dalam disk dan melakukan beberapa pekerjaan untuk transmisi seperti menambahkan informasi tipe dokumen, merubah formatnya agar bisa dikirim menggunakan HTTP, yang mengirimkan semuanya ke browser. Browser web menerima file HTML dan menampilkannya ke layar monitor client. Sumbernya tetap berada di server dan di sana ia tidak berubah sama sekali. Inilah web yang “biasa-biasa” saja, web yang statis.

Orang kemudian mulai membuat metode baru yang membuat server harus melakukan lebih dari sekedar mengirim file. Jika permintaan dari browser mengarah ke suatu file program CGI (misalnya Perl, yang biasa ber-ekstensi *.pl), maka server mendeteksinya sebagai suatu permintaan untuk menjalankan program di luar server. Server lalu menjalankan program aplikasi yang dimaksud. Program aplikasi lalu mengeluarkan hasil kerjanya ke server, kemudian mengirimkannya kembali ke browser dalam bentuk HTML seperti biasa. Bagi browser web, informasi yang diterima tetap serupa dengan dokumen HTML statis biasa, namun dokumen tersebut sudah bukan lagi sebuah salinan dari file yang ada di disk server, melainkan suatu informasi yang dihasilkan secara on-the-fly oleh progam aplikasi. Informasi dari program dimasukkan ke dalam dokumen HTML sebelum dikirimkan ke browser. Metode ini sering disebut SSI (Server Side Includes).

Pendekatan cara CGI ini, misalnya dengan script Perl, membutuhkan suatu file template, yaitu suatu file dokumen yang menjadi tempat penampung informasi hasil kerja program sebelum dikirimkan ke browser web. File ini berisi kode-kode khusus yang kemudian akan diganti dengan informasi hasil kerja penerjemah script CGI. Hasilnya, dokumen yang dikirim ke browser web sebenarnya adalah kombinasi dari informasi dinamis dari program aplikasi serta informasi statis dari file template tadi. Developer harus membuat dua file terpisah, yaitu script program dan file template-nya.


Pendekatan Cara PHP

PHP menawarkan cara yang lebih luwes. Dengan PHP, developer tidak perlu lagi berurusan dengan dua buah file terpisah seperti itu. Browser web mengacu secara langsung ke file yang dituju, yang lalu dibaca oleh server sebagaimana file HTML statis biasa. Bedanya, sebelum dikirim balik ke browser web, serve web memeriksa isi file dan menentukan apakah ada kode di dalam file tersebut yang harus di-eksekusi. Bila ada, kode-kode tersebut akan di-eksekusi. Hasilnya dimasukkan ke dalam dokumen yang sama. Server web bekerja secara langsung terhadap file yang bersangkutan, tidak memanggil script terpisah seperti pada metode CGI. Seluruh kode di-eksekusi di server (oleh karena itu disebut server-side script).

PHP membuat proses pengembangan aplikasi menjadi mudah karena kelebihan-kelebihannya, yaitu:

1. Script (Kode Program) terintegrasi dengan file HTML, sehingga developer bisa berkonsentrasi langsung pada penampilan dokumen web nya.

2. Tidak ada proses compiling dan linking.

3. Berorientasi objek (object oriented).

4. Sintaksis pemrogramannya mudah dipelajari, sangat menyerupai C dan Perl.

5. Integrasi yang sangat luas ke berbagai server database. Menulis web yang terhubung ke database menjadi sangat sederhana. Database yang didukung oleh PHP: Oracle, Sybase, mSQL, MySQL, Solid, ODBC, PostgreSQL, Adabas D, FilePro, Velocis, Informix, dBase, UNIX dbm.

PHP tidak terbatas hanya untuk menghasilkan keluaran HTML. Ia juga bisa digunakan untuk menghasilkan gambar GIF, atau bahkan sumber gambar GIF yang dinamis.