Home
Halaman Muka
SAMBA sebagai File Server dan Print Server Windows
Melihat Traffic Router dengan MRTG pada Linux
SEKILAS KPLI JAKARTA
Cara Menjadi anggota KPLI-Jakarta |
|
|
|
1 Pendahuluan
PHP3 adalah PHP versi 3, merupakan bahasa yang disertakan dalam dokumen
HTML, bekerja di sisi server sehingga script-nya tak tampak di sisi client.
PHP3 dirancang untuk dapat bekerja sama dengan database server dan dibuat
sedemikian rupa sehingga pembuatan dokumen HTML yang dapat mengakses database
menjadi begitu mudah.
Diperkenalkan pertama kali oleh Rasmus Lerdorf di akhir 1994, PHP3 sampai
pertengahan 1998 lalu telah dipakai di 150.000 situs web dunia.
2 Mengapa PHP3
Aplikasi yang dibangun dengan PHP3 memiliki nilai tambah tersendiri. Disamping
keterpaduannya yang kuat dengan sejumlah besar database ternama, PHP3 yang
tertanam dalam dokumen HTML jelas bisa diakses oleh seluruh browser di
seluruh platform yang ada. Dengan kata lain aplikasi yang dibangun dengan
PHP3 berlaku secara universal.
2.1 Mendukung Open Source
PHP3 juga open source([footnote] open source, kode program diberikan
dan biasanya secara cuma-cuma) , sehingga sangat mungkin bagi kita untuk
menambah fasilitasnya sekehendak hati.
2.2 Multiplatform
Ketersediaan source code dalam bahasa C membuat PHP3 sangat universal
dan mudah disesuaikan dengan platform yang kita gunakan, sehingga tidak
perlu keraguan untuk menginvestasikan waktu dan tenaga guna mengembangkan
aplikasi PHP3 ini.
2.3 Modular
PHP3 juga modular, kemampuannya dalam mengenal berbagai database server
tidak perlu terpasang seluruhnya. Hal ini penting guna efisiensi dan penghematan
memory. Jadi misalkan database yang kita gunakan adalah Postgres maka kita
tidak perlu meng-compile PHP3 untuk mendukung database yang lain.
2.4 Menyatu dengan HTML
Penulisan script PHP3 dapat menyatu dengan dokumen HTML sehingga memudahkan
pembuatannya. Untuk membedakan antara sintaks HTML dan PHP maka dibuatlah
kesepakatan : script PHP3 dimulai dengan tag <? dan diakhiri dengan
?>. Contoh :
<html><body>
Ditulis dengan HTML
<?
echo ``Ditulis dengan PHP'';
?>
</body></html>
Contoh di atas jika source-nya dilihat dengan browser akan tampak :
<html><body>
Ditulis dengan HTML
Ditulis dengan PHP
</body></html>
2.5 Konektivitas yang Tinggi
Meski PHP3 bekerja di sisi server (menyatu dengan web server), PHP juga
dapat mengakses database server yang berada di remote host. Tentu saja
hal ini perlu didukung oleh database servernya itu sendiri, karena tidak
semua database server menyediakan fasilitas remote access. Selama masa
pembuatan, browser, webserver, dan database server dapat menyatu dalam
sebuah host, jadi tidak harus on-line untuk mencoba aplikasi yang dibuat
dengan PHP3.
3 Cara Kerja
Seperti yang pernah disebutkan bahwa PHP3 adalah aplikasi di sisi server
atau dengan kata lain beban kerja ada di server bukan di client (baca:
browser). Pada saat browser meminta dokumen PHP3, webserver langsung menggunakan
modul PHP3 untuk mengolah dokumen tersebut. Jika pada
dokumen terkandung fungsi yang mengakses database maka modul PHP3 menghubungi
database server yang bersangkutan. Dokumen yang berformat PHP3 dikembalikan
webserver dalam format HTML, sehingga source-code PHP3 tidak tampak di
sisi browser.
\resizebox*{10cm}{6cm}{\includegraphics{server-side.eps}}
4 Kemampuan
Jika anda pernah bergelut dengan aplikasi CGI([footnote] Common Gateway
Interface, suatu program yang dapat menerima input dari browser, memprosesnya,
dan selanjutnya mengirim kembali outputnya.) yang diprogram dengan Perl
atau C, maka dengan PHP ini anda akan mendapatkan kemudahan-kemudahan.
Sebagai contoh data- masukkan dalam suatu form html secara otomatis di-variabel-kan
dan dapat digunakan langsung, sehingga kita tidak perlu memparsing apa
yang disebut query string.
4.1 Database
Kemudahan akses ke berbagai database server adalah yang terpenting dari
PHP3. Adapun database server yang didukungnya antara lain : Oracle, Sybase,
Informix, Postgres, dBase, Interbase, MySQL, ODBC, dan masih banyak lagi.
Bukan itu saja, jika kita konsisten menggunakan Linux sebagai sistem operasi
maka kita mendapatkan database server yang benar-benar gratis, tanpa biaya
lisensi. Sebagai contoh MySQL yang ``ringan'' dan sangat umum digunakan
dalam PHP, atau Postgres yang open-source dan lebih kuat dengan arsitektur
object-relational-nya. Jika masih ragu, gunakan sang legendaris Oracle
yang juga free untuk platform Linux.
4.2 Otorisasi
Otorisasi bisa diterapkan manakala dibutuhkan pengisian username dan
password untuk memasuki suatu situs web. Dokumen HTML yang diberikan fasilitas
ini menyebabkan browser menampilkan menu untuk pengisian username dan password.
<?
if (!isset($PHP_AUTH_USER)) {
header(``WWW-Authenticate: Basic realm=\''My Realm\'''');
header(``HTTP/1.0 4.01 Unauthorized'');
echo ``Anda menekan Cancel'';
exit;
} else {
echo ``Halo $PHP_AUTH_USER <p>'';
echo ``Anda memasukkan password $PHP_AUTH_PW'';
}
?>
4.3 Mengolah String
Manipulasi string sangat penting dalam pemrograman. Fungsi-fungsi yang
biasanya sering dipakai sudah tersedia, diantaranya :
Upper / lowercase
Menghapus spasi di awal & akhir kalimat (trim)
Posisi string dalam string
Menghitung panjang string
Penggabungan antar string
Parsing
Mengganti string dengan string lain (find & replace)
Copy (substring)
4.4 Array
Dukungan terhadap array ini mulai ``terasa'' manakala kita menggunakan
database. Setiap tabel yang di-fetch([footnote] diambil setiap recordnya)
dimasukkan dalam suatu array. Fungsi fetch-nya sendiri menghasilkan tipe
data array. Disamping itu telah tersedia pula fungsi array secara umum.
4.4.1 Mendefinisikan Variabel Array
Berikut ini adalah contoh array satu dimensi :
$buah = array(``pisang'', ``apel'', ``mangga'');
Setiap elemen dipanggil sesuai dengan urutannya yang dimulai dengan
nomor indeks 0. Jadi untuk mencetak ``pisang'' dapat ditulis :
echo $buah[0];
4.4.2 Menghitung Jumlah Elemen dalam Array
Jumlah elemen dalam array dapat dihitung dengan fungsi count.
echo ``Jumlah elemen array : `` . count($buah);
4.4.3 Sort
Array dapat di-sort (diurutkan) dengan fungsi sort yang mengurutkan
data dengan metode ascending (dari kecil ke besar).
sort($buah);
Metode sortir juga dapat kita definisikan sendiri. Berikut ini adalah
contoh fungsi sortir descending (dari besar ke kecil).
function banding($a, $b) {
if ($a == $b) { return 0; }
return ($a > $b) ? -1:1;
}
usort ($buah, banding);
4.4.4 String Sebagai Indeks
Pemanggilan elemen array juga tidak terbatas pada pemakaian bilangan
sebagai indeksnya, melainkan dapat juga menggunakan string.
$sayur = array(``a''=>''kangkung'', ``b''=>''bayam'');
echo $sayur[``a''];
4.5 Manipulasi Gambar
Selain dapat menampilkan gambar dalam berbagai format, PHP3 juga dapat
menambahkan kalimat di atas gambar. Hal ini dipakai biasanya penggunaan
gambar yang sama untuk tujuan-tujuan yang berbeda. Seperti misalnya gambar
dua buah tombol yang sama namun tombol yang satu tertulis ``A'' dan yang
kedua ``B''.
4.6 Upload File
Fasilitas ini berfungsi untuk ``menangkap'' file yang dikirimkan browser.
Aplikasi human resource biasanya memerlukan ini untuk mendata foto karyawan
yang telah di-scan atau diambil dengan kamera digital.
Gambar berformat apapun dapat dikirim. Di sisi server, file yang dikirim
ditampung dalam suatu temporary file. Beberapa informasi dapat diambil
dari aktivitas upload ini : temporary filename, nama file yang sebenarnya,
tipe file yang dikirim, serta ukuran file tersebut.
4.7 Fungsi Waktu
Menampilkan tanggal dalam berbagai format
Waktu saat ini (localtime)
4.8 Web Mail
Fungsi mail yang tersedia dapat digunakan untuk membuat mail-client
dimana kita dapat menulis dan mengirimkan e-mail dengan menggunakan browser.
4.9 User Defined Function
User Defined Function adalah fungsi yang dapat kita definisikan sendiri.
Outputnya juga bisa bertipe apa saja : string, numeric, bahkan array. Contoh
untuk hal ini telah tertulis di atas untuk fungsi sortir descending.
4.10 Penanganan Kesalahan
PHP3 dapat menampilkan pesan kesalahan guna kemudahan proses debugging.
Jika aplikasi sudah dianggap mapan option ini dapat juga tidak dipakai.
5 Contoh Aplikasi
Banyak aplikasi yang bisa dibuat dengan memanfaatkan PHP3, mulai dari search
engine, daftar produk, pembuatan laporan, sampai penerapan e-commerce.
PHP3 juga bisa melengkapi aplikasi yang sudah berjalan, misalnya untuk
pembuatan laporan. Dengan begitu semua pihak yang membutuhkan laporan tersebut
(biasanya untuk para manager tingkat atas) tidak perlu membaca dari hasil
print-out. Mereka cukup menghidupkan komputer, menjalankan browser, dan
mengunjungi situs yang dimaksud, layaknya bermain internet. Data yang diperoleh
juga akurat, karena diambil langsung dari database-nya saat itu juga.
5.1 Search Engine
Search Engine merupakan tools pencari kata yang biasa kita temui di
situs Yahoo, Infoseek, atau Altavista. Aplikasi ini hanya menggunakan perintah
SELECT dalam query-nya dan memerlukan data-entry (kata yang dicari) dari
browser. Berikut ini adalah script sederhana untuk sebuah search engine
yang menggunakan database Postgres.
<form action=cari.php3>
<input name=kalimat>
<input type=submit>
</form>
<?
if ($kalimat == "") { exit; }
$sql="select no_panggil, judul, pengarang, penerbit
from katalog where upper(judul) like '%" . strtoupper($kalimat) . "%'";
$conn = pg_connect("dbname=perpus");
$result = pg_exec($conn, $sql);
if (pg_numrows($result) == 0) {
echo "Tidak ada hasil query";
} else {
for ($i = 0; $i < pg_numrows($result); $i++) {
$row=pg_fetch_row($result, $i);
echo "Kode : $row[0] <br>";
echo "Judul : $row[1] <br>";
echo "Pengarang : $row[2] <br>";
echo "Penerbit : $row[3] <br> <br>";
}
}
?>
5.2 Data Entry
Aplikasi ini melengkapi search engine sebelumnya, yakni memanipulasi
data lewat web, dengan kata lain proses insert, update, delete dapat dilakukan
dengan menggunakan browser.
<?
if ($cmd == "Insert") {
$sql="insert into katalog (no_panggil, judul, pengarang, penerbit)
values ('$no_panggil', '$judul', '$pengarang',
'$penerbit')";
}
if ($cmd == "Delete") {
$sql="delete from katalog where no_panggil = '$no_panggil'" ;
}
if ($cmd == "Update") {
$sql="update katalog set no_panggil = '$no_panggil', judul =
'$judul', pengarang = '$pengarang', penerbit = '$penerbit'
where no_panggil='$tno_panggil'";
}
$conn = pg_connect("dbname=perpus");
if ($cmd != "") {
$result = pg_exec ($conn, $sql);
}
if ($cmd == "Delete" or $cmd == "") {
$sql = "select * from katalog";
} else {
$sql = "select * from katalog where no_panggil = '$no_panggil'";
}
$result = pg_exec($conn, $sql);
$row = pg_fetch_row($result, 0);
echo "<form action=katalog.php3>";
echo '<input type=hidden name=tno_panggil value="', $row[0],'">';
echo 'Kode <input name=no_panggil value="', $row[0],'"><br>';
echo 'Judul <input name=judul value="',$row[1],'"><br>';
echo 'Pengarang <input name=pengarang value="', $row[2],'"><br>';
echo 'Penerbit <input name=penerbit value="', $row[3],'"><br>';
echo "<input type=submit name=cmd value=Insert>";
echo "<input type=submit name=cmd value=Update>";
echo "<input type=submit name=cmd value=Delete>";
echo "</form>";
?>
6 Isu Seputar PHP3
Selentingan berita mengenai PHP3 tidak terlepas dari pertanyaan para
penggunanya, terutama bagi mereka yang duduk sebagai pengambil keputusan,
karena hal ini menyangkut kehandalan, kemudahan pengembangan, dan dukungan
terhadap PHP3 itu sendiri.
6.1 Para Pemakai
Daftar para pengguna PHP3 menjadi begitu penting, karena kita perlu
mengambil pengalaman dari orang lain. Sudah begitu banyak daftar mereka
yang menggunakan PHP3, mulai dari kalangan serius sampai mereka yang just
for fun.
6.1.1 Industri Otomotif
Audi (http://www.a4.org)
Mitsubishi Motors (http://www.mitsucars.com)
Opel (http://www.opel.com)
Subaru (http://www.subaru.com)
Volvo (http://www.volvo.com)
6.1.2 Komputer & Perangkat Lunak
Apache Web Server (http://www.apache.org)
Mozilla Crypto Group (http://mozilla-crypto.ssleay.org)
RedHat Software (http://www.redhat.com)
Winamp (http://www.winamp.com)
Xingtech (http://www.xingtech.com)
YellowDog Linux (http://www.yellowdoglinux.com)
6.1.3 Lembaga Riset & Pendidikan
The Biology Place (http://www.biology.com)
Digital Metrics (http://www.digitalmetrics.com)
The Internet Pilot to Physics (http://www.tp.umu.se/TIPTOP)
Research Institute for electro-magnetic compatibility (http://www.femu.rwth-aachen.de)
6.1.4 Hiburan
CD93 Radio Station (http://www.cd93.com/index_hi.htm)
FilmNetwork (http://www.fnw.de)
HitList (http://www.hitlist.com)
TVN Entertainment (http://www.tvn.com)
United States of Hardcore (Music) (http://www.ush.net)
6.1.5 Keuangan
Cyber Merchants Exchange (http://www.c-me.com)
The Development Capital Exchange (http://www.equity-invest.com)
First USA Bank (http://www.firstusabank.com)
Insurance Bridge (http://www.insurancebridge.com)
TFC Commodity Charts (http://tfc-charts2.w2d.com)
Wallstreet:Online (http://www.wallstreet-online.de)
6.1.6 Games
Battle - a PBeM Game (http://battle.pbem.net)
BEETLE MANIA (http://www.beetlemania.de)
GamePoint Shop (http://shop.gamepoint.net)
Mplayer (http://www.mplayer.com)
Worms2 (http://www.worms2.com)
6.1.7 Pemerintahan
City of Escondido (http://www.ci.escondido.ca.us)
National Institute of Ecology in Mexico (http://www.ine.gob.mx)
City of Sibiu - Romania (http://www.primbsb.ro)
West Virginia Department of Education (http://wvde.state.wv.us)
6.1.8 Internet Service
FAST MP3 Search (http://mp3.lycos.com)
Infoseek Investor Relations (http://www.ir-infoseek.com)
MegaDownload (http://megadownload.de)
6.1.9 Militer
US Army Publishing Agency (http://www.usapa.army.mil)
6.1.10 Majalah & Koran
Børsen - Danish Business Daily (http://www.borsen.dk)
CADALYST Magazine (http://www.cadonline.com)
The German Linux Magazine (http://www.linux-magazin.de/newsflash)
Maximum PC Magazine (http://www.maximumpcmag.com)
6.1.11 Lembaga Nirlaba
Association of Internet Professionals (http://www.association.org)
The Jazz Journalists Association (http://www.jazzhouse.org)
PoloniaNet - Polish community of the Internet (http://www.PoloniaNet.com)
6.2 Year 2000 Compliance (y2k)
Ada isu seputar masalah tanggal dalam cookies([footnote] Cookies adalah
informasi yang terdapat dalam browser. Webserver biasanya menggunakan informasi
ini untuk mengetahui perihal client-nya.) . Netscape sebenarnya menerapkan
format 2 digit untuk tanggal kadaluarsa cached file. Hingga muncul ke permukaan
masalah y2k, mereka memutuskan untuk mengubahnya mulai Netscape versi 4.
Namun bukan berarti bahwa format tahun 2 digit tidak y2k compliant. Sebagai
contoh, tahun 14 diartikan sebagai tahun 2014 oleh Netscape. Seluruh browser
dapat memahami format 2 digit ini, sehingga ini menjadi format default
di PHP3. Meski begitu mereka yang waspada tidak menerapkan format 2 digit
ini (melainkan 4 digit). Untuk mereka PHP3 telah menyiapkan file konfigurasi
di php3.ini.
6.3 Tim Pendukung
PHP3 adalah proyek dengan kode sumber yang tidak dirahasiakan. Ini juga
bisa berarti siapapun boleh mengubah, menambahkan, melakukan debugging
terhadap PHP3. Mereka yang ingin bergabung dengan tim PHP3 bisa mengkontribusikan
kemampuannya dan ikut ambil bagian untuk menyempurnakan PHP3 ini. Sistem
kerja seperti ini telah terbukti ampuh untuk mempercepat proses debugging
dan peningkatan performa program, sehingga kita tidak perlu termakan mitos
bahwa yang gratis itu tidak handal dan tidak ada yang bertanggungjawab.
7 Referensi
-
http://www.php3.org/
-
Sugiana, Owo, Perpustakaan On -Web, Universitas Gunadarma, Depok, 1997
Ditulis dengan text processor LyX versi 0.12.0pre8 BETA, gambar dengan
StarOffice 5.0 di atas sistem operasi Linux distribusi SuSE 6.0
Oleh: Owo Sugiana (sugiana@rab.co.id)
|