Diterbitkan oleh
Syariar Ilham |
Monday 7 March 2011
Capturing/Digitized Video
Proses capture video (capturing) adalah proses memindahkan hasil rekaman yang disimpan dalam kaset MiniDV dari kamera ke dalam komputer untuk dijadikan sebuah file dengan format digital (avi). Istilah Digitized karena proses yang merubah analog (kaset video) menjadi file digital yang dikenal oleh komputer.
Untuk meng-capture video kita harus membutuhkan salah satu software pendukung antara lain Microsoft Movie Maker merupakan software bawaan yang ada di Windows. Software lain yang bisa digunakan adalah Pinacle, Ulead dan Adobe Premiere, tetapi untuk memakai software ini anda harus membelinya. Dalam pembelajaran ini akan dibahas capture video menggunakan Movie Maker agar anda tidak perlu membeli software pengolah video yang harga
Dalam men-capture video, perlu diperhatikan pula koneksi yang digunakan. Karena antara koneksi video analog dan video digital berbeda. Berikut koneksi yang digunakan oleh video analog dan video digital :
a. KONEKSI VIDEO ANALOG
Secara umum terdapat 3 koneksi yang biasa dipakai :
Composite (RCA)
Koneksi analog yang paling sederhana menggunakan 1 buah kabel.
S-Video
Memilki kualitas yang lebih baik dari RCA, biasa dipakai oleh perangkat video VHS
Component
Koneksi ini yang terbaik, dipakai perangkat video Betacam (Beta-SP) karena kualitas gambar lebih bagus dan terlihat halus.
b. Koneksi Video Digital
Dalam format video digital dikenal 2 jenis koneksi, yaitu :
1. IEEE 1394
Koneksi ini umum disebut dengan koneksi FireWire (Apple Computer) atau i-Link (Sony Corporation). Koneksi ini merupakan standar koneksi yang memiliki kecepatan transfer sangat tinngi hingga 400 Mbps.
2. Serial Digital Interface (SDI)
Koneksi ini dipakai untuk konsumen High-End Profesional untuk mengolah digital video format HD (High Defenition) dan SD ( Standard definition), perangkat yang menggunakan koneksi jenis ini sangat mahal dan hanya dipakai pada industri film dan video yang besar.
Standar Video dan Film
Film yang kita lihat di bioskop adalah film yang diproyeksikan dengan frame rate 24 fps , sedangkan film yang kita lihat di televisi memiliki frame rate sekitar 30 fps (tepatnya 29,97) sesuai dengan standar masing-masing negara. Berikut ini format standar yang digunakan beberapa negara :
Format Standar Negara Frame Rate
NTSC USA, Jepang, Kanada, Meksiko dan Korea 29,97
PAL Indonesia, Inggris, Australia, Eropa dan Cina 25
SECAM Perancis, Timur Tengah dan Afrika 25
Ukuran Resolusi
Resolusi Untuk Monitor Komputer
Gambar yang kita lihat dilayar sebenarnya terdiri dari kumpulan kotak kecil yang berwarna yang disebut dengan pixel dan tampilan yang terlihat dilayar disebut dengan frame. Sedangkan Resolusi merupakan banyaknya jumlah pixel persatuan inchi. Layar terbentuk oleh perbandingan pixel aspect ratio dan frame aspect ratio, sehingga kita sering melihat bentuk tampilan yang memanjang seperti dibioskop tapi ada tampilan lain seperti layar Monitor.
Pixel Aspect Ratio menjelaskan tentang rasio perbandingan lebar dengan tinggi dari sebuah pixel dalam sebuah gambar.
Frame Aspect Ratio menggambarkan perbandingan lebar dengan tinggi pada dimensi frame dari sebuah gambar.
Sebagai contoh, D1 NTSC memiliki pixel aspect ratio 0.9 (0.9 lebar dari 1 unit tingi) dan memiliki pula frame aspect ratio 4:3 (4 unit lebar dari 3 unit tinggi).
Pixel aspect ratio 0.9 dan frame aspect ratio 4:3
Bagian-bagian Capture video
Peralatan Yang harus dipenuhi dalam meng-capture video menggunakan Microsoft Movie Maker antara lain:
1. PC yang digunakan
a. Pentium4 atau AMD Athlon,
b. RAM minimal 256 Mb
c. Harddisk, Putaran Hardisk 7200 rpm dengan kapasitas kosong (space kosoong minimal 20 Gb)
d. VGA card minimal 32 Mb (resolusi monitor 1024x768 pixel)
e. System operasi Windows XP Home Edition atau Profesinal Edition
2. Kartu capture video
Kartu capture video dibutuhkan untuk mentransfer/mengcapture dari media analog (kaset mini DV) ke hardisk. Kartu capture video yang paling sering digunakan adalah IEEE 1394 capture card, yang digunakan untuk mencapture format DV ( Digital Video). Anda dapat membeli dengan kisaran harga yang terjangkau.
Gambar Firewire 1394
3. Kabel Data
kabel data yang digunakan adalah kabel firewire yang didapat jika kita membeli IEEE 1394 card. Kabel data digunakan untuk menghubungkan handycam dengan komputer.
Gambar Kabel firewire
4. Handycam
Pada saat ini sudah ada produk handycam yang menyimpan film dalam DVD R/W yang dapat langsung diputar di komputer untuk di import langsung ke dalam harddisk karena pada saat direkam sudah langsung berbentuk digital sehingga tidak memerlukan handycam dalam proses tranfer ke komputer. Tetapi pada pelajaran ini kita masih menggunakan Handycam / mini DV player yang digunakan untuk menjalankan kaset mini DV yang berisi film, Karena komputer tidak dapat menjalankan film yang masih dalam kaset mini DV
5. Software Video editing
Microsoft movie maker adalah sofware bawaan yang ada di dalam windows. Walaupun fiturnya masih sederhana dibanding sofware lain, tetapi untuk sekedar mengcapture video dan edit sederhana sudah cukup kecuali anda ingin lebih mendalami editing video secara profesional anda dapat mendalami software Adobe premier.
Langkah-langkah Meng-Capture Video
Langkah-langkah mengcapture Video dengan Movie Maker sebagai berikut :
• Pastikan kaset mini DV telah terpasang pada mini DV player/handycam dan pada posisi sehabis digunakan untuk mengambil gambar.
• Hubungkan ujung kabel data pada handycam
• masukkan kabel video yang lain pada lubang port kartu video/fireware pada komputer.
• Hidupkan handycam dan atur pada mode VCR
VCR Mode adalah mode jika kita ingin melihat hasil rekaman pada handycam.
• Jalankan software Windows Movie Maker dengan memilih
: Start - Program - Windows Movie Maker
• Maka akan tampil area kerja movie maker
• Untuk mensetting project yang akan kita buat ikuti langkah berikut, Tools - Options - General:
• Pada kolom default Author untuk memberi keterangan pembuat/pemilik project. Setiap hasil kerja yang dibuat dalam movie maker disebut sebagai project.
• Pada kolom Temporary strorage , tentukan tempat penyimpanan file hasil capture video yang akan kita buat.
• Aktifkan Save AutoRecover info every dan atur waktu untuk menyimpan secara otomatis dengan waktu yang anda inginkan.
• Selanjutnya klik tab Advenced untuk mengaturan lainnya
• Pada kolom pilhan Default Durations Pilihan Picture duration untuk mengatur durasi gambar yang dimasukkan dalam timeline, sedangkan Transition duration berfungsi mengatur durasi transisi default yang dibuat dalam Timeline.
• Pada kolom video properties pilih Pal pada video format dan pilih 4:3 pada pilihan Aspect ratio.
• Lalu klik OK
• Langkah selanjutnya adalah mengcapture vide. Klik File - Capture Video, atau klik pada Capture from video device
Pastikan kabel telah terpasang dengan benar antara komputer maka secara otomatis movie maker akan mengenali perangkat yang digunakan.
Selanjutnya akan muncul jendela Video Capture Wizard
isi nama file pada kolom Enter a file name for your captured video
Tentukan tempat penyimpanan pada kolom choose a place to save your captured video.
Kemudian klik next
Selanjutnya akan muncul jendela Video setting untuk mengatur format video yang akan di capture.
Pilihlah Digital Device format (DV-AVI). Pada format ini frame siz : 720x576 pixels dan frame rate: 25 fps dengan format video PAL. Untuk tiap menit membutuhkan ruang sebesar 178 MB.
Lanjutkan dengan mengklik Next
Selanjutnya akan muncul Capture Method utuk memilih metode yang digunakan untuk meng-capture
Pilihlah capture parts of the tape manualy dimana kita dapat memilih bagian yang ingin kita capture sehingga dapat menghemat ruang penyimpanan
Aktifkan show preview during capture untuk melihat gambar video selama proses capture berlangsung.
Lanjutkan dengan mengklik Next>
Selanjutnya akan muncul jendela capture video
Pada kolom DV camera controls anda dapat mengendalikan camera digital dengan melakukan Play, Stop, Rewind dan Forward
Jalankan camera video dengan cara klik tombol Play untuk melihat hasil rekaman
Klik tombol Start Capture untuk memulai proses capture
Klik tombol Stop Capture untuk menghentikan proses capture
Lakukan langkah diatas untuk melakukan capture selanjutnya.
Jika sudah selesai meng-capture, lanjutkan dengan mengklik Finish . Maka secara otomatis file tersebut akan diimport
Hasil import file tersebut akan disimpan dalam Collection pane dan content Pane
Selanjutnya file tersebut masih berbentuk file avi dan siap di edit dan diberikan efek sesuai dengan selera anda. Untuk pembelajaran editing video, dapat anda temukan pada pembelajaran yang lain. Terima kasih.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 1
Pemrograman Web
dengan PHP dan MySQL
Achmad Solichin, S.Kom
Buku ini disusun berdasarkan materi perkuliahan Pemrograman Web sesuai
dengan kurikulum standar di perguruan tinggi komputer. Di dalam buku ini
tidak terlalu dibahas mengenai teori dan algoritma pemrograman, namun
banyak berisi contoh‐contoh program yang dapat dipraktekkan secara langsung
serta disertai dengan penjelasannya. Dengan demikian, buku ini sangat cocok
bagi Anda yang baru belajar pemrograman web dan haus akan contoh‐contoh
program. Buku ini juga sesuai dijadikan sebagai referensi penyusunan
praktikum perkuliahan bagi mahasiswa maupun siswa.
v1.0
Achmad Solichin, S.Kom
Universitas Budi Luhur, Jakarta
http://achmatim.net – achmatim@gmail.com
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 2
…ku persembahkan untuk Indonesia tanah air tercinta, dan untuk Chotimatul
Musyarofah istri tersayang serta Muhammad Lintang putra tercinta kami…
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 3
Lisensi Dokumen Seluruh isi dalam dokumen ini dapat digunakan, dimodifikasi dan disebarluaskan secara
bebas untuk tujuan pendidikan, pembelajaran dan bukan komersial (non profit), dengan
syarat tidak menghilangkan, menghapus atau mengubah atribut penulis dokumen ini dan
pernyataan dalam lisensi dokumen yang disertakan di setiap dokumen. Tidak diperbolehkan
melakukan penulisan ulang atau mengkomersialkan buku ini kecuali mendapatkan ijin
terlebih dahulu dari penulis.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 4
Kata Pengantar Internet merupakan salah satu fenomena paling berpengaruh dalam beberapa dekade
terakhir ini, baik bagi perkembangan teknologi itu sendiri maupun bagi perkembangan
disiplin ilmu lain, seperti ekonomi, politik, sosial dan budaya. Perkembangan internet juga
berpengaruh langsung terhadap perkembangan situs web. Di awal kemunculannya, internet
maupun situs web belum begitu populer karena layanannya yang masih terbatas. Namun
lihatlah saat ini, situs web sudah demikian populer dan layanannya pun beragam, mulai dari
situs berita seperti Detik dan Okezone, situs penyedia email seperti Yahoo dan Gmail,
sampai situs pertemanan (social networking) seperti Friendster dan Facebook.
Dalam kaitannya dengan situs web dan layanan di dalamnya tidak lepas dari teknologi
di baliknya, yaitu pemrograman web, desain web dan database. Salah satu bahasa
pemrograman yang banyak digunakan untuk membangun suatu situs web adalah PHP
(http://www.php.net). Penggunaannya saat ini bahkan sudah mencapai 25 juta situs web.
Sedangkan dari sisi database, penggunaan MySQL (http://www.mysql.com) masih juga
mendominasi dalam aplikasi berbasis web.
Melalui buku ini, penulis berusaha mengenalkan dasar‐dasar dari PHP dan MySQL
untuk membangun suatu situs web. Buku ini sebagian besar menyajikan berbagai contoh
program yang disusun secara terstruktur dari yang mudah sampai yang cukup kompleks.
Dengan adanya contoh‐contoh program tersebut, diharapkan pembaca dapat
mempraktekkannya secara langsung (learning by doing) dan dapat menyimpulkan sendiri
maksud dari setiap perintah dalam program dengan cara melihat hasil yang ditampilkan di
layar (browser). Di akhir buku ini, disajikan contoh yang lebih nyata, yaitu aplikasi situs berita
sederhana yang dapat dikembangkan lebih lanjut.
Buku ini cocok bagi pembaca yang baru mulai belajar PHP dan MySQL secara mandiri
karena contoh‐contoh dalam buku ini disajikan sesederhana mungkin. Buku ini juga cocok
digunakan sebagai panduan praktikum pemrograman web di perguruan tinggi, sekolah
maupun kursus‐kursus.
Akhirnya penulis berharap agar buku ini bermanfaat bagi perkembangan ilmu dan
pengetahuan di Indonesia, khususnya dalam hal pemrograman web dan internet. Saran dan
kritik untuk perbaikan buku ini sangat penulis harapkan. Saran, kritik dan masukan mengenai
buku ini dapat disampaikan melalui email ke penulis di achmatim@gmail.com atau melalui
situs penulis di http://achmatim.net.
Penulis
Achmad Solichin
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 5
Daftar Isi I. Pengenalan Web Server dan Server Side Scripting ............................... 7
1. Web Server .................................................................................................................. 7
2. Server Side Scripting ................................................................................................... 8
3. Test Instalasi XAMPP di Browser ............................................................................... 13
II. Struktur Dasar PHP ............................................................................. 14
1. Sebelum Belajar PHP ................................................................................................. 14
2. Mari Mengenal PHP .................................................................................................. 14
3. Say Hello to PHP ........................................................................................................ 15
4. Variabel ..................................................................................................................... 15
5. Tipe Data ................................................................................................................... 16
6. Konstanta .................................................................................................................. 17
7. Operator dalam PHP ................................................................................................. 17
8. Komentar Program .................................................................................................... 19
III. Struktur Kondisi dan Perulangan ........................................................ 21
1. Struktur Kondisi ......................................................................................................... 21
2. Struktur Perulangan .................................................................................................. 25
3. Struktur Break dan Continue .................................................................................... 29
IV. Penanganan Form ............................................................................... 30
1. Berbagai Cara Penanganan Form .............................................................................. 30
2. Form Input Type TEXT dan PASSWORD .................................................................... 33
3. Form Input Type RADIO ............................................................................................ 36
4. Form Input Type CHECK BOX .................................................................................... 38
5. Form Input Type COMBO BOX .................................................................................. 39
6. Form Input Type TEXTAREA ...................................................................................... 41
V. Array dan Fungsi ................................................................................. 43
1. Pengantar Array ........................................................................................................ 43
2. Fungsi‐fungsi Array dalam PHP ................................................................................. 47
3. Fungsi dalam PHP ...................................................................................................... 50
VI. Penanganan String dan Tanggal ......................................................... 52
1. Pengantar String ........................................................................................................ 52
2. Fungsi‐fungsi String dalam PHP ................................................................................ 53
3. Fungsi‐fungsi Operasi Tanggal dalam PHP ................................................................ 60
VII. File dan Direktori ................................................................................ 62
1. Penanganan File ........................................................................................................ 62
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 6
2. Membuat dan Menghapus Direktori ........................................................................ 66
3. Manipulasi File .......................................................................................................... 68
4. Upload File ................................................................................................................ 69
VIII. Session dan Cookies ............................................................................ 72
1. Session....................................................................................................................... 72
2. Cookies ...................................................................................................................... 75
IX. Pemrograman Berorientasi Objek dalam PHP ................................... 77
1. Pengantar Pemrograman Berorientasi Objek ........................................................... 77
2. Object dan Class ........................................................................................................ 77
3. Properties dan Method ............................................................................................. 78
4. Mendefinisikan Class ................................................................................................. 78
5. Memanfaatkan Class yang Tersedia .......................................................................... 82
X. Pengenalan DBMS dan MySQL ........................................................... 84
1. Tentang Database, DBMS dan RDBMS ...................................................................... 84
2. Tentang MySQL ......................................................................................................... 85
3. Instalasi MySQL di Windows ..................................................................................... 85
4. Koneksi ke Server MySQL dengan MySQL Client ...................................................... 95
5. Berbagai MySQL Client untuk Administrasi Server MySQL ....................................... 96
XI. Pengenalan Structured Query Language ............................................ 99
1. Apa Itu SQL ? ............................................................................................................. 99
2. Membuat, Mengubah dan Menghapus Table ........................................................ 101
3. Menambah Record dengan INSERT ........................................................................ 105
4. Mengedit Record dengan UPDATE ......................................................................... 106
5. Menghapus Record dengan DELETE ....................................................................... 107
XII. Aplikasi Berita dengan PHP dan MySQL ........................................... 113
1. Merancang Struktur Database ................................................................................ 113
2. Membuat File Koneksi Database............................................................................. 114
3. Membuat Halaman Input Berita ............................................................................. 114
4. Menampilkan Berita Terbaru di Halaman Depan ................................................... 115
5. Membuat Halaman Arsip Berita ............................................................................. 117
6. Membuat Halaman Edit Berita ............................................................................... 118
7. Membuat Halaman Delete Berita ........................................................................... 120
8. CSS sebagai Pemanis Tampilan ............................................................................... 120
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 7
Bab 1
Pengenalan Web Server dan Server Side
Scripting
�� Pengenalan Web Server
�� Instalasi dan Konfigurasi Web Server
�� Instalasi dan Konfigurasi PHP
�� Testing Web Server dan PHP
Web Server
Web Server merupakan sebuah perangkat lunak dalam server yang berfungsi
menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS
dari klien yang dikenal dengan browser web dan mengirimkan kembali (response)
hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk
dokumen HTML.
Gambar 1.1. Standar Web Architecture
Gambar 1.2. Dynamic Web Architecture
Beberapa Web Sever yang banyak digunakan di internet antara lain :
1. Apache Web Server (http://www.apache.org)
2. Internet Information Service, IIS (http://www.microsoft.com/iis)
Web Documents
R
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 8
3. Xitami Web Server (http://www.xitami.com)
4. Sun Java System Web Server
(http://www.sun.com/software/products/web_srvr/home_web_srvr.xml)
Server Side Scripting
Server Side Scripting merupakan sebuah teknologi scripting atau pemrograman
web dimana script (program) dikompilasi atau diterjemahkan di server. Dengan
server side scripting, memungkinkan untuk menghasilkan halaman web yang
dinamis.
Beberapa contoh Server Side Scripting (Programming) :
5. ASP (Active Server Page) dan ASP.NET
6. ColdFusion (http://www.macromedia.com/software/coldfusion)
7. Java Server Pages (http://java.sun.com/products/jsp/)
8. Perl (http://www.perl.org)
9. Phyton (http://www.python.org)
10. PHP (http://www.php.net)
Keistimewaan PHP
�� Cepat
�� Free
�� Mudah dipelajari
�� Multi-platform
�� Dukungan technical-support
�� Banyaknya komunitas PHP
�� Aman
Instalasi Apache, PHP dan MySQL dengan XAMPP
Proses instalasi Apache, PHP dan MySQL seringkali menjadi kendala terutama
bagi pemula yang baru belajar pemrograman web dengan PHP. Hal tersebut
disebabkan karena software tersebut harus diinstall dan dikonfigurasikan satu per
satu. Bagi belum mengerti benar, tentu sering mengalami kesulitan, apalagi bagi
kita yang belajar secara mandiri.
Namun jangan berkecil hati, saat ini banyak tersedia aplikasi paket yang
menyatukan ketiga software tersebut (Apache, PHP dan MySQL) ke dalam satu
installer. Proses instalasinya pun dapat dilakukan dengan mudah dan cepat,
hanya perlu next, next, and finish.
Beberapa aplikasi paket tersebut antara lain:
1. XAMPP (versi Windows) dan LAMPP (versi Linux) yang dapat didownload di
http://apachefriends.org.
2. WAMP Server.
3. APPServ
4. PHPTriad.
Penulis sendiri menyarankan pemakaian XAMPP atau WAMP Server karena versi
software di dalamnya menggunakan versi terbaru.
Persiapan Instalasi
1. Pastikan komputer Anda belum terinstall web server lain seperti IIS atau PWS
karena dapat menyebabkan bentrok dengan web server Apache. Namun
demikian, jika Anda masih tetap mempertahankan program tersebut, setelah
instalasi selesai Anda dapat mengkonfigurasikan Apache secara manual
dengan mengganti nomor port yang digunakan.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 9
2. Download Source XAMPP versi stabil terbaru di http://apachefriends.org. Pilih
versi sesuai dengan sistem operasi yang Anda gunakan (tersedia versi untuk
Windows, Linux dan Mac).
3. Pastikan komputer yang Anda gunakan berjalan dengan baik dengan
kapasitas memori dan hardisk yang masih mencukupi.
Proses Instalasi XAMPP
1. Jalankan file installer XAMPP xampp-win32-x.x.x-installer.exe.
Gambar 1.1. File installer XAMPP
2. Akan ditampilkan window instalasi XAMPP. Pilih Next > untuk memulai proses
instalasi.
Gambar 1.2. Window Instalasi XAMPP
Pemro
3. A
lo
B
4. S
X
ograman We
Akan ditamp
okasi (folde
Browse.. . P
elanjutnya
XAMPP nanti
b dengan PH
ilkan windo
er) dimana
Pilih tombol
Gamb
akan ditam
nya. Tekan
Ga
P dan MySQL
ow lokasi tuj
a XAMPP a
Next > unt
ar 1.3. Fold
mpilkan wind
tombol Ins
ambar 1.4. W
L
juan instala
akan diinst
tuk melanju
er tujuan in
dow pilihan
stall untuk m
Window pilih
si (destinat
tall dengan
utkan proses
nstalasi XAM
n untuk kem
melanjutkan
han XAMPP
tion folder),
n menekan
s instalasi.
MPP
mudahan m
n proses ins
tentukan
n tombol
mengakses
stalasi.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 11
5. Proses instalasi dimulai.
Gambar 1.5. Proses instalasi dimulai
6. Proses instalasi selesai. Klik Finish untuk menutup proses instalasi.
Gambar 1.6. Proses instalasi selesai
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 12
7. Jika proses instalasi berjalan dengan lancar makan akan ditampilkan window
konfirmasi.
Gambar 1.7. Konfirmasi Instalasi Berhasil
8. Kita dapat mengatur XAMPP dengan mengakses XAMPP Control Panel yang
dapat diakses melalui menu di Program Files atau icon di taskbar.
Gambar 1.8. XAMPP Control Panel
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 13
Test Instalasi XAMPP di Browser
Untuk memastikan bahwa XAMPP beserta PHP, Apache dan MySQL berjalan
dengan baik, bukalah browser dan ketikkan URL sebagai berikut:
http://localhost
Jika semua sudah berjalan dengan baik, maka akan ditampilkan gambar sebagai
berikut:
Gambar 1.9. Tampilan XAMPP di Browser
Pilih bahasa yang ingin digunakan dan akan ditampilkan halaman utama XAMPP
sebagai berikut:
Gambar 1.9. Tampilan XAMPP di Browser
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 14
Bab 2
Struktur Dasar PHP
�� Sebelum Belajar PHP
�� Mari Mengenal PHP
�� Say Hello to PHP
�� Variabel
�� Tipe Data
�� Konstanta
�� Operator dalam PHP
�� Komentar Program
Sebelum Belajar PHP
1. Saya asumsikan Anda telah mengenal dengan cukup baik komputer Anda, dan
juga bisa mengoperasikannya. Jadi Anda seharusnya sudah mengerti
perbedaan file dan direktori, bagaimana menyimpan file atau document,
bagaimana meng-copy file, dan seterusnya.
2. Saya asumsikan Anda telah mengerti bagaimana membuka dan menggunakan
salah satu atau salah semua dari editor seperti Notepad, EditPlus, Crimson
Editor, Dreamweaver, atau yang lainnya. Saya asumsikan juga, Anda telah
mengerti bagaimana membuat, mengedit, dan menyimpan suatu file dengan
editor tersebut.
3. Saya asumsikan bahwa Apache, PHP, dan MySQL di komputer yang Anda
pakai sudah berjalan sebagaimana mestinya.
4. Saya asumsikan Anda telah mengerti bagaimana cara menggunakan Web
Browser (IE, Mozilla, Opera, dsb)
5. Saya asumsikan Anda telah mengenal dan mengerti dengan cukup baik
tentang tag-tag HTML dan juga bagaimana menggunakannya. Anda tentu
sudah mengambil matakuliah Pemrograman Web 1 atau Internet kan ?
6. Saya asumsikan bahwa penglihatan Anda masih normal sehingga bisa
membedakan antara :
�� Tulisan nama, Nama dan NAMA
�� Koma (,), titik-koma (;) dan titik-dua (:)
�� Kutip-tunggal (‘) dan kutip-ganda (“)
�� Tulisan namamhs, nama_mhs dan nama mhs
7. Saya asumsikan Anda pernah menggunakan www.google.com
Mari Mengenal PHP
Tahukah Anda, PHP itu.....
1. Merupakan singkatan recursive dari PHP : Hypertext Prepocessor
2. Pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1994.
3. Harus ditulis di antara tag :
��
��
��
�� <% dan %>
4. Setiap satu statement (perintah) biasanya diakhiri dengan titik-koma (;)
5. CASE SENSITIVE untuk nama identifier yang dibuat oleh user (berupa
variable, konstanta, fungsi dll), namun TIDAK CASE SENSITIVE untuk
identifier built-in dari PHP. Jadi :
�� $nama ≠ $Nama ≠ $NAMA
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 15
�� hitungLuas() ≠ HitungLuas()
�� echo = ECHO
�� while = WHILE
6. Mudah dipelajari.
Say Hello to PHP
1. Ketikkan perintah di bawah ini di editor :
Program 2.1
Nama File : hello.php
Deskripsi : Program sederhana menampilkan sebuah string di layar.
1
2
3
2. Simpan dengan nama “hello.php” di document-root komputer Anda.
3. Buka browser dan ketikkan alamat http://localhost/hello.php
4. Lihat hasilnya di browser. Akan terlihat tampilan seperti pada gambar 2.1
Gambar 2.1. Tampilan Program 2.1
Variabel
�� Digunakan untuk menyimpan sebuah value, data atau informasi
�� Nama variabel diawali dengan tanda $
�� Panjang tidak terbatas
�� Setelah tanda $ diawali oleh huruf atau under-scrore (_). Karakter
berikutnya bisa terdiri dari huruf, angka, dan karakter tertentu yang
diperbolehkan (karakter ASCII dari 127 – 255).
�� Bersifat case-sensitive.
�� Tidak perlu dideklarasikan.
�� Tidak boleh mengandung spasi.
�� Contoh :
Benar
- $_name
- $first_name
- $name3
- $name_3
Salah
- $3name
- $name?
- $first+name
- $first.name
- $first name
Program 2.2
Nama File : variabel.php
Deskripsi : Program mengisi dan menampilkan variabel di layar.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 16
1
2
3
4
5
6
7
";
echo "Nama : $nama";
?>
Gambar 2.2. Tampilan Program 2.2
Tipe Data
Pada PHP, tipe data variabel tidak didefinisikan oleh programmer, akan tetapi
secara otomatis ditentukan oleh intepreter PHP. Namun demikian, PHP
mendukung 8 (delapan) buah tipe data primitif, yaitu :
1. boolean
2. integer
3. float
4. string
5. array
6. object
7. resource
8. NULL
Program 2.3
Nama File : tipe.php
Deskripsi : Program contoh penanganan beberapa tipe data dasar dalam
PHP.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
";
echo "Nama : $nama
";
print "Umur : " . $umur; print "
";
printf ("Nilai : %.3f
", $nilai);
if ($status)
echo "Status : Aktif";
else
echo "Status : Tidak Aktif";
?>
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 17
Gambar 2.3. Tampilan Program 2.3
Konstanta
Konstanta merupakan variabel konstan yang nilainya tidak berubah-ubah. Untuk
mendefinisikan konstanta dalam PHP, menggunakan fungsi define()
Program 2.4
Nama File : konstanta.php
Deskripsi : Program penggunaan konstanta dalam PHP.
1
2
3
4
5
6
7
8
Nilai : " . NILAI;
?>
Gambar 2.4. Tampilan Program 2.4
Operator dalam PHP
Jenis Operator Operator Contoh Keterangan
Aritmatika + $a + $b Pertambahan
- $a - $b Pengurangan
* $a * $b Perkalian
/ $a / $b Pembagian
% $a % $b Modulus, sisa pembagian
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 18
Penugasan = $a = 4; $a diisi dengan 4
Bitwise & $a & $b Bitwise AND
| $a | $b Bitwise OR
^ $a ^ $b Bitwise XOR
~ ~$b Bitwise NOT
<< $a << $b Shift Left >> $a >> $b Shift Right
Perbandingan == $a == $b Sama dengan
=== $a === $b Identik
!= $a != $b Tidak sama dengan
<> $a <> $b Tidak sama dengan
!== $a !== $b Tidak identik
< $a < $b Kurang dari > $a > $b Lebih dari
<= $a <= $b Kurang dari sama dengan >= $a >= $b Lebih dari sama dengan
Logika and $a and $b TRUE jika $a dan $b TRUE
&& $a && $b TRUE jika $a dan $b TRUE
or $a or $b TRUE jika $a atau $b TRUE
|| $a || $b TRUE jika $a dan/atau $b TRUE
xor $a xor $b TRUE jika $a atau $b TRUE, tapi
tidak keduanya
! !$a TRUE jika $a FALSE
String . $a . $b Penggabungan string $a dan $b
Program 2.5
Nama File : operator.php
Deskripsi : Program beberapa Operator aritmatika dalam PHP.
1
2
3
4
5
6
7
8
";
echo "Gaji yang dibawa pulang = Rp. $thp";
?>
Gambar 2.5. Tampilan Program 2.5
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 19
Program 2.6
Nama File : operator2.php
Deskripsi : Program operator logika dan perbandingan dalam PHP.
1
2
3
4
5
6
7
8
9
10
11
$a != $b : ". ($a != $b);
echo "
$a > $b : ". ($a > $b);
echo "
$a < $b : ". ($a < $b); echo "
($a == $b) && ($a > $b) : ".(($a != $b) && ($a > $b));
echo "
($a == $b) || ($a > $b) : ".(($a != $b) || ($a > $b));
?>
Gambar 2.6. Tampilan Program 2.6
Komentar Program
Dalam PHP, komentar program bisa menggunakan :
�� /* dan */
�� // dan
�� #
Program 2.7
Nama File : komentar.php
Deskripsi : Program cara memberikan komentar dalam program PHP.
1
2
3
4
5
6
7
8
9
10
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 20
Gambar 2.7. Tampilan Program 2.7
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 21
Bab 3
Struktur Kondisi dan Perulangan
�� Struktur Kondisi
+ Struktur Kondisi If
+ Struktur Kondisi If...Else
+ Struktur Kondisi Khusus ? :
+ Struktur Kondisi Switch...Case
�� Struktur Perulangan
+ Struktur Kondisi For
+ Struktur Kondisi While
+ Struktur Kondisi Do...While
+ Struktur Kondisi Foreach
�� Struktur Break dan Continue
Struktur Kondisi
Struktur Kondisi If
if (kondisi) {
statement-jika-kondisi-true;
}
Keterangan :
�� kondisi merupakan statemen atau variabel yang akan diperiksa TRUE
atau FALSE-nya.
Struktur Kondisi If ... Else
if (kondisi) {
statement-jika-kondisi-true;
} else {
statement-jika-kondisi-false;
}
Keterangan :
�� kondisi merupakan statemen atau variabel yang akan diperiksa TRUE
atau FALSE-nya. Jika kondisinya TRUE maka statemen yang berada di blok
if akan dieksekusi, sebaliknya jika kondisinya FALSE maka statemen yang
berada di blok else yang akan dieksekusi.
Struktur Kondisi Khusus ? :
(kondisi) ? benar : salah;
Keterangan :
�� kondisi merupakan statemen atau variabel yang akan diperiksa TRUE
atau FALSE-nya. Statement pada blok benar dan salah hanya boleh satu
statemen saja
Struktur Kondisi Switch ... Case
switch ($var) {
case '1' : statement-1; break;
case '2' : statement-2; break;
....
}
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 22
Keterangan :
�� $var merupakan variabel yang akan diperiksa isi atau nilainya. Tipe data
variabel ini tidak dibatasi.
�� Value pada case juga bisa berupa string, integer, boolean, bahkan bisa
berupa conditional-statement. Boleh memakai kutip tunggal maupun kutip
ganda.
Program 3.1
Nama File : if.php
Deskripsi : Program Struktur Kondisi If.
1
2
3
4
5
6
= 60) {
echo "Nilai Anda $nilai, Anda LULUS";
}
?>
Penjelasan Program 3.1
Pada program di atas, terdapat pemeriksaan kondisi apakah isi variabel $nilai
lebih dari 60 (baris 3). Jika kondisi ini bernilai TRUE (variabel $nilai berisi nilai
yang lebih besar dari 60) maka statement pada baris ke-4 akan dijalankan.
Sebaliknya jika kondisinya FALSE, maka statement pada baris ke-4 tidak akan
dijalankan.
Gambar 3.1. Tampilan Program 3.1
Program 3.2
Nama File : if_else.php
Deskripsi : Program Struktur Kondisi If..Else.
1
2
3
4
5
6
7
8
= 60) {
echo "Nilai Anda $nilai, Anda LULUS";
} else {
echo "Nilai Anda $nilai, Anda GAGAL";
}
?>
Penjelasan Program 3.2
Pada program di atas, terdapat pemeriksaan kondisi apakah isi variabel $nilai
lebih dari 60 (baris 3). Jika kondisi ini bernilai TRUE (variabel $nilai berisi nilai
yang lebih besar dari 60) maka statement pada baris ke-4 akan dijalankan.
Sebaliknya jika kondisinya FALSE, maka statement pada baris ke-6 yang akan
dijalankan. Pada contoh program di atas, kondisi pada baris ke-3 bernilai FALSE
karena isi variabel $nilai adalah 50.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 23
Gambar 3.2. Tampilan Program 3.2
Program 3.3
Nama File : if_else2.php
Deskripsi : Program Memeriksa username dan password dengan If..Else.
1
2
3
4
5
6
7
8
9
Penjelasan Program 3.3
Pada program di atas, terdapat pemeriksaan kondisi apakah isi variabel $nilai
sama dengan “achmatim” dan apakah isi variabel $pass sama dengan “123”
(baris 4). Jika kedua kondisi tersebut bernilai TRUE maka statement pada baris
ke-5 akan dijalankan. Sebaliknya jika salah satunya bernilai FALSE, maka
statement pada baris ke-7 yang akan dijalankan.
Gambar 3.3. Tampilan Program 3.3
Program 3.4
Nama File : if_var.php
Deskripsi : Program Memeriksa suatu variabel ada atau tidak.
1
2
3
4
5
6
7
8
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 24
Penjelasan Program 3.4
Pada program di atas, terdapat fungsi isset() yang merupakan fungsi untuk
memeriksa apakah suatu variabel sudah terbentuk (ada) atau belum. Fungsi akan
bernilai TRUE jika variabelnya ada. Jadi jika baris ke-2 dari program di atas diremark
atau dihilangkan maka statement pada baris ke-4 yang akan dijalankan.
Gambar 3.4. Tampilan Program 3.4
Program 3.5
Nama File : switch.php
Deskripsi : Program Struktur Switch..Case untuk menampilkan nama hari
dalam bahasa Indonesia.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$hari";
?>
Penjelasan Program 3.5
Pada program di atas, variabel $day (baris ke-2) akan berisi 3 (tiga) digit
pertama dari nama hari dalam bahasa Inggris. Dengan fungsi date(), kita akan
memperoleh informasi tanggal, hari dan waktu sekarang. Fungsi ini akan
diperlajari lebih lanjut pada Bab mendatang. Selanjutnya isi variabel $day akan
diperiksa dengan switch (baris ke-3), jika isinya adalah ‘Sun’ maka $hari adalah
“Minggu” dan seterusnya.
Gambar 3.5. Tampilan Program 3.5
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 25
Program 3.6
Nama File : if_khusus.php
Deskripsi : Program Struktur Kondisi Khusus ? untuk memeriksa tahun
kabisat.
1
2
3
4
5
$tahun $kabisat";
?>
Penjelasan Program 3.6
Pada program di atas, fungsi date() dengan parameter “Y” (baris ke-2) akan
menghasilkan 4 digit tahun sekarang. Pada baris ke-3 akan diperiksa apakah isi
variabel $tahun jika dimodulus dengan 4 akan menghasilkan nilai 0. Jika TRUE
maka $kabisat akan berisi “KABISAT” dan jika FALSE $kabisat akan berisi
“BUKAN KABISAT”
Gambar 3.6. Tampilan Program 3.6
Struktur Perulangan
Struktur Perulangan For
for (init_awal, kondisi, counter) {
statement-yang-diulang;
}
Keterangan :
�� init_awal merupakan inisialisasi atau nilai awal variable.
�� kondisi merupakan statemen kondisi yang akan membatasi perulangan.
�� counter merupakan pertambahan atau pengurangan nilai variabel
sehingga perulangan tetap berjalan.
Struktur Perulangan While
init_awal;
while (kondisi) {
statement-yang-diulang;
counter;
}
Keterangan :
�� init_awal merupakan inisialisasi atau nilai awal variable.
�� kondisi merupakan statemen kondisi yang akan membatasi perulangan.
�� counter merupakan pertambahan atau pengurangan nilai variabel
sehingga perulangan tetap berjalan.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 26
Struktur Perulangan Do ... while
init_awal;
do {
statement-yang-diulang;
counter;
} while (kondisi);
Keterangan :
�� init_awal merupakan inisialisasi atau nilai awal variable.
�� kondisi merupakan statemen kondisi yang akan membatasi perulangan.
�� counter merupakan pertambahan atau pengurangan nilai variabel
sehingga perulangan tetap berjalan.
�� Pada struktur do...while, pemeriksaan kondisi ada di bawah, sehingga
statement yang berada dalam block do...while setidaknya akan dieksekusi
sebanyak satu kali.
Struktur Perulangan Foreach
foreach (array_expression as $value)
statement;
foreach (array_expression as $key => $value)
statement;
Keterangan :
�� Struktur foreach biasanya digunakan untuk melakukan perulangan
berdasarkan isi suatu array. Perulangan akan berakhir jika isi array telah
habis.
Program 3.7
Nama File : for.php
Deskripsi : Program Struktur Perulangan For dan beberapa variasinya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
";
/* contoh 4 */
for ($i = 1; $i <= 10; print "$i ", $i++); ?>
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 27
Penjelasan Program 3.7
Program di atas merupakan bentuk-bentuk perulangan dengan menggunakan for.
Contoh yang pertama (baris 4-6) merupakan bentuk yang paling umum. Pada
contoh 2, batas akhir perulangan tidak disebutkan dalam for, tapi diatur dengan if
dan break (baris 11-13).
Gambar 3.7. Tampilan Program 3.7
Program 3.8
Nama File : while.php
Deskripsi : Program Struktur Perulangan While dan beberapa variasinya.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
";
/* contoh 3 */
$i = 1;
while ($i <= 6) { echo "Heading $i";
$i++;
}
?>
Penjelasan Program 3.8
Program di atas merupakan beberapa variasi perulangan dengan while. Contoh
yang pertama (baris 3-6) merupakan bentuk yang paling umum dipakai. Blok
perintah (baris 5) akan dijalankan selama pemeriksaan kondisi pada baris ke-4
bernilai TRUE. Contoh kedua merupakan bentuk lain dari while, bentuk ini jarang
digunakan. Pada contoh ketiga, penggunaan perulangan untuk menampilkan
tulisan dengan format
sampai
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 28
Gambar 3.8. Tampilan Program 3.8
Program 3.9
Nama File : dowhile.php
Deskripsi : Program Struktur Perulangan dengan Do...While.
1
2
3
4
5
6
7
8
9
Penjelasan Program 3.9
Program di atas akan menampilkan bilangan ganjil antara 1 sampai 20
menggunakan struktur perulangan do..while. Pada struktur perulangan
do...while, pemeriksaan kondisi berada di bawah.
Gambar 3.9. Tampilan Program 3.9
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 29
Struktur Break dan Continue
Program 3.10
Nama File : break.php
Deskripsi : Program Struktur Break dan Continue.
1
2
3
4
5
6
7
8
9
10
11
Penjelasan Program 3.10
Dari program di atas, dapat disimpulkan bahwa perintah continue akan
melanjutkan proses perulangan tanpa melewati (meng-eksekusi) baris perintah di
bawahnya. Jadi perintah pada baris 6-8 akan dilewati (5 tidak akan tercetak)
Sedangkan dengan perintah break akan menyebabkan program menghentikan
perulangan (langsung keluar dari perulangan)
Gambar 3.10. Tampilan Program 3.10
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 30
Bab 4
Penanganan Form
�� Berbagai Cara Penanganan Form
�� Form Input Type TEXT dan PASSWORD
�� Form Input Type RADIO
�� Form Input Type CHECKBOX
�� Form Input Type COMBO BOX
�� Form Input Type TEXTAREA
Form inputan dibuat dengan tag-tag HTML. Halaman yang mengandung form
murni (tidak ada script php) tidak harus disimpan dalam bentuk php, bisa dalam
bentuk html.
Untuk merancang sebuah form inputan, setidaknya ada 3 (tiga) hal penting, yi :
1. METHOD
Method dari sebuah form menentukan bagaimana data inputan form dikirim.
Method ini ada dua macam, yaitu GET dan POST. Method ini menentukan
bagaimana data inputan dikirim dan diproses oleh PHP.
2. ACTION
Action dari sebuah form menentukan dimana data inputan dari form diproses.
Jika action ini dikosongkan, maka dianggap proses form terjadi di halaman
yang sama. Jadi halaman form dan halaman proses bisa saja dipisah atau
dijadikan satu.
3. SUBMIT BUTTON
Submit button merupakan sebuah tombol (pada umumnya) yang berfungsi
sebagai trigger pengiriman data dari form inputan. Jika tombol ini ditekan,
maka data form akan dikirimkan (diproses) di halaman yang sudah ditentukan
pada atribut action.
Berbagai Cara Penanganan Form
Cara 1 : Menyatukan antara Form dan Proses
Proses pengolahan form dilakukan di halaman yang sama dengan form
inputannya. Jika proses penanganan form berada di satu halaman, maka value
atribut action pada tag form tidak perlu diisi (dikosongkan).
Program 4.1
Nama File : input01.php
Deskripsi : Program Contoh pengolahan form dimana antara form inputan
dan proses pengolahan inputan berada dalam satu halaman.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Pengolahan Form
$nama";
}
?>
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 31
Penjelasan Program 4.1
Beberapa hal yang perlu diperhatikan dari program 4.1 di atas, di antaranya
mengenai nama setiap komponen form karena nama ini akan menjadi index array
dalam PHP. Pada program 4.1 di atas, value atribut action pada tag form tidak
diisi (baris 4), ini berarti bahwa proses pengolahan form berada di halaman yang
sama. Selanjutnya (baris 4) method yang digunakan dalam penanganan form
adalah POST. Cara ini lebih disarankan dalam penanganan sebuah form inputan.
Mulai baris ke-11 hingga 16, terdapat script / program PHP yang akan
menangani (mengolah) nilai yang diinputkan melalui form. Letak proses inputan
ini boleh sebelum atau sesudah form, tergantung kebutuhan. Pada baris ke-12,
terdapat pemeriksaan kondisi apakah tombol dengan nama “Input” (perhatikan
index array $_POST dan bandingkan dengan name tombol submit pada form)
benar-benar ditekan atau tidak oleh user. Selanjutnya pada baris ke-13, nilai
inputan dari form akan diambil dengan cara mengakses array $_POST sesuai
dengan komponen form yang akan diambil. Pada baris 13 ini, isi komponen
inputan dengan nama “nama” akan diambil dan dimasukkan ke variabel $nama.
Index array $_POST pada baris 13 harus sama dengan value atribut name pada
baris ke-5.
Gambar 4.1. Tampilan Program 4.1
Cara 2 : Memisahkkan antara Form dan Proses
Proses pengolahan form dilakukan di halaman yang terpisah dengan form
inputannya. Jika proses penanganan form berada dilakukan di halaman yang
berbeda, maka value atribut action pada tag form harus diisi dengan alamat
halaman tempat proses pengolahan form.
Program 4.2
Nama File : input02.php
Deskripsi : Program menampilkan form inputan dengan method POST
1
2
3
4
5
6
7
8
9
Pengolahan Form
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 32
Program 4.3
Nama File : proses02.php
Deskripsi : Program penanganan form inputan untuk Program 4.2.
1
2
3
4
5
6
$nama";
}
?>
Gambar 4.2. Tampilan Program 4.2
Gambar 4.3. Tampilan Program 4.3
Program 4.4
Nama File : input03.php
Deskripsi : Program menampilkan form inputan dengan method GET
1
2
3
4
5
6
7
8
9
Pengolahan Form
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 33
Program 4.5
Nama File : proses03.php
Deskripsi : Program penanganan form inputan untuk Program 4.4.
1
2
3
4
5
6
$nama";
}
?>
Gambar 4.4. Tampilan Program 4.4
Gambar 4.5. Tampilan Program 4.5
Penjelasan Program 4.2, 4.3, 4.4 dan 4.5
Program 4.2 dan program 4.3 pada prinsipnya sama dengan program 4.1.
Hasilnya pun sama. Akan tetapi, proses penanganan form (PHP) terpisah dengan
tampilan form inputannya (HTML). Pada program 4.2 dan 4.3, penanganan form
menggunakan method POST, sedang pada program 4.4 dan 4.5, penangan form
dilakukan dengan method GET. Perhatikan, method ini menentukan bagaimana
sebuah form diproses dan bagaimana variabel inputan diambil. Bandingkan baris
ke-2 dan ke-3 pada program 4.3 dan program 4.5 !
Form Input Type TEXT dan PASSWORD
Program 4.6
Nama File : input04.php
Deskripsi : Program menampilkan form inputan text dalam jumlah banyak.
1
2
Pengolahan Form ~ Text
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 34
3
4
5
6
7
8
9
10
11
12
13
Program 4.7
Nama File : proses04.php
Deskripsi : Program penanganan form inputan untuk Program 4.6.
1
2
3
4
5
6
7
8
9
10
11
12
13
Nama Sahabat-sahabat Dekatku :
";
echo $nama1. "
";
echo $nama2. "
";
echo $nama3. "
";
echo $nama4. "
";
}
?>
Penjelasan Program 4.6 dan 4.7
Baris 3-6 program 4.7 merupakan proses pengambilan nilai dari masingmasing
form inputan text yang terdapat pada program 4.6. Selanjutnya variabel
ini ditampilkan di layar (baris 8-11, program 4.7).
Gambar 4.6. Tampilan Program 4.6
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 35
Gambar 4.7. Tampilan Program 4.7
Program 4.8
Nama File : input05.php
Deskripsi : Program menampilkan form login (inputan text dan password).
1
2
3
4
5
6
7
8
9
10
11
12
Login Here
Login Here...
Username :
Password :
Program 4.9
Nama File : proses05.php
Deskripsi : Program sederhana untuk memeriksa inputan username dan
password pada program 4.8
1
2
3
4
5
6
7
8
9
10
11
Login Berhasil";
} else {
echo "
Login Gagal
";
}
}
?>
Penjelasan Program 4.8 dan 4.9
Program 4.8 akan menampilkan form login sederhana yang terdiri dari
inputan username dan password. Selanjutnya nilai yang diinput akan diproses
di program 4.9. Jika username dan password diinput dengan benar maka akan
ditampilkan pesan berhasil (lihat gambar) dan jika login salah maka akan
ditampilkan pesan kesalahan (lihat gambar).
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 36
Gambar 4.8. Tampilan Program 4.8
Gambar 4.9. Tampilan Program 4.9 Jika Login Berhasil
Gambar 4.10. Tampilan Program 4.9 Jika Login Gagal
Form Input Type RADIO
Pada inputan jenis radio button, user hanya bisa memilih satu pilihan di antara
beberapa pilihan.
Program 4.10
Nama File : input06.php
Deskripsi : Program menampilkan form pilihan jurusan dengan radio button
1
2
3
4
5
Pilih Jurusan
Program 4.11
Nama File : proses06.php
Deskripsi : Program untuk mengambil dan menampilkan jurusan yang dipilih
pada program 4.10
1
2
3
4
5
6
7 $jurusan";
}
?>
Penjelasan Program 4.10 dan 4.11
Program 4.10 akan menampilkan form pilihan inputan jurusan dengan radio
button (lihat gambar). Pada form inputan jenis radio button, name dari masingmasing
radio button harus sama, akan tetapi value-nya harus dibedakan.
Perhatikan program 4.10 baris 6-9 ! Untuk mengambil nilai (value) dari form
jenis radio, bisa langsung dengan mengakses name dari form tersebut.
Perhatikan program 4.11 baris ke-3 !
Gambar 4.11. Tampilan Program 4.10
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 38
Gambar 4.12. Tampilan Program 4.11
Form Input Type CHECK BOX
Pada form inputan jenis check box, user dimungkinkan memilih lebih dari satu
pilihan.
Program 4.12
Nama File : input07.php
Deskripsi : Program menampilkan form inputan nama band favorit dengan
check box.
1
2
3
4
5
6
7
8
9
10
11
12
13
Band Favorit ~ Inputan Checkbox
Program 4.13
Nama File : proses07.php
Deskripsi : Program untuk menampilkan nama band favorit sesuai dengan
inputan pada program 4.12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
";
if (isset($_POST['band01'])) {
echo "+ " . $_POST['band01'] . "
";
}
if (isset($_POST['band02'])) {
echo "+ " . $_POST['band02'] . "
";
}
if (isset($_POST['band03'])) {
echo "+ " . $_POST['band03'] . "
";
}
if (isset($_POST['band04'])) {
echo "+ " . $_POST['band04'] . "
";
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 39
15
16
17
}
}
?>
Penjelasan Program 4.12 dan 4.13
Program 4.12 akan menampilkan form pilihan inputan check box band
favorit (lihat gambar). Pada form inputan jenis check box, name dari masingmasing
check box harus dibedakan. User dapat memilih lebih dari satu pilihan.
Perhatikan program 4.12 baris 6-9 ! Untuk mengambil nilai (value) dari form
jenis check box, sebaiknya diperiksa terlebih dahulu apakah check box dipilih
atau tidak, dengan menggunakan fungsi isset(). Perhatikan program 4.13 baris
ke-4. Jika check box di-cek (dipilih) maka ambil value dari check box tersebut
(baris ke-5)
Gambar 4.13. Tampilan Program 4.12
Gambar 4.14. Tampilan Program 4.13
Form Input Type COMBO BOX
Program 4.14
Nama File : input08.php
Deskripsi : Program menampilkan form inputan film kartun favorit dengan
combo box.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Film Kartun Favorit ~ Inputan Combo<br /> box
Program 4.15
Nama File : proses08.php
Deskripsi : Program untuk menampilkan nama film kartun favorit sesuai
dengan inputan pada program 4.14
1
2
3
4
5
6
7 $film";
}
?>
Penjelasan Program 4.14 dan 4.15
Program 4.14 akan menampilkan form pilihan inputan combo box film
kartun favorit (lihat gambar). Untuk membuat inputan jenis combo box, bisa
menggunakan tag
Program 4.17
Nama File : proses09.php
Deskripsi : Program untuk menampilkan isi kritik / saran sesuai dengan
inputan text area pada program 4.16
1
2
3
4
5
6
7
";
echo "$saran";
}
?>
Penjelasan Program 4.16 dan 4.17
Program 4.16 akan menampilkan form kritik saran menggunakan text area
(lihat gambar). Untuk membuat inputan jenis combo box, bisa menggunakan tag
Tanpa nl2br() :
$txt
";
echo "Dengan nl2br :
". nl2br ($txt);
}
?>
Penjelasan Program 6.12
Program 6.12 di atas merupakan contoh penggunaan fungsi nl2br. Fungsi
nl2br() akan menambahkan karakter pindah baris (
) di setiap awal baris
string inputan. Untuk mencoba program di atas, inputkan string sebagai berikut :
bila yang tertulis untukku
adalah yang terbaik untukku
kan kujadikan kau kenangan
yang terindah dalam hidupku
namun tak kan mudah bagiku
meningalkan jejak hidupku
yang tlah terukir abadi
sebagai kenangan yang terindah
Program 6.13
Nama File : string13.php
Deskripsi : Program penggunaan fungsi substr untuk memotong string.
1
2
3
4
5
6
7
8
9
";
echo "Jurusan Anda : $jurusan";
}
?>
Penjelasan Program 6.13
Program 6.13 di atas merupakan contoh penggunaan fungsi substr (baris
ke-10) untuk memotong string. Pada baris ke-10 tersebut, string $nim akan
dipotong mulai karakter index ke-2 (index dimulai dari 0) sepanjang 2 karakter.
Fungsi-fungsi Operasi Tanggal dalam PHP
Fungsi dalam Operasi tanggal dalam PHP yang utama dan sering digunakan
adalah fungsi date(). Fungsi ini akan menghasilkan tanggal dan waktu server
sekarang. Beberapa pilihan parameter dari fungsi date() ini dapat dilihat pada
tabel berikut ini :
parameter Keterangan Contoh nilai
Hari
d Tanggal, 2 digit dengan nol 01 s/d 31
D
Tiga digit nama hari dalam
seminggu
Mon s/d Sun
j Tanggal tanpa nol 1 s/d 31
l (lowercase
'L')
Nama hari lengkap dalam
seminggu
Sunday through Saturday
N Urutan hari dalam seminggu
1 (untuk Monday) s/d
7 (untuk Sunday)
S
Akhiran angka English untuk
tanggal, 2 karakter
st, nd, rd atau th.
w Urutan hari dalam seminggu
0 (untuk Sunday) s/d
6 (untuk Saturday)
z Urutan hari dalam setahun 0 s/d 365
Minggu
W Urutan minggu dalam setahun
Contoh: 42 (minggu ke-42
dalam tahun ini)
Bulan
F Nama bulan lengkap January s/d December
m
Urutan bulan dalam setahun
dengan nol
01 s/d 12
M
Tiga digit nama bulan dalam
setahun
Jan s/d Dec
n Urutan bulan dalam setahun, 1 s/d 12
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 61
parameter Keterangan Contoh nilai
tanpa nol
t Jumlah hari dalam tiap bulan 28 s/d 31
Tahun
Y 4 (empat) digit tahun Contoh: 1999 atau 2006
y 2 (dua) digit tahun Contoh: 99 or 06
Waktu
a
Lowercase Ante meridiem dan Post
meridiem
am atau pm
A
Uppercase Ante meridiem dan Post
meridiem
AM atau PM
g Jam format 12 tanpa nol 1 s/d 12
G Jam format 24 tanpa nol 0 s/d 23
h Jam format 12 dengan nol 01 s/d 12
H Jam format 24 dengan nol 00 s/d 23
i Menit dengan nol 00 s/d 59
s Detik dengan nol 00 s/d 59
Program 6.14
Nama File : date01.php
Deskripsi : Program menampilkan date/time dengan berbagai parameter.
1
2
3
4
5
6
7
8
9
10
11
12
14
15
16
". date("d/m/Y H:i:s"); // 13/04/2006 09:43:03
echo "
". date("F j, Y, g:i a"); // April 13, 2006, 9:43 am
echo "
". date("d.m.y"); // 13.04.06
echo "
". date("Ymd"); // 20060413
// 13-04-06, 4330 4349 4 Thuam06 102
echo "
". date('j-m-y, it is w Day z ');
// it is the 13th day.
echo "
". date('\i\t \i\s \t\h\e jS \d\a\y.');
// Thu Apr 13 9:43:49 KRAST 2006
echo "
". date("D M j G:i:s T Y");
echo "
". date("H:i:s"); // 17:16:17
?>
Program 6.15
Nama File : date02.php
Deskripsi : Program menampilkan nama hari dalam bahasa Indonesia.
1
2
3
4
5
6
7
" . $arrDay[$day]."";
?>
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 62
Bab 7
File dan Direktori
�� Membuat, Menulis dan Membaca Isi File
+ Membuka dan Membuat File
+ Menulis ke File
+ Membaca Isi File
+ Menutup File
�� Membuat dan Menghapus Direktori
�� Manipulasi File
+ Mendapatkan Informasi File
+ Copy, Rename dan Delete File
�� Upload File
Penanganan File
Dalam management file dan direktori, PHP menyediakan lebih dari 70
fungsi. Beberapa fungsi utama yang berhubungan dengan management file
(create, write, append, dan delete), antara lain :
Membuka dan Membuat File
fopen ($namafile, $mode);
Keterangan :
$namafile merupakan nama file yang akan dibuat, sedangkan $mode merupakan
mode akses file. Mode akses file yang bisa digunakan yaitu :
Mode Keterangan
r Hanya untuk baca file, pointer berada di awal file
r+ Untuk baca dan tulis file, pointer berada di awal file
w Hanya untuk tulis file, isi file lama dihapus, jika file belum ada maka
akan di-create
w+ Untuk baca dan tulis file, isi file lama dihapus, jika file belum ada maka
akan di-create
a Hanya untuk menambahkan isi file, pointer berada di akhir file, jika file
belum ada maka di-create
a+ Untuk membaca dan menambahkan isi file, pointer berada di akhir file,
jika file belum ada maka di-create
Program 7.1
Nama File : file01.php
Deskripsi : Program mengakses (membuka) file dengan mode r.
1
2
3
4
5
6
7
8
9
10
File tidak dapat dibuka atau belum ada";
} else {
echo "File berhasil dibuka";
}
fclose($handle);
?>
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 63
Gambar 7.1 Tampilan Program 7.1
Program 7.2
Nama File : file02.php
Deskripsi : Program mengakses (membuka) file dengan mode w.
1
2
3
4
5
6
7
8
9
10
File tidak dapat dibuka atau belum ada";
} else {
echo "File berhasil dibuka";
}
fclose($handle);
?>
Gambar 7.2 Tampilan Program 7.2
Menulis ke File
fwrite ($handle, $isi);
fputs ($handle, $isi);
Program 7.3
Nama File : file03.php
Deskripsi : Program menulis ke file.
1
2
3
File tidak dapat dibuka atau belum ada";
} else {
fwrite ($handle, "Fakultas Teknologi Informasi\n");
fputs ($handle, "Universitas Budi Luhur\n");
//file_put_contents ($namafile, "Jakarta");
echo "File berhasil ditulis";
}
fclose($handle);
?>
Penjelasan Program 7.3
Untuk menulis ke file, dapat menggunakan fungsi fwrite() dan fputs().
Variabel $handle merupakan mode pengaksesan file, dimana mode yang
digunakan harus bisa menulis ke file. Contohnya mode w dan a. Selain itu, kita
juga bisa menggunakan fungsi file_puts_contents() dengan parameter berupa
nama file dan isi yang akan ditambahkan. Jika program di atas dijalankan, maka
isi file data.txt akan berisi seperti pada gambar 7.3 (buka dengan WordPad).
Gambar 7.3. File data.txt dibuka dengan WordPad
Membaca Isi File
fread ($handle [,$panjang]);
fgets ($handle [,$panjang]);
Program 7.4
Nama File : file04.php
Deskripsi : Program membaca dan menampilkan isi file.
1
2
3
4
5
6
7
8
9
10
11
12
13
File tidak dapat dibuka atau belum ada";
} else {
$isi = fgets ($handle, 2048);
//$isi2 = fread ($handle, 20);
echo "Isi 1 : $isi
";
//echo "Isi 2 : $isi2
";
}
fclose($handle);
?>
Penjelasan Program 7.4
Untuk membaca isi file, bisa menggunakan fungsi fgets() dan fread().
Fungsi fgets() akan membaca isi file tiap baris. Sedangkan fungsi fread() akan
membaca isi file setiap jumlah byte tertentu. Pada program di atas, baris ke-8
akan membaca file setiap 20 byte atau 20 karakter.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 65
Program 7.5
Nama File : file05.php
Deskripsi : Program membaca isi file baris tiap baris.
1
2
3
4
5
6
7
8
9
10
11
12
13
File tidak dapat dibuka atau belum ada";
} else {
echo "Isi file :
";
while ($isi = fgets ($handle, 2048)) {
echo "$isi
";
}
}
fclose($handle);
?>
Penjelasan Program 7.5
Program 7.5 di atas akan menampilkan keseluruhan isi file, dimana isi file
akan dibaca tiap baris. Pembacaan dilakukan dari baris pertama sampai baris
terakhir.
Gambar 7.4. Tampilan Program 7.5
Program 7.6
Nama File : file06.php
Deskripsi : Program membaca isi file baris tiap baris.
1
2
3
4
5
6
7
8
9
10
11
";
}
fclose($handle);
}
?>
Penjelasan Program 7.6
Program 7.6 di atas akan menampilkan keseluruhan isi file, dimana isi file
akan dibaca tiap baris. Pembacaan dilakukan selama pointer file belum sampai di
end-of-file. Fungsi feof() pada baris ke-5 berfungsi untuk memeriksa pointer file
sudah berada di akhir file atau belum.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 66
Menutup File
fclose ($handle);
Program 7.7
Nama File : file07.php
Deskripsi : Program aplikasi user counter dengan file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Anda adalah pengunjung ke - $counter";
$file = fopen($counter_file, "w");
fwrite($file,$counter);
fclose($file);
?>
Gambar 7.5. Tampilan Program 7.7
Membuat dan Menghapus Direktori
Membuat Direktori Baru
Program 7.8
Nama File : file08.php
Deskripsi : Program membuat direktori baru.
1
2
3
4
5
6
7
8
9
$dir berhasil dibuat";
} else {
echo "Direktori $dir gagal dibuat";
}
?>
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 67
Penjelasan Program 7.8
Program 7.8 di atas akan membuat direktori bernama “images” di direktori
tempat program 7.8 disimpan. Fungsi untuk membuat direktori baru dalam PHP
adalah mkdir(). Jika direktori yang akan dibuat berada di luar tempat program
disimpan, maka sertakan path direktori secara lengkap.
Menghapus Direktori
Program 7.9
Nama File : file09.php
Deskripsi : Program menghapus direktori.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$dir berhasil dibuat";
} else {
echo "Direktori $dir gagal dibuat";
}
//hapus direktori
$del = rmdir ($dir);
if ($del) {
echo "
Direktori $dir berhasil dihapus";
} else {
echo "
Direktori $dir gagal dihapus";
}
?>
Penjelasan Program 7.9
Program 7.9 di atas akan membuat direktori baru bernama “include” (lihat
baris ke-4). Setelah itu, direktori akan dihapus dengan fungsi rmdir() pada baris
ke-10. Fungsi rmdir() hanya bisa menghapus direktori kosong. Jika direktori ada
isinya maka, gunakan fungsi rekursif untuk menghapus isi direktori. Lihat contoh
di PHP Manual.
Menampilkan Isi Direktori
Program 7.10
Nama File : file10.php
Deskripsi : Program menampilkan file dan direktori dalam suatu direktori.
1
2
3
4
5
6
7
8
9
10
11
";
}
}
closedir($handle);
}
?>
Penjelasan Program 7.10
Program 7.10 di atas akan menampilkan di layar, semua file dan direktori
yang berada dalam direktori “images”. Fungsi opendir() pada baris ke-3 adalah
untuk membuka direktori. Sedangkan fungsi readdir() akan membaca file dalam
direktori satu per satu secara urut. Fungsi closedir() pada baris ke-9 adalah
untuk menutup pembukaan direktori.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 68
Manipulasi File
Mendapatkan Informasi File
Beberapa Fungsi yang berhubungan dengan informasi dan manipulasi file,
terdapat dalam tabel sebagai berikut :
Fungsi Keterangan
file_exists($file) Memeriksa apakah $file ada atau tidak
is_file($file) Memeriksa apakah $file adalah file atau bukan.
is_dir($file) Memeriksa apakah $file adalah direktori atau bukan.
is_executable($file) Memeriksa apakah $file termasuk file yang bisa dijalankan
secara langsung atau bukan.
is_writable($file) Memeriksa apakah $file termasuk file yang bisa ditulis atau
diedit.
is_readable($file) Memeriksa apakah $file termasuk file yang bisa dibaca
atau tidak.
fileatime($file) Menghasilkan waktu akses terakhir file (unix timestamp).
filectime($file) Menghasilkan waktu pembuatan file (unix timestamp).
filemtime($file) Menghasilkan waktu modifikasi terakhir file ( dalam unix
timestamp).
filesize($file) Menghasilkan ukuran besar file (dalam byte).
filetype($file) Menghasilkan jenis file.
Program 7.11
Nama File : file11.php
Deskripsi : Program memeriksa keberadaan suatu file.
1
2
3
4
5
6
7
8
9
Program 7.12
Nama File : file12.php
Deskripsi : Program mendapatkan beberapa informasi file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$file adalah FILE
";
//
if (is_executable ($file)) {
echo "File $file bisa dijalankan secara
langsung (executable)
";
} else {
echo "File $file TIDAK executable
";
}
//
if (is_writable ($file)) {
echo "File $file bisa ditulis / diedit
";
} else {
echo "File $file TIDAK bisa ditulis /
diedit
";
}
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 69
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//
if (is_readable ($file)) {
echo "File $file bisa dibaca
";
} else {
echo "File $file TIDAK bisa dibaca
";
}
//
echo "Akses terakhir file $file = ". date("d-m-Y
H:i:s.", fileatime($file)). "
";
echo "File $file dibuat = ". date("d-m-Y H:i:s.",
filectime($file)). "
";
echo "Modifikasi terakhir file $file = ". date("dm-
Y H:i:s.", filemtime($file)). "
";
echo "Ukuran file $file = ". filesize($file). "
bytes
";
echo "Jenis file $file = ".filetype($file). "
";
} else if (is_dir($file)){
echo "File $file adalah DIREKTORI
";
} else {
echo "File $file tidak dikenal
";
}
?>
Copy, Rename dan Delete File
Program 7.13
Nama File : file13.php
Deskripsi : Program meng-copy, rename dan delete file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$file berhasil dicopy menjadi $filebaru.
";
}
if (rename ($filebaru, $filebaru2)) {
echo "File $filebaru berhasil direname menjadi $filebaru2.
";
}
if (unlink ($filebaru2)) {
echo "File $filebaru2 berhasil dihapus.
";
}
?>
Penjelasan Program 7.13
Program 7.13 di atas terdapat beberapa fungsi untuk meng-copy, rename
dan delete file. Fungsi copy() pada baris ke-5 akan menduplikasi file $file
menjadi file $filebaru. Selanjutnya fungsi rename() akan mengganti nama file
$filebaru menjadi $filebaru2. Fungsi unlink() pada baris ke-11 akan menghapus
file $filebaru2.
Upload File
PHP, sebagai server-side-scripting, sangat memungkinkan untuk menangani
upload file ke server. Ada beberapa hal yang perlu diperhatikan dalam upload file
ini, yaitu :
1. Pada Form HTML harus ditambahkan atribut :
ENCTYPE="multipart/form-data"
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 70
2. Form inputan upload file dapat menggunakan tag dengan value
atribut TYPE=”FILE”.
3. Untuk menangani inputan, PHP menyediakan sebuah variabel array global
yaitu $_FILES. Index dari variabel ini antara lain :
�� $_FILES[‘file’][‘name’] : Nama asli dari file yang diupload
�� $_FILES[‘file’][‘tmp_name’] : Nama temporary file yang diupload
�� $_FILES[‘file’][‘size’] : Ukuran file asli (dalam byte)
�� $_FILES[‘file’][‘type’] : MIME type file yang diupload
4. Destination folder file upload harus bisa writable (bisa diakses), biasanya
dengan permission 777 atau 775.
Program 7.14
Nama File : form_upload.php
Deskripsi : Program menampilkan form upload file.
1
2
3
4
5
6
7
8
9
Upload File
Program 7.15
Nama File : upload.php
Deskripsi : Program proses upload file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Penjelasan Program 7.15
Program 7.15 di atas merupakan program sederhana penanganan upload
file. Fungsi is_uploaded_file() pada baris ke-6 akan mengupload file yang telah
dipilih melalui form pada program 7.14 ke folder temporary (sementara).
Selanjutnya pada baris ke-7, file yang sudah diupload ke folder temporary akan
dipindahkan (move) ke direktori yang diinginkan menggunakan fungsi
move_uploaded_file(). Lihat baris ke-7!
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 71
Gambar 7.6. Tampilan Program 7.14
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 72
Bab 9
Session dan Cookies
�� Session
�� Cookies
Session
Session merupakan hal yang cukup penting dalam aplikasi berbasis web.
Dengan session memungkinkan programmer menyimpan informasi user secara
semi-permanen, artinya selama masa tertentu informasi akan tersimpan.
Penyimpanan isi variabel session berada di server, jadi tidak bisa diakses secara
langsung oleh client.
Dalam aplikasi berbasis web, session banyak digunakan sebagai
autentifikasi login. Dengan session memungkinkan programmer mengatur siapa
saja yang bisa mengakses suatu halaman. Misalnya saja, untuk melihat halaman
kotak surat pada email, kita harus login terlebih dahulu. Dalam proses login
antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di
setiap halaman. Di halaman kotak surat, session tersebut akan diperiksa. Jika
session benar maka user dipersilahkan membuka halaman kotak surat, namun
jika salah maka user tidak bisa membuka halaman kotak surat dan biasanya akan
diminta untuk login terlebih dahulu. Itulah sebabnya, user tidak bisa mengakses
halaman kotak surat secara langsung tanpa melakukan login.
Dalam penanganan session terdapat beberapa proses yang perlu
diperhatikan :
�� Proses pembuatan session
�� Proses pemeriksaan session
�� Proses penghapusan session
Selanjutnya bagaimana session itu sendiri dijalankan? Agar proses penyimpanan
dalam session berjalan, PHP melakukan beberapa hal berikut ini :
1. PHP meng-generate (membentuk) sebuah ID session.
ID session ini merupakan sejumlah deret angka random yang unik untuk
setiap user dan hampir tidak mungkin bisa ditebak. ID session disimpan oleh
PHP di dalam variabel sistem PHP dengan nama PHPSESSID
2. PHP menyimpan nilai yang akan Anda simpan dalam session di dalam file
yang berada di server.
Nama file tempat penyimpanan session tersebut sesuai (sama) dengan ID
session. File disimpan dalam suatu direktori yang ditunjukkan oleh
session.save_path dalam file php.ini.
3. PHP melempar ID session ke setiap halaman.
4. PHP mengambil nilai session dari file session untuk setiap halaman session.
Program 9.1
Nama File : session01.php
Deskripsi : Program menciptakan session.
1
2
3
4
5
6
7
8
9
10
11
Anda berhasil LOGIN";
echo "
Penjelasan Program 9.1.
Pada program di atas terdapat fungsi session_start() yang berada pada
baris ke-9. Fungsi session_start() berfungsi untuk memulai sebuah session.
Fungsi harus dipanggil pertama kali dalam suatu halaman PHP, artinya fungsi
session_start() harus dipanggil sebelum sesuatu tampil di layar, walaupun hal itu
hanya berupa spasi. Jika sebelum session_start() terdapat output yang
ditampilkan maka akan terjadi error seperti pada gambar 9.1 berikut ini :
Gambar 9.1. Error yang terjadi karena sebelum session_start() sudah ada output
Selanjutnya, program 9.1 akan menampilkan sebuah form login sederhana
di layar. Form terdiri dari form inputan username, password dan sebuah tombol
login. Jika tombol login ditekan maka pemeriksaan kondisi pada baris 10 akan
bernilai TRUE dan perintah yang ada di blok if akan dieksekusi. Baris 11 dan 12
merupakan perintah untuk mengambil nilai pada form inputan username dan
password. Nilai username dan password tersebut diperiksa pada baris 14.
Pemeriksaan username dan password ini, untuk aplikasi web yang sudah
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 74
menggunakan database, bisa diganti dengan pemeriksaan username dan
password ke tabel database.
Pada baris 16, terdapat perintah sebagai berikut :
$_SESSION['login'] = $user;
Baris perintah tersebut merupakan perintah untuk membuat session baru (create
session) dimana nama session adalah “login” dan isi dari session adalah $user.
$_SESSION merupakan sebuah variabel array global yang didefinisikan oleh PHP,
jadi variabel ini harus ditulis dengan huruf kapital (upper-case).
Selanjutnya, pada baris 18-20 akan ditampilkan pesan bahwa login berhasil
dan juga sebuah link menuju ke halaman pemeriksaan session (session02.php,
program 9.2).
Program 9.2
Nama File : session02.php
Deskripsi : Program pemeriksaan session.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Selamat Datang ". $_SESSION['login'] ."";
echo "
Halaman ini hanya bisa diakses jika Anda sudah
login
";
} else {
//session belum ada artinya belum login
die ("Anda belum login! Anda tidak berhak masuk ke halaman
ini.Silahkan login di sini");
}
?>
Penjelasan Program 9.2
Program 9.2 di atas diawali dengan pemanggilan fungsi session_start().
Hal ini berarti dalam halaman program ini terdapat operasi session. Pada baris 10
program di atas, terdapat pemeriksaan keberadaan variabel $_SESSION[‘login’]
dengan menggunakan fungsi isset(). Pemeriksaan kondisi ini akan bernilai TRUE
jika $_SESSION[‘login’] sudah terbentuk. Jika bernilai TRUE maka blok program
baris 11-14 yang akan dieksekusi, dan sebaliknya, jika FALSE maka blok program
baris 16-17 yang akan dijalankan. Blok program baris 11-14 hanya bisa diakses
saat user sudah login dengan benar. Dengan kata lain, bagian tersebut
merupakan bagian yang bersifat private (terbatas).
Untuk menampilkan isi variabel session dapat dilakukan seperti pada baris
12 program di atas. Cukup dengan meng-echo variabel $_SESSION[‘login’].
Jika user belum login (tidak melewati halaman login) atau langsung
mengakses halaman ini, maka akan ditampilkan pesan bahwa user tidak berhak
masuk ke halaman ini. Fungsi die() pada baris 17 digunakan untuk menampilkan
suatu pesan sekaligus men-terminate program, artinya perintah selain die() akan
diabaikan.
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 75
Program 9.3
Nama File : session03.php
Deskripsi : Program menghapus session.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Anda sudah berhasil LOGOUT";
echo "
Anda sekarang tidak bisa masuk ke halaman session02.php lagi
";
}
?>
Penjelasan Program 9.3.
Program 9.3 merupakan contoh program penghapusan session.
Penghapusan session biasanya digunakan ketika user melalukan logout. Proses
penghapusan session dilakukan dengan memanggil fungsi unset() dan fungsi
session_destroy(). Fungsi unset() digunakan untuk menghapus atau
menghilangkan suatu variabel. Sedangkan session_destroy() digunakan untuk
menghapus semua data yang berhubungan dengan session tersebut.
Cookies
Seperti halnya session, cookies juga merupakan sebuah konsep
penyimpanan informasi user. Hanya saja, jika session tempat penyimpanan
berada di server, cookies berada di client. Oleh karena itu, konsep cookies
sebaiknya jangan digunakan untuk menyimpan informasi login user seperti
username, password dsb. Selain user bisa melihat informasi yang disimpan, user
juga bisa men-disable cookies itu sendiri. Jika cookies di-disable, maka program
yang memanfaatkan cookies tentunya tidak akan berjalan dengan baik.
Cookies sendiri biasanya dipakai dalam aplikasi shooping cart. Biasa
digunakan untuk menyimpan sementara, produk-produk yang dipilih oleh
pengunjung pada saat berbelanja.
Dalam penanganan cookies juga terdapat beberapa proses yang perlu
diperhatikan :
�� Proses pembuatan cookies
�� Proses pemeriksaan cookies
�� Proses penghapusan cookies
Program 9.4
Nama File : cookie01.php
Deskripsi : Program membuat cookie.
1
2
3
4
5
6
7
8
9
Ini halaman pengesetan cookie";
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 76
10
11
echo "
";
?>
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 77
Bab 10
Pemrograman Berorientasi Objek dalam
PHP
�� Pengantar Pemrograman Berorientasi Objek
�� Object dan Class
�� Properties dan Method
�� Mendefinisikan Class
Pengantar Pemrograman Berorientasi Objek
PHP pada awalnya hanyalah kumpulan script sederhana. Dalam
perkembangannya, selanjutnya ditambahkan berbagai fitur pemrograman
berorientasi objek. Hal ini dimulai sejak PHP 4. Dengan lahirnya PHP 5, fitur-fitur
pemrograman berorientasi objek semakin mantap dan semakin cepat. Dengan
PHP 5, script yang menggunakan konsep object-oriented akan lebih cepat dan
lebih efisien.
Pemrograman berorientasi objek atau object-oriented programming (OOP)
merupakan suatu pendekatan pemrograman yang menggunakan object dan
class. Saat ini konsep OOP sudah semakin berkembang. Hampir setiap perguruan
tinggi di dunia mengajarkan konsep OOP ini pada mahasiswanya. Pemrograman
yang banyak dipakai dalam penerapan konsep OOP adalah Java dan C++.
OOP bukanlah sekedar cara penulisan sintaks program yang berbeda,
namun lebih dari itu, OOP merupakan cara pandang dalam menganalisa sistem
dan permasalahan pemrograman. Dalam OOP, setiap bagian dari program adalah
object. Sebuah object mewakili suatu bagian program yang akan diselesaikan.
Beberapa konsep OOP dasar, antara lain :
1. Encapsulation (Class dan Object)
2. Inheritance (Penurunan sifat), dan
3. Polymorphisme
PHP khususnya PHP 5 sudah mendukung beberapa konsep OOP. Akan tetapi
PHP 5 tidak mendukung konsep Multiple-inheritance dan polymorphisme.
Object dan Class
Bagian dasar dari sebuah program yang berorientasi objek adalah objects.
Secara mudah kita dapat memahami mengenai object ini. Sebagai contoh,
sebuah mobil adalah objek. Sebuah mobil mempunyai properties atau bagianbagian
di dalamnya, seperti warna, mesin, roda, pintu dsb. Sebuah mobil juga
dapat melakukan sesuatu (ada sesuatu yang bisa dilakukan dengan mobil),
seperti mengisi bensin, menyalakan mesin, berjalan, mengerem dsb.
Biasanya object adalah sebuah kata benda. Orang adalah object. Demikian
juga mobil, pohon, bunga, komputer, TV, buku dsb. Namun, object tidak
selamanya sebuah objek fisik. Bisa saja sebuah benda abstrak, seperti account
bank, sebuah file di komputer, database, pesan email, acara TV, dsb.
Class merupakan penjelasan atau deskripsi dari object. Di dalam class,
terdapat penjelasan tentang suatu object termasuk properties yang dimilikinya
serta kelakuan atau method yang bisa dilakukan oleh object. Sebagai contoh,
class Orang. Class Orang tentu setidaknya memiliki beberapa bagian seperti
tangan, kaki, mata, telinga dsb. Class Orang juga setidaknya harus bisa jalan,
bisa loncat, bisa lari, bisa melihat, bisa bicara dsb.
Salah satu keuntungan program didefinisikan dengan konsep OOP adalah
adanya pengkapsulan (encapsulation) program dalam class dan object, dimana
programmer yang menggunakan class tidak perlu mengetahui isi dan jalannya
class secara detail, hanya perlu tahu bagaimana cara menggunakannya. Sama
halnya dengan sebuah mobil misalnya. Seorang pemilik mobil tentunya tidak
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 78
perlu mengetahui bagian-bagian mobil secara menyeluruh. Dia tidak perlu
mengetahui bagaimana mesin mobil melakukan pembakaran dan bagaimana
mesin mobil bisa menggerakkan roda, dsb. Dia hanya perlu tahu bagaimana cara
menjalankan mobil, bagaimana menghentikan mobil, dan fungsi mobil lainnya.
Properties dan Method
Setiap class memiliki properties yang kadang disebut juga attributes.
Properties dari sebuah mobil misalnya warna, ukuran, harga dsb. Di dalam class,
properties dinyatakan dengan sebuah variabel. Misalnya $warna, $harga, dsb.
Method merupakan sesuatu yang bisa dilakukan oleh object. Method dalam
PHP sama artinya dengan sebuah fungsi. Method yang mungkin dipunyai dari
sebuah mobil misalnya, method untuk menghidupkan mobil, menjalankan mobil,
menghentikan mobil, dsb.
Penamaan properties dan method memiliki aturan yang sama dengan
penamaan sebuah variabel atau fungsi. Akan tetapi berdasarkan kesepakatan
(convention), penamaan properties dan method harus menggunakan camel Caps,
dimana tiap kata diawali dengan huruf besar kecuali kata pertama, setiap kata
digabung tanpa spasi atau under-score (_).
Mendefinisikan Class
Bentuk umum mendefinisikan sebuah class adalah sbb :
class namaClass
{
Deklarasikan dan definisikan properties di sini
Definisikan semua method di sini
}
Penamaan namaClass pada dasarnya sama dengan penamaan variabel.
Penamaan bebas, boleh apa saja, kecuali stdClass. PHP sudah menggunakan
nama stdClass sebagai nama class built-in. Isi tubuh class terletak di antara
tanda kurung kurawal buka ( { ) dan kurawal tutup ( } ). Di tubuh class terdapat
pendefinisian properties (variabel) dan method-method class.
Menambahkan Properties (Variabel)
Perhatikan contoh pendefinisian class beserta propertiesnya, sbb :
1
2
3
4
5
6
7
8
class Mobil
{
var $warna;
var $merk;
var $harga;
//Tambahkan pendefinisian method di sini
}
Pendeklarasian variabel dalam class seperti pada contoh di atas, bukanlah
suatu keharusan, karena dalam PHP variabel tidak perlu dideklarasikan, cukup
digunakan saja. Namun demikian, pendeklarasian variabel yang digunakan
sangat dianjurkan untuk kemudahan pembacaan dan pemahaman program.
Variabel class juga dapat langsung diinisialisasi dengan sebuah nilai. Namun
inisialisasi variabel tidak boleh mengandung operasi aritmatika maupun operasi
yang lainnya. Perhatikan contoh sebagai berikut :
1
2
3
4
5
6
class Mobil
{
var $warna = "Biru";
var $merk = "BMW";
var $harga = "10000000";
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 79
7
8
//Tambahkan pendefinisian method di sini
}
Menambahkan Method
Untuk menambahkan method, tinggal mendefinisikan method seperti halnya
fungsi biasa. Misalnya kita akan menambahkan fungsi atau method untuk
mengganti warna mobil dan untuk menampilkan warna mobil. Nama method
pada dasarnya terserah (mengikuti aturan nama variabel). Namun demikian,
jangan menggunakan nama method yang diawali dengan dua buah under-score
(__) yaitu __construct(), __destruct() dan __clone() karena ketiga fungsi
tersebut mempunyai arti tersendiri di PHP.
Lihat contoh menambahkan method sbb :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Mobil
{
var $warna = "Biru";
var $merk = "BMW";
var $harga = "10000000";
function gantiWarna ($warnaBaru)
{
$this->warna = $warnaBaru;
}
function tampilWarna ()
{
echo "Warna mobilnya : " . $this->warna;
}
}
Pada listing program di atas sudah ditambahkan fungsi atau method
gantiWarna() dan tampilWarna(). Untuk mengakses properties (variabel) bisa
menggunakan keyword $this. Keyword ini me-refer pada class tempatnya
berada. Method gantiWarna() mempunyai satu parameter, yaitu $warnaBaru.
Menambahkan Konstruktor
Konstruktor merupakan sebuah method khusus yang akan secara otomatis
dijalankan saat object terbentuk. Konstruktor tidak harus ada, namun dalam satu
class hanya boleh ada satu konstruktor. Method konstruktor biasanya berisi
pemberian nilai default dari masing-masing properties (variabel).
Untuk membuat konstruktor, cukup dengan mendefinisikan suatu fungsi
dengan nama __construct(). Perhatikan contoh sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Mobil
{
var $warna;
var $merk;
var $harga;
function __construct()
{
$this->warna = "Biru";
$this->merk = "BMW";
$this->harga = "10000000";
}
function gantiWarna ($warnaBaru)
{
$this->warna = $warnaBaru;
}
function tampilWarna ()
{
echo "Warna mobilnya : " . $this->warna;
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 80
22
23
}
}
Membentuk Objek Class
Untuk menggunakan sebuah objek, harus dibentuk objek dari classnya. Dari
sebuah class bisa dibentuk beberapa objek sekaligus. Bentuk umum
pembentukan objek adalah sbb :
$namaObjek = new namaClass();
Sedangkan untuk memanggil anggota (member) dari class dapat dengan format
sbb :
$namaObjek->variabel;
$namaObjek->namaMethod();
Program 10.1
Nama File : pbo01.php
Deskripsi : Program sederhana pendefinisian class dan pemanggilan class.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
warna = "Biru";
$this->merk = "BMW";
$this->harga = "10000000";
}
function gantiWarna ($warnaBaru)
{
$this->warna = $warnaBaru;
}
function tampilWarna ()
{
echo "Warna mobilnya : " . $this->warna;
}
}
$a = new Mobil();
$b = new Mobil();
echo "Mobil pertama
";
$a->tampilWarna();
echo "
Mobil pertama ganti warna
";
$a->gantiWarna("Merah");
$a->tampilWarna();
//
echo " Mobil kedua
";
$b->gantiWarna("Hijau");
$b->tampilWarna();
?>
Program 10.2
Nama File : pbo02.inc.php
Deskripsi : Program class untuk membuat sebuah form inputan sederhana.
1
2
3
action = $action;
$this->submit = $submit;
}
function displayForm()
{
echo "
Menampilkan Berita Terbaru di Halaman Depan
Program 3
Nama File : index.php
Deskripsi : Program menampilkan 5 berita terbaru di halaman depan.
1
2
3
4
5
6
Index Berita
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 116
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
";
}
echo "Klik di sini
untuk kembali ke halaman arsip berita";
} else {
die ("Access Denied");
}
?>
CSS sebagai Pemanis Tampilan
Program 8
Nama File : style.css
Deskripsi : File CSS sebagai pemanis tampilan.
1
2
3
4
5
6
body {
font-family:verdana;
font-size:11px;
}
a {
color:#0000ff;
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 121
7
8
9
10
11
12
13
14
15
16
text-decoration:underline;
}
a:hover {
color:#ffffff;
background-color:#8AC452;
text-decoration:none;
}
input, textarea, select, option {
font-family:verdana;
}
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin (achmatim@gmail.com) 122
Tentang Penulis
Achmad Solichin. Adalah Lulusan Teknik Informatika, Fakultas
Teknologi Informasi, Universitas Budi Luhur, Jakarta (S1, 2005).
Saat ini sedang menempuh pendidikan S2 di Magister Teknologi
Informasi Universitas Indonesia (2008). Kegiatan sehari‐hari adalah
sebagai Dosen di Universitas Budi Luhur (http://www.bl.ac.id),
sekaligus sebagai Kepala Laboratorium Komputer Universitas Budi
Luhur (http://labkom.bl.ac.id). Kegiatan lain aktif sebagai
programmer, web developer, system analyst dan memberikan pelatihan di berbagai
bidang komputer serta membuat tutorial‐tutorial praktis di bidang komputer. Penulis
juga terlibat dalam pengembangan E‐Learning di Universitas Budi Luhur. Penulis
memiliki situs utama di http://achmatim.net yang berisi berbagai tutorial praktis
seputar pemrograman, web design, database dan materi kuliah. Penulis dapat
dihubungi melalui email di achmatim@gmail.com atau YM achmatim.