MAKALAH
Makalah ini disusun untuk memenuhi salah satu tugas mata kuliah Pemrograman
Terstruktur di Bina Sarana Informatika
Oleh :
Puteri Windyana (18073481)
.Dan agar kegiatan yang ada lebih kondusif dibandingkan dengan sistem
yang terdahulu maka yang harus diperhatikan adalah konsistensi data pada
aplikasi yang dibuat.
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.
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
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.
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.
PEMBAHASAN
2.1. Umum
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 :
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.
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 . . . .
?>
<?
. . . . 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>
</head>
<body>
Kapal Asing, Silakan identifikasikan diri Kita! <br>
<?php
?>
</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>
</head>
<body>
</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
dengan */
?>
<html>
<head>
</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>
</head>
<body>
</body>
</html>
Dari contoh di atas ada perbedaan dengan source codenya, inilah yang
disebut server side scripting. PHP memiliki ekstensi *.php pada setiap filenya.
a. Pencarian data
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”>
<!--
Style4 {
font-size: 18px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<tr>
<label>
<input type=”kata_kunci”type=”text”id+”kata_kunci”/>
</label>
<label>
</label>
</span></td>
</tr>
</table>
</form>
<p> </p>
</body>
</html>
<?
Echo’<font face=”verdana”size=”2”color=’#0066CC”>’;
Class submenu {
Var $urls;
Var $desps;
Var $cot;
Var $id;
border="0"/>';
Var $openSymbol=’<img src=”images/folder.gif”width=”16” height=”16”
border="0"/>';
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;
>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){
>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('http://www.maxikom.co.id’,’Maxikom’);
$sm_1->add('http://www.google.com’,’Google);
$sm_2=new submenu;
$sm_2->create(‘2’);
$>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>';
?>
</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:
Langsung saja kita coba contoh upload berikut ini, simpan dengan
nama upload.php:
<html>
<head>
<title>Upload file</title>
</head>
<body>
<?
if ( isset( $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")
<html>
<head>
<title>Upload file</title>
</head>
<body>
<?
if ( isset( $upload ) ) {
){
copy ( $myfile,
} else {
} else {
} else {
?>
<form enctype="multipart/form-data" action="<?=$PHP_SELF?>"
method="post">
</form>
</body>
</html>
b. Operator String
c. Operator Increment/Decrement
d. Operator Bitwise
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.
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;
…
}
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.
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