Pemrograman Basis Data Berbasis Web Pertemuan Ke-11 S1 Teknik Informatika - Unijoyo
MENANGANI BERKAS (FILE HANDLING) Prinsip Pemrosesan pada Berkas Sebuah berkas dapat dibayangkan seperti buku, sekalipun analogi berkas dan buku tidaklah tepat sama. Bila ingin membaca isi sebuah buku tersebut , maka perlu membuka buku terlebih dahulu. Serupa dengan hal tersebut maka bisa dilakukan operasi pembacaan atau perekaman data pada berkas. Selanjutnya jika tidak lagi bermaksud menggunakan berkas tersebut, maka perlu menutup berkas. Gambar 6.1 memperlihatkan skema pengaksesan berkas. S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo Fungsi Membuka File Bentuk pemanggilan fungsi ini adalah sebagai berikut: fopen (nama_berkas,mode) Fungsi fopen membutuhkan 2 parameter yaitu nama_berkas dan mode(jenis akses). Nama berkas bertipe string yang merupakan nama file yang akan dibuka. Harus berada dalam direktori yang sama dengan tempat script php yang memanggilnya. Sedangkan mode (jenis akses) bertipe string yang digunakan untuk menentukan perlakuan yang diperbolehkan terhadap file yang dibuka. Ada beberapa mode (jenis akses) yaitu: S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo Mode Keterangan r Berkas hanya bisa dibaca. Penunjuk berkas akan diletakkan diawal berkas r+ Berkas dibuka dengan mode baca dan tulis (artinya, bisa merekam data atau membaca data). Penunjuk berkas akan diletakkan diawal berkas. w Mode perekaman data. Berkas akan diciptakan kalau belum ada. Kalau sudah ada, isinya akan dihapus. w+ Berkas dibuka dengan mode baca dan tulis (artinya, bisa merekam dan atau membaca data). Berkas akan diciptakan kalau belum ada. Kalau sudah ada, isinya akan dihapus. a Mode untuk penambahan data. Pada saat berkas dibuka, penunjuk berkas diletakkan pada akhir berkas. Apabila berkas belum ada, berkas akan diciptakan. a+ Berkas dibuka dengan mode baca dan tulis (artinya, bisa merekam data atau membaca data). Penunjuk berkas akan diletakkan diakhir berkas. Apabila belum ada, berkas akan diciptakan. S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo Fungsi Menutup File Fungsi fclose berguna untuk menutup berkas. Bentuk pemanggilan: fclose(pegangan) argumen pegangan menyatakan pegangan berkas yang diperoleh saat memanggil fopen. Nilai balik fungsi ini dapat berupa: TRUE apabila berkas berhasil ditutup dan akan bernilai FALSE jika berkas gagal ditutup. S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo Latihan: Setelah mengenal sejumlah fungsi yang terkait dengan berkas maka buat program dengan PHP dalam mengimplementasikan buku tamu. Dimana buku tamu ini dengan tujuan memungkinkan pengunjung memasukkan data pribadi dan memberi komentar. Contoh halaman webnya: S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo <HTML> <HEAD><TITLE>BUKU TAMU</TITLE></HEAD> <BODY> <FORM name="bukutamu" method="post" action="simpan.php"> NAMA : <INPUT NAME="nama" TYPE="TEXT"><br> JENIS KELAMIN : <BR> <INPUT NAME="sex" type="radio" value="p">Perempuan<br> <input name="sex" type="radio" value="l">Laki-Laki<br> E-mail: <input name="email" type="text"><br> Minat:<br> <input name="minat1" type="checkbox">Pemrograman<br> <input name="minat2" type="checkbox">Manajemen<br> <input name="minat3" type="checkbox">Sosial<br> Komentar:<textarea name="komentar"></textarea><br> <input type="submit" value="Simpan"> </FORM> </BODY> </HTML> S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo <HTML> <HEAD><TITLE>SIMPAN</TITLE></HEAD> <BODY> <?PHP $nama=$_POST['nama']; $sex=$_POST['sex']; $email=$_POST['email']; $komentar=$_POST['komentar']; $minat1=$_POST['minat1']; $minat2=$_POST['minat2']; $minat3=$_POST['minat3']; if(empty($nama) OR empty($email)){ print("Data nama, email, dan komentar harap diisi"); } if(isset($minat1)){ $kode_minat1="v"; }else{ $kode_minat1="-"; if(isset($minat2)){ $kode_minat2="v"; $kode_minat2="-"; if(isset($minat3)){ $kode_minat3="v"; $kode_minat3="-"; $kode_minat=$kode_minat1.$kode_minat2. $kode_minat3; S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo //membuka file $pegangan =fopen("bukutamu.dat","a+"); //menyimpan data fputs($pegangan, $nama."\n"); fputs($pegangan, $sex."\n"); fputs($pegangan, $email."\n"); fputs($pegangan, $kode_minat."\n"); fputs($pegangan, $komentar."\n"); fputs($pegangan, "*-*\n"); //menutup file fclose($pegangan); print("Halo, $nama. Data Anda sudah disimpan<br>"); print("Terima Kasih <br>"); print("<FORM name='bacabukutamu'method='post' action='bacabukutamu.php'>"); print("<input type='submit' value='Baca Data'>"); print("</FORM>"); ?> </BODY> </HTML> S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo 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() S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo 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() hampir sama dengan require_once, akan tetapi pada include_once() setiap kali dijalankan akan selalu ada evaluasi ulang S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo Mengenal session Sesion pada prinsipnya sama seperti cookie hanya saja pada session mempunyai tingkat sekuriti yang lebih tinggi dalam pengiriman dan penyimpanan data di browser client. Selain itu dengan session tidak perlu memeriksa apakah fasilitas cookie pada browser di disable atau tidak karena session tetap bisa melakukan apapun status cookie dari browser (baik disable maupun enable). S1 Teknik Informatika - Unijoyo
Tentang Cookie dan Session 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, di-generate saat authentikasi dilakukan. Session aktif selama browser yang mengakses halaman tercatat masih terbuka. S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo Dalam session, nilai yang dikirmkan dari server ke browser disebut session_id (dalam cookie diistilahkan sebagai nama cookie) dimana session_id ini juga akan hilang jika dilakukan penghapusan atau browser ditutup. Beberapa fungsi yang digunakan untuk implementasi session: S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo session_start() Digunakan untuk mengawali sebuah sesi sehingga dengan fungsi ini akan didapatkan suatu nilai yang acak yang disimpan dan diambil nilainya dengan fungsi session_id(). session id() merupakan nilai dari session yang dibuat secara acak. session register() fungsi untuk mendaftarkan variabel sesi sehingga fungsi ini akan mengirimkan suatu variabel yang telah diisi nilainya dari server ke client untuk dijadikan variabel session dengan nama_variabel_session. session unregister() fungsi ini untuk menghapus sebuah variabel session, tetapi session itu sendiri tetap ada. session unset() Digunakan untuk menghapus semua variabel session. session destroy() digunakan untuk mengakhiri session. S1 Teknik Informatika - Unijoyo
Contoh aplikasi dengan menggunakan PHP & MYSQL Membuat Guest Book (Buku Tamu) Session Link Berita S1 Teknik Informatika - Unijoyo
S1 Teknik Informatika - Unijoyo Summary Enkripsi data diperlukan dalam proses authentikasi sehingga data user beserta passwordnya tidak dapat dibaca oleh orang lain bahkan oleh seorang administrator sekalipunDalam 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) tertentu yang dilakukan oleh pengunjung website S1 Teknik Informatika - Unijoyo