Anda di halaman 1dari 20

Thanks special to All Crew

Membangun Webserver dengan Apache+PHP+MySQL


Materi :
1.Install Apache 2.Install PHP 3.Install Mysql

Apache
1.1 Sekilas HTTP HTTP, yang merupakan singkatan dari Hypertext Transfer Protocal adalah protokol application level (dalam OSI seven layer) untuk sistem informasi yang terdistribusi, kolaboratif dan hypermedia. Definisi hypermedia sendiri merujuk pada suatu media yang merupakan kombinasi dari berbagai media lainnya. HTTP telah digunakan dalam World Wide Web (web) sejak tahun 1990. Versi pertamanya, HTTP/0.9 adalah protokol 'sederhana' yang memperbolehkan transfer data secara raw melalui internet. HTTP/1.0, yang didefinisikan di RFC (Request For Comment - ) 1945 melengkapinya dengan memperbolehkan pesan yang terkirim dalam format MIME ( Multipurpose Internet Mail Extensions ), yang mengandung meta informasi tentang data yang ditransfer dan pengubahnya. Sesuai dokumentasi IETF, HTTP/1.0 sendiri tidaklah cukup untuk menangani proxy (analogikan proxy dengan pintu keluar masuk koneksi dalam jaringan yang memiliki banyak komputer dengan koneksi internet tunggal ) bertingkat, caching ( tempat penyimpanan sementara, biasanya program akan mencari ke sini terlebih dahulu untuk informasi yang diminta ), kebutuhan untuk koneksi persistem dan virtual host ( host yang secara nyata tidak ada, biasanya hanya merupakan semacam alias ). Hal ini kemudian disempurnakan oleh versi berikutnya dari HTTP, yakni HTTP/1.1 (RFC

2068), yang kita gunakan sekarang. HTTP sendiri juga digunakan sebagai protokol umum untuk komunikasi diantara berbagai user agent ( user agent adalah istilah yang digunakan untuk program yang dijalankan di sisi client, seperti web browser misalnya dalam konteks HTTP ) dan proxy/gateway dengan sistem internet lain seperti SMTP (Simple Mail Transfer Protocol - RFC 821 ), NNTP ( Network News Transfer Protocol - RFC 977 ), FTP ( File Transfer Protocol - RFC 959 ), Gopher ( RFC 1436 ) dan WAIS ( Wide Area Information Servers ). Dengan demikian, HTTP mengijinkan akses pada sumber daya yang tersedia pada aplikasi yang berbeda.

1.2 HTTP Server HTTP Server adalah sebuah server ( program yang melayani koneksi tertentu ) yang melayani koneksi HTTP. Dalam TCP/IP (RFC 1180 membahas tutorial tentang TCP/IP ), secara default, koneksi HTTP dilakukan pada port 80, walaupun kita bisa saja mengubah nilainya. Dengan adanya sebuah HTTP Server, yang mungkin lebih familiar dengan Web server, kita bisa mengakses suatu host melalui web browser seperti Netscape Navigator, Opera, Konqueror dan MS Internet Explorer. Kita mengenal beberapa web server, diantaranya Apache ( ), IIS () , iPlanet () dan Zeus () . Menurut survei Netcraft () yang berhasil mengumpulkan 37,585,233 host sampai bulan april 2002, Apache menduduki urutan tertinggi dalam pemakaian web server (21191595, 56,38%, kenaikan 2,62%) disusul oleh Microsoft IIS (12014054, 31,96%, penurunan 2,06%), Zeus (850956, 2,26%, kenaikan 0,02%) dan iPlanet (832474, 2,21%, penurunan 0,12%). Maka tidak ada salahnya, kita sedikit membahas tentang instalasi Apache, sebagai sebuah web server open source , mudah dan handal. 1. Instalasi dan konfigurasi Apache Sampai saat ini, apache telah mencapai versi 2.0.35 (official announcement - ) untuk Apache HTTP server 2.0 dan versi 1.3.24 untuk Apache HTTP server 1.0. Apache 2.0 sendiri (fitur baru diantaranya dukungan Ipv6, konfigurasi yang lebih sederhana !!, dan dukungan yang lebih baik untuk multiprotocol dan sistem operasi lain) telah dijalankan di sejak desember 2000 dan terbukti sangat bisa diandalkan, menurut apache.org. Penulis sendiri belum pernah menggunakan versi 2.0 dari apache. Dalam artikel ini, kita akan membahas tentang penggunaan versi 1.0nya. Instalasi Apache dapat dilakukan dalam bentuk static atau

@oh_gayo on Renjana

dynamic (DSO - Dynamic Shared Object ). Jika instalasi dilakukan secara static, maka segala perubahan yang diperlukan dimana melibatkan apache menuntut kompilasi ulang apache. Sebaliknya, jika instalasi dilakukan secara dynamic, maka apache bekerja dalam modul-modul, jika kita hanya ingin menambah atau mengurangi salah satu modul, kompilasi apache tidak diperlukan sama sekali. Di artikel ini, kita akan melakukan instalasi secara dynamic.

Berikut ini adalah langkah instalasinya:

ekstraklah source code apache tar zxvf apache_1.3.24.tar.gz

masuk ke direktori source code apache cd apache_1.3.24

Lakukan konfigurasi ./configure --enable-module=most --enable-shared=max Anda juga bisa menentukan letak instalasi dengan mengubah [PREFIX] (umumnya di /usr/local) pada tahap ini. Sebagai contoh, jika Apache Anda ingin diletakkan di /mimpi/webserver, maka konfigurasi akan menjadi seperti ini: ./configure --enable-module=most --enable-shared=max --prefix=/mimpi/webserver

Dengan demikian, semua file akan menetap di /mimpi/webserver, jika dirasa suatu saat apache akan dihapus, secara kasar, kita bisa menghapus satu direktori tersebut. Tunggulah sebentar karena proses konfigurasi memakan sedikit waktu. Amatilah sebentar, dan Anda seharusnya akan melihat tulisan seperti ini pada saat konfigurasi berlangsung: + enabling mod_so for DSO support

lakukan kompilasi make Ini adalah proses kompilasi. Lama atau tidaknya kompilasi tergantung pada kecepatan komputer Anda.

@oh_gayo on Renjana

lakukan instalasi

Anda mungkin perlu login sebagai root untuk meletakkan web server Anda di [PREFIX] yang Anda tentukan. Pada tahap ini, filefile yang diperlukan akan dikopikan ke [PREFIX]. su make install

pengujian

Instalasi yang berhasil tidak selalu menjamin apache pasti bekerja secara baik. Untuk itu perlu dilakukan pengujian terlebih dahulu. Pertama-tama, jalankanlah apache terlebih dahulu. Untuk itu, masuklah ke direktori bin hasil instalasi, dan berikan perintah berikut ini: ./apachectl start

Apache akan memeriksa validitas dari file conf/httpd.conf dan hal lainnya yang diperlukan. Jika tidak terdapat masalah, maka web server bisa dijalankan, dan Anda akan melihat pesan seperti ini: ./apachectl start: httpd started

Selanjutnya, jalankan web browser Anda, dan navigasilah ke , atau apapun nama atau alamat komputer Anda.

apachectl

apachectl, yang kita gunakan untuk menjalankan apache, sebenarnya hanyalah sebuah shell script. Beberapa parameter yang bisa digunakan antara lain: - start (menjalankan web server) - stop (menghentikan web server) - restart (menjalankan ulang) - configtest ( memeriksa validitas konfigurasi - conf/httpd.conf )

@oh_gayo on Renjana

- status ( melihat status web server )

konfigurasi

Konfigurasi apache web server dapat dengan mudah dilakukan dengan mengubah nilai dari file konfigurasi tunggalnya, httpd.conf, yang terletak di dalam direktori conf hasil instalasi. Konfigurasi apache diberikan dalam directive-directive. Dan, di dalam file konfigurasi tersebut, Anda akan diberikan dokumentasi yang jelas, sampai-sampai sepertinya Apache.org tidak ingin buku tentang apache laku di pasaran :). Salah satu buku apache yang pernah penulis beli di salah satu toko buku di jakarta sepertinya hanya menerjemahkan dokumentasi apache (sebagian besar bahkan dari isi httpd.conf) ke bahasa Indonesia. Luar biasa ! Berikut ini, Anda mungkin akan melihat beberapa directive yang menarik perhatian.

Directive Deskripsi ServerType Tipe web server Apache. Nilai yang diijinkan adalah inetd dan standalone. Inetd hanya bisa dijalankan di sistem operasi keluarga UNIX, seperti halnya Linux. Jika Anda memilih inetd, maka apache akan jalan sebagai salah satu servis dari inetd, sedangkan jika Anda memilih standalone, maka apache web server akan dijalankan sebagai proses mandiri di dalam sistem._ ServerRoot Singkatnya, ini adalah root dari direktori hasil instalasi apache Anda_ Timeout Waktu toleransi untuk menunggu suatu respon dalam satuan detik. Berikanlah nilai yang cukup masuk akal, 150 detik biasanya cukup tolerir. StartServers Jumlah server (proses) yang akan dijalankan (pertamanya) oleh apache web server. Berikanlah nilai yang masuk akal sesuai dengan sibuknya web server Anda dan kemampuan komputer Anda. Biasanya nilai 5-10 sudah sangat memadai MaxClients

@oh_gayo on Renjana

Jumlah client yang melakukan koneksi secara simultan. Jangan memberikan nilai yang terlalu rendah, karena permintaan client bisabisa di lock. Port Anda bisa menjalankan berapapun web server di sistem Anda sesuai dengan konfigurasi dan kemampuan sistem Anda. Tetapi tentunya dalam port yang berbeda. Jika Anda menjalankan apache selain port 80, maka alamat website Anda akan dapat diakses sebagai berikut: http://<HOST>:<PORT> User Ini adalah nama user yang akan menjalankan apache. Harap diperhatikan karena ini bisa saja membuka celah keamanan. Sebagai pencegahan, jika Anda menyediakan layanan untuk banyak user, berikan lah layanan hanya kepada user yang benar-benar Anda percayai, karena ada salah satu kelemahan yang berbahaya, yang hanya bisa dilakukan oleh user internal. DocumentRoot Ini adalah direktori tempat file-file website Anda. Biasanya adalah htdocs. UserDir Nama direktori di home directory user dimana user meletakkan file-file mereka yang bisa diakses melalui alamat: Directive yang kita bahas hanyalah sebagian dari directive yang disediakan oleh apache web server. Jika Anda ingin mendalami apache web server, cobalah untuk membaca buku referensi yang sedikit lebih bertanggung jawab. Jika hanya ingin sekedar bisa mengadministrasi apache web server, Anda bisa membaca dokumentasi yang disertakan oleh apache.

MySQL
2.1 sekilas MySQL Penggunaan database server untuk melayani keperluan manipulasi data sudah tidak diragukan lagi. Permasalahan yang mungkin dihadapi adalah mahalnya harga software serta kinerja yang ditawarkan. Tetapi untunglah, kita memiliki MySQL, salah satu

@oh_gayo on Renjana

database server open source yang menawarkan kinerja yang baik. Source code MySQL bisa di download di atau di CDROM majalah ini. Sampai saat artikel ini ditulis, MySQL telah mencapai versi 3.23.49a. MySQL, yang mengklaim dirinya sebagai The World's most popular open source database telah telah digunakan dari pemakai rumahan, server kelas biasa, sampai server-server yang sibuk dan penting seperti Yahoo!Finance. Beberapa waktu yang silam, NASA, yang sebelumnya menggunakan ORACLE (salah satu database server yang besar dan mahal) berpindah ke MySQL. Berikut ini adalah beberapa kelebihan yang ditawarkan oleh MySQL, menurut dokumentasi dari www.mysql.com:

ditulis dengan bahasa pemrograman C dan C++, dengan ujicoba pada berbagai jenis compiler Tidak ada 'memory leak' dan telah diuji dengan Purify, salah satu tool komersial yang menguji hal tersebut. Multiplaform, bisa digunakan di keluarga UNIX, Windows sampai MAC Berbagai API untuk bahasa pemrograman seperti C, C++, Java, Python, PHP, Perl dan Tcl. Bisa menggunakan multi CPU apabila disediakan (tergantung pada kernel sistem operasi) Penggunaan memory yang optimal Tingkat keamanan yang tinggi, karena password di enkrip selama proses autentikasi Mampu menangani database yang besar, mysql.com mengakui mereka mengetahui pengguna dengan 60.000 table dan 5.000.000.000 baris data. (pada mesin intel 32 bit dengan sistem operasi Linux, MySQL mampu menangani file sebesar 2GB, 4 GB atau bahkan lebih, tergantung pada Linuxnya, bahkan pada Linux pada mesin Alpha, diperkirakan mampu menangani sampai 8 terabytes !!!) Tidak memiliki masalah dengan Y2K karena menggunakan fungsi waktu sistem operasi UNIX. Walau kita tahu bahwa ini memiliki kelemahan ( batas tipe data long untuk menangani jumlah detik dari epoch, 1 januari 1970 00:00), MySQL mengakui pada versi 3.22 ke atas, tipe YEAR bisa menampung dari tahun 1901 sampai 2155 dan lain-lain

@oh_gayo on Renjana

Di luar semua itu, MySQL juga memiliki beberapa hal yang mungkin akan kedengaran lucu, seperti:

MySQL, yang suka diucapkan My Ess Que Ell daripada My sequel, yang kebanyakan diucapkan orang karena berbagai alasan memiliki dua macam lisensi, menuruti aturan GNU GPL ataupun lisensi komersial (sepertinya ini tidak lucu). Misteri penamaan untuk istilah My. Dari pihak MySQL AB, perusahaan yang membawahi MySQL, mereka lebih menyukai penggunaan my daripada My, yang dipopulerkan oleh saudara perempuan Monty, salah satu konseptor utama MySQL. Mereka mengakui, sampai saat inipun hal ini masih menjadi misteri Logo. Logo lumba-lumba yang digunakan ternyata sampai saat artikel ini ditulis masih belum memiliki nama. Mereka mengadakan kontes untuk memilih nama bagi lumba-lumba ini.

2.2 instalasi dan konfigurasi MySQL Tentu saja, untuk menggunakan MySQL, kita perlu mengadakan instalasi. Berikut ini adalah langkah-langkah instalasi MySQL dari source code:

ekstrak source code MySQL gunzip < mysql-VERSION.tar.gz | tar -xvf -

masuk ke direktori hasil ekstraksi cd mysql-VERSION

lakukan konfigurasi pada source code ./configure

Anda, seperti pada instalasi apache, bisa saja menspesifikasikan [PREFIX] yang akan digunakan. Dalam keadaan normal, biasanya akan di install di /usr/local/mysql.

kompilasi make

@oh_gayo on Renjana

di sini, kita akan melakukan kompilasi dari source code. Karena MySQL termasuk program yang besar, maka kompilasi yang dilakukan akan memakan waktu yang cukup lama, tergantung dari kecepatan komputer Anda. Penulis pernah melakukan kompilasi pada komputer lama penulis, sebuah intel 486 dx4 memory 16Megs, dan sebagai hasilnya, kompilasi berlangsung 1 hari 1 malam.\

instalasi su make install

Anda mungkin perlu untuk login sebagai root karena di sini, proses pengopian file akan dilakukan.

penambahan user dan group Ada baiknya, MySQL dijalankan oleh user yang berbeda di sistem. Hal ini digunakan sebagai antisipasi masalah keamanan yang mungkin akan timbul.

groupadd mysql useradd -g mysql mysql

Script instalasi database yang diperlukan MySQL

Masih di dalam tree source code MySQL, jalankanlah perintah berikut ini: scripts/mysql_install_db

Script ini akan menjalankan perintah untuk membuat database yang diperlukan oleh MySQL sendiri.

@oh_gayo on Renjana

Pengubahan kepemilikan file

Karena kita ingin menjalankan MySQL sebagai user non root (mysql), maka pengubahan kepemilikan file diperlukan. Jalankanlah perintah berikut ini: chown -R root /usr/local/mysql chown -R mysql /usr/local/mysql/var chgrp -R mysql /usr/local/mysql

gantilah /usr/local/mysql dengan apa yang Anda spesifikasikan dalam [PREFIX]

mengopikan file konfigurasi

Untuk menjalankan MySQL secara optimal, ada baiknya kita memperhatikan file konfigurasi yang contohnya disertakan dalam distribusi source code ini. Kita tinggal memilih kelas sistem yang dimiliki. Penulis asumsikan kita menggunakan kelas medium. Berikut ini kita akan mengopikan file konfigurasi tersebut: cp support-files/my-medium.cnf /etc/my.cnf

menjalankan MySQL

Terakhir, sebagai hasil dari rangkaian instalasi, kita akan melihat apakah MySQL server bisa dijalankan. Untuk mengujinya, berikan perintah berikut ini: /usr/local/mysql/bin/safe_mysqld --user=mysql &

gantilah /usr/local/mysql dengan apa yang Anda spesifikasikan dalam [PREFIX] Jika instalasi sukses, Anda tidak akan menjumpai satupun pesan kesalahan di standard output ataupun standard error Anda.

melakukan koneksi dari client

Jika instalasi telah dilakukan dengan benar dan server telah berjalan, maka sekarang saatnya bagi kita untuk melakukan koneksi ke dalamnya. Berikan perintah berikut ini di shell. mysql -u root -p Anda akan diminta password untuk user root. Harap diperhatikan bahwa user root di sini adalah user root milik database server MySQL,

@oh_gayo on Renjana

10

dan bukanlah user root pada sistem operasi Anda. Untuk pertama kali, password root adalah kosong, Anda cukup menekan tombol ENTER.

Untuk mengganti password, berikan perintah berikut ini di shell MySQL. mysql> set password=PASSWORD('newpassword');

memutuskan koneksi

Untuk memutuskan koneksi pada saat Anda berada di shell MySQL, berikan salah satu dari perintah berikut ini: - tekan CTRL-D - ketik quit - tekan \q

membuat database dan user baru

Biasanya, dalam suatu sistem dimana terdapat banyak user, sebagai seorang administrator, ada baiknya kalau kita memberikan minimal satu database kepada setiap user. Untuk membuat database, berikanlah perintah berikut ini di shell MySQL:

mysql> create database DB1; Sedangkan untuk membuat user dengan hak penuh (select, update, insert dan sebagainya), berikanlah perintah berikut ini: mysql> GRANT ALL PRIVILEGES ON DB1.* TO ; mysql> FLUSH PRIVILEGES; Dengan perintah tersebut, kita telah membuat user baru user1, sekaligus memberikannya hak penuh atas database DB1. Mintalah user1 untuk login dengan cara yang sama seperti login pada root. Password mula-mula adalah kosong. Jika Anda ingin langsung memberikan password kepada user yang bersangkutan sebagai password default, tambahkanlah kata kunci IDENTIFIED BY 'password'. Pada akhirnya, FLUSH PRIVILEGES digunakan untuk memperbaharui hak akses pada database server.

@oh_gayo on Renjana

11

PHP
1. sekilas PHP PHP yang merupakan singkatan dari PHP: Hypertext Preprocessor dan beralamat di adalah salah satu web scripting yang sangat populer. Diciptakan pertama kali oleh Rasmus Lerdorf pada musim gugur tahun 1994. Cerita dimulai oleh rasmus untuk melihat siapa yang telah mengakses resumenya di website. Digunakan pertama kali oleh orang lain pada tahun 1995, yang kemudian dikenal sebagai Personal Home Page tools, dan masih dalam parser yang sangat sederhana. Pada pertengahan 1995, rasmus menulis kembali parser, yang pada akhirnya dikenal dengan nama PHP/FI versi 2. Istilah FI di dapat dari paket lain yang ditulis oleh rasmus yang digunakan untuk menerjemahkan form html (FI=Form Interpreter). PHP/FI versi 2 mendukung koneksi database mSQL. PHP/FI kemudian menarik perhatian banyak orang, dan dukungan dari seluruh dunia pun berdatangan.

1. instalasi PHP Instalasi PHP sama saja dengan instalasi Apache dan MySQL yang meliputi langkah konfigurasi, kompilasi dan instalasi. Karena kita ingin PHP dijalankan di bawah Apache dan dapat mengakses MySQL, maka perbedaan terletak pada saat konfigurasi.

ekstrak source code PHP tar zxvf php-4.2.0.tar.gz

konfigurasi --with-

./configure --with-mysql=/usr/local/mysql/ apxs=/usr/local/apache/bin/apxs

Langkah ini memberitahu bahwa kita ingin menggunakan MySQL yang terletak di /usr/local/mysql dan apache apxs yang terletak di /usr/local/apache/bin. apxs adalah sebuah script perl yang

@oh_gayo on Renjana

12

didistribusikan dalam paket apache, yang akan bergunakan dalam penanganan DSO. Gantilah letak mysql dan apache sesuai [PREFIX] sesuai apa yang Anda spesifikasikan

kompilasi make

instalasi make install

Apache, PHP dan MySQL


1. Konfigurasi Apache dan PHP Diantara ketiga program yang kita install, PHP sangat tergantung pada Apache. Kita bisa saja menggunakan PHP tanpa MySQL, tetapi untuk aplikasi web, kita tidak bisa menggunakan PHP tanpa Apache. Modul PHP yang kita install akan dijalankan oleh Apache. Mari lihat ke file httpd.conf, dan perhatikanlah apakah terdapat baris serupa ini di dalamnya:

# Dynamic Shared Object (DSO) Support # ... ... LoadModule php4_module libexec/libphp4.so

dan # Reconstruction of the complete module list from all available modules # (static and shared ones) to achieve correct module execution order.

@oh_gayo on Renjana

13

# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] ClearModuleList ... ... AddModule mod_php4.c Kedua bagian tersebut akan memberitahu Apache bahwa PHP kini adalah sebuah modul baginya. Perhatikan juga apakah terdapat bagian seperti ini: # And for PHP 4.x, use: # AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps Jika terdapat # (komentar) pada baris AddType, buanglah sehingga sama seperti pada ilustrasi ini. Jika kedua bagian tersebut telah benar, maka restartlah Apache web server Anda menggunakan apachectl. Seharusnya Apache tidak akan memberikan pesan kesalahan, jika iya, maka instalasi PHP yang dilakukan pasti terdapat masalah.

4.2 Pengujian PHP Jika tidak terdapat kesalahan sama sekali, maka tiba saatnya bagi kita untuk mencoba apakah PHP telah berjalan. Untuk lebih lanjutnya, kita juga akan mencoba apakah Apache, PHP dan MySQL bisa bekerja sama.

Script berikut ini akan menguji apakah PHP berjalan atau tidak:

Contoh 1. <? phpinfo();

@oh_gayo on Renjana

14

?>

Dasar-Dasar Belajar PHP


<?php print ("Script PHP pertamaku"); ?> Dengan script ini anda akan menampilkan tulisan Script PHP pertamaku pada layar browser anda Atau <html> <head></head> <body> <?php print ("horee .... script php pertamaku berhasil"); ?> </body> </html>

Mengenal Variable
Variabel akan sangat berguna dalam PHP, terutama karena kita tahu PHP banyak digunakan untuk menampilkan halaman hompej yang dinamis, yang cerdas, yang mampu merespons keinginan pengunjungnya. Dalam PHP penamaan variabel harus memenuhi beberapa aturan, yaitu: 1. Diawali dengan tanda $. Sebenarnya tanda $ sendiri tidak termasuk nama dari variabel ini, tetapi hanya sekedar memberitahukan bahwa apa yang anda tulis adalah variabel. Jadi "$ini" adalah variabel, dan "ini" bukan variabel. 2. Setelah tanda $, variabel harus diawali dengan huruf. Tidak boleh memulai variabel dengan angka, atau tanda baca lainnya. Sebagai contoh "$3tidakvalid" bukanlah penamaan variabel yang dibenarkan.

3. Nama variabel hanya terdiri dari huruf, angka dan tanda garis bawah (_). Jadi nama seperti "$boleh_dong" dibenarkan, dan nama seperti "$apa_liat-liat" tidak dibenarkan. 4. Tidak dibenarkan memberikan nama variabel dengan sesuatu (perintah, dll) yang sudah ada dan memiliki fungsi tertentu. Misalnya anda tidak dibenarkan menamakan variabel anda dengan "$print". 5. Penamaan variabel pada PHP case sensitive, artinya huruf besar dibedakan dengan huruf kecil. Contohnya variabel "$ini" tidak sama dengan variabel "$iNi". Contoh penggunaan variabel dalam script PHP adalah sebagai berikut: <?php $keadaan = "saya bingung tentang PHP"; print ("Sebelum membaca tutorial ini $keadaan"); print ("<p>");

@oh_gayo on Renjana

15

$keadaan = "saya mahir PHP"; print ("Setelah membaca tutorial ini $keadaan"); ?>

Mengenal Array
Kalau anda sering berkecimpung dalam pemrograman, tentu anda sudah sering mendengar - bahkan menggunakan - array. Array adalah sebuah variabel yang mengandung beberapa anggota. anda akan memahaminya dari contoh-contoh berikut. Kita bisa menuliskannya sebagai berikut: $partaiNasionalis = "pdip"; $partaiIslam = "pk"; $partaiSosialis = "prd"; Pembuatan variabel di atas adalah variabel biasa, bukan array. Sedang kalau kita memasukkannya ke dalam array, maka akan berbentuk sebagai berikut: $partai = array ( "pdip", "pk", "prd" ); atau anda juga dapat menuliskannya dengan cara sebagai berikut: $partai[] = "pdip"; $partai[] = "pk"; $partai[] = "prd"; Dalam kedua array di atas maka kita akan memperoleh $partai[0] = "pdip", kemudian $partai[1]="pk" dan $partai[2]="prd". Ingat dalam PHP (sebagaimana dalam C), array dimulai dengan angka 0. Untuk lebih meyakinkan diri, anda dapat mencoba script PHP berikut: <?php $partai = array ( "pdip", "pk", "prd" ); print ($partai[1]); ?> Maka anda akan memperoleh hasil berupa "pk". Dengan kemampuan ini, kita akan dengan mudah memanipulasi data dalam variabel tersebut. Misalnya kemudian dengan perintah $partai[] = "sesuatu";, maka otomatis "sesuatu" akan dimasukkan ke dalam variabel $partai[3], melanjutkan urutan sebelumnya. Array tidak hanya bisa diurutkan dengan nomor seperti di atas. Anda juga dapat memberi nama dengan bebas, seperti pada contoh berikut: $partai = array ( nama=>"pk", deskripsi=>"partai islam", asas=>"islam", peringkat=>7 ); Dengan pendefinisian seperti di atas, maka perintah print ($partai[asas]); akan memberikan hasil berupa kata "islam". Data kita dapat menjadi lebih kompleks dengan adanya array di dalam array, misalnya pada script berikut ini: <html> <head> </head> <body>

@oh_gayo on Renjana

16

<?php $partai = array ( array ( nama=>"pdip", deskripsi=>"partai nasionalis", asas=>"pancasila", peringkat=>1 ), array ( nama=>"pk", deskripsi=>"partai islam", asas=>"islam", peringkat=>7 ), array ( nama=>"prd", deskripsi=>"sosialis", asas=>"kerakyatan", peringkat=>30 ), array ( nama=>"pan", type=>"partai nasionalis", asas=>"pancasila", peringkat=>5 ) ); print ($partai[1][nama]); print ("<br>"); print ($partai[3][peringkat]); ?> </body> </html>

Mengenal Kondisi
Operator if, else dan elseif juga merupakan operator yang selalu anda temui dalam bahasa pemgrograman apapun.. Secara umum penggunaan operator ini adalah sebagai berikut: if (kondisi_pertama) { // kalo terpenuhi akan dijalankan } elseif (kondisi_kedua) { // kalo terpenuhi akan dijalankan

} else { // Jika kondisi_pertama dan kondisi_kedua tidak terpenuhi, // maka perintah yang berada di sini yang akan dijalankan. }

Operasi Perbandingan Contoh $a == $b Kesamaan $a === $b Identik Nama Hasil Benar, jika $a sama dengan $b Benar, jika $a sama dengan $b dan

@oh_gayo on Renjana

17

memiliki tipe yang sama (untuk PHP 4) $a != $b Ketidaksamaan Benar, jika $a tidak sama dengan $b $a <> $b Ketidaksamaan Benar, jika $a tidak sama dengan $b Benar, jika $a tidak sama dengan $b, $a !== $b Ketidakidentikan atau berbeda tipenya (untuk PHP 4) $a < $b Kurang dari Benar, jika $a kurang dari $b $a > $b Lebih dari Benar, jika $a lebih dari $b Benar, jika $a kurang dari atau sama $a <= $b Kurang dari atau sama dengan dengan $b Benar, jika $a lebih dari atau sama $a >= $b Lebih dari atau sama dengan dengan $b

Operasi Logika Contoh Nama Hasil $a and $b And Benar, jika $a or $b Or Benar, jika Benar, jika $a xor $b Xor benar ! $a Not Benar, jika $a && $b And Benar, jika $a || $b Or Benar, jika $a DAN $b kedua-duanya benar $a benar ATAU $b benar HANYA salah satu saja yang benar, $a benar atau $b $a bernilai salah $a DAN $b kedua-duanya benar $a benar ATAU $b benar

Mengenal Perulangan
Operator berikutnya yang akan banyak anda pakai adalah operator "while" dan "for". Operator while akan berbentuk sebagai berikut: while (kondisi) { // Maka apabila "kondisi" TETAP terpenuhi, semua yang // berada di sini akan TERUS dijalankan. } Contoh klasik penggunaan while adalah untuk menampilkan angka terus-menerus hingga kondisi dalam perintah while di atas tidak terpenuhi. Sebagai contoh script berikut: <?php $angka = 1; while ($angka <= 10) { print ("$angka<br>"); $angka++; } ?> Pada contoh di atas perintah print akan terus dijalankan selama kondisi di dalam while terpenuhi, yaitu selama $angka belum melebihi harga "10". Sementara itu harga $angka terus bertambah dengan perintah "$angka++;" yang memiliki makna sama dengan perintah "$angka = $angka + 1;". Anda bebas memilih bentuk

@oh_gayo on Renjana

18

perintah yang anda sukai. Hasil dari script di atas dapat dilihat di sini. Operasi di atas juga dapat dilakukan dengan menggunakan perintah for. Untuk perintah for, bentuk umumnya adalah sebagai berikut: for (expr1; expr2; expr3) { // Perintah dalam blok for } Operator for akan terus menjalankan perintah yang berada di antara tanda { ... } selama "expr2" terpenuhi. Sementara itu, expr1 dijalankan hanya saat pertama operasi for berjalan, setelah itu sama sekali dilupakan. Sedang expr3 akan selalu dijalankan pada setiap akhir loop. Kelihatannya akan lebih mudah jika anda menyimak contoh berikut. Contoh ini akan memberikan hasil persis sama dengan operator while di atas. <?php $angka = 1; for ($angka = 1; $angka <= 10; $angka++) { print ("$angka<br>"); } ?> Sekarang kita belajar tentang fungsi, Sebagai contoh pada Tutorial PHP 2, anda memiliki script berikut: <?php print ("Script PHP pertamaku"); ?> Anda dapat membuat script di atas menjadi sebuah fungsi, dengan cara menambahkan kata function. Sebagai contoh, berikut ini adalah fungsi yang akan memerintahkan menampilkan tulisan "Script PHP pertamaku". <?php function namaFungsiku() { print ("Script PHP pertamaku"); } ?>

Connect ke Mysql database

@oh_gayo on Renjana

19

<?php $link = mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); print ("Connected successfully"); mysql_close($link); ?> <html> <body> <?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); $result = mysql_query("SELECT * FROM employees",$db); printf("First Name: %s<br>\n", mysql_result($result,0,"first")); printf("Last Name: %s<br>\n", mysql_result($result,0,"last")); printf("Address: %s<br>\n", mysql_result($result,0,"address")); printf("Position: %s<br>\n", mysql_result($result,0,"position")); ?> </body> </html> <?php $db=mysql_connect("localhost", "dummy", "dummy"); mysql_select_db("dummy",$db); $result=mysql_query("select * from employees", $db); while ($row = mysql_fetch_row($result)) { #printf("First=%s Last=%s", @mysql_result($result,0,"firstname")); printf("First=%s Last=%s<BR>", $row[0],$row[1]); } ?>

Referensi : www.google.com keyworld php tutorial

@oh_gayo on Renjana

20

Anda mungkin juga menyukai