Anda di halaman 1dari 44

PEMROGRAMAN WEB DENGAN PHP

MAKALAH

Makalah ini disusun untuk memenuhi salah satu tugas mata kuliah Pemrograman
Terstruktur di Bina Sarana Informatika

Oleh :
Puteri Windyana (18073481)

AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER


BINA SARANA INFORMATIKA
2009
ABTRAKSI

Puteri Windyana (18073481). PEMOGRAMAN WEB DENGAN PHP.

Dalam era globalisasi sekarang ini, teknologi informasi melaju dengan


cepatnya. Adapun komputer yang merupakan peralatan yang diciptakan untuk
mempermudah pekerjaan manusia, saat mencapai kemajuan baik di dalam
pembuatan hardware ataupun software.

Perkembangan jumlah website semakin memberikan peluang kerja bagi


para programmer web. Namun demikian banyak hal yang perlu disiapkan oleh
seorang programmer web agar web yang dibangun dapat memenuhi standar.
Banyak celah yang akan muncul, sehingga pemrogram web harus lebih cermat.

Dengan menuliskan banyak kode di sisi client, maka pemrogram web


harus berhati-hati dalam mendesain kodenya. Karena proses terjadi di sisi client
sehingga attacker dapat dengan mudah melakukan manipulasi kodenya. Ini tentu
berbahaya, jika tidak ada filter yang baik.

.Dan agar kegiatan yang ada lebih kondusif dibandingkan dengan sistem
yang terdahulu maka yang harus diperhatikan adalah konsistensi data pada
aplikasi yang dibuat.

Kata kunci: Pemrograman WEB, PHP.


KATA PENGANTAR

Syukur alhamadulillah penulis ucapkan kehadirat allah S.W.T. karena atas


rahmat dan hidayah-Nya penulis dapat menyelesaikan makalah ini sesuai pada
waktunya, makalah ini penulis beri judul :

“ PEMROGRAMAN WEB DENGAN PHP”

Tugas ini disusun untuk melengkapi dan memenuhi salah satu tugas mata
kuliah Pemrograman Terstruktur di Program Pendidikan Diploma Tiga Bina
Sarana Informatika tahun ajaran 2009/2010.
Dalam penulisan tugas ini, penulis mendapatkan bimbingan serta
dukungan dari berbagai pihak. Oleh karena itu pada kesempatan ini, penulis
mengucapkan terima kasih kepada semua pihak yang telah mendukung,
diantaranya :
1. Ely Muningsih, S. Kom. selaku dosen mata kuliah Pemrograman Terstruktur.
2. Semua dosen dan karyawan Bina Sarana Informatika.
3. Kedua orang tua tercinta.
4. Rekan-rekan mahasiswa Bina Sarana Informatika.
5. Semua pihak yang telah membantu sehingga selesai tugas ini.
6. Pihak-pihak lain yang tidak dapat penulis sebutkan satu per satu.
Penulis menyadari bahwa tugas ini masih banyak kekurangannya. Oleh
karena itu, penulis mohon kepada pembaca untuk memberi kritik dan saran untuk
penyempurnaan penulisan di masa yang akan datang.
Demikian tugas ini penulis buat semoga bermanfaat bagi kita semua.

Yogyakarta, 8 Nopember 2009

Penulis
DAFTAR ISI

Halaman Judul..................................................................................................... i
Abstraksi.............................................................................................................. ii
Kata Pengantar..................................................................................................... iii
Daftar Isi.............................................................................................................. iv
BAB I PENDAHULUAN
1.1. Latar Belakang.......................................................................... 1
1.2. Rumusan Masalah..................................................................... 2
1.3. Ruang Lingkup.......................................................................... 2
1.4. Maksud dan Tujuan................................................................... 3
1.5. Metode Pengumpulan Data....................................................... 3
1.6. Sistematika Penulisan............................................................... 3
BAB II PEMBAHASAN
2.1.. Umum....................................................................................... 5
2.2.. Contoh-contoh Program PHP................................................... 12
2.3.. PHP Operator............................................................................ 25
2.4.. Struktur Control PHP................................................................ 27
2.5.. Fungsi........................................................................................ 31
2.6.. Modularisasi.............................................................................. 33
2.7.. Pemrosesan File........................................................................ 33
BAB III PENUTUP
3.1. Kesimpulan............................................................................... 38
3.2. Saran......................................................................................... 38
Daftar Pustaka.................................................................................... 39
BAB 1

PENDAHULUAN

1.1 Latar Belakang

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

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.

1.2. Rumusan Masalah

Makalah ini merumuskan beberapa permasalahan sebagai berikut :

1. Sejarah dan definisi PHP?

2. Contoh-contoh program PHP?

3. Macam-macam PHP operator dan struktur kontrol PHP!

4. Fungsi, modularisasi. dan proses file?

1.3. Ruang Lingkup

Dalam makalah ini, penulis membatasi masalah yang akan dibahas pada
materi kuliah Pemrograman Terstruktur. Pembahasan lebih dikhususkan pada
Pemrograman WEB dengan PHP. Hal tersebut dimaksudkan untuk mempertegas
pembahasan sehingga dapat terfokus pada masalah yang akan dibahas serta dapat
memberikan gambaran umum tentang isi makalah sehingga pembaca lebih mudah
mempelajarinya.
1.4. Maksud dan Tujuan
Maksud dari penyusunan tugas ini adalah untuk memenuhi dan
melengkapi salah satu tugas mata kuliah Pemrograman Terstruktur di Bina Sarana
Informatika. Sedangkan tujuan dari penulisan tugas ini adalah:
1. Menerapkan teori yang didapat selama belajar di Bina Sarana Informatika.
2. Mengembangkan kreativitas dan wawasan penulis.
3. Dapat mengetahui dan memahami tujuam dari Pembuatan WEB.
4. Untuk mengetahui bagaimana perkembangan WEB.

1.5. Metode Pengumpulan Data

Untuk memperoleh data yang diperlukan dalam penyusunan tugas ini,


penulis menggunakan Metode Browsing Internet, yaitu metode yang dilakukan
dengan browsing atau membaca atau mencari referensi-referensi yang berkaitan
dengan masalah yang dibahas dalam tugas ini di internet.

1.6. Sistematika Penulisan

Untuk memudahkan pembaca dalam mempelajari dan mengetahui isi


makalah ini, penulis memberikan uraian singkat mengenai gambaran pada
masing-masing bab melalui sistematika penulisan yaitu :
BAB I PENDAHULUAN
Dalam bab ini, penulis menguraikan tentang latar belakang penulisan,
rumusan masalah, ruang lingkup, maksud dan tujuan serta metode-metode yang
digunakan dalam pengumpulan data untuk menyusun tugas ini. Selain itu, penulis
juga menguraikan mengenai sistematika penulisan.
BAB II PEMBAHASAN
Pada bab ini, penulis menguraikan tentang materi-materi yang akan
dibahas karena bab ini merupakan bab utama dari makalah ini. Dalam bab ini
penulis menguraikan tentang sejarah dan definisi PHP, contoh-contoh program
PHP, macam-macam PHP operator, struktur kode PHP, fungsi, modularisasi, dan
proses file.
BAB III PENUTUP
Dalam bab ini, penulis menguraikan tentang kesimpulan-kesimpulan dari
masalah yang dibahas serta saran-saran yang penulis ajukan guna perbaikan
selanjutnya.
BAB II

PEMBAHASAN

2.1. Umum

PHP kepanjangan dari Hypertext Preprocessor, PHP sendiri dibuat oleh


Rasmus Lerdorf, PHP bersifat open source dan telah digunakan oleh hampir
seluruh web developer di seluruh dunia, situs resmi PHP bisa dikunjungi di
www.php.net.

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

Singkat kata, PHP kita pilih sebagai bahasa untuk pengembangan web
yang akan kita pelajari di bagian selanjutnya. Sebelum memulainya, ada baiknya
kita mengetahui kebutuhan-kebutuhan dasar yang akan membantu kita
memahaminya. Misal 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).

Karena sifatnya yang open source dan semakin banyaknya user membuat
bahasa pemrograman ini, mengalami perkembangan yang sangat cepat. Sintak
atau strukturnya hampir mirip dengan bahasa pemrograman C, Java dan Perl
sehingga dengan begitu bagi mereka yang sudah mempelajari bahasa tersebut
tidak akan mengalami kesulitan, selain itu bagi para pemula yang baru saja
memulai bahasa pemrograman web rasanya PHP turut diperhitungkan, karena
pemanfaatan bahasa PHP tidak hanya sekedar untuk web dan aplikasinya tetapi
sudah merambah kedunia desktop windows, namanya yaitu PHP GTK.

Jika Kita bekerja di sistem operasi Windows, Kita bahkan dapat memilih
Lingkungan Pengembangan Terpadu/IDE (Integrated Development Environment)
khusus untuk PHP seperti :

 PHP Coder buatan Jerman (http://www.phpide.de), yang saat ini kodenya


telah diakuisisi oleh Maguma (http://www.maguma.com)

 PHPEd yang buatan Turki (http://www.soysal.com/PHPEd), terakhir kodenya


dibeli oleh NuSphere (http://www.nusphere.com)

 PHPEdit, program open source yang dapat didownload dari


http://www.phpedit.net

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, kemudian
arahkan alamat pada file coba.php yang telah kita buat, misalkan alamatnya
adalah http://localhost/coba.php, maka Kita akan mendapatkan tampilan browser
Kita berisikan parameter-parameter yang diset untuk PHP yang kita miliki. Kita
dapat mengubah parameter ini dengan memodifikasi file php ini.

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 Kita memiliki waktu yang cukup mengubah parameter pada
php.ini, Kita bisa membuat kode penyisipan PHP menjadi mirip seperti pada ASP
yaitu dengan:

<%

. . . . kode PHP . . . .

%>

Contoh nyata cara mengkombinasikan kode PHP dengan file HTML biasa.
Cobalah Kita 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 Kita! <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 Kita panggil file ini lewat browser, Kita 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 Kita! <br>

<b>Ini adalah kapal Federasi Planet USS Ente

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

?>

Sebuah contoh script php sederhana:

<html>

<head>

<title> Belajar PHP & MySQL </title>

</head>

<body>

<?php
Echo”Selamat Belajar PHP & MySQL”;

?>

</body>

</html>

Kalau kita perhatikan script diatas, bahasa php dimulai dengan “<?php”
dan diakhiri dengan “?>”, sama seperti pemprogaman web lainnya, script php
ditempatkan di dalam script HTML. Berbeda dengan bahasa pemrograman java
script, script php di olah di sisi server, ini berarti bahwa script php yang telah
dibuat akan diproses terlebih dahulu di server, baru kemudian ditampilkan ke clint
dalam bentuk html atau dalam format lainnya, denga begitu script akan lebih
aman dan meminimalisasikan kesalahan interpreter browser.

Jika masih penasaran, sekarang coba lihat source code script diatas, kalau
kita menjalankan script diatas menggunakan IE maka kita bisa, memilih menu
view > source, maka isinya akan seperti ini :

<html>

<head>

<title> Belajar PHP & MySQL </title>

</head>

<body>

Selamat Belajar PHP & MySQL

</body>

</html>
Dari contoh di atas ada perbedaan dengan source codenya, inilah yang
disebut server side scripting. PHP memiliki ekstensi *.php pada setiap filenya.

2.2. Contoh-contoh Program PHP

a. Pencarian data

<!DOCTYPE html PUBLIC “_//W3C//DTD XHTML 1.0


Transitional//EN”

http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<meta http-equiv=”Content-Type”content=”text/html;charset=iso-8859-
1”/>

<title>Untitled Document</title>

<style type=”text/css”>

<!--

.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}

.style2 {font-family: Verdana, Arial, Helvetica, sans-serif, font-size: 12px;


}

.style3 {font-size: 12px; }

Style4 {

font-family: Verdana, Arial, Helvetica, sans-serif;

font-size: 18px;

font-weight: bold;
}

-->

</style>

</head>

<body>

<p class="style4">Pencarian Data</p>

<form id="form1" name="form1" method="post"


action="pencarian.php">

<table width="100%" border=”0”>

<tr>

<td width="23%" valign="top" class="style2">Kata Kunci </td>

<td width="2%" valign="top”class=”style2”>:</td>

<td width="75%" valign="top”class=”style1”><span class=”style3”>

<label>

<input type=”kata_kunci”type=”text”id+”kata_kunci”/>

</label>

<label>

<input type=”submit”name=”Submit”value=”Proses Cari”/>

</label>

</span></td>
</tr>

</table>

</form>

<p>&nbsp;</p>

</body>

</html>

b. Membuat Menu Tree

Bagaimana membuat menu tree atau menu yang bercabang.

<?

Echo’<font face=”verdana”size=”2”color=’#0066CC”>’;

Class submenu {

Var $urls;

Var $desps;

Var $cot;

Var $id;

Var $openSymbol=’<img src=”images/folder.gif”width=”16” height=”16”

border="0"/>';
Var $openSymbol=’<img src=”images/folder.gif”width=”16” height=”16”

border="0"/>';

var $item branch=’&nbsp&nbsp|--‘;

function create($id) {

$this->cot=0;

$this->id=$id;

function add($url,$desp) {

$this->urls[$this->cot]=$url;

$this->desps[$this->cot]=$desp;

$this->cot++;

function open() {

$i=0;

while($i<$this->cot) {

if ($i==0) {

global $PHP_SELF;

echo '<b><a href=”’.$PHP_SELF.’?action=close&id=”>’.$this-

>closeSymbol.$this->desps[0].’</a></b><br>’;

}else {
echo $this->item branch.’<a href=”’.$this->urls[$i].”’>’.$this-

>desps[$i].'</a><br>';

$i++;

function close() {

global $PHP_Self;

if (! $this->id){

} else { echo '<b><a href="'.$PHP_SELF.'?action=open&id=’.$this-

>openSymbol.$this->desps[0].’</a></b><br>’;

class menu {

var $submenus;

var $cot;

var $id;

function create() {

$this->cot=0;
$this->id=2;

function add($submenu) {

$this->submenu[$submenu) {

$this->submenus[$this->cot]=$submenu;

$this->cot++;

function show() {

$i=0;

$tmp=new submenu;

while ($i<$this->cot){

$tmp=$this->submenu[$i];

if ($tmp->id==(string)$this->id) {

$tmp->open();

}else {

$tmp->close();

$i++;

function hide() {
$tmp = new submenu;

$tmp->close();

$sm_1=new submenu;

$sm_1->create('1');

$sm_1->add('',' Situs Favorit');

$sm_1->add('http://www.maxikom.co.id’,’Maxikom’);

$sm_1->add('http://www.google.com’,’Google);

$sm_2=new submenu;

$sm_2->create(‘2’);

$sm_2->add('',' Search Engine’);

$>add('http://www.google.com’,’Google’);

$>add('http://www.yahoo.com’,’yahoo’);

$m_1=new menu;

$m_1->create();

$m_1->add($sm_1);

$m_1->add($sm_2);

if ($action=='') {

$m_1->show();
}

if ($action=='open') {

$m_1->id=$id;

$m_1->show();

if ($action=='close') {

$m_1->id=$id;

$m_1->hide();

$m_1->show();

echo '</font>';

?>

c. Upload file ke server dengan menggunakan PHP

PHP membuat semuanya menjadi lebih mudah dalam menangani upload


file. Untuk membuat form upload pastikan kita menyertakan atribut
enctype="multipart/form-data" dan pastikan methodnya adlaha post. Oke
langsung saja kita lihat kode HTML berikut ini:
<form method="post" action="<?=$PHP_SELF?>"
enctype="multipart/form-data">

<input type="file" name="myfile">

<input type="submit" name="Submit" value="Submit">

</form>

Seperti contoh di atas, kita memberi nama pada field upload kita
"myfile". Nama ini sangat penting, karena ketika file telah diupload maka
file tersebut otomatis diberi nama yang unik dan disimpan di temporary
direktori. Tentu saja url path ke filenya bisa diakses, karena otomatis akan
muncul variabel global yang memiliki nama yang sama dengan field
upload kita, dalam hal ini myfile. Akan ada 4 variabel baru yang semuanya
diawali dengan myfile dan diikuti dengan garis bawah (underscore), yaitu:

$myfile. Variabel ini berisi informasi lokasi file di server.

$myfile_name. Nama file asli ketika masih dikomputer klien.

$myfile_size. Ukuran dari file (dalam satuan bytes).

$myfile_type. Tipe file.

1.) Upload sederhana

Langsung saja kita coba contoh upload berikut ini, simpan dengan
nama upload.php:

<html>

<head>

<title>Upload file</title>

</head>
<body>

<?

if ( isset( $upload ) ) {

echo "Lokasi File: $myfile<br>";

echo "Nama File: $myfile_name<br>";

echo "Ukuran: $myfile_size bytes<br>";

echo "Tipe File: $myfile_type<br>";

copy ( $myfile, "$myfile_name") or die ("Gagal mengupload");

?>

<form enctype="multipart/form-data" action="<?=$PHP_SELF?>"


method="post">

<input type="file" name="myfile"><br>

<input type="submit" value="upload" name="upload">

</form>

</body>

</html>

Ketika tombol upload ditekan, maka url path file tersebut akan
disimpan di variabel $myfile dan kita tampilkan dibrowser. Kita
juga menampilkan nama file yang tersimpan pada variabel
$myfile_name, ukuran file di variabel $myfile_size dan tipe file di
variabel $myfile_type.
Kita menggunakan fungsi copy() untuk memindahkan file dari
komputer kita direktori sementara di server kita. Fungsi copy()
membutuhkan dua argumen yaitu lokasi awal file dan lokasi baru
diserver. Jika kita ingin mengupload nya ke suatu folder diserver
(katakanlah kita simpan difolder images) maka kita perlu
mengubahnya menjadi: copy ( $myfile, "images/$myfile_name")

2.) Upload yang lebih kompleks

Misalkan kita ingin membuat fungsi upload dimana file yang


diupload harus file jpg, dan ukurannya tidak boleh lebih besar dari
100Kb serta panjang dan lebar gambar tidak boleh lebih dari 100
piksel. Kelihatannya rumit kan? Mari kita coba kode berikut dan
simpan dengan nama upload2.php:

<html>

<head>

<title>Upload file</title>

</head>

<body>

<?

if ( isset( $upload ) ) {

echo "Lokasi File: $myfile<br>";

echo "Nama File: $myfile_name<br>";

echo "Ukuran: $myfile_size bytes<br>";

echo "Tipe File: $myfile_type<br>";


if ( $myfile_type == "image/pjpeg" ) {

if ($myfile_size <= 102400 ) {

list($width, $height) = @getimagesize("$myfile");

if ( $width <= 100 && $height <= 100

){

copy ( $myfile,

"$myfile_name") or die ("Couldn't copy");

echo "File anda telah sukses diupload";

} else {

echo "Ukuran panjang dan lebar gambar terlalu besar";

} else {

echo "Ukuran file tidak boleh lebih dari 100Kb";

} else {

echo "File harus JPG!!";

?>
<form enctype="multipart/form-data" action="<?=$PHP_SELF?>"
method="post">

<input type="file" name="myfile"><br>

<input type="submit" value="upload" name="upload">

</form>

</body>

</html>

PHP tidak memiliki kemampuan untuk membuat progress


bar ketika file diupload. Karena PHP tidak dapat mengetahui
berapa bagian yang telah diupload dan berapa yang belum. Kita
perlu menggunakan CGI.

Pertama-tama kita lakukan pengecekan apakah file kita jpg


dengan cara mengecek $myfile_type. Jika hasil dari variabel
$myfile_type adalah "image/pjpeg", maka bisa dipastikan bahwa
file kita adalah jpg. Berikutnya kita melakukan pengecekan apakah
ukuran filenya tidak lebih besar dari 100Kb dengan mengecek
variabel $myfile_size. Ingat bahwa 100Kb =
102400Bytes(Rumusnya 1Kb=1024Bytes). Kemudian kita
menggunakan fungsi getimagesize() untuk menemukan panjang
dan lebar dari gambar yang kita simpan dengan array
menggunakan fungsi list(). Kemudian kita cek panjang dan lebar
dari gambar apakah tidak lebih dari 100 pikse
2.3. PHP
ContohOperator Nama Hasil
$a + $b Penjumlahan Jumlah $a dan $b
a. Operator
$a - $b Aritmetik
Pengurangan Selisih $a dan $b
$a * $b Perkalian Hasil kali $a dan $b
$a / $b Pembagian Bilangan bulat dari $a dibagi $b
$a % $b Modulus Sisa pembagian dari $a dibagi $b

b. Operator String

Contoh Nama Hasil


$a . $b Concatenation Gabung srting $a dan $b

c. Operator Increment/Decrement

Contoh Nama Hasil


++$a PreIncrement Tambah $a dengan 1, hasilnya
masukkan ke dalam $a
$a++ PostIncrement Berikan nilai $a, kemudian
tambahkan 1 kepada $a
--$a PreIncrement Kurang $a dengan 1, hasilnya
masukkan ke dalam $a
$a-- PosIncrement Berikan nilai $a, kemudian
kurangkan 1 kepada $a

d. Operator Bitwise

Contoh Nama Hasil


$a & $b And Setiap bit akan bernilai 1 jika
kedua bit pada posisi yang sama
bernilai 1
$a | $b Or Bit akan bernilai 1 jika salah
satu bit pada posisi yang sama
dalam $a dan $b bernilai 1
Contoh Nama Hasil
$a and $b And Benar jika $a dan $b benar
e. Operator Logika
$a or $b Or Benar jika $a atau $b benar
$a xor $b Xor Benar jika salah satu $a atau
$b benar, tidak keduanya
! $a Not True Lawan dari $a
$a && $b And Benar jika keduanya $a dan
$b benar
$a || $b Or Benar jika salah satu $a atau
$b benar

f. Operator Ternary
Menggunakan tanda “?”
(Ekspresi1) ? (Ekspresi2) : (Ekspresi3);
Operator ini akan melakukan evaluasi ekspresi1, kemudian berdasarkan
hasil evaluasi ini apabila bernilai benar (tidak sama dengan 0 atau tidak
sama dengan null) maka ekspresi2 akan dikerjakan, jika salah maka
ekspresi3 akan dikerjakan.

g. Contoh Perbandingan
Operator Nama Hasil
$a = = $b Sama dengan Benar jika $a sama dengan $b
$a = = = $b Identik Benar jika $a sama dengan $b
dan mempunyai tipe yang sama
(hanya PHP4)
$a != $b Tidak sama Benar jika $a tidak sama dengan
$b
$a != = $b Tidak Identik Benar jika $a tidak sama dengan
$b dan mempunyai tipe yang
tidak sama (hanya PHP4)
$a < $b Lebih kecil Benar jika $a lebih kecil dari $b
$a > $b Lebih besar Benar jika $a lebih besar dari $b
$a <= $b Z,.,j Lebih kecil Benar jika $a lebih kecil atau
sama dengan sama dengan $b
$a >= $b Lebih besar sama Benar jika $a lebih besar atau
dengan sama dengan $b
h. Operator Assignment
Memiliki lambang “=”
Contoh:
 $a=3; => berarti a bernilai 3
 $b=2;
$b+=3; => maka b bernilai 5
 $c=”Hello”;
$c.=”Rifa”;=> maka c bernilai Hello Rifa
i. Operator Kontrol Error
Memiliki lambang “@”
Contoh:
<?
$res=@mysql_query(“select name, code from namelist”);
or
die (“Query failed:error was ‘$php_errormsg’”);
?>
j. Operator Eksekusi
Memiliki lambang (‘ ‘)
Feature ini untuk sementara hanya bisa dijalankan untuk aplikasi PHP
yang digunakan pada sistem operasi LINUX dan UNIX.

2.4. Struktur Kontrol PHP


a. If
Struktur if digunakan untuk pemeriksaan apakah perintah-perintah yang
ada di dalam blok if dikerjakan atau tidak. Perintah dalam blok if akan
dikerjakan apabila nilai dari ekspresi di dalam if bernilai benar (true).
Sintaks:

If (ekspresi){
Perintah 1;
Perintah 2;
Perintah 3;
….
….
}

b. Else
Kontrol struktur else merupakan pelengkap dari kontrol struktur if,
digunakan untuk memberikan alternatif urutan perintah yang harus
dilakukan apabila ada hal proses yang mempunyai dua alternatif benar
atau salah. Else merupakan bagian seurutan perintah yang harus dikerjakan
apabila hasil evaluasi dari ekspresi pada if bernilai salah.
Sintaks:

If (ekspresi){
Perintah 1;
Perintah 2;
Perintah 3;
….
}else{
Perintah a;
Perintah b;
Perintah c;
.....
}
c. Elseif
Nilai hasil suatu ekspresi bisa jadi bukan merupakan dua nilai, Benar atau
salah, true atau false, tetapi bisa banyak nilai. Bentuk if..else digunakan
untuk memutuskan suatu blok perintah yang harus dikerjakan berdasarkan
dua macam nilai yang dihasilkan, benar atau salah saja. Jika lebih dari dua
maka harus digunakan struktur kontrol yang dapat memenuhi kebutuhan
ini.
Struktur kontrol if … elseif menyederhanakan model struktur kontrol if …
else.
Sintaks:
If (ekspresi1){
Perintah 1;
Perintah 2;
Perintah 3;
….
….
}elseif (ekspresi2) {
Perintah a;
Perintah b;
Perintah c;
….
….
}
Struktur kontrol elseif mengharuskan proses pemeriksaan kembali ekspresi
apabila nilai ekspresi pada if bernilai salah, karena belum tentu nilai salah
dalam if pasti benar nilai ekspresinya untuk bagian else. Untuk itu perlu
diperiksa lagi apakah benar nilai salah pada bagian if adalah benar untuk
bagian else.
d. Switch
Switch merupakan bentuk struktur kontrol yang dapat lebih
menyederhanakan bentuk dari pada if … else ataupun bentuk elseif. Pada
bentuk switch ini digunakan untuk mengganti seurutan pemeriksaan if
pada suatu hasil ekspresi dengan beberapa nilai.
Kontrol switch digunakan untuk mengevaluasi suatu ekspresi dengan
kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi
berdasarkan ekspresi dan nilainya.
Blok default pada sintaks di atas tidak harus ada, default sama dengan else
dalam bentuk if .. else atau elseif, tempat blok perintah yang harus
dilakukan tanpa harus diperiksa lagi hasil dari suatu ekspresi.
Sintaks:

Switch($var) {
Case nilai 1 :
Perintah_nilai 1;
Break;
Case nilai2:
Perintah_nilai2;
Break;
Case nilai3:
Perintah_nilai3;
Break;
[default:
Perintah_nilai_default;
]

e. While
While adalah salah satu bentuk pengulangan. Struktur kontrol ini
memungkinkan seurutan perintah untuk dieksekusi berulang-ulang.
Jumlah pengulangan yang harus dilakukan ditentukan oleh nilai dari suatu
ekspresi.
Sintaks
While (ekspresi) {
Perintah_1;
Perintah_2;

}

Perintah-perintah dalam while akan dikerjakan apabila nilai dari ekspresi


dalam while bernilai benar. Dalam blok perintah ini harus ada proses yang
melakukan perubahan nilai agar ekspresi yang diperiksa oleh while
menjadi salah, apabila tidak ada perubahan nilai pada bagian ekspresi
maka akan terjadi pengulangan tidak henti (never ending loop – atau loop
forever). Hati-hati dengan kondisi ini dapat menyebabkan komputer
menjadi tidak dapat dikendalikan hanya karena satu proses ini.
f. Do … while
Do … while berfungsi sama yaitu membuat suatu blok perintah di
dalamnya untuk diulang-ulang eksekusi perintahnya.
Perbedaannya adalah pada do … while proses pemeriksaan ekspresi
dilakukan pada bagian akhir dari blok pengulangan. Perintah dalam blok
akan dikerjakan selama kondisinya masih benar.
Sintaks:
Do {
Perintah_1;
Perintah_2;
….
} while(ekspresi)

Perintah-perintah dalam blok do … while akan dikerjakan paling sedikit


satu kali,
karena proses pemeriksaan dari blok do … while ini dilakukan pada akhir
blok.
g. For
For merupakan struktur kontrol pengulangan dengan jumlah pengulangan
dapat ditentukan berapa kali harus dilakukan. Pengulangan dengan
menggunakan bilangan sebagai penghitung.
Sintak:
for ($c=nilaiawal ; $c<=batasakhir ; $c++) {
Perintah_1 ;
Perintah_2 ;
….
}

$c adalah variable penghitung


nilaiawal adalah bilangan nilai awal hitungan
batasakhir adalah angka hitungan terakhir
$c++ isi variabel penghitung ditambah satu apabila telah sampai akhir blok
for, perintah pada bagian ini tidak harus $c++ yang berarti ditambah satu,
tetapi juga dapat menggunakan $c+=n.

2.5. Fungsi
a. Pengertian
Fungsi merupakan serangkaian script/kode yang mempunyai kegunaan
khusus dan tertentu; merupakan seurutan atau serangkaian kode yang
sering dipakai. Dengan adanya fungsi maka pemrograman dapat
dipermudah karena tidak harus menulis berulang-ulang rangkaian kode
script yang sama.
b. Fungsi Bulit-in
Fungsi built in adalah fungsi yang telah disediakan oleh PHP, pemrogram
dapat langsung memakainya. Macam-macam fungsi built I-in PHP dapat
dikelompokan menjadi:
 Fungsi untuk array
 Fungsi untuk metematika
 Fungsi untuk string dan pemrosesan file
 Fungsi untuk tanggal
 Fungsi untuk database
 Fungsi untuk Web dan XML
 Fungsi untuk file
c. User defined function (UDF)
UDF dibutuhkan untuk memudahkan proses pengembangan aplikasi. UDF
dibuat untuk menambah fungsi yang belum disediakan oleh PHP.
d. Deklarasi UDF
Function namafungsi([parameter])
{
statement…;
statement…;
}
e. Pemanggilan UDF
$varHasil=&namafungsi([parameter]); =>Hasil merupakan nilai yang
dikembalikan
f. Fungsi External
Fungsi eksternal merupakan daftar fungsi yang belum diaktifkan(di-link)
dalam modul PHP, fungsinya diletakkan pada library atau file yang
terpisah dari modul PHP. Function external ini dapat diaktifkan secara
otomatis dengan meregristrasi pada file PHP.INI. Pemanggilannya dengan
menggunakan perintah dl(“nama library”);
2.6. Modularisasi
Modularisasi adalah pemrograman umum dilakukan dan sangat diperlukan
untuk mempermudah debugging dan pengembangan program. Modularisasi
berarti melakukan pembuatan program berdasarkan modul-modul.
a. required()
Bentuk kontruksi yang digunakan untuk menggabungkan suatu script PHP
atau text dari file lain dengan script PHP yang memanggilnya.
Sintaks:
<?required(“namafile.php”)?>
b. include()
Include merupakan kontruksi yang digunakan untuk menggabungkan
suatu script atau file dengan script pemanggilnya.
<?include(“namafile.php”)?>
c. required_once()
Pada prinsipnya sama dengan required tapi dengan menggunakan
required_once dapat menghindari duplikasi pemanggilan suatu fungsi.
d. include_once()
Kontruksi include_once ini sama dengan required_once akan tetapi pada
kontruksi include_once() setiap kali selalu ada evaluasi ulang pada saat
suatu perintah include terjadi pada script yang dispesifikasikan dalam
include_once().
e. dl(namamodul)
namamodul adalah nama modul yang berisi fungsi yang belum disediakan
dalam PHP, disimpan dalam file library eksternal. Konstruksi
dl(namamodul) memungkinkan fungsi-fungsi eksternal yang belum
didukung oleh PHP yang dibuat dan disimpan dalam file library tertentu
yang dapat dipanggil pada saat dibutuhkan saja.

2.7. Pemrosesan File


Materi yang akan dibahas mengenai membaca, memroses, dan membuat
file sebagai tempat penyimpanan data dengan menggunakan format file teks.
Secara umum bekerja dengan file selalu mempunyai pola sebagi berikut:
a. Buka file
Sintaks: $fp=fopen(“namafile”,”mode”)
$fp = file handle
namafile = string nama file.ext dilengkapi dengan path

b. Mode akses file


M
Mode Akses Keterangan
R Membaca file
R+ Membaca dan menulis ke dalam file, pointer diawal file
W Menulis kedalam file, menghapus data
W+ Membaca dan menulis ke dalam file, pointer diawal file
A Menyimpan file, pointer diletakan diakhir file
A+ Membaca dan menulis ke dalam file, pointer diakhir
file
B Binary digunakan agar file yang disimpan tidak
dibedakan sebagai teks atau biner
2.8. Proses file
a. Membaca data dari file
 fgets[]
$var=fgets(fp,jumlah data)
Membaca data file sebagai baris per baris string, sejumlah jumlah data
byte, setiap baris ditandai dengan karakter ganti baris.
<?
$fp=fopen(“bukutelp.txt”,”r”);
while ($isi=fgets($fp,25))
{echo $isi.”<br>”;}
?>
 fread[]
$var= fread (fp,jumlahdata)
Melakukan pembacaan file dalam mode binary yang aman dengan
jumlah data yang dibaca per sekali baca adalah jumlahdata.
<?
$fp=fopen(“bukutelp.txt”,”r”);
while ($isi=fread($fp,25))
{echo $isi.”<br>”;}
?>
Script dengan menggunakan fread() akan membaca data per 25 byte
kemudian ditampilkan ke layar, tidak perduli terdiri dari satu baris atau
tidak.
 fscanf[]
list($var1, $var2,…)=fscanf(fp,”format+delimiter”)
Hasil dari fscanf() selalu dalam bentuk array yang berisi nilai-nilai
untuk setiap field. List adalah fungsi yang digunakan untuk
memisahkan setiap elemen array dalam variabel-variabel
penampungnya. Membaca data file, langsung memasukan ke
dalam variabel-variabel, setiap variabel menyimpan data dari satu
field/record yang dibaca. Setiap field dipisahkan dengan
menggunakan delimiter yang menggunakan escape character.
<?
$fp=fopen(“bukutelp.txt”,”r”);
while(list($nama,$telpon)=fscanf($fp,”%s\t%s\n”))
{echo $nama.”.”.$telpon.”<br>”;}
?>
 feof[]
Sintaks: feof(fp)
Digunakan pada pembacaan file, untuk memeriksa apakah sudah habis
terbaca atau belum file yang dibaca. Fungsi ini akan menghasilkan
nilai False apabila belum membaca sampai akhir dan True apabila
telah selesai dibaca sampai akhir.
 fgetc[]
$var=fgetc(fp)
Membaca data file per karakter, fungsi pembacaan file dengan karakter
per karakter sering kali diperlukan untuk melakukan pemrosesan data
yang khusus.
<?
$fp=fopen(“bukutelp.txt”,”r”);
$huruf=0;
$baris=1;
while(!feof($fp))
{
$ch=fgetc($fp);
if(($ch!=” “)&&($ch!=”\n”)&& ($ch!=”\t”))
$huruf++;
if(($ch!=”\n”)) $baris++;
}
echo “<br>”;
echo “Jumlah baris : $baris”;
echo “<br>”;
echo “Jumla huruf : $huruf”;
?>
 readfile
Membaca dan menuliskan isi file ke standar output. Fungsi ini akan
membaca seluruh file dan langsung dituliskan ke standar output.
<?
$isi=readfile(“bukutelp.txt”);
echo $isi;
?>

b. Menulis data ke dalam file


 fputs[]
fputs(fp,data)
Menuliskan data file sebagai string data.
<?
$namafile=”outfile.txt”;
mydata=”Budi, Bandung, 40132”;
$fp=fopen($namafile,”w”);
fputs($fp,$mydata);
fclose($fp);
echo $mydata;
?>
 fwrite[]
fwrite(fp,string,jumlahdata)
Menuliskan data file sejumlah jumlah data dalam model binary, sama
dengan fputs() tetapi setelah karakter string harus ditulis parameter
jumlah data yang akan ditulis.
<?
$namafile=”outfile.txt”;
mydata=”Budi, Bandung, 40132”;
$fp=fopen($namafile,”w”);
fwrite($fp,$mydata,30);
fclose($fp);
echo $mydata;
?>
c. Pemeriksaan file
Sintaks:
$hasil=file_exits(namafile);
$hasil berupa nilai true atau false
<?
$namafile=”outfile.txt”;
if(file exits($namafile))
{echo “$namafile sudah ada”;}
else
{ echo “$namafile belum ada”;}
?>
d. Tutup file
Sintaks:
fclose($fp)
$fp = file handle

BAB III
PENUTUP

3.1. Kesimpulan
1. Perkembangan jumlah website semakin memberikan peluang kerja
bagi para programmer web. Namun demikian banyak hal yang perlu
disiapkan oleh seorang programmer web agar web yang dibangun
dapat memenuhi standar. Banyak celah yang akan muncul, sehingga
pemrogram web harus lebih cermat.
2. Dengan menuliskan banyak kode di sisi client, maka pemrogram web
harus berhati-hati dalam mendesain kodenya. Karena proses terjadi di
sisi client sehingga attacker dapat dengan mudah melakukan
manipulasi kodenya. Ini tentu berbahaya, jika tidak ada filter yang
baik.
3. Hal lain yang perlu diperhatikan adalah konsistensi data pada aplikasi
yang dibuat.
3.2. Saran
Saran yang bisa penulis sampaikan kepada pembaca adalah apabila
akan membuat sebuah web hendaknya mempelajari dan mengetahui secara
mendalam tentang dasar-dasar pembuatan web dan telah mempelajari
bahasa-bahasa pemrograman agar tidak bingung dan mengalami kesulitan.
Demikian saran dan informasi yang dapat penulis sampaikan,
semoga dapat membantu dan dapat meningkatkan sistem yang ada sesuiai
kebutuhan.

DAFTAR PUSTAKA

 www.php.net
 www.mysql.com
 http://www.linuxjournal.com/ (Programming PHP with Security in Mind)
 www.ilmukomputer.com
 http://www.worldbestwebsites.com/criteria.htm
 http://jerrystage.wordpress.com/2008/03/05/
mengenalbahasabahasapemrogramanweb/
 http://www.securityfocus.com/infocus/186

Anda mungkin juga menyukai