• Tidak ada hasil yang ditemukan

Pemrograman Basis Data Berbasis Web

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pemrograman Basis Data Berbasis Web"

Copied!
36
0
0

Teks penuh

(1)

Pemrograman Basis Data

Berbasis Web

Pertemuan Ke-9

(PHP Dasar [2])

(2)

Sub Pokok Bahasan

Fungsi-fungsi umum

Enkripsi dan integritas data

Pemrosesan file

Modularisasi

Mengenal Cookie

(3)

Fungsi-fungsi umum

Fungsi String

digunakan untuk memanipulasi string untuk

berbagai macam kebutuhan

Fungsi Date

digunakan untuk mengambil tanggal dan jam.

Hasil dari fungsi ini adalah sebuah string yang

berisi tanggal/jam sesuai dengan format yang

diinginkan.

Fungsi Mail

digunakan untuk mengirimkan e-mail ke alamat

(4)

Fungsi String

StrLen

 digunakan untuk menghitung jumlah karakter suatu string  sintaks: strlen(string)

StrPos

 digunakan untuk mencari posisi pertama suatu sub string pada

suatu string

 fungsi ini biasanya digunakan untuk mencari suatu sub string

di dalam suatu string

 sintaks: strpos(string , sub_string)

Str_repeat

 digunakan untuk mengulang isi suatu string

(5)

StrToLower

 digunakan untuk merubah suatu string menjadi huruf kecil

(lowercase).

 sintaks: strtolower(string)

StrToUpper

 Digunakan untuk merubah suatu string menjadi huruf besar

(uppercase)

 Sintaks: strtoupper(string)

SubStr

 digunakan untuk mengambil suatu sub string dengan panjang

tertentu dari suatu string pada posisi tertentu pula.

 sintaks: substr(string, int posisi , int posisi)  contoh:

 substr(“abcdefg”,0,3); // menghasilkan string “abc”  substr(“abcdefg”,3,2); // menghasilkan string “de”

(6)

SubStr_Count

 digunakan untuk menghitung jumlah sub string dalam suatu

string

 sintaks: substr_count( string , string substring)  Contoh:

 substr_count(“This is a test”,”is”); // menghasilkan nilai 2

UCFirst

 digunakan untuk mengganti karakter pertama pada suatu

string menjadi huruf besar

 sintaks: ucfirst(string)

UCWords

 digunakan untuk mengganti karakter pertama pada setiap

kata dalam suatu string menjadi huruf besar

(7)

Fungsi Date

Sintaks:

date(string format)

Format yang dikenal dalam fungsi date misalkan:  a - "am" or "pm"

 A - "AM" or "PM"

 d - day of the month, 2 digits with leading zeros; i.e. "01" to "31"  D - day of the week, textual, 3 letters; i.e. "Fri"

 h - hour, 12-hour format; i.e. "01" to "12"  H - hour, 24-hour format; i.e. "00" to "23"  i - minutes; i.e. "00" to "59"

 I (capital i) - "1" if Daylight Savings Time, "0" otherwise.  s - seconds; i.e. "00" to "59"

 S - English ordinal suffix, textual, 2 characters; i.e. "th", "nd“  Dan lain-lain

(8)

Fungsi Mail

Sintaks:

mail(string tujuan , string subject , string isi [,

string header] );

Contoh:

$pengirim = “From: [email protected]”; $tujuan = “[email protected]”; $subject = “Pemberitahuan”;

$isi = “Ini adalah percobaan pengiriman e-mail dengan menggunakan PHP”;

(9)

Enkripsi dan Integritas Data

Enkripsi data diperlukan dalam aplikasi yang

berhubungan dengan password. Data user beserta

passwordnya harus disimpan sehingga yang tidak

mungkin dibaca oleh orang lain bahkan oleh seorang

administrator sekalipun.

Enkripsi merupakan proses pengaburan data password

semula ke dalam bentuk lain yang tidak mudah

ditebak, namun dapat dikembalikan lagi ke bentuk

semula jika diperlukan. Karena alasan keamananlah,

maka enkripsi banyak digunakan pada proses

(10)

Beberapa fungsi untuk enkripsi data:

 Fungsi password(‘kata_yang_dienkripsi’)

akan memperhitungkan bahwa sebuah password hasil enkripsi berasal

dari sebuah plaintext string

biasanya dipakai pada pemasukan data ke database MySQL. Hasil

tersebut harus digunakan sebagai password yang disimpan di dalam ‘user’

grant table.

 Fungsi crypt(‘kata_yang_dienkripsi’,’password_pengenkripsi’)

 merupakan perintah enkripsi standar pada UNIX yang memanfaatkan

password perng-enkripsi yang disebut ‘salt’ yang terdiri dari dua buah karakter

 Fungsi md5(‘kata_yang_dienkripsi’)

menghasilkan enkripsi berupa sederetan character yang berjumlah 32

digit

 Fungsi crc32(string)

untuk menghitung nilai polinomial crc32 terhadap suatu string

 biasanya digunakan untuk memvalidasi integritas data yang dikirim dari

(11)

Pemrosesan File

File adalah merupakan tempat untuk menyimpan data

sekunder secara permanen di dalam suatu media

penyimpan misal hardisk, diskette dan lainnya.

Secara umum format file terbagi menjadi dua yaitu file

teks dan binary.

Tiga tahap pengaksesan dalam skema dasar

pengaksesan file:

1.

Membuka file

2.

Memproses file/manipulasi file

3.

Menutup file

(12)

Beberapa fungsi dalam pemrosesan file:

 Fungsi fopen()

untuk membuka/mengakses file

fungsi ini dapat mengakses file dari sistem file, atau melalui HTTP atau

FTP di internet.

 sintaks: fopen($filename,mode_akses);

 filename adalah variabel nama file yang akan dibuka

 mode_akses adalah metode pengaksesan file tersebut, apakah file tersebut

diakses hanya untuk dibaca, ditulis atau ditambah. Mode akses yang diberikan:

a a+ r r+ w w+

 Fungsi fclose()

untuk menutup file/berkas digunakan

 Fungsi fgets()

 untuk melihat isi dari file digunakan  sintaks: fgets($filename,length)

 filename adalah variabel nama file yang akan dibuka  length menunjukkan jumlah karakter yang diambil.

 pada fungsi ini setiap tag HTML akan dieksekusi (agar tag HTML tidak

(13)

Fungsi

fputs()

untuk memasukkan data ke dalam file

 sintaks: fputs($namafile,$variabel_data)

 $namafile adalah variabel file tujuan data tersebut

 $variabel_data adalah variabel isi data yang akan dimasukkan

Fungsi

feof()

untuk menentukan akhir dari sebuah file. Jika sudah pada akhir

(14)

Fungsi

copy()

untuk mengkopi suatu file

file yang akan dikopi dapat diambil melalui masukan data

formulir

 sintaks: copy(nama_file_sumber,nama_file_tujuan)  nama_file_sumber adalah nama file yang akan dikopi

 nama_file_tujuan adalah nama file hasil pengkopian  fungsi ini mempunyai hasil berupa:

TRUE jika file berhasil dikopi

 FALSE jika terjadi kegagalan dalam proses pengkopian  Contoh:

(15)

Fungsi

unlink()

untuk menghapus file

 sintaks: unlink(nama_file)

 fungsi ini mempunyai hasil berupa:  TRUE jika file berhasil dihapus

 FALSE jika terjadi kegagalan dalam proses penghapusan  Contoh:

(16)

Fungsi

rename()

untuk mengganti nama file

 sintaks: rename(nama_file_lama,nama_file_baru)  nama_file_lama adalah nama file yang akan diganti

 nama_file_baru adalah nama file pengganti  fungsi ini mempunyai hasil berupa:

TRUE jika file berhasil diubah/diganti

 FALSE jika terjadi kegagalan dalam proses pengubahan  Contoh:

(17)

Fungsi

file_exists()

untuk memeriksa kondisi suatu file, apakah file tersebut ada

atau tidak

 sintaks: file_exists(nama_file)  Fungsi ini mempunyai hasil berupa:

TRUE jika file ada

FALSE jika file tidak ada

Fungsi

filesize()

 untuk mengetahui besar ukuran suatu file digunakan  sintaks: filesize(nama_file)

Fungsi ini mempunyai hasil bertipe integer, yang menyatakan

(18)

Modularisasi

Modularisasi adalah penyusunan/pembuatan program

berdasarkan modul-modul

Modul dapat berupa fungsi atau prosedur

Jenis modularisasi di dalam PHP antara lain:

require()

include()

require_once()

include_once()

(19)

require()

 bentuk modular yang digunakan untuk menggabungkan suatu skrip PHP atau teks dari file lain dengan script PHP yang memanggilnya, file yang digabungkan tidak harus script PHP

 teknik require sangat berguna untuk membuat template (pola) yang memudahkan proses pengembangan aplikasi dengan menggunakan pola tampilan

include()

 hampir sama dengan require(), akan tetapi include() digunakan untuk menggabungkan suatu script atau file dengan script

pemanggilnya

 include dapat digunakan dalam struktur pengulangan, untuk melakukan pemanggilan file-file yang berbeda.

require_once()

 pada dasarnya sama dengan require(), akan tetapi di dalam

require_once duplikasi fungsi atau duplikasi pemanggilan dapat dihindari, karena secara default require_once akan memaksa PHP untuk menggunakan nama fungsi atau pemanggilan yang telah ada.

include_once()

(20)

Mengenal Cookie

Session dan cookie dapat digunakan untuk mencatat

jejak (track) tertentu yang dilakukan oleh pengunjung

web site, misalnya mencatat jumlah kunjungan, nama

dan kunjungan terakhir. Mesin client atau web browser

menyimpan informasi tersebut dan mengirimnya ke web

(21)

Tentang Cookie dan Session

Cookie:

disimpan di dalam harddisk client

cookie mungkin tidak dapat berjalan jika di-blok oleh pengguna

dengan mengubah setting security web browser

secara umum, cookie disimpan bersama dengan username dan

password (password dapat di-enkripsi sebelum disimpan demi

keamanan data) sehingga di dalam cookie akan tersimpan

username dan password yang telah ter-enkripsi. Cara yang

lebih baik adalah menghindari penyimpanan username dan sebagai gantinya gunakan suatu ID unik yang di-generate secara otomatis serta acak.

Session:

disimpan di server. Session pada dasarnya menyerupai token,

(22)

Fungsi Cookie PHP

 Cookie dikirim bersama dengan HTTP header dengan menggunakan

fungsi set_cookie()

 Sintaks:

boolean setcookie ( string name [, string value [, int expire [, string path [, string domain [, int secure]]]]] )

semua argumen kecuali name bersifat opsional

jika hanya argumen name yang disertakan, cookie dengan nama itu

akan di-overwrite pada komputer client

suatu argumen dapat diganti dengan string kosong ("") untuk

mengabaikan argumen tersebut

argumen expire dan secure adalah berupa integer dan tidak dapat

dilewatkan dengan string kosong. Sebagai gantinya gunakanlah bilangan nol (0)

argumen expire merupakan suatu integer regular Unix time seperti

yang dikembalikan oleh fungsi time() atau mktime()

argumen secure menunjukkan bahwa cookie hanya akan ditransfer

(23)

Contoh penggunaan Cookie

Contoh ini memungkinkan username dan password

untuk disimpan pada komputer client sebagai cookie

dan menerimanya saat diperlukan

Terdapat tiga file PHP yang digunakan, yaitu

index.php

,

login.php

dan

logout.php

Halaman utama (index.php) memeriksa apakah cookie

telah dibuat atau belum. Jika cookie telah ada maka

(24)

File index.php:

<?php

//memeriksa jika cookie diset

if (!isset($_COOKIE['cookie_info'])) { echo $_COOKIE['cookie_info'];

?> <body>

<form method="POST" action="login.php"> <center><h1>Cookies </h1></center> <table border="0" width="auto">

<tr><td width="33%">Login Name</td><td width="33%"><input type="text" name="name" size="20"></td> <td width="34%">&nbsp;</td></tr><tr><td width="33%">Password</td>

<td width="33%"><input type="password" name="pass" size="20"></td>

<td width="34%"><input type="checkbox" name="set“ value="ON">Remember Me</td></tr> </table>

<center>

<p><input type="submit" value="Submit" name="sub"> <input type="reset" value="Reset" name="res"></p> </center>

</body> </form> <?php }

else {

//Cookie ada dan data ditampilkan

$cookie_info = explode("-", $_COOKIE['cookie_info']); //Ekstrak Data $name = $cookie_info[0]; $pass = $cookie_info[1];

echo "<center><h3>Welcome back $name and your password is $pass"; echo "<a href='logout.php'>Logout</a>";

(25)

Variabel $_COOKIE atau HTTP_COOKIE_VARS bersifat super

global yang digunakan untuk menerima data. Sekali cookie

ada maka data di dalamnya dapat diterima. Tanda dash (“-“)

dapat digunakan sebagai pemisah setiap field, misalnya

name-password.

Halaman

login.php

ditampilkan saat cookie belum dibuat.

Pengguna harus memilih checkbox jika ingin detailnya

diingat oleh sistem.

(26)

File login.php:

<?php

if(empty($_POST['name']) || empty($_POST['pass'])) { ?>

<b>Fill All Details </b> <?php exit;

} else {

//mengumpulakn detail dan validasi

$time = time(); $name = $_POST['name']; $pass =md5($_POST['pass']); $check = $_POST['set']; $db = mysql_connect("localhost", "root","") or die(mysql_error());

mysql_select_db("test",$db) or die(mysql_error());

$query = "select * from Login where name='$name‘ and password='$pass'"; $sql = mysql_query($query) or die(mysql_error()); $count = mysql_num_rows($sql); if ($count == 1) { $cookie_data = $name.'-'.$pass; if($check=='ON') {

if(setcookie ("cookie_info",$cookie_data, $time+3600)==TRUE) {

echo "Cookie SET".$cookie_data; ?> <a href='logout.php'>Logout</a> <? } }

} else {

(27)

Pada file

login.php

, user di-authentikasi dan jika sesuai dengan

data dalam database maka name dan password diletakkan

dalam cookie. Password dienskripsi menggunakan algoritma

md5 dan digabung dengan “-“ sebagai pemisah field. Variabel

$cookie_data berisi string gabungan. Fungsi setcookie

digunakan untuk menyimpan data ke dalam cookie.

Argumen pertama adalah nama referensi cookie, yaitu

“cookie_info”. Argumen kedua adalah data yang disimpan dan

ketiga akan menentukan berapa lama cookie berlaku (valid).

Pada contoh ini, masa hidup cookie adalah 1 jam. Fungsi

time() mengembalikan waktu sekarang dari sistem Unix time

stamp. Sebagai contoh “1072724721” sebenarnya berarti Mon,

29 Dec 2003 19:05:21 UTC. Dengan menambahkan 3600 ke

Unix time stamp, 1072724721 + 3600 = 1072728321 yang

berarti Mon, 29 Dec 2003 20:05:21 UTC. Cookie

(28)

Halaman

logout.php

menghapus cookie yang telah dibuat.

<?php

$time = time();

if (isset($_COOKIE['cookie_info']))

{

setcookie ("cookie_info", "", $time - 3600);

echo "Logged Out";

}

echo $time;

?>

Fungsi yang digunakan untuk menghapus cookie adalah

setcookie (fungsi yang juga digunakan untuk membuat cookie).

Kode di atas memperlihatkan pengurangan 3600 terhadap nilai

variabel $time. Ini sebenarnya hanya memberikan waktu

mundur ke cookie. Saat dikurang 3600 detik atau 1 jam cookie

menjadi kadaluarsa.

(29)

Contoh aplikasi dengan

menggunakan PHP

Membuat Counter

(30)

Membuat Counter

Aplikasi web yang paling sederhana yang akan dibahas

adalah mengenai pembuatan counter dengan menggunakan

PHP. Fungsi counter di sini adalah untuk menghitung berapa

kali suatu halaman situs web telah dibuka oleh pengunjung.

Langkah-langkah:

1. Membuat file teks (counter.txt) agar setiap kali suatu halaman web ditampilkan maka terlebih dulu isi file tersebut akan dibaca nilainya dan di-update (ditambahkan nilainya dengan 1). Nilai counter diinisialisasi bernilai 0 (nol)

2. Membuat file php (counter.php) untuk:

– membaca nilai di dalam file teks – meng-update nilai counter

– menyimpan nilai yang baru di file

(31)

 File counter.txt

0

 File counter.php:

<html> <head>

<title> Counter </title> </head> <?php $filecounter="counter.txt"; $open=fopen($filecounter,'r+'); $counter=fread($open,filesize($filecounter)); fclose($open); $counter++; $write=fopen($filecounter,'w'); fputs($write,$counter); fclose($write);

echo "<b> Anda adalah pengunjung ke : $counter</b>"; ?>

(32)

Membuat Guest Book (Buku Tamu)

Salah satu bagian penting dari sebuah website adalah fasilitas

pengisian guest book (buku tamu) untuk mengetahui siapa

saja pengunjung website dan juga mendapatkan komentar

dari pengunjung tersebut. Di dalam contoh berikut ini, data

isian guest book akan dikirimkan ke suatu alamat email

tertentu.

Langkah-langkah:

1. Membuat file php (guestbook_1.php) untuk membuat form

pengisian guest book. Data yang dimasukkan adalah nama, alamat email, alamat, dan pesan

2. Membuat file php (guestbook_2.php) untuk menerima masukan data dari form di atas yang selanjutnya akan dikirimkan ke alamat email tertentu

(33)

File guestbook_1.php:

<html>

<head><title>Guestbook</title></head> <body bgcolor="#99CCFF">

<font color="#000066" face="Helvetica" size ="2"> <table>

<caption align="top"> <b>GUEST BOOK</b> </caption>

<tr> <td colspan="2"> <hr size=1 width=100% > </hr> </td> </tr>

<form action="guestbook_2.php" method=POST> <tr> <td> Name : </td> <td>

<input type=text name=nama size=30> </td> </tr> <tr> <td> E-Mail : </td> <td>

<input type=text name=email size=30> </td> </tr> <tr> <td> Address : </td> <td>

<input type=text name=alamat size=30> </td> </tr> <tr> <td valign ="top"> Message : </td> <td>

<textarea name=pesan rows=9 cols=40> </textarea> </td> </tr>

<tr> <td align="center" colspan="2">

<input type=submit value="Submit"> <input type=reset value="Reset"> </td> </tr>

(34)

File guestbook_2.php :

<html>

<head> <title> Guestbook </title> </head> <body bgcolor="#99CCFF">

<font color="#000066" face="Helvetica" size="2"> <?php

$to="[email protected]"; $subject="Guest Book";

$from="From: $nama <$email>"; $content=""; $content.="Guest Book\n"; $content.="Name : $nama\n"; $content.="E-Mail : $email\n"; $content.="Address : $alamat\n"; $content.="Message: $pesan\n"; mail($to,$subject,$content,$from); echo("Thank you for your visit:\n"); ?>

</body> </html>

(35)

Summary

 Beberapa fungsi umum yang disediakan di PHP yang dapat

langsung digunakan, misalnya fungsi string, fungsi date dan fungsi mail

 Enkripsi data diperlukan dalam proses authentikasi sehingga

data user beserta passwordnya tidak dapat dibaca oleh orang lain bahkan oleh seorang administrator sekalipun

 Dalam pemrosesan file, terdapat tiga tahap pengaksesan yaitu

membuka file, memproses file/manipulasi file dan

menutup file

 Modularisasi adalah penyusunan/pembuatan program

berdasarkan modul-modul (dapat berupa prosedur ataupun fungsi)

Session dan cookie dapat digunakan untuk mencatat jejak (track)

(36)

Daftar Pustaka

Chris Bates [2006]. Web Programming: Building

Internet Applications, Third Edition, John Wiley & Sons

Ltd, England.

Husni [2007]. Pemrograman Database Berbasis

Web, Graha Ilmu, Yogyakarta.

Sutarman, S.Kom [2003]. Membangun Aplikasi Web

dengan PHP dan MySQL, Graha Ilmu, Yogyakarta.

Referensi

Dokumen terkait

Berdasarkan latar belakang dan rumusan masalah yang telah diuraikan di atas, maka dapat diambil hipotesis tindakan penelitian ini adalah jika Pembelajaran

Karakter tinggi, berat kering total dan kandungan prolina berdasarkan nilai heritabilitas dalam arti luas dan korelasi antar karakter dapat dijadikan indikator

Peserta didik mampu menggunakan nalar dalam penelusuran hereditas manusia berdasarkan

Untuk hutan yang difungsikan melindungi tata air Kampung Laut kerapatan tersebut masih kurang, karena kerapatan dengan jarak tanam tersebut biasa- nya bisa diterapkan untuk

Dato’ Idrus Harun (Solicitor General of Malaysia) and presented by the speaker from Brunei Darussalam, Dayang Aldila binti Haji Mohd Salleh (Senior Counsel, Criminal

Penelitian ini bertujuan untuk mengetahui bagaimana pengaruh peran auditor internal terhadap efektivitas pengendalian internal pada Bank Perkreditan Rakyat Syariah di Jawa

Panitia bertugas mempersiapkan, melaksanakan penyelenggaraan ujian akhir semester genap tahun akademik 2011n012 bagi mahasiswa Fakultas llmu Pendidikan Universitas

Dengan kata lain bahwa informasi tidak berpengaruh langsung terhadap pembentikan sikap dan keyakinan tetapi melalui pemahaman atribut terlebih dahulu, barulah pemahaman