Anda di halaman 1dari 12
ab Xe, BAHAN AJAR PWPB APLIKASI WEB STATEFULL ANISA ISTIQOMAH, S.KOM REKAYASA PERANGKAT LUNAK SMK NEGERI 8 MALANG Aplikasi Web Statefull A. Kompetensi Dasar 3.19 Menerapkan aplikasi web stateful 4.19 Membuat aplikasi web statefall B, Tujuan Pembelajaran 1. Siswa dapat menjelaskan pengertian session Siswa dapat menjelaskan pengertian cookies eo» Siswa dapat menerapkan penggunaan session pada aplikasi web Siswa dapat menerapkan penggunaan cookies pada aplikasi web we Siswa dapat membuat aplikasi web statefull dengan session dan cookies ©. Uraian Materi Apa itu Session Pada PHP: Dalam PHP, session merupakan data yang disimpan dalam suatu server yang dapat digunalan secara global di server tersebut, dimana data tersebnt spesifik merujuk ke user/client tertentu, contoh penggunaan session adalah ketika user telah login di halaman tertentu, maka ketika membuka halaman lain, php akan mengingat bahwa user tersebut telah login, contol ketika kita telah login pada Google, maka setiap kali kita membuka layanan Google seperti GMail, Google Drive, dll di tab berbeda, kita akan selalu dalam keadaan login, kecuali kita buka dengan browser yang berbeda, Cntoh lain ketika web ecommerce merekam keranjang belanja user, maka ketika pindah ke halaman pembayaran, daftar belanja masih terekam, I. Cara Kerja Session Pada PHP Ketika kita memulai session dengan menjalankan perintah session_start) maka PHP akan menjalankan perintah baik pada server manpnn pada client/user. Sisi Server Dari sisi server php akan membnat file yang kita sebut file session yang diawali dengan sess_ dan diikuti dengan ID session, dimana ID Session tersebut mereferensikan id session yang ada i browser client, nilai ID session adalat + Jika browser mengijinkan penggunaan cookie, make ID session berupa angka acak sebanya 26 karakter hexadesimal, contoh: 1g7vem79tg486pSuS3_ldl02 + Jika browser tidak mengijinkan penggunaan cookie Jika nama session ada di url, maka nilai ID Session sama dengan id yang ada di url, missal https:/jagowebdev.com ?page-login& PH PSESSID=1234, maka ID Session yang digunakan adalah 1234, sehingga nama file session yang dibuat sess_1234, Nammun jika ID Session tidak ada di URL, maka PHP akan membvat file dengan ID Session sama seperti sebelumnya yaitu 26 karakter hexadesimal, file ini akan dibuat setiap kali perintah session_start() dijalankan, dan tidak ada referensi ke user/client ‘Terus dimana php menyimpan file session tersebut? file tersebut secara default disimpan didalam direktori temporary dimana letak direktory ini tergantung dari masing-masing sistem opersi yang digunaken, untuk mengetahui dimana php menyimpan file session, dapat menggunakan perintah: session_save_path©) Misal kita buat file session.php dan simpan ke dalam htdocs/tutorial, selanjutnya tutiskan kode berikut: ‘php echo session_save_path(), ?> Ketika kita jalankan file tersebut di komputer yang menggunakan sistem operasi windows, contoh output yang ditasilkan adalah E:\xampp-1.8.3.2\tmp (komputer saya), jika kita buka direltori tersebut, disana kita temukan banyak file tmp, eari nama dengan awalan sess_, file tersebut merupakan file session, Libr 9F.tmp DAF.Amp (UL sess_ig7vem79g$86otp8uS3gidl02 sess_IqGubigght7nfq 006351035, LS sess O7dtaaufefps75unmésiudtmn2 LL sess £54tqt9¢765psuhinddgqmmos7 sess_nSgetBA4bad93qugnd34nj0qit0 Gambar |. Contoh File Session Sisi User/Client Selanjutnya dari sisi client/user, php akan: + Jika browser mengijinkan penggumaan cookie Membuat file cookie dengan nama default yaita PHPSESSID dengan nilai (value) ID session, lokasi penyimpanan file tersebut berbeda beda tergantung jenis browser yang digunakan, untuk google chrome lokasi cookie berada di:C:\Users\¢NAMA USER>\AppData\Loval\ Google\Chrome\User Data\Defuult dengan nama file Cookie, ‘namun kita tidak dapat membukanya secara langsung, melainkan harus menggunakan SQLite, kita dapat membaca isinya melalui Chrome Developer Tools, yaitu pada tab Resources bagian Cookies, contoh seperti gambar berikut: € > & [DB locathost/tutorial/session.php E:\xampp-1.8.3.2\tmp QT] Elements Network Sources Timeline Profies [Resources| Audits Cons: > CiFrames = [Name a |Voue Ghssen PHPSESSID emp a86900 53 EH indexedd8 > 1B Local Storage > HB Session Storage ¥ 1 Cookies MES. « 9 Gambar 2. Cookie PHPSESSID Jika kita bandingkan antara gambar | dan 2 terdapat kesamaan nila yaitu 1e7vem79tg4869tp8u53g1d102 yang merpakan ID Session, dengan ID ini, ‘maka setiap kali user mengnnjungi situs yang sama dan dengan browser yang sama, maka server akan selalu menggunakan data-data yang ada di file sess_le7vem79t24869tpSu53eld102. + Jika browser tidak mengijinkan penggunaan cookie Jika nama session berada di url, maka PHP akan membuat referensi ID Session sesuai dengan yang ada di URL. Misal: https://jagowebdev.com?page-login&:PHPSESSID=1234, maka php akan ‘menggunakan data session pada file session sess_1234 , Jika ID session tidak ada di URL ‘maka data session hanya dapat diguaakan di halaman tersebut saa. Isi File Session Pada PHP {si file session pada PHP berupa anay yang di serialize nilainya akan berubah ubal sesuai dengan manipulasi data yang kita Takukan, misal file session. php kita ubah menjadi: 2015-09-05 d IV. Membaca Data Session Pada PHP Setelah kita menyimpan data pada session, data tersebut langsung dapat kita gunakan, untuk: memanggil data session pada PHP, seperti kita memanggil data pada array pada ummumaya, yaitu dengan key nya, contoh: Session yang telah kita isi datanye dapat langsung kita gunakan sehingga lebih banyak keuntungannya dibanding mengeunakan §_ COOKIE. ‘V. Menghapus Data Session Pada PHP. ‘Untuk menghapus date session pada php, sama seperti ketika kita menghapus variabel, yaitu menggunakan perintah unset() contoh berikut menyambung contoh sebelumnya: admin [login time] = 2015-09-05 ) * disamping itu kit juga dapat menggunakan perintah session_unset() untuk menghapus semua data pada $_SESSION, conioh: <2php session_start; $. SESSION[user' $_SESSIONT'role’] ='Admin’, session_unset(); print_1&_SESSION), ” Output Array Q peta dipethatikan bahwa jika menggumakan perintah unset() untuk menghapus data session, pilihlah data secara spesifik, jangan menghapus § SESSION it sendiri (unset($_SESSION)), karena akan menghapus semua isi data session, dan menghapus variabel § SESSION itu sendisi, schingga jika kita panggil akan memuneulkan pesan error ‘bahwa variabel §_ SESSION undefined, contoh: \AppDataiLocal\Google\ChromeiUser Data\Default dengan nama file Cookies II, Melihat dan Menghapus isi cookie File cookie ini umunya berbentuk database, seperti sqlite, schingga kita tidak bisa langsung, membukanya dengan code editor/text viewer seperti notepad. Cara yang paling mudah untuk melihat data cookies adalah menggunakan browser. Pada browser, kita dapat melihat data cookie melalui Web Developer Tools. Karena data cookie ini disimpan per website, maka untuk melihatnya kita harus membuka website tersebut. Contoh: pada browser chrome, untuk melihat data cookies, buka Developer Tools (F12) Kemndian pilih tab Application, selanjutnya pilih bagian cookies Berikut ini contoh cookie dari detik.com eco | SOR FOL Ive Pada halaman tersebut kita juga dapat menghapus data cookie III. Cara Kerja Cookie Pada saat kita meload halaman website atav melakuken pengaturan tertentu (misal pengaturan bahasa atau timezone), website tersebut akan memerintahkan browser untuk menyimpan data tertentu ke dalam file cookies Selanjutnya, ketika kita meload kembali website tersebut, maka data cookie tersebut juga akan terkirim bersama dengan pengiriman HTTP Header. Nah, data cookie ini akan digunakan website untuk berbagai keperluan, salah satunya melakukan pengaturan bahasa atau timezone sehingga content yang dikirim sesuai dengan preferensi user. Bagaimana browser menyimpan eookie? Bagaimana browser taku kalau dia diperintahkan untuk menyimpan data cookie? Data cookie dikirim melalui HTTP header menggunakan Set-Cookie, schingga ketika browser ‘membeca header dan menemukan string tersebut, maka akan menyimpan nilai yang dibawa oleh. Set-Cookie ke dalam file cookie. Contoh kita buat file cookie php dengan script sebagai berikut:

Anda mungkin juga menyukai